@camera.ui/server 2.2.5 → 2.2.7

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 (436) hide show
  1. package/dist/interface/assets/{404-CiOxoqnT.js → 404-C8EoOtBl.js} +1 -1
  2. package/dist/interface/assets/{About-DWOlfWEm.js → About-Q7ZmOGgl.js} +1 -1
  3. package/dist/interface/assets/{Assistant-CXx7EY1W.css → Assistant-BQ6Ld-bt.css} +1 -1
  4. package/dist/interface/assets/Assistant-DFLgklVe.js +1 -0
  5. package/dist/interface/assets/{Automation-BJgwUkUB.js → Automation-D__qvx8c.js} +3 -3
  6. package/dist/interface/assets/{AutomationImport-9GRAndAt.js → AutomationImport-CLQSdqg9.js} +2 -2
  7. package/dist/interface/assets/{AutomationStore-D_HR2Xby.js → AutomationStore-Dt6yTQDb.js} +2 -2
  8. package/dist/interface/assets/{AutomationStoreDetail-B9MxV2py.js → AutomationStoreDetail-DqBrBhUI.js} +2 -2
  9. package/dist/interface/assets/Automations-BH_7lYR7.js +2 -0
  10. package/dist/interface/assets/Camera-BW9ikKqh.css +1 -0
  11. package/dist/interface/assets/Camera-aquPHFwb.js +2 -0
  12. package/dist/interface/assets/{CameraConsole-BKPTLSTO.js → CameraConsole-rhle_cfW.js} +1 -1
  13. package/dist/interface/assets/{Cameras-DcrVCgLy.js → Cameras-Bzy3P0xN.js} +2 -2
  14. package/dist/interface/assets/{Camview-DasO326h.css → Camview-Bri_T7Tq.css} +1 -1
  15. package/dist/interface/assets/Camview-CjcQbtTl.js +1 -0
  16. package/dist/interface/assets/{CertificateUpload-BYFKZCP9.js → CertificateUpload-CWVu_52v.js} +1 -1
  17. package/dist/interface/assets/Config-Dc1zKIPq.js +2 -0
  18. package/dist/interface/assets/{ConfigActionAssistant-DM4tIhoa.js → ConfigActionAssistant-AfQfSqHZ.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionCameraControl-Deo0eDPS.js → ConfigActionCameraControl-BKQdHxqe.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionDelay-_EqbfWgo.js → ConfigActionDelay-B52HeJGb.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionHttp-BxJmoshF.js → ConfigActionHttp-BP5gvpQc.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionImageInput-KrzXFQDm.js → ConfigActionImageInput-DE2mSost.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionMqtt-BoYBomRC.js → ConfigActionMqtt-CYgnZjAE.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotification-CSAOijDt.js → ConfigActionNotification-C3q53I4n.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionNotificationControl-BOdyKiOs.js → ConfigActionNotificationControl-eDJ8r5ao.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionOutput-CwsPcnd_.js → ConfigActionOutput-DgYSYvy-.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionPlugin-D3wyULpp.js → ConfigActionPlugin-utolgAXk.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSensor-BmeaIxYY.js → ConfigActionSensor-CmEKQPqs.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionSnapshot-DbyFKcYr.js → ConfigActionSnapshot-D7XucxVV.js} +1 -1
  30. package/dist/interface/assets/{ConfigActionVariable-cThGJ1Pc.js → ConfigActionVariable-C-Mjm3gr.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionIfElse-BugkJeXR.js → ConfigConditionIfElse-B24Rqb8y.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSensorState-Bf-mMf4E.js → ConfigConditionSensorState-42-yFDmK.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionSwitch-DcpFoYET.js → ConfigConditionSwitch-DezH_nwm.js} +1 -1
  34. package/dist/interface/assets/{ConfigConditionTime-CM4bSMyU.js → ConfigConditionTime-Cg2Lwznd.js} +1 -1
  35. package/dist/interface/assets/{ConfigSensorValueInput-CgAI34__.js → ConfigSensorValueInput-YHBDCTZm.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerDetection-BWK6gfwM.js → ConfigTriggerDetection-DxEpodjG.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerGeofence-Cm3CU7Tl.js → ConfigTriggerGeofence-Bye8syxc.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerManual-DgkR-GWy.js → ConfigTriggerManual-s_lEDTV9.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerMqtt-BMFjTAso.js → ConfigTriggerMqtt-DqdZj7TU.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSchedule-E_QWfNKy.js → ConfigTriggerSchedule-Q559hn6g.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSensor-DOdJkZRo.js → ConfigTriggerSensor-DIKkdbTF.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerSystem-BFDIbZsE.js → ConfigTriggerSystem-CwNZ4xEg.js} +1 -1
  43. package/dist/interface/assets/{ConfigTriggerWebhook-DDoUEVHb.js → ConfigTriggerWebhook-9ZC6X4mK.js} +1 -1
  44. package/dist/interface/assets/Console-BqIDZ5vq.js +1 -0
  45. package/dist/interface/assets/CuiAssistantConversation-BmBhwrNh.css +1 -0
  46. package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +5 -0
  47. package/dist/interface/assets/CuiAutomationRunsDialog-CVjCLiVW.js +1 -0
  48. package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +1 -0
  49. package/dist/interface/assets/{CuiBottomSheet-FwsPnJ3n.js → CuiBottomSheet-D75L0Zny.js} +1 -1
  50. package/dist/interface/assets/CuiCameraPipCard-eiJjYZ5W.js +1 -0
  51. package/dist/interface/assets/CuiCameraRecordings-DdEWkJrO.js +1 -0
  52. package/dist/interface/assets/{CuiCameraShares-CSFwIYsg.js → CuiCameraShares-8mtgFsQ_.js} +1 -1
  53. package/dist/interface/assets/{CuiCameraTable-DBRfGX3I.js → CuiCameraTable-CmCT-XQF.js} +2 -2
  54. package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +1 -0
  55. package/dist/interface/assets/CuiChartTable-DCr_AsSw.css +1 -0
  56. package/dist/interface/assets/CuiChartTable-v8sGY6PD.js +1 -0
  57. package/dist/interface/assets/{CuiConsole-DQbAafiz.js → CuiConsole-DYV-FUE0.js} +2 -2
  58. package/dist/interface/assets/{CuiDataTable-JlD7Agky.js → CuiDataTable-C0gsYYpg.js} +1 -1
  59. package/dist/interface/assets/CuiLightControl-CFIwBj3C.js +1 -0
  60. package/dist/interface/assets/{CuiList-Dsu5m0TA.js → CuiList-9TVV8SB6.js} +1 -1
  61. package/dist/interface/assets/CuiPluginCard-DEfqwUhQ.js +2 -0
  62. package/dist/interface/assets/{CuiPluginCategoryChip-B2bR5LQa.js → CuiPluginCategoryChip-DhnIBJHa.js} +1 -1
  63. package/dist/interface/assets/{CuiPluginOAuthButton-DfEjfcY-.js → CuiPluginOAuthButton-DAuzNRAA.js} +2 -2
  64. package/dist/interface/assets/{CuiPluginTrustBadge-C6CW6Soh.js → CuiPluginTrustBadge-Bz710WwC.js} +1 -1
  65. package/dist/interface/assets/{CuiQRCode-DGKBhDib.js → CuiQRCode-B8-4GHSY.js} +1 -1
  66. package/dist/interface/assets/{CuiSchema-pAAVh28m.js → CuiSchema-C_CHuKuf.js} +1 -1
  67. package/dist/interface/assets/{CuiTopNavbarItem-ve-3Dsc3.js → CuiTopNavbarItem-CNEnOPSh.js} +1 -1
  68. package/dist/interface/assets/Faces-DRHMrrxh.js +1 -0
  69. package/dist/interface/assets/FirstSteps-Ci2Iqbe2.js +1 -0
  70. package/dist/interface/assets/Floorplan-CqWIbDbh.js +1 -0
  71. package/dist/interface/assets/Instances-gzKFKB1l.js +1 -0
  72. package/dist/interface/assets/{Logs-BhRactvQ.js → Logs-DL1yw_Pe.js} +2 -2
  73. package/dist/interface/assets/{Menu-DMCmUVDs.js → Menu-C0GQ63aj.js} +1 -1
  74. package/dist/interface/assets/Metrics-BYnnb7M0.js +12 -0
  75. package/dist/interface/assets/Metrics-DsHBab6t.css +1 -0
  76. package/dist/interface/assets/{OAuthDeviceFlow-BMEwVkIa.js → OAuthDeviceFlow-Zd6r9IHU.js} +1 -1
  77. package/dist/interface/assets/Plugin-DJIrYUnZ.js +1 -0
  78. package/dist/interface/assets/{PluginConsole-C4Ba_U_1.js → PluginConsole-ag0jPZQ_.js} +1 -1
  79. package/dist/interface/assets/{PluginDetail-13OWIzdd.js → PluginDetail-DmElwUuV.js} +2 -2
  80. package/dist/interface/assets/{PluginSchema-DN0cSU8s.js → PluginSchema-CxUujnVs.js} +1 -1
  81. package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +1 -0
  82. package/dist/interface/assets/PluginSearch-BqzngVRL.js +2 -0
  83. package/dist/interface/assets/{PluginUpdateProgress-CeWuRp3Z.js → PluginUpdateProgress-CFut0RAe.js} +1 -1
  84. package/dist/interface/assets/Plugins-ZFcB_j6v.js +1 -0
  85. package/dist/interface/assets/{RecentEventsFilter-Kp_lTOuG.js → RecentEventsFilter-CqeHhECT.js} +1 -1
  86. package/dist/interface/assets/Recordings-BEKAn6QK.css +1 -0
  87. package/dist/interface/assets/Recordings-BJrtW9eG.js +1 -0
  88. package/dist/interface/assets/SensorEdit-Bi0gg-CL.js +1 -0
  89. package/dist/interface/assets/{SensorHistory-ClAcOgHj.js → SensorHistory-q0UR3qMG.js} +1 -1
  90. package/dist/interface/assets/Sensors-C_InhcHA.js +2 -0
  91. package/dist/interface/assets/Settings-Cv38rGWn.js +1 -0
  92. package/dist/interface/assets/SettingsAccount-B05739dn.js +1 -0
  93. package/dist/interface/assets/SettingsAccount-gm28wtbl.js +1 -0
  94. package/dist/interface/assets/{SettingsAppearance-CJt4xJEW.js → SettingsAppearance-DdyYUgmV.js} +1 -1
  95. package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +1 -0
  96. package/dist/interface/assets/SettingsAssistant-B0PF3Rdg.css +1 -0
  97. package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +1 -0
  98. package/dist/interface/assets/{SettingsBackup-DIJmci05.js → SettingsBackup-DKwlPQhD.js} +1 -1
  99. package/dist/interface/assets/{SettingsList-Cb_dLy5T.js → SettingsList-D6hqnvUo.js} +1 -1
  100. package/dist/interface/assets/SettingsMqtt-C01fgLY0.js +1 -0
  101. package/dist/interface/assets/SettingsNotifications-D47cIquQ.js +1 -0
  102. package/dist/interface/assets/{SettingsPermissions-CJiz0Z7B.js → SettingsPermissions-BeTCTrAf.js} +1 -1
  103. package/dist/interface/assets/{SettingsRecordings-BEpwMh-y.js → SettingsRecordings-mwL6Dalr.js} +1 -1
  104. package/dist/interface/assets/SettingsRemote-MhaShPIf.js +2 -0
  105. package/dist/interface/assets/{SettingsSystem-Cncdpx8T.js → SettingsSystem-BXnzXgqm.js} +2 -2
  106. package/dist/interface/assets/{SettingsUsers-DZkz8WlI.js → SettingsUsers-D2mVlJin.js} +1 -1
  107. package/dist/interface/assets/Terminal-C1UoXDRK.js +4 -0
  108. package/dist/interface/assets/Training-A5ynOv_l.js +1 -0
  109. package/dist/interface/assets/{Training-Bkn52mPJ.css → Training-C-ToeAl4.css} +1 -1
  110. package/dist/interface/assets/{Updates-cCvbFq3w.js → Updates-kS_Tm8HD.js} +1 -1
  111. package/dist/interface/assets/{VariableInput-PVsqGYW0.js → VariableInput-D9PfI8Ut.js} +1 -1
  112. package/dist/interface/assets/{VariableSuggestions-DwLtlzVz.js → VariableSuggestions-DArWzQuE.js} +1 -1
  113. package/dist/interface/assets/{VersionsHandler-Df7dhddp.js → VersionsHandler-BZVMpB2v.js} +1 -1
  114. package/dist/interface/assets/{VirtualSensorCreate-FTKANjd-.js → VirtualSensorCreate-Cz-QFo4R.js} +1 -1
  115. package/dist/interface/assets/Workers-2sc4VMi9.js +2 -0
  116. package/dist/interface/assets/api-CGfJbsTz.css +2 -0
  117. package/dist/interface/assets/{api-DpqXhwcx.js → api-CzwdnGAH.js} +1 -1
  118. package/dist/interface/assets/api-DOpXVpef.js +4 -0
  119. package/dist/interface/assets/{assistant-Lz3mFLDo.js → assistant-hGCAgv-f.js} +1 -1
  120. package/dist/interface/assets/{auth-L7_5vsJs.js → auth-By-S-WEr.js} +1 -1
  121. package/dist/interface/assets/{automations-D1XFFSrm.js → automations-vwIwb2PQ.js} +1 -1
  122. package/dist/interface/assets/{cameraSources-DEGJDtmK.js → cameraSources-BMhXvtFt.js} +1 -1
  123. package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +1 -0
  124. package/dist/interface/assets/{config-CVqy37fG.js → config-BQxEwrK6.js} +1 -1
  125. package/dist/interface/assets/esm-Bn9gXwX4.js +1 -0
  126. package/dist/interface/assets/esm-BzM6y2-F.js +1 -0
  127. package/dist/interface/assets/esm-CP3JWrtj.js +1 -0
  128. package/dist/interface/assets/esm-CjAXkqCf.js +1 -0
  129. package/dist/interface/assets/esm-Cqxk-j1S.js +1 -0
  130. package/dist/interface/assets/esm-DFHd3JNU.js +1 -0
  131. package/dist/interface/assets/esm-DfMLJtug.js +1 -0
  132. package/dist/interface/assets/esm-DhDrpq7a.js +1 -0
  133. package/dist/interface/assets/esm-DvhM-SOd.js +1 -0
  134. package/dist/interface/assets/esm-G63bqygQ.js +1 -0
  135. package/dist/interface/assets/esm-Gn-Y59hU.js +1 -0
  136. package/dist/interface/assets/esm-KJSOz2vj.js +1 -0
  137. package/dist/interface/assets/esm-Ryfc94Tm.js +1 -0
  138. package/dist/interface/assets/esm-rSfI5Poy.js +1 -0
  139. package/dist/interface/assets/{flowSchema-CppNBDy1.js → flowSchema-BPq6iHks.js} +1 -1
  140. package/dist/interface/assets/{intercomService-CjoJaOZ7.js → intercomService-CXcjcPa9.js} +1 -1
  141. package/dist/interface/assets/main-By4L33Im.js +3 -0
  142. package/dist/interface/assets/{main-Bo0Lb1y2.css → main-DVa5U7UB.css} +1 -1
  143. package/dist/interface/assets/mqtt-DE1KQ8Td.js +1 -0
  144. package/dist/interface/assets/native-CZJE8bTs.js +1 -0
  145. package/dist/interface/assets/native-DKZwialB.js +1 -0
  146. package/dist/interface/assets/{notifications-By40oPng.js → notifications-BCyiD-TP.js} +1 -1
  147. package/dist/interface/assets/plugin-DSEMkqaK.js +1 -0
  148. package/dist/interface/assets/{plugins-09rEDbMz.js → plugins-BJPCV1YL.js} +1 -1
  149. package/dist/interface/assets/rooms-Dr4yiakO.js +1 -0
  150. package/dist/interface/assets/{sensorIcons-Csu5s0uk.js → sensorIcons-DofElQ3w.js} +1 -1
  151. package/dist/interface/assets/{sensorSlots-CtbKmsGG.js → sensorSlots-D2KJGvPw.js} +1 -1
  152. package/dist/interface/assets/{sensors-CbzNs18A.js → sensors-3llrL7s3.js} +1 -1
  153. package/dist/interface/assets/server-Dw5DD473.js +1 -0
  154. package/dist/interface/assets/{theme-GhzGwpqd.js → theme-C85LJhOY.js} +1 -1
  155. package/dist/interface/assets/{types-CklFkUXk.js → types-CPhy0Ovw.js} +1 -1
  156. package/dist/interface/assets/{types-D8QWPhe-.js → types-DYKmSGl4.js} +1 -1
  157. package/dist/interface/assets/types-i1kTodPP.js +1 -0
  158. package/dist/interface/assets/ungrouped-BlheTJCh.css +1 -0
  159. package/dist/interface/assets/ungrouped-C2CWO39a.js +1 -0
  160. package/dist/interface/assets/{updates-CGo0T4sn.js → updates-C2LhMkNR.js} +1 -1
  161. package/dist/interface/assets/{useAppVersion-CJlexqyz.js → useAppVersion-DkazK9Vu.js} +1 -1
  162. package/dist/interface/assets/{useAssistantActions-Cc_O6M9_.js → useAssistantActions-BZP6NL18.js} +1 -1
  163. package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +1 -0
  164. package/dist/interface/assets/{useCameraOptions-CFISVNgk.js → useCameraOptions-DnI0xLrX.js} +1 -1
  165. package/dist/interface/assets/useKeyboardInset-Cr7SxKGN.js +1 -0
  166. package/dist/interface/assets/{useLogsSocket-D-ndWAg0.js → useLogsSocket-C3Y8S0Ar.js} +1 -1
  167. package/dist/interface/assets/{useNavLayout-CG0X_3kt.js → useNavLayout-C9pcDuVP.js} +1 -1
  168. package/dist/interface/assets/{usePermissions-BXTw4tII.js → usePermissions-CCTxwXF0.js} +1 -1
  169. package/dist/interface/assets/{usePluginUpdates-nW_dt66E.js → usePluginUpdates-DBhLWAua.js} +1 -1
  170. package/dist/interface/assets/{usePushRegistration-DCqOAxR4.js → usePushRegistration-CPRVdLAx.js} +2 -2
  171. package/dist/interface/assets/{useServerRestart-CxJGxAcU.js → useServerRestart-bScBLJ9r.js} +1 -1
  172. package/dist/interface/assets/{useStreamStatus-CXb1HbAq.js → useStreamStatus-Bfh-WmLH.js} +1 -1
  173. package/dist/interface/assets/{useTabSwipe-DHb8__wU.js → useTabSwipe-C_QOrvSW.js} +1 -1
  174. package/dist/interface/assets/{useUpdateChannel-BR4PMh1R.js → useUpdateChannel-g0h_4c55.js} +1 -1
  175. package/dist/interface/assets/{useUpdatesSocket-DKDRZhvc.js → useUpdatesSocket-CxrLRETs.js} +1 -1
  176. package/dist/interface/assets/{useUserOptions-lyc4WJ4L.js → useUserOptions-DN0t3gBr.js} +1 -1
  177. package/dist/interface/assets/vendor-cameraui-B28aGJJD.js +2326 -0
  178. package/dist/interface/assets/{vendor-capacitor-f9ShAzys.js → vendor-capacitor-Bs_WzL0Q.js} +2 -2
  179. package/dist/interface/assets/{vendor-core-B-Q4es-f.js → vendor-core-DIa0tPNH.js} +1 -1
  180. package/dist/interface/assets/{vendor-primevue-Cmp3VjIC.js → vendor-primevue-CZKUAkMA.js} +77 -77
  181. package/dist/interface/assets/web-BDNQnMmA.js +1 -0
  182. package/dist/interface/assets/web-BhJykCtq.js +1 -0
  183. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +1 -0
  184. package/dist/interface/assets/web-C7nJwIOa.js +1 -0
  185. package/dist/interface/assets/web-CGJsJQDb.js +1 -0
  186. package/dist/interface/assets/web-CJwASxrl.js +1 -0
  187. package/dist/interface/assets/web-CLe0L31Y.js +1 -0
  188. package/dist/interface/assets/web-DEv1hAn1.js +1 -0
  189. package/dist/interface/assets/web-DaeQvsXT.js +1 -0
  190. package/dist/interface/assets/web-H3-wNunW.js +1 -0
  191. package/dist/interface/assets/web-LCdyqJq1.js +1 -0
  192. package/dist/interface/assets/web-XZWYTK65.js +1 -0
  193. package/dist/interface/assets/web-rU5hlxxW.js +1 -0
  194. package/dist/interface/ha/{404-B2T8Gktj.js → 404-tl2VQ3qy.js} +1 -1
  195. package/dist/interface/ha/{About-CrTKzU9_.js → About-Cn7KOblU.js} +3 -3
  196. package/dist/interface/ha/{Assistant-BDHJmYx_.js → Assistant-DG2GGda0.js} +2281 -2128
  197. package/dist/interface/ha/{Automation-Czo5EsAg.js → Automation-D0_WpXx4.js} +170 -170
  198. package/dist/interface/ha/{AutomationImport-CuFAQbiX.js → AutomationImport-DdC3dEaC.js} +6 -6
  199. package/dist/interface/ha/{AutomationStore-D-6x0JIt.js → AutomationStore-BrLn4oBx.js} +73 -73
  200. package/dist/interface/ha/{AutomationStoreDetail-Dad4q1MN.js → AutomationStoreDetail-DoppNsNc.js} +6 -6
  201. package/dist/interface/ha/{Automations-C-oGM5SR.js → Automations-BaUJ9pVq.js} +70 -70
  202. package/dist/interface/ha/Camera-Cj5ImvZG.js +657 -0
  203. package/dist/interface/ha/{CameraConsole-hRGwbjsD.js → CameraConsole-7MhlS2VK.js} +3 -3
  204. package/dist/interface/ha/{Cameras-Bk5TFXA8.js → Cameras-vHYz8uSO.js} +182 -182
  205. package/dist/interface/ha/{Camview-CsKKqxxY.js → Camview-BEglAx26.js} +361 -361
  206. package/dist/interface/ha/{Config-Vl4-K3A_.js → Config-CHiK--zP.js} +110 -110
  207. package/dist/interface/ha/{ConfigActionAssistant-OWUX8glZ.js → ConfigActionAssistant-DynduZYV.js} +4 -4
  208. package/dist/interface/ha/{ConfigActionCameraControl-DEaOot8w.js → ConfigActionCameraControl-BEYePssz.js} +3 -3
  209. package/dist/interface/ha/{ConfigActionHttp-CSr2BpKL.js → ConfigActionHttp-h0vRWqZ5.js} +2 -2
  210. package/dist/interface/ha/{ConfigActionImageInput--O8Tyca-.js → ConfigActionImageInput-B9GMZYAR.js} +1 -1
  211. package/dist/interface/ha/{ConfigActionMqtt-DQJ4-gs2.js → ConfigActionMqtt-BEQpHBgf.js} +4 -4
  212. package/dist/interface/ha/{ConfigActionNotification-wR8CCA_T.js → ConfigActionNotification-BYsz8_aS.js} +3 -3
  213. package/dist/interface/ha/{ConfigActionNotificationControl-DNMrHwPz.js → ConfigActionNotificationControl-BxmIWVE8.js} +2 -2
  214. package/dist/interface/ha/{ConfigActionOutput-C-LVFxFP.js → ConfigActionOutput-DTOQSa1S.js} +1 -1
  215. package/dist/interface/ha/{ConfigActionPlugin-BCREAkNo.js → ConfigActionPlugin-NOsUs3QI.js} +5 -5
  216. package/dist/interface/ha/{ConfigActionSensor-D48CQ6qR.js → ConfigActionSensor-YWnsH_LV.js} +5 -5
  217. package/dist/interface/ha/{ConfigActionSnapshot-DpDy88Mg.js → ConfigActionSnapshot-DHJnTvin.js} +2 -2
  218. package/dist/interface/ha/{ConfigActionVariable-D9BxmwvB.js → ConfigActionVariable-C7UFnvW0.js} +1 -1
  219. package/dist/interface/ha/{ConfigConditionIfElse-CW42tQFY.js → ConfigConditionIfElse-CAHbuhH3.js} +3 -3
  220. package/dist/interface/ha/{ConfigConditionSensorState-BZpij7kB.js → ConfigConditionSensorState-CE6okUeb.js} +4 -4
  221. package/dist/interface/ha/{ConfigConditionSwitch-DlTuJ9Sf.js → ConfigConditionSwitch-D5FULaTy.js} +5 -5
  222. package/dist/interface/ha/{ConfigSensorValueInput-2QLHESlE.js → ConfigSensorValueInput-mo6Gs_aZ.js} +8 -8
  223. package/dist/interface/ha/{ConfigTriggerDetection-DPmUkmUJ.js → ConfigTriggerDetection-Bt-OhHtM.js} +2 -2
  224. package/dist/interface/ha/{ConfigTriggerGeofence--T9OXhGl.js → ConfigTriggerGeofence-Cw3jV5qD.js} +5 -5
  225. package/dist/interface/ha/{ConfigTriggerMqtt-fZn_X6yY.js → ConfigTriggerMqtt-BXeV82UG.js} +1 -1
  226. package/dist/interface/ha/{ConfigTriggerSensor-_3O6iBFX.js → ConfigTriggerSensor-Baqq--nJ.js} +1 -1
  227. package/dist/interface/ha/{ConfigTriggerSystem-CC9lqi8Q.js → ConfigTriggerSystem-braUVGzW.js} +2 -2
  228. package/dist/interface/ha/{ConfigTriggerWebhook-BuBcgXqf.js → ConfigTriggerWebhook-Dm45r-1C.js} +2 -2
  229. package/dist/interface/ha/{Console-DNc49UEt.js → Console-q3TCsxYo.js} +4 -4
  230. package/dist/interface/ha/{CuiAutomationRunsDialog-Dj_iiZht.js → CuiAutomationRunsDialog-DO6h5Tc4.js} +2 -2
  231. package/dist/interface/ha/{CuiBottomSheet-DG7wOV7m.js → CuiBottomSheet-B7ldz0xi.js} +1 -1
  232. package/dist/interface/ha/{CuiCameraRecordings-BlOZTfQ4.js → CuiCameraRecordings-Dq1Vh3qA.js} +11 -11
  233. package/dist/interface/ha/{CuiCameraShares-BOn-mobi.js → CuiCameraShares-DBqcpevG.js} +6 -6
  234. package/dist/interface/ha/{CuiCameraTable-D50FLiK8.js → CuiCameraTable-kL8rK-Uv.js} +2 -2
  235. package/dist/interface/ha/{CuiChartTable-CfcVRvdZ.js → CuiChartTable-BrFyiSt_.js} +82 -67
  236. package/dist/interface/ha/{CuiConsole-UpN0Wihm.js → CuiConsole-DpeXZmJd.js} +1 -1
  237. package/dist/interface/ha/{CuiDataTable-CpADXKNF.js → CuiDataTable-BtqzIz0o.js} +2 -2
  238. package/dist/interface/ha/{CuiPluginCard-CT6ZfL9o.js → CuiPluginCard-lBLypaN4.js} +42 -42
  239. package/dist/interface/ha/{CuiPluginOAuthButton-BJVKd6Ac.js → CuiPluginOAuthButton-CuGauZJA.js} +3 -3
  240. package/dist/interface/ha/{CuiPluginTrustBadge-gb9GI24w.js → CuiPluginTrustBadge-BofBmRYc.js} +1 -1
  241. package/dist/interface/ha/{CuiQRCode-DqKDx9zR.js → CuiQRCode-CdK9bwKb.js} +2 -2
  242. package/dist/interface/ha/{CuiSchema-CHeJkx0k.js → CuiSchema-DqkCLv9Y.js} +152 -152
  243. package/dist/interface/ha/{CuiTopNavbarItem-CFeI6ZYU.js → CuiTopNavbarItem-C2VZB7WV.js} +1 -1
  244. package/dist/interface/ha/{Faces-CTfvhhCj.js → Faces-Crfi-75Z.js} +240 -240
  245. package/dist/interface/ha/{FirstSteps-C-WXJ8IL.js → FirstSteps-CKVG86pf.js} +30 -30
  246. package/dist/interface/ha/{Floorplan-CDKTYN7B.js → Floorplan-CH9_-6hk.js} +156 -156
  247. package/dist/interface/ha/{Instances-n23yvN3L.js → Instances-5gZdPPDA.js} +13 -13
  248. package/dist/interface/ha/{Logs-Dfm0BWOQ.js → Logs-BkzEM70F.js} +12 -12
  249. package/dist/interface/ha/{Menu-76kvdAEF.js → Menu-BuT3_Ggx.js} +15 -15
  250. package/dist/interface/ha/{Metrics-lnivlTWm.js → Metrics-BGrzu0bu.js} +401 -399
  251. package/dist/interface/ha/{OAuthDeviceFlow-4ChaymHu.js → OAuthDeviceFlow-BEJtegqy.js} +3 -3
  252. package/dist/interface/ha/{Plugin-BV8YA8aN.js → Plugin-Bnp2jiC2.js} +209 -209
  253. package/dist/interface/ha/{PluginConsole-csf1Km7f.js → PluginConsole-CmsuPVMz.js} +4 -4
  254. package/dist/interface/ha/{PluginDetail-DTff6cbA.js → PluginDetail-BCNx7vHr.js} +7 -7
  255. package/dist/interface/ha/{PluginSearch-CdjxmFPN.js → PluginSearch-DOdhuxgM.js} +96 -96
  256. package/dist/interface/ha/{PluginUpdateProgress-ClyF4pbA.js → PluginUpdateProgress-CwkKc8Tr.js} +3 -3
  257. package/dist/interface/ha/{Plugins-_xOrqP36.js → Plugins-BrFowCdC.js} +54 -54
  258. package/dist/interface/ha/{Recordings-dTZv0pkp.js → Recordings-BZhf39pJ.js} +332 -334
  259. package/dist/interface/ha/{SensorEdit-DDRkZjmm.js → SensorEdit-Ds6WbN4A.js} +377 -377
  260. package/dist/interface/ha/{SensorHistory-DSGlRITr.js → SensorHistory-CoTIYTJx.js} +2 -2
  261. package/dist/interface/ha/{Sensors-DjhGRUzM.js → Sensors-DZ2MKdlh.js} +103 -103
  262. package/dist/interface/ha/{Settings-DYuvz4de.js → Settings-D3JKr430.js} +10 -10
  263. package/dist/interface/ha/{SettingsAccount-DQAo8SnK.js → SettingsAccount-cvtlSKZw.js} +233 -233
  264. package/dist/interface/ha/{SettingsAppearance-_tbhpUA0.js → SettingsAppearance-CaKuOHRu.js} +7 -7
  265. package/dist/interface/ha/{SettingsAssistant-DSf-dYuD.js → SettingsAssistant-vWVjAUqQ.js} +666 -621
  266. package/dist/interface/ha/{SettingsBackup-wLOa7xtw.js → SettingsBackup-CvzL_bVf.js} +8 -8
  267. package/dist/interface/ha/{SettingsList-CYujivw5.js → SettingsList-C0Ec8x-H.js} +4 -4
  268. package/dist/interface/ha/{SettingsMqtt-DbxJ-h3J.js → SettingsMqtt-COnq-QM5.js} +180 -180
  269. package/dist/interface/ha/{SettingsNotifications-DO2-KJvq.js → SettingsNotifications-BZ68bQzO.js} +3 -3
  270. package/dist/interface/ha/{SettingsRecordings-C47i1UhI.js → SettingsRecordings-BPtNNpDa.js} +4 -4
  271. package/dist/interface/ha/{SettingsRemote-BPvb-KLI.js → SettingsRemote-BXG8IYjf.js} +54 -54
  272. package/dist/interface/ha/{SettingsSystem-BJPrv9JE.js → SettingsSystem-_jHBUhws.js} +9 -9
  273. package/dist/interface/ha/{SettingsUsers-CcpCz6Y1.js → SettingsUsers-CzGj_RJN.js} +25 -25
  274. package/dist/interface/ha/{Terminal-DT7-WNH1.js → Terminal-BP3b8IBP.js} +169 -174
  275. package/dist/interface/ha/{Training-CqGBf8k1.js → Training-C2-6DgY0.js} +224 -219
  276. package/dist/interface/ha/{Updates-CgdrqX6R.js → Updates-BMZsEhmy.js} +14 -14
  277. package/dist/interface/ha/{VariableInput-DOzSFgxT.js → VariableInput-DmI7skCD.js} +1 -1
  278. package/dist/interface/ha/{VersionsHandler-ItklhE2t.js → VersionsHandler-DJd4NqtD.js} +10 -10
  279. package/dist/interface/ha/{VirtualSensorCreate-DbS3VqHC.js → VirtualSensorCreate-DmtGYvAn.js} +7 -7
  280. package/dist/interface/ha/{Workers-6PU7yUv1.js → Workers-2HTPHgKV.js} +26 -26
  281. package/dist/interface/ha/{api-Dv3Lk_g5.js → api-BelbnLQO.js} +9595 -9370
  282. package/dist/interface/ha/{api-anWolhVj.js → api-sy4rqV2N.js} +1 -1
  283. package/dist/interface/ha/{assistant-B3m0Kgev.js → assistant-C6KYXJfi.js} +1 -1
  284. package/dist/interface/ha/{auth-CAkpM_7A.js → auth-Da66mVEd.js} +1 -1
  285. package/dist/interface/ha/{automationBlueprint-DwVvbKbw.js → automationBlueprint-hlqqM17r.js} +3 -3
  286. package/dist/interface/ha/{base-C-TYDHjS.js → base-XgWmQghV.js} +14 -3
  287. package/dist/interface/ha/cameraui-cards.js +1 -1
  288. package/dist/interface/ha/{cards-B0qagpBw.js → cards-BFRRfuM7.js} +1334 -1334
  289. package/dist/interface/ha/{config-C20itAPE.js → config-Cd7JNMpD.js} +1 -1
  290. package/dist/interface/ha/{dist-oFWkn6pD.js → dist-BybVYMVs.js} +19 -19
  291. package/dist/interface/ha/{esm-i8Tigknm.js → esm-C9XVFkXu.js} +4 -4
  292. package/dist/interface/ha/{mqtt-C6JvkA5E.js → mqtt-UZfptWJl.js} +1 -1
  293. package/dist/interface/ha/{native-DBH9ocSq.js → native-BVUxNLM1.js} +4 -4
  294. package/dist/interface/ha/{notifications-gLmNZxwZ.js → notifications-DTHM8fS-.js} +1 -1
  295. package/dist/interface/ha/{pinia-Du8AM917.js → pinia-BokSpDzj.js} +1 -0
  296. package/dist/interface/ha/{plugins-6x0kBuQb.js → plugins-Bwp_GfaX.js} +1 -1
  297. package/dist/interface/ha/{rooms-C-mLT6mX.js → rooms-BvaD0r0q.js} +1 -1
  298. package/dist/interface/ha/{server-DuikIt69.js → server-OWdtITVa.js} +2 -2
  299. package/dist/interface/ha/{types-C0NcQ4Cz.js → types-BFJjyMZe.js} +1 -1
  300. package/dist/interface/ha/{ungrouped-ooCH0Izh.js → ungrouped-x00DHNHO.js} +220 -197
  301. package/dist/interface/ha/{updates-H8MlOQLC.js → updates-C03Qf3Il.js} +6 -6
  302. package/dist/interface/ha/{useAppVersion-DAUCV_cn.js → useAppVersion-CrMd9CC9.js} +1 -1
  303. package/dist/interface/ha/useKeyboardInset-DwUQCWHC.js +27 -0
  304. package/dist/interface/ha/{useLogsSocket-BOLAXPuD.js → useLogsSocket-C6k217mW.js} +1 -1
  305. package/dist/interface/ha/{useNavLayout-B7VoHzM1.js → useNavLayout-DhuQE024.js} +2 -2
  306. package/dist/interface/ha/{useServerRestart-qSH0bqwY.js → useServerRestart-CYaen2r6.js} +1 -1
  307. package/dist/interface/ha/{useTabSwipe-DYzG_gVG.js → useTabSwipe-DAmCFlgg.js} +1 -1
  308. package/dist/interface/ha/{useUpdateChannel-CK7JiWbG.js → useUpdateChannel-Dr1EoU2X.js} +2 -2
  309. package/dist/interface/ha/{useUpdatesSocket-DrqkGMuR.js → useUpdatesSocket-C8Gmhemh.js} +1 -1
  310. package/dist/interface/ha/{useUserOptions-BteVUdaT.js → useUserOptions-BB5wk3Bq.js} +1 -1
  311. package/dist/interface/ha/{web-D_q41D0i.js → web-CLbVbnCW.js} +5 -5
  312. package/dist/interface/index.html +33 -33
  313. package/dist/interface/sw.js +1 -1
  314. package/dist/server/package.json +5 -5
  315. package/dist/server/requirements.txt +1 -1
  316. package/dist/server/src/api/controllers/api.controller.js +1 -1
  317. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  318. package/dist/server/src/api/controllers/rooms.controller.js +3 -1
  319. package/dist/server/src/api/controllers/rooms.controller.js.map +1 -1
  320. package/dist/server/src/api/database/types.d.ts +1 -0
  321. package/dist/server/src/api/schemas/assistant.schema.d.ts +2 -0
  322. package/dist/server/src/api/schemas/assistant.schema.js +1 -0
  323. package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
  324. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  325. package/dist/server/src/api/services/cameras.service.js +8 -0
  326. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  327. package/dist/server/src/api/websocket/nsp/notifications.d.ts +1 -0
  328. package/dist/server/src/api/websocket/nsp/notifications.js +7 -0
  329. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  330. package/dist/server/src/assistant/automation-catalog.js +12 -2
  331. package/dist/server/src/assistant/automation-catalog.js.map +1 -1
  332. package/dist/server/src/assistant/manager.d.ts +1 -0
  333. package/dist/server/src/assistant/manager.js +1 -1
  334. package/dist/server/src/assistant/manager.js.map +1 -1
  335. package/dist/server/src/assistant/scheduler.js +8 -1
  336. package/dist/server/src/assistant/scheduler.js.map +1 -1
  337. package/dist/server/src/manager/notificationManager.d.ts +1 -0
  338. package/dist/server/src/manager/notificationManager.js +11 -0
  339. package/dist/server/src/manager/notificationManager.js.map +1 -1
  340. package/dist/server/src/plugins/index.js +5 -4
  341. package/dist/server/src/plugins/index.js.map +1 -1
  342. package/dist/server/src/services/config/index.d.ts +1 -0
  343. package/dist/server/src/services/config/index.js +12 -1
  344. package/dist/server/src/services/config/index.js.map +1 -1
  345. package/dist/server/src/utils/ipc.js +23 -17
  346. package/dist/server/src/utils/ipc.js.map +1 -1
  347. package/npm-shrinkwrap.json +14 -14
  348. package/package.json +5 -5
  349. package/dist/interface/assets/Assistant-B1xdMAkA.js +0 -1
  350. package/dist/interface/assets/Automations-Bpw8olkc.js +0 -2
  351. package/dist/interface/assets/Camera-B4ojNnKb.css +0 -1
  352. package/dist/interface/assets/Camera-BpFfZDaS.js +0 -2
  353. package/dist/interface/assets/Camview-C16pyCZk.js +0 -1
  354. package/dist/interface/assets/Config-BmEL5EaW.js +0 -2
  355. package/dist/interface/assets/Console-BIj7cIqO.js +0 -1
  356. package/dist/interface/assets/CuiAssistantConversation-CRNCKRHz.js +0 -5
  357. package/dist/interface/assets/CuiAssistantConversation-DQ0wOJvV.css +0 -1
  358. package/dist/interface/assets/CuiAutomationRunsDialog-DMUfNcsf.js +0 -1
  359. package/dist/interface/assets/CuiBottomSheet-CYi5c3fP.js +0 -1
  360. package/dist/interface/assets/CuiCameraPipCard-Cb_Qbly6.js +0 -1
  361. package/dist/interface/assets/CuiCameraRecordings-BeciatDY.js +0 -1
  362. package/dist/interface/assets/CuiCameraTable-BgL5FZso.js +0 -1
  363. package/dist/interface/assets/CuiChartTable-CtasoxMM.js +0 -1
  364. package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +0 -1
  365. package/dist/interface/assets/CuiLightControl-CLYl5pfN.js +0 -1
  366. package/dist/interface/assets/CuiPluginCard-CC1oXY16.js +0 -2
  367. package/dist/interface/assets/Faces-1xd5yGuO.js +0 -1
  368. package/dist/interface/assets/FirstSteps-E9cMqa0a.js +0 -1
  369. package/dist/interface/assets/Floorplan-BovV_ATh.js +0 -1
  370. package/dist/interface/assets/Instances-BbxyB7vR.js +0 -1
  371. package/dist/interface/assets/Metrics-BgXrNl38.js +0 -12
  372. package/dist/interface/assets/Metrics-ChVnC6f6.css +0 -1
  373. package/dist/interface/assets/Plugin-CDNywaVE.js +0 -1
  374. package/dist/interface/assets/PluginSearch-sPkO8aH3.js +0 -2
  375. package/dist/interface/assets/PluginSearch-xNIlfXk4.js +0 -1
  376. package/dist/interface/assets/Plugins-C8yjhxnQ.js +0 -1
  377. package/dist/interface/assets/Recordings-BHT8Vvv_.js +0 -1
  378. package/dist/interface/assets/Recordings-DwuojaAw.css +0 -1
  379. package/dist/interface/assets/SensorEdit-C-yJdJuP.js +0 -1
  380. package/dist/interface/assets/Sensors-Cza4Et2c.js +0 -2
  381. package/dist/interface/assets/Settings-Cj0leoGd.js +0 -1
  382. package/dist/interface/assets/SettingsAccount-COkcBBSz.js +0 -1
  383. package/dist/interface/assets/SettingsAccount-DjrJdssy.js +0 -1
  384. package/dist/interface/assets/SettingsAppearance-D20YW7Vq.js +0 -1
  385. package/dist/interface/assets/SettingsAssistant-CDdbbG-c.css +0 -1
  386. package/dist/interface/assets/SettingsAssistant-DKWDp1AI.js +0 -1
  387. package/dist/interface/assets/SettingsMqtt-LIuCRPT5.js +0 -1
  388. package/dist/interface/assets/SettingsNotifications-CZxqqH_8.js +0 -1
  389. package/dist/interface/assets/SettingsRemote-DRt-N_yA.js +0 -2
  390. package/dist/interface/assets/Terminal-U4yfJN3O.js +0 -4
  391. package/dist/interface/assets/Training-DfgE_dA8.js +0 -1
  392. package/dist/interface/assets/Workers-Ba37_3cY.js +0 -2
  393. package/dist/interface/assets/api-C1mraOYr.js +0 -4
  394. package/dist/interface/assets/api-z8ZVnoOl.css +0 -2
  395. package/dist/interface/assets/cloudHandoff-DkUx4m3P.js +0 -1
  396. package/dist/interface/assets/esm-0kxqa_1s.js +0 -1
  397. package/dist/interface/assets/esm-4p_M5mFV.js +0 -1
  398. package/dist/interface/assets/esm-8G-vO1KQ.js +0 -1
  399. package/dist/interface/assets/esm-8cB56ICb.js +0 -1
  400. package/dist/interface/assets/esm-B92csSEb.js +0 -1
  401. package/dist/interface/assets/esm-BHiNTIiN.js +0 -1
  402. package/dist/interface/assets/esm-Bu9PMLmw.js +0 -1
  403. package/dist/interface/assets/esm-CS6Ra46d.js +0 -1
  404. package/dist/interface/assets/esm-CWvQWALL.js +0 -1
  405. package/dist/interface/assets/esm-D2UDrwmt.js +0 -1
  406. package/dist/interface/assets/esm-D8OHF2X1.js +0 -1
  407. package/dist/interface/assets/esm-DrXkS8eG.js +0 -1
  408. package/dist/interface/assets/esm-pfoHiO1a.js +0 -1
  409. package/dist/interface/assets/esm-tJSCF7Vh.js +0 -1
  410. package/dist/interface/assets/main-BK3kmiG2.js +0 -3
  411. package/dist/interface/assets/mqtt-BENV9Fx4.js +0 -1
  412. package/dist/interface/assets/native-BEkWOGyD.js +0 -1
  413. package/dist/interface/assets/native-ugMg173F.js +0 -1
  414. package/dist/interface/assets/plugin-eafNQWg2.js +0 -1
  415. package/dist/interface/assets/rooms-LBxn-Uuu.js +0 -1
  416. package/dist/interface/assets/server-Btp5KILd.js +0 -1
  417. package/dist/interface/assets/types-BAwhu9iv.js +0 -1
  418. package/dist/interface/assets/ungrouped-BMk56E3L.js +0 -1
  419. package/dist/interface/assets/ungrouped-BnQIcSQd.css +0 -1
  420. package/dist/interface/assets/useBackupRestore-_s8vS5WF.js +0 -1
  421. package/dist/interface/assets/useKeyboardInset-DkUn62i7.js +0 -1
  422. package/dist/interface/assets/vendor-cameraui-CK4yHsJi.js +0 -2326
  423. package/dist/interface/assets/web-3OOGlctS.js +0 -1
  424. package/dist/interface/assets/web-5NFVd9gs.js +0 -1
  425. package/dist/interface/assets/web-A4yovlXr.js +0 -1
  426. package/dist/interface/assets/web-BBC3YoWX.js +0 -1
  427. package/dist/interface/assets/web-BjKL51lK-DUIsII0n.js +0 -1
  428. package/dist/interface/assets/web-C2-YAfsx.js +0 -1
  429. package/dist/interface/assets/web-CUL_MhvM.js +0 -1
  430. package/dist/interface/assets/web-CZVCXYLV.js +0 -1
  431. package/dist/interface/assets/web-DJ-LUxlV.js +0 -1
  432. package/dist/interface/assets/web-DNsEGLGS.js +0 -1
  433. package/dist/interface/assets/web-DZsU0QT_.js +0 -1
  434. package/dist/interface/assets/web-MoyOTbiU.js +0 -1
  435. package/dist/interface/assets/web-avRH_3t7.js +0 -1
  436. package/dist/interface/ha/Camera-CerkQGbZ.js +0 -654
@@ -3,7 +3,7 @@ import { D as t, G as n, H as r, I as i, Jt as a, St as o, Tt as s, Wt as c, Y a
3
3
  import { t as ne } from "./tooltip-BDrlgLof.js";
4
4
  import { t as re } from "./chevron-down-BNj8w2js.js";
5
5
  import { t as ie } from "./tag-mchuCAPR.js";
6
- import { $i as k, $r as ae, Ar as oe, At as se, B as ce, Bi as le, Ci as A, Dr as j, Er as ue, J as de, On as fe, Or as pe, Ot as me, R as he, Si as ge, Tr as _e, V as M, W as ve, Yt as N, _t as ye, bi as P, c as be, ct as F, d as xe, dr as I, fi as L, gn as Se, kt as R, m as Ce, tt as z, ua as we, ur as Te, z as Ee } from "./api-Dv3Lk_g5.js";
6
+ import { $i as k, $r as ae, Ar as oe, B as se, Bi as ce, Ci as A, Dn as le, Dr as j, Dt as ue, Er as de, Jt as fe, L as pe, Or as me, Ot as he, R as M, Si as ge, Tr as _e, U as ve, bi as N, c as ye, d as P, et as be, fi as F, gt as I, hn as xe, kt as L, lr as R, m as Se, q as z, st as Ce, ua as we, ur as Te, z as Ee } from "./api-BelbnLQO.js";
7
7
  import { C as De, M as B, S as Oe, _ as ke, b as Ae, i as je, w as Me } from "./intercomService-B7HkLs6z.js";
8
8
  import { n as Ne } from "./vue-i18n-D5EAy78K.js";
9
9
  import { t as Pe } from "./button-BouAFgf5.js";
@@ -15,7 +15,7 @@ import { t as Re } from "./progressbar-CaUaM8Bt.js";
15
15
  import { t as ze } from "./information-outline-DSSRyysT.js";
16
16
  import { t as Be } from "./search-BViwEHdF.js";
17
17
  import { n as Ve, t as He } from "./cloud-check-aaxn1VZr.js";
18
- import { u as Ue } from "./cards-B0qagpBw.js";
18
+ import { u as Ue } from "./cards-BFRRfuM7.js";
19
19
  import { t as We } from "./trash-can-outline-CBwv40Ck.js";
20
20
  import { t as Ge } from "./back-filled-CaxrZv0Q.js";
21
21
  import { t as Ke } from "./help-circle-outline-BniRuJRv.js";
@@ -100,16 +100,16 @@ async function ot(e) {
100
100
  return (await k.patch("/training/settings", e)).data;
101
101
  }
102
102
  var st = class {
103
- queryClient = le();
103
+ queryClient = ce();
104
104
  getCandidatesQuery() {
105
- return P({
105
+ return N({
106
106
  queryKey: ["training-candidates"],
107
107
  queryFn: ({ signal: e }) => nt({}, { signal: e }),
108
108
  staleTime: 5e3
109
109
  });
110
110
  }
111
111
  getSettingsQuery() {
112
- return P({
112
+ return N({
113
113
  queryKey: ["training-settings"],
114
114
  queryFn: ({ signal: e }) => q({ signal: e }),
115
115
  staleTime: 3e4
@@ -203,7 +203,7 @@ function ht() {
203
203
  }
204
204
  function gt() {
205
205
  return ft || (dt = p(!0), dt.run(() => {
206
- let e = L("/training");
206
+ let e = F("/training");
207
207
  ft = e, e.on("candidates-changed", (e) => pt(Z, e ?? {})), e.on("submit-progress", (e) => {
208
208
  X.progress = e, pt(Z, {});
209
209
  }), e.onReady(ht);
@@ -294,7 +294,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
294
294
  }, Gt = { class: "flex flex-col items-center gap-0.5" }, Kt = { class: "flex items-center justify-center gap-1.5" }, qt = { class: "text-muted text-sm text-center" }, Jt = { class: "text-muted text-sm text-center" }, Yt = {
295
295
  key: 1,
296
296
  class: "grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 justify-center mx-auto text-sm text-muted"
297
- }, Xt = .01, Zt = .006, Qt = 26, $t = 60, en = 400, tn = 110, nn = 2, rn = 80, an = 50, on = .003, sn = .5, cn = /*#__PURE__*/ ue(/* @__PURE__ */ T({
297
+ }, Xt = .01, Zt = 4, Qt = 10, $t = 26, en = 60, tn = 400, nn = 110, rn = 2, an = 80, on = 50, sn = .003, cn = .5, ln = /*#__PURE__*/ de(/* @__PURE__ */ T({
298
298
  __name: "TrainingBoxEditor",
299
299
  props: {
300
300
  candidates: {},
@@ -305,37 +305,37 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
305
305
  onDelete: { type: Function }
306
306
  },
307
307
  setup(u, { expose: p }) {
308
- let T = u, re = t("dialogRef"), { t: k, te: ae } = Ne(), oe = ge(), ce = _t(), le = [
308
+ let T = u, re = t("dialogRef"), { t: k, te: ae } = Ne(), oe = ge(), se = _t(), ce = [
309
309
  "nw",
310
310
  "ne",
311
311
  "sw",
312
312
  "se"
313
- ], A = /* @__PURE__ */ new Map(), j = O(/* @__PURE__ */ new Set()), ue = O(/* @__PURE__ */ new Set()), de = o(/* @__PURE__ */ new Map()), pe = 0, me = Math.max(0, T.candidates.findIndex((e) => e.id === T.startId)), he = Ce(), _e = x("rootRef"), M = x("labelMenuRef"), ve = x("stageRef"), N = x("frameRef"), ye = x("svgRef"), P = E(T.candidates[me]?.boxes.map((e) => ({ ...e })) ?? []), xe = E({
313
+ ], A = /* @__PURE__ */ new Map(), j = O(/* @__PURE__ */ new Set()), ue = O(/* @__PURE__ */ new Set()), de = o(/* @__PURE__ */ new Map()), fe = 0, pe = Math.max(0, T.candidates.findIndex((e) => e.id === T.startId)), me = Se(), he = x("rootRef"), M = x("labelMenuRef"), _e = x("stageRef"), ve = x("frameRef"), N = x("svgRef"), P = E(T.candidates[pe]?.boxes.map((e) => ({ ...e })) ?? []), be = E({
314
314
  w: 16,
315
315
  h: 9
316
- }), L = E(null), R = E(null), z = E(-1), we = E(!1), Ee = E(!1), De = Me("(any-pointer: fine)"), B = E(null), Oe = null, je = E(-1), Fe = E("person"), V = E(me), Le = w([]), H = E(!1), { zoom: Re, pan: ze, constraining: Be, minimapStyle: Ve, minimapBoxStyle: He, onZoomPan: Ge, onDoubleClick: qe, onTouchStart: Je, onTouchEnd: Ye, reset: Xe } = F(ve, N), { height: U } = ke(N), W = g(() => T.candidates[V.value]), Ze = g(() => T.candidates.slice(0, V.value + 1).filter((e) => !j.has(e.id)).length), Qe = g(() => T.candidates.filter((e) => !j.has(e.id)).length), $e = g(() => T.candidates.slice(0, V.value).some((e) => !j.has(e.id))), et = g(() => T.candidates.slice(V.value + 1).some((e) => !j.has(e.id))), tt = g(() => ue.has(W.value.id) ? "verified" : W.value.status), nt = g(() => P.value.map((e, t) => ({
316
+ }), F = E(null), I = E(null), z = E(-1), we = E(!1), Ee = E(!1), De = Me("(any-pointer: fine)"), B = E(null), Oe = null, je = E(-1), Fe = E("person"), V = E(pe), Le = w([]), H = E(!1), { zoom: Re, pan: ze, constraining: Be, minimapStyle: Ve, minimapBoxStyle: He, onZoomPan: Ge, onDoubleClick: qe, onTouchStart: Je, onTouchEnd: Ye, reset: Xe } = Ce(_e, ve), { height: U } = ke(ve), W = g(() => T.candidates[V.value]), Ze = g(() => T.candidates.slice(0, V.value + 1).filter((e) => !j.has(e.id)).length), Qe = g(() => T.candidates.filter((e) => !j.has(e.id)).length), $e = g(() => T.candidates.slice(0, V.value).some((e) => !j.has(e.id))), et = g(() => T.candidates.slice(V.value + 1).some((e) => !j.has(e.id))), tt = g(() => ue.has(W.value.id) ? "verified" : W.value.status), nt = g(() => P.value.map((e, t) => ({
317
317
  box: e,
318
318
  i: t
319
319
  })).sort((e, t) => st(e) - st(t))), rt = g(() => new Map(nt.value.map(({ i: e }, t) => [e, t + 1]))), G = g(() => P.value[z.value]), K = g(() => {
320
320
  let e = P.value[z.value];
321
321
  return e?.label === "license_plate" ? e : null;
322
- }), it = g(() => H.value ? Le.value.filter((e) => !P.value.some((t) => Z(t, e) >= sn)) : []), at = g(() => [...ut.map((e) => ({
322
+ }), it = g(() => H.value ? Le.value.filter((e) => !P.value.some((t) => Z(t, e) >= cn)) : []), at = g(() => [...ut.map((e) => ({
323
323
  key: e,
324
324
  label: ct(e),
325
- icon: Se(e).icon,
326
- iconProps: { style: { color: Se(e).color } },
325
+ icon: xe(e).icon,
326
+ iconProps: { style: { color: xe(e).color } },
327
327
  active: P.value[je.value]?.label === e,
328
- onClick: () => Sn(e)
328
+ onClick: () => Cn(e)
329
329
  })), {
330
330
  key: "remove",
331
331
  label: k("components.training_editor.remove_box"),
332
332
  icon: We,
333
333
  iconProps: { class: "text-red-500" },
334
334
  labelProps: { class: "text-red-500" },
335
- onClick: () => wn(je.value)
335
+ onClick: () => Tn(je.value)
336
336
  }]), q = g(() => (e) => {
337
337
  let t = U.value || 360;
338
- return e.y * t >= Qt ? "above" : t - (e.y + e.height) * t >= Qt ? "below" : "inside";
338
+ return e.y * t >= $t ? "above" : t - (e.y + e.height) * t >= $t ? "below" : "inside";
339
339
  }), ot = g(() => (e) => e.x > .7);
340
340
  function st({ box: e, i: t }) {
341
341
  return t === z.value ? 2 ** 53 - 1 : de.get(s(e)) ?? t;
@@ -345,7 +345,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
345
345
  return ae(t) ? k(t) : e;
346
346
  }
347
347
  function J(e) {
348
- return Se(e);
348
+ return xe(e);
349
349
  }
350
350
  function Y(e) {
351
351
  return `${e * 100}%`;
@@ -389,13 +389,13 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
389
389
  }
390
390
  function ht(e) {
391
391
  let t = e.target;
392
- t.naturalWidth && t.naturalHeight && (xe.value = {
392
+ t.naturalWidth && t.naturalHeight && (be.value = {
393
393
  w: t.naturalWidth,
394
394
  h: t.naturalHeight
395
395
  });
396
396
  }
397
397
  function gt(e) {
398
- let t = ye.value?.getBoundingClientRect();
398
+ let t = N.value?.getBoundingClientRect();
399
399
  return !t || t.width === 0 || t.height === 0 ? {
400
400
  x: 0,
401
401
  y: 0
@@ -404,16 +404,18 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
404
404
  y: Math.min(1, Math.max(0, (e.clientY - t.top) / t.height))
405
405
  };
406
406
  }
407
- function cn(e, t) {
408
- L.value = {
407
+ function ln(e, t) {
408
+ F.value = {
409
409
  ...t,
410
+ clientX: e.clientX,
411
+ clientY: e.clientY,
410
412
  moved: !1
411
- }, ye.value?.setPointerCapture(e.pointerId);
413
+ }, N.value?.setPointerCapture(e.pointerId);
412
414
  }
413
- function ln(e) {
415
+ function un(e) {
414
416
  if (M.value?.hide(), Re.value > 1 || !e.isPrimary) return;
415
417
  let { x: t, y: n } = gt(e);
416
- cn(e, {
418
+ ln(e, {
417
419
  mode: "draw",
418
420
  index: -1,
419
421
  startX: t,
@@ -428,10 +430,10 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
428
430
  }
429
431
  });
430
432
  }
431
- function un(e, t) {
433
+ function dn(e, t) {
432
434
  if (!t.isPrimary) return;
433
435
  let { x: n, y: r } = gt(t);
434
- z.value = e, cn(t, {
436
+ z.value = e, ln(t, {
435
437
  mode: "move",
436
438
  index: e,
437
439
  startX: n,
@@ -439,11 +441,11 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
439
441
  origin: { ...P.value[e] }
440
442
  });
441
443
  }
442
- function dn(e, t, n) {
444
+ function fn(e, t, n) {
443
445
  if (!n.isPrimary) return;
444
446
  M.value?.hide();
445
447
  let { x: r, y: i } = gt(n);
446
- z.value = e, cn(n, {
448
+ z.value = e, ln(n, {
447
449
  mode: "resize",
448
450
  index: e,
449
451
  corner: t,
@@ -452,17 +454,17 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
452
454
  origin: { ...P.value[e] }
453
455
  });
454
456
  }
455
- function fn(e) {
456
- e.touches.length > 1 && L.value && (L.value = null, R.value = null, B.value = null), Je(e);
457
- }
458
457
  function pn(e) {
459
- let t = L.value;
458
+ e.touches.length > 1 && F.value && (F.value = null, I.value = null, B.value = null), Je(e);
459
+ }
460
+ function mn(e) {
461
+ let t = F.value;
460
462
  if (!t) return;
461
- let { x: n, y: r } = gt(e);
462
- if (Math.hypot(n - t.startX, r - t.startY) > Zt && (t.moved = !0), e.pointerType === "touch" && t.moved && (hn(t) ? gn(e) : B.value = null), t.mode === "draw") {
463
+ let { x: n, y: r } = gt(e), i = e.pointerType === "touch" ? Qt : Zt;
464
+ if (Math.hypot(e.clientX - t.clientX, e.clientY - t.clientY) > i && (t.moved = !0), e.pointerType === "touch" && t.moved && (gn(t) ? _n(e) : B.value = null), t.mode === "draw") {
463
465
  if (t.moved) {
464
- let e = bn(t.startX, t.startY, n, r);
465
- R.value = e.width >= Xt && e.height >= Xt ? {
466
+ let e = xn(t.startX, t.startY, n, r);
467
+ I.value = e.width >= Xt && e.height >= Xt ? {
466
468
  label: Fe.value,
467
469
  confidence: 1,
468
470
  ...e
@@ -476,49 +478,49 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
476
478
  e.x = Math.min(1 - t.origin.width, Math.max(0, t.origin.x + (n - t.startX))), e.y = Math.min(1 - t.origin.height, Math.max(0, t.origin.y + (r - t.startY)));
477
479
  return;
478
480
  }
479
- let i = t.corner === "nw" || t.corner === "sw" ? t.origin.x + t.origin.width : t.origin.x, a = t.corner === "nw" || t.corner === "ne" ? t.origin.y + t.origin.height : t.origin.y;
480
- Object.assign(P.value[t.index], bn(i, a, n, r));
481
+ let a = t.corner === "nw" || t.corner === "sw" ? t.origin.x + t.origin.width : t.origin.x, o = t.corner === "nw" || t.corner === "ne" ? t.origin.y + t.origin.height : t.origin.y;
482
+ Object.assign(P.value[t.index], xn(a, o, n, r));
481
483
  }
482
- function mn(e) {
483
- let t = L.value;
484
- if (L.value = null, B.value = null, t) {
484
+ function hn(e) {
485
+ let t = F.value;
486
+ if (F.value = null, B.value = null, t) {
485
487
  if (t.mode === "draw") {
486
- R.value && R.value.width >= Xt && R.value.height >= Xt ? (P.value.push({ ...R.value }), z.value = P.value.length - 1) : t.moved || (z.value = -1), R.value = null;
488
+ I.value && I.value.width >= Xt && I.value.height >= Xt ? (P.value.push({ ...I.value }), z.value = P.value.length - 1) : t.moved || (z.value = -1), I.value = null;
487
489
  return;
488
490
  }
489
- t.mode === "move" && !t.moved && xn(t.index, e);
491
+ t.mode === "move" && !t.moved && Sn(t.index, e);
490
492
  }
491
493
  }
492
- function hn(e) {
493
- let t = ye.value?.getBoundingClientRect();
494
+ function gn(e) {
495
+ let t = N.value?.getBoundingClientRect();
494
496
  if (!t || t.width === 0) return !1;
495
- let n = e.mode === "draw" ? R.value : P.value[e.index];
496
- return !n || Math.max(n.width * t.width, n.height * t.height) <= an;
497
+ let n = e.mode === "draw" ? I.value : P.value[e.index];
498
+ return !n || Math.max(n.width * t.width, n.height * t.height) <= on;
497
499
  }
498
- function gn(e) {
499
- let t = N.value?.getBoundingClientRect(), n = ve.value?.getBoundingClientRect();
500
+ function _n(e) {
501
+ let t = ve.value?.getBoundingClientRect(), n = _e.value?.getBoundingClientRect();
500
502
  if (!t || !n || t.width === 0 || t.height === 0) {
501
503
  B.value = null;
502
504
  return;
503
505
  }
504
- let r = tn / 2, i = Math.min(Math.max(e.clientX - n.left, 59), n.width - r - 4), a = e.clientY - n.top - rn;
505
- a - r < 4 && (a = e.clientY - n.top + rn), B.value = {
506
+ let r = nn / 2, i = Math.min(Math.max(e.clientX - n.left, 59), n.width - r - 4), a = e.clientY - n.top - an;
507
+ a - r < 4 && (a = e.clientY - n.top + an), B.value = {
506
508
  x: i,
507
509
  y: a,
508
510
  frameW: t.width,
509
511
  frameH: t.height,
510
- tx: r - (e.clientX - t.left) * nn,
511
- ty: r - (e.clientY - t.top) * nn
512
+ tx: r - (e.clientX - t.left) * rn,
513
+ ty: r - (e.clientY - t.top) * rn
512
514
  };
513
515
  }
514
- function _n(e) {
516
+ function vn(e) {
515
517
  let t = e instanceof HTMLElement || e instanceof SVGElement ? e : null;
516
- if (!t || ve.value?.contains(t) || t.closest(".p-dialog-header") || t.closest("button")) return !1;
517
- let n = _e.value?.closest(".p-dialog-content")?.lastElementChild;
518
- return !(n && n !== _e.value && n.contains(t));
518
+ if (!t || _e.value?.contains(t) || t.closest(".p-dialog-header") || t.closest("button")) return !1;
519
+ let n = he.value?.closest(".p-dialog-content")?.lastElementChild;
520
+ return !(n && n !== he.value && n.contains(t));
519
521
  }
520
- function vn(e) {
521
- if (Oe = null, e.touches.length !== 1 || !_n(e.target)) return;
522
+ function yn(e) {
523
+ if (Oe = null, e.touches.length !== 1 || !vn(e.target)) return;
522
524
  let t = e.touches[0];
523
525
  Oe = {
524
526
  x: t.clientX,
@@ -526,13 +528,13 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
526
528
  at: Date.now()
527
529
  };
528
530
  }
529
- function yn(e) {
531
+ function bn(e) {
530
532
  let t = Oe;
531
533
  if (Oe = null, !t || e.changedTouches.length !== 1) return;
532
534
  let n = e.changedTouches[0], r = n.clientX - t.x, i = n.clientY - t.y;
533
- Date.now() - t.at <= en && Math.abs(r) >= $t && Math.abs(r) > 2 * Math.abs(i) && $(r < 0 ? 1 : -1);
535
+ Date.now() - t.at <= tn && Math.abs(r) >= en && Math.abs(r) > 2 * Math.abs(i) && $(r < 0 ? 1 : -1);
534
536
  }
535
- function bn(e, t, n, r) {
537
+ function xn(e, t, n, r) {
536
538
  return {
537
539
  x: Math.min(e, n),
538
540
  y: Math.min(t, r),
@@ -540,34 +542,34 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
540
542
  height: Math.abs(r - t)
541
543
  };
542
544
  }
543
- function xn(e, t) {
545
+ function Sn(e, t) {
544
546
  je.value = e;
545
- let n = N.value?.querySelector(`[data-box-label="${e}"]`), r = { currentTarget: N.value ?? t.currentTarget };
547
+ let n = ve.value?.querySelector(`[data-box-label="${e}"]`), r = { currentTarget: ve.value ?? t.currentTarget };
546
548
  M.value?.toggleMenu(r, n ?? void 0);
547
549
  }
548
- function Sn(e) {
550
+ function Cn(e) {
549
551
  let t = P.value[je.value];
550
552
  t && (t.label = e, t.confidence = 1, Fe.value = e);
551
553
  }
552
- function Cn(e) {
554
+ function wn(e) {
553
555
  let t = P.value[z.value];
554
556
  t && (t.text = (e ?? "").toUpperCase().replace(/[^A-Z0-9ÄÖÜ\- ]/g, "") || void 0);
555
557
  }
556
- function wn(e) {
558
+ function Tn(e) {
557
559
  e < 0 || e >= P.value.length || (P.value.splice(e, 1), z.value = -1, je.value = -1, M.value?.hide());
558
560
  }
559
- function Tn(e, t = !0) {
560
- e < 0 || e >= T.candidates.length || (t && A.set(W.value.id, P.value.map((e) => ({ ...e }))), Le.value = P.value.map((e) => ({ ...e })), V.value = e, P.value = (A.get(W.value.id) ?? W.value.boxes).map((e) => ({ ...e })), R.value = null, L.value = null, B.value = null, z.value = -1, je.value = -1, de.clear(), M.value?.hide(), Xe());
561
+ function En(e, t = !0) {
562
+ e < 0 || e >= T.candidates.length || (t && A.set(W.value.id, P.value.map((e) => ({ ...e }))), Le.value = P.value.map((e) => ({ ...e })), V.value = e, P.value = (A.get(W.value.id) ?? W.value.boxes).map((e) => ({ ...e })), I.value = null, F.value = null, B.value = null, z.value = -1, je.value = -1, de.clear(), M.value?.hide(), Xe());
561
563
  }
562
- async function En(e) {
564
+ async function Dn(e) {
563
565
  return await T.onSave(W.value.id, P.value.map((e) => ({ ...e })), e), A.set(W.value.id, P.value.map((e) => ({ ...e }))), e === "verified" && ue.add(W.value.id), $(1, !1) ? null : void 0;
564
566
  }
565
567
  function $(e, t = !0) {
566
568
  let n = V.value + e;
567
569
  for (; n >= 0 && n < T.candidates.length && j.has(T.candidates[n].id);) n += e;
568
- return n < 0 || n >= T.candidates.length ? !1 : (Tn(n, t), !0);
570
+ return n < 0 || n >= T.candidates.length ? !1 : (En(n, t), !0);
569
571
  }
570
- async function Dn() {
572
+ async function On() {
571
573
  let e = W.value.id;
572
574
  j.add(e);
573
575
  try {
@@ -577,7 +579,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
577
579
  }
578
580
  return A.delete(e), $(1, !1) || $(-1, !1) ? null : void 0;
579
581
  }
580
- function On(e) {
582
+ function kn(e) {
581
583
  let t = !1;
582
584
  for (let n of e) !j.has(n) && T.candidates.some((e) => e.id === n) && (j.add(n), A.delete(n), n === W.value.id && (t = !0));
583
585
  t && (oe.add({
@@ -586,7 +588,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
586
588
  life: 4e3
587
589
  }), !$(1, !1) && !$(-1, !1) && re.value.close({ status: "cancel" }));
588
590
  }
589
- function kn() {
591
+ function An() {
590
592
  for (let e of [1, -1]) {
591
593
  let t = V.value + e;
592
594
  for (; t >= 0 && t < T.candidates.length && j.has(T.candidates[t].id);) t += e;
@@ -594,24 +596,24 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
594
596
  n && (new Image().src = T.imageUrl(n.id));
595
597
  }
596
598
  }
597
- function An(e) {
599
+ function jn(e) {
598
600
  P.value.length && (z.value = (z.value + e + P.value.length) % P.value.length);
599
601
  }
600
- function jn(e) {
602
+ function Mn(e) {
601
603
  let t = P.value[z.value];
602
604
  if (!t) return;
603
605
  let n = ut, r = n[(n.indexOf(t.label) + e + n.length) % n.length];
604
606
  t.label = r, t.confidence = 1, Fe.value = r;
605
607
  }
606
- function Mn(e, t, n) {
608
+ function Nn(e, t, n) {
607
609
  let r = P.value[z.value];
608
610
  r && (n ? (r.width = Math.min(1 - r.x, Math.max(Xt, r.width + e)), r.height = Math.min(1 - r.y, Math.max(Xt, r.height + t))) : (r.x = Math.min(1 - r.width, Math.max(0, r.x + e)), r.y = Math.min(1 - r.height, Math.max(0, r.y + t))));
609
611
  }
610
- async function Nn() {
612
+ async function Pn() {
611
613
  if (!Ee.value) {
612
614
  Ee.value = !0;
613
615
  try {
614
- let e = await En("verified");
616
+ let e = await Dn("verified");
615
617
  e !== null && re.value.close({
616
618
  status: "confirm",
617
619
  data: e
@@ -621,40 +623,40 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
621
623
  }
622
624
  }
623
625
  }
624
- ee(V, kn, { immediate: !0 }), ee(G, (e, t) => {
625
- t && t !== e && P.value.includes(t) && de.set(s(t), --pe);
626
+ ee(V, An, { immediate: !0 }), ee(G, (e, t) => {
627
+ t && t !== e && P.value.includes(t) && de.set(s(t), --fe);
626
628
  }), Ae(window, "keydown", (e) => {
627
629
  if (e.target?.closest?.("input, textarea")) return;
628
630
  let t = {
629
631
  ArrowLeft: [-.003, 0],
630
- ArrowRight: [on, 0],
632
+ ArrowRight: [sn, 0],
631
633
  ArrowUp: [0, -.003],
632
- ArrowDown: [0, on]
634
+ ArrowDown: [0, sn]
633
635
  };
634
636
  if (t[e.key]) {
635
637
  if (z.value >= 0) {
636
638
  e.preventDefault();
637
639
  let [n, r] = t[e.key];
638
- Mn(n, r, e.shiftKey);
640
+ Nn(n, r, e.shiftKey);
639
641
  } else !e.repeat && e.key === "ArrowLeft" ? $(-1) : !e.repeat && e.key === "ArrowRight" && $(1);
640
642
  return;
641
643
  }
642
- e.repeat || (e.key === "Tab" ? (e.preventDefault(), An(e.shiftKey ? -1 : 1)) : e.key === "Escape" ? (z.value = -1, M.value?.hide()) : (e.key === "Delete" || e.key === "Backspace") && z.value >= 0 ? wn(z.value) : e.key === "v" || e.key === "V" ? e.shiftKey ? mt() : Le.value.length > 0 && (H.value = !H.value) : e.key === "s" || e.key === "S" ? jn(e.shiftKey ? -1 : 1) : e.key === " " && !M.value?.isOpen && (e.preventDefault(), Nn()));
643
- }), Ae(() => _e.value?.closest(".p-dialog-content") ?? void 0, "touchstart", vn, { passive: !0 }), Ae(() => _e.value?.closest(".p-dialog-content") ?? void 0, "touchend", yn, { passive: !0 }), ce.connect();
644
- let Pn = ce.onCandidatesChanged((e) => {
645
- e.removed?.length && On(e.removed);
644
+ e.repeat || (e.key === "Tab" ? (e.preventDefault(), jn(e.shiftKey ? -1 : 1)) : e.key === "Escape" ? (z.value = -1, M.value?.hide()) : (e.key === "Delete" || e.key === "Backspace") && z.value >= 0 ? Tn(z.value) : e.key === "v" || e.key === "V" ? e.shiftKey ? mt() : Le.value.length > 0 && (H.value = !H.value) : e.key === "s" || e.key === "S" ? Mn(e.shiftKey ? -1 : 1) : e.key === " " && !M.value?.isOpen && (e.preventDefault(), Pn()));
645
+ }), Ae(() => he.value?.closest(".p-dialog-content") ?? void 0, "touchstart", yn, { passive: !0 }), Ae(() => he.value?.closest(".p-dialog-content") ?? void 0, "touchend", bn, { passive: !0 }), se.connect();
646
+ let Fn = se.onCandidatesChanged((e) => {
647
+ e.removed?.length && kn(e.removed);
646
648
  });
647
649
  return i(() => {
648
- Pn();
650
+ Fn();
649
651
  }), p({
650
652
  isLoading: Ee,
651
- onConfirm: () => En("verified"),
652
- onCancel: () => Dn()
653
+ onConfirm: () => Dn("verified"),
654
+ onCancel: () => On()
653
655
  }), (t, i) => {
654
- let o = ie, s = lt, p = Pe, g = Ue, ee = Te, x = I, w = Ie, T = Ke, E = ne;
656
+ let o = ie, s = lt, p = Pe, g = Ue, ee = R, x = Te, w = Ie, T = Ke, E = ne;
655
657
  return r(), v("div", {
656
658
  ref_key: "rootRef",
657
- ref: _e,
659
+ ref: he,
658
660
  class: "flex flex-col gap-3 h-full min-h-0"
659
661
  }, [
660
662
  S("div", vt, [S("div", yt, [
@@ -664,7 +666,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
664
666
  class: "shrink-0"
665
667
  }, null, 8, ["severity", "value"]),
666
668
  S("span", bt, a(u.cameraName(h(W).cameraId)), 1),
667
- S("span", xt, a(h(be)(h(W).createdAt)), 1)
669
+ S("span", xt, a(h(ye)(h(W).createdAt)), 1)
668
670
  ]), S("div", St, [h(Le).length > 0 ? te((r(), d(p, {
669
671
  key: 0,
670
672
  severity: h(H) ? "primary" : "secondary",
@@ -683,36 +685,36 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
683
685
  ]]) : f("", !0), S("span", Ct, a(h(Ze)) + " / " + a(h(Qe)), 1)])]),
684
686
  S("div", {
685
687
  ref_key: "stageRef",
686
- ref: ve,
688
+ ref: _e,
687
689
  class: "stage relative w-full bg-black rounded-lg shrink-0 overflow-hidden select-none"
688
690
  }, [
689
- D(h(se), {
691
+ D(h(L), {
690
692
  pan: h(ze),
691
693
  "onUpdate:pan": i[10] ||= (e) => m(ze) ? ze.value = e : null,
692
694
  zoom: h(Re),
693
695
  "onUpdate:zoom": i[11] ||= (e) => m(Re) ? Re.value = e : null,
694
- "pan-enabled": h(Re) > 1 && !h(L),
696
+ "pan-enabled": h(Re) > 1 && !h(F),
695
697
  "enable-control-button": !1,
696
698
  "dbl-click-enabled": !1,
697
699
  "min-zoom": 1,
698
700
  "max-zoom": h(5),
699
- selector: `[data-stage-zoom='${h(he)}']`,
701
+ selector: `[data-stage-zoom='${h(me)}']`,
700
702
  "zoom-origin": "pointer",
701
703
  class: c(["absolute inset-0 flex items-center justify-center", { "zoom-constraining": h(Be) }]),
702
704
  onPanned: h(Ge),
703
705
  onZoom: h(Ge),
704
706
  onDblclick: h(qe),
705
- onTouchstart: fn,
707
+ onTouchstart: pn,
706
708
  onTouchend: h(Ye)
707
709
  }, {
708
710
  default: _(() => [S("div", {
709
711
  ref_key: "frameRef",
710
- ref: N,
711
- "data-stage-zoom": h(he),
712
+ ref: ve,
713
+ "data-stage-zoom": h(me),
712
714
  class: "frame relative",
713
715
  style: y({
714
- "--ar-w": h(xe).w,
715
- "--ar-h": h(xe).h
716
+ "--ar-w": h(be).w,
717
+ "--ar-h": h(be).h
716
718
  })
717
719
  }, [
718
720
  S("img", {
@@ -723,12 +725,12 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
723
725
  }, null, 40, Tt),
724
726
  (r(), v("svg", {
725
727
  ref_key: "svgRef",
726
- ref: ye,
728
+ ref: N,
727
729
  class: c(["absolute inset-0 w-full h-full touch-none", h(Re) > 1 ? "cursor-grab" : "cursor-crosshair"]),
728
- onPointerdown: ln,
729
- onPointermove: pn,
730
- onPointerup: mn,
731
- onPointercancel: mn
730
+ onPointerdown: un,
731
+ onPointermove: mn,
732
+ onPointerup: hn,
733
+ onPointercancel: hn
732
734
  }, [
733
735
  (r(!0), v(b, null, n(h(nt), ({ box: t, i: a }) => (r(), v("g", { key: a }, [S("rect", {
734
736
  x: Y(t.x),
@@ -741,13 +743,13 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
741
743
  "stroke-width": a === h(z) ? 3.5 : 2,
742
744
  "vector-effect": "non-scaling-stroke",
743
745
  class: "cursor-move",
744
- onPointerdown: e((e) => un(a, e), ["stop"]),
746
+ onPointerdown: e((e) => dn(a, e), ["stop"]),
745
747
  onTouchstart: i[1] ||= e(() => {}, ["stop"]),
746
748
  onMousedown: i[2] ||= e(() => {}, ["stop"])
747
- }, null, 40, Et), (r(), v(b, null, n(le, (n) => S("g", {
749
+ }, null, 40, Et), (r(), v(b, null, n(ce, (n) => S("g", {
748
750
  key: n,
749
751
  class: "cursor-nwse-resize",
750
- onPointerdown: e((e) => dn(a, n, e), ["stop"]),
752
+ onPointerdown: e((e) => fn(a, n, e), ["stop"]),
751
753
  onTouchstart: i[3] ||= e(() => {}, ["stop"]),
752
754
  onMousedown: i[4] ||= e(() => {}, ["stop"])
753
755
  }, [S("circle", {
@@ -775,14 +777,14 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
775
777
  "vector-effect": "non-scaling-stroke",
776
778
  class: "pointer-events-none"
777
779
  }, null, 8, At))), 128)),
778
- h(R) ? (r(), v("rect", {
780
+ h(I) ? (r(), v("rect", {
779
781
  key: 0,
780
- x: Y(h(R).x),
781
- y: Y(h(R).y),
782
- width: Y(h(R).width),
783
- height: Y(h(R).height),
784
- stroke: J(h(R).label).color,
785
- fill: J(h(R).label).color,
782
+ x: Y(h(I).x),
783
+ y: Y(h(I).y),
784
+ width: Y(h(I).width),
785
+ height: Y(h(I).height),
786
+ stroke: J(h(I).label).color,
787
+ fill: J(h(I).label).color,
786
788
  "fill-opacity": "0.1",
787
789
  "stroke-dasharray": "6 4",
788
790
  "stroke-width": "2",
@@ -812,7 +814,10 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
812
814
  "label-right": h(ot)(t)
813
815
  }]),
814
816
  "data-box-label": n,
815
- onPointerdown: e((e) => un(n, e), ["stop"]),
817
+ onPointerdown: e((e) => dn(n, e), ["stop"]),
818
+ onPointermove: mn,
819
+ onPointerup: hn,
820
+ onPointercancel: hn,
816
821
  onTouchstart: i[8] ||= e(() => {}, ["stop"]),
817
822
  onMousedown: i[9] ||= e(() => {}, ["stop"]),
818
823
  style: y([ft(t), { zIndex: h(rt).get(n) }])
@@ -855,7 +860,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
855
860
  style: y({
856
861
  width: `${h(B).frameW}px`,
857
862
  height: `${h(B).frameH}px`,
858
- transform: `translate(${h(B).tx}px, ${h(B).ty}px) scale(${nn})`
863
+ transform: `translate(${h(B).tx}px, ${h(B).ty}px) scale(${rn})`
859
864
  })
860
865
  }, [S("img", {
861
866
  src: u.imageUrl(h(W).id),
@@ -871,14 +876,14 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
871
876
  fill: J(e.label).color,
872
877
  "fill-opacity": "0.1",
873
878
  "stroke-width": "1.5"
874
- }, null, 8, zt))), 128)), h(R) ? (r(), v("rect", {
879
+ }, null, 8, zt))), 128)), h(I) ? (r(), v("rect", {
875
880
  key: 0,
876
- x: Y(h(R).x),
877
- y: Y(h(R).y),
878
- width: Y(h(R).width),
879
- height: Y(h(R).height),
880
- stroke: J(h(R).label).color,
881
- fill: J(h(R).label).color,
881
+ x: Y(h(I).x),
882
+ y: Y(h(I).y),
883
+ width: Y(h(I).width),
884
+ height: Y(h(I).height),
885
+ stroke: J(h(I).label).color,
886
+ fill: J(h(I).label).color,
882
887
  "fill-opacity": "0.1",
883
888
  "stroke-dasharray": "4 3",
884
889
  "stroke-width": "1.5"
@@ -915,7 +920,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
915
920
  maxlength: "12",
916
921
  class: "w-40 uppercase",
917
922
  placeholder: "ABC 1234",
918
- "onUpdate:modelValue": Cn
923
+ "onUpdate:modelValue": wn
919
924
  }, null, 8, ["model-value"])])) : f("", !0),
920
925
  S("div", Gt, [S("div", Kt, [S("span", qt, a(t.$t("components.training_editor.hint")), 1), h(De) ? (r(), d(p, {
921
926
  key: 0,
@@ -971,7 +976,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
971
976
  ], -1),
972
977
  S("span", null, a(t.$t("components.training_editor.sc_nav")), 1)
973
978
  ])) : f("", !0),
974
- D(fe, {
979
+ D(le, {
975
980
  ref_key: "labelMenuRef",
976
981
  ref: M,
977
982
  items: h(at),
@@ -980,19 +985,19 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
980
985
  ], 512);
981
986
  };
982
987
  }
983
- }), [["__scopeId", "data-v-9718b254"]]), ln = { class: "flex flex-col gap-3" }, un = {
988
+ }), [["__scopeId", "data-v-25538d2a"]]), un = { class: "flex flex-col gap-3" }, dn = {
984
989
  key: 0,
985
990
  class: "flex flex-col gap-2"
986
- }, dn = {
991
+ }, fn = {
987
992
  key: 1,
988
993
  class: "flex flex-col items-center gap-3 py-10"
989
- }, fn = { class: "text-muted text-sm text-center max-w-sm" }, pn = {
994
+ }, pn = { class: "text-muted text-sm text-center max-w-sm" }, mn = {
990
995
  key: 2,
991
996
  class: "flex flex-col items-center gap-3 py-10"
992
- }, mn = { class: "text-muted text-sm text-center max-w-sm" }, hn = { class: "text-muted text-sm" }, gn = { class: "w-24 aspect-video rounded-lg overflow-hidden bg-black/5 dark:bg-black/30 shrink-0" }, _n = { class: "flex-1 min-w-0" }, vn = { class: "flex flex-wrap items-center gap-1" }, yn = { class: "text-xs text-muted mt-1" }, bn = {
997
+ }, hn = { class: "text-muted text-sm text-center max-w-sm" }, gn = { class: "text-muted text-sm" }, _n = { class: "w-24 aspect-video rounded-lg overflow-hidden bg-black/5 dark:bg-black/30 shrink-0" }, vn = { class: "flex-1 min-w-0" }, yn = { class: "flex flex-wrap items-center gap-1" }, bn = { class: "text-xs text-muted mt-1" }, xn = {
993
998
  key: 0,
994
999
  class: "flex justify-center py-2"
995
- }, xn = /* @__PURE__ */ T({
1000
+ }, Sn = /* @__PURE__ */ T({
996
1001
  __name: "TrainingSubmissions",
997
1002
  setup(e) {
998
1003
  let t = new st(), { t: o, te: s } = Ne(), c = ge(), l = _t(), u = t.deleteSubmissionMutation(), p = E(""), m = E([]), g = E(0), C = E(), w = E(!0), T = E(!1), O = E(!1), re = x("loadMoreRef");
@@ -1053,33 +1058,33 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1053
1058
  }), ee(() => l.submitProgress.value?.active, (e, t) => {
1054
1059
  t && !e && oe();
1055
1060
  });
1056
- let le = l.onResync(() => {
1061
+ let A = l.onResync(() => {
1057
1062
  oe();
1058
1063
  });
1059
1064
  return i(() => {
1060
- le();
1065
+ A();
1061
1066
  }), oe(), (e, t) => {
1062
- let i = we, o = Ve, s = he, c = _e, l = ie, ee = We, x = Pe, E = z, oe = ne;
1063
- return r(), v("div", ln, [h(w) ? (r(), v("div", un, [(r(), v(b, null, n(4, (e) => D(i, {
1067
+ let i = we, o = Ve, s = pe, c = _e, l = ie, ee = We, x = Pe, E = be, oe = ne;
1068
+ return r(), v("div", un, [h(w) ? (r(), v("div", dn, [(r(), v(b, null, n(4, (e) => D(i, {
1064
1069
  key: e,
1065
1070
  height: "72px",
1066
1071
  "border-radius": "12px"
1067
- })), 64))])) : h(O) ? (r(), v("div", dn, [D(o, { class: "w-10 h-10 text-muted" }), S("span", fn, a(e.$t("components.training_submissions.load_failed")), 1)])) : h(m).length ? (r(), v(b, { key: 3 }, [
1068
- S("span", hn, a(e.$t("components.training_submissions.count", h(g))), 1),
1072
+ })), 64))])) : h(O) ? (r(), v("div", fn, [D(o, { class: "w-10 h-10 text-muted" }), S("span", pn, a(e.$t("components.training_submissions.load_failed")), 1)])) : h(m).length ? (r(), v(b, { key: 3 }, [
1073
+ S("span", gn, a(e.$t("components.training_submissions.count", h(g))), 1),
1069
1074
  (r(!0), v(b, null, n(h(m), (t) => (r(), v("div", {
1070
1075
  key: t.id,
1071
1076
  class: "cui-card h-auto! shrink-0 p-2 flex items-center gap-3"
1072
1077
  }, [
1073
- S("div", gn, [D(c, {
1078
+ S("div", _n, [D(c, {
1074
1079
  src: t.imageUrl,
1075
1080
  "image-container-class": "w-full h-full",
1076
1081
  "image-style": { objectFit: "cover" }
1077
1082
  }, null, 8, ["src"])]),
1078
- S("div", _n, [S("div", vn, [(r(!0), v(b, null, n(k(t), (e, t) => (r(), v("span", {
1083
+ S("div", vn, [S("div", yn, [(r(!0), v(b, null, n(k(t), (e, t) => (r(), v("span", {
1079
1084
  key: t,
1080
1085
  class: "px-1.5 py-0.5 rounded text-xs font-medium text-white",
1081
- style: y({ backgroundColor: h(Se)(String(t)).color })
1082
- }, a(ae(String(t))) + " ×" + a(e), 5))), 128))]), S("div", yn, a(h(be)(new Date(t.createdAt).getTime())), 1)]),
1086
+ style: y({ backgroundColor: h(xe)(String(t)).color })
1087
+ }, a(ae(String(t))) + " ×" + a(e), 5))), 128))]), S("div", bn, a(h(ye)(new Date(t.createdAt).getTime())), 1)]),
1083
1088
  D(l, {
1084
1089
  severity: t.usedInWave ? "success" : "info",
1085
1090
  value: t.usedInWave ? e.$t("components.training_submissions.status_trained") : e.$t("components.training_submissions.status_pool"),
@@ -1105,57 +1110,57 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1105
1110
  { left: !0 }
1106
1111
  ]])
1107
1112
  ]))), 128)),
1108
- h(T) ? (r(), v("div", bn, [D(E, { class: "w-5 h-5 text-primary" })])) : h(C) ? (r(), v("div", {
1113
+ h(T) ? (r(), v("div", xn, [D(E, { class: "w-5 h-5 text-primary" })])) : h(C) ? (r(), v("div", {
1109
1114
  key: 1,
1110
1115
  ref_key: "loadMoreRef",
1111
1116
  ref: re,
1112
1117
  class: "h-px"
1113
1118
  }, null, 512)) : f("", !0)
1114
- ], 64)) : (r(), v("div", pn, [D(s, { class: "w-10 h-10 text-muted" }), S("span", mn, a(e.$t("components.training_submissions.empty")), 1)]))]);
1119
+ ], 64)) : (r(), v("div", mn, [D(s, { class: "w-10 h-10 text-muted" }), S("span", hn, a(e.$t("components.training_submissions.empty")), 1)]))]);
1115
1120
  };
1116
1121
  }
1117
- }), Sn = { desktop: {
1122
+ }), Cn = { desktop: {
1118
1123
  maxWidth: "720px",
1119
1124
  width: "90vw"
1120
- } }, Cn = { class: "flex flex-col h-full min-h-0" }, wn = {
1125
+ } }, wn = { class: "flex flex-col h-full min-h-0" }, Tn = {
1121
1126
  key: 0,
1122
1127
  class: "page-title"
1123
- }, Tn = { class: "font-semibold text-xl truncate" }, En = { class: "flex gap-2 mb-4" }, $ = {
1128
+ }, En = { class: "font-semibold text-xl truncate" }, Dn = { class: "flex gap-2 mb-4" }, $ = {
1124
1129
  key: 1,
1125
1130
  class: "cui-card h-auto! shrink-0 px-3 py-2 mb-4 flex items-center gap-3"
1126
- }, Dn = { class: "flex-1 min-w-0" }, On = { class: "text-sm" }, kn = { class: "flex-1 text-sm" }, An = {
1131
+ }, On = { class: "flex-1 min-w-0" }, kn = { class: "text-sm" }, An = { class: "flex-1 text-sm" }, jn = {
1127
1132
  key: 2,
1128
1133
  class: "cui-card h-auto! shrink-0 px-3 py-2 mb-4 flex items-center gap-3"
1129
- }, jn = { class: "flex-1 text-sm" }, Mn = { class: "p-3" }, Nn = {
1134
+ }, Mn = { class: "flex-1 text-sm" }, Nn = { class: "p-3" }, Pn = {
1130
1135
  key: 1,
1131
1136
  class: "flex h-full flex-col items-center justify-center w-full gap-4 py-16"
1132
- }, Pn = { class: "text-muted text-sm text-center max-w-md" }, Fn = { class: "relative flex-1 min-h-0 overflow-hidden bg-black/5 dark:bg-black/30" }, In = { class: "absolute top-1.5 left-1.5 flex flex-wrap gap-1" }, Ln = {
1137
+ }, Fn = { class: "text-muted text-sm text-center max-w-md" }, In = { class: "relative flex-1 min-h-0 overflow-hidden bg-black/5 dark:bg-black/30" }, Ln = { class: "absolute top-1.5 left-1.5 flex flex-wrap gap-1" }, Rn = {
1133
1138
  key: 0,
1134
1139
  class: "absolute bottom-1.5 left-1.5"
1135
- }, Rn = {
1140
+ }, zn = {
1136
1141
  key: 1,
1137
1142
  class: "absolute top-1.5 right-1.5 dark-mode"
1138
- }, zn = { class: "flex items-center justify-between gap-2" }, Bn = { class: "flex items-center gap-2 min-w-0" }, Vn = { class: "min-w-0" }, Hn = { class: "font-medium truncate" }, Un = { class: "text-xs text-muted" }, Wn = 40, Gn = /*#__PURE__*/ ue(/* @__PURE__ */ T({
1143
+ }, Bn = { class: "flex items-center justify-between gap-2" }, Vn = { class: "flex items-center gap-2 min-w-0" }, Hn = { class: "min-w-0" }, Un = { class: "font-medium truncate" }, Wn = { class: "text-xs text-muted" }, Gn = 40, Kn = /*#__PURE__*/ de(/* @__PURE__ */ T({
1139
1144
  __name: "Training",
1140
1145
  setup(t) {
1141
- let o = new N(), s = new st(), { t: l, te: u } = Ne(), p = ye(), w = ge(), { smBreakpoint: T } = oe(), O = s.getCandidatesQuery(), k = s.getSettingsQuery(), se = s.patchCandidateMutation(), le = s.deleteCandidateMutation(), A = s.patchSettingsMutation(), ue = s.submitCandidatesMutation(), he = _t(), { data: P } = o.getCamerasQuery({
1146
+ let o = new fe(), s = new st(), { t: l, te: u } = Ne(), p = I(), w = ge(), { smBreakpoint: T } = oe(), O = s.getCandidatesQuery(), k = s.getSettingsQuery(), ce = s.patchCandidateMutation(), A = s.deleteCandidateMutation(), de = s.patchSettingsMutation(), pe = s.submitCandidatesMutation(), N = _t(), { data: F } = o.getCamerasQuery({
1142
1147
  page: 1,
1143
1148
  pageSize: -1
1144
- }), F = E(""), I = De("cui-training-status-filter", "all"), L = E(Wn), Ce = x("statusMenuRef"), Te = x("cameraMenuRef"), ke = x("settingsMenuRef"), Ae = x("loadMoreRef"), Me = x("scrollRef"), { y: Ue } = B(Me), Ke = g(() => ({ gridTemplateColumns: `repeat(auto-fill, minmax(${T.value ? "220px" : "260px"}, 1fr))` })), Je = g(() => {
1149
+ }), L = E(""), R = De("cui-training-status-filter", "all"), Se = E(Gn), Ce = x("statusMenuRef"), Te = x("cameraMenuRef"), ke = x("settingsMenuRef"), Ae = x("loadMoreRef"), Me = x("scrollRef"), { y: Ue } = B(Me), Ke = g(() => ({ gridTemplateColumns: `repeat(auto-fill, minmax(${T.value ? "220px" : "260px"}, 1fr))` })), Je = g(() => {
1145
1150
  let e = [...new Set((O.data.value ?? []).map((e) => Q(e.cameraId)))].sort((e, t) => e.localeCompare(t));
1146
1151
  return [{
1147
1152
  key: "all",
1148
1153
  label: l("views.training.all_cameras"),
1149
- active: F.value === "",
1154
+ active: L.value === "",
1150
1155
  onClick: () => {
1151
- F.value = "";
1156
+ L.value = "";
1152
1157
  }
1153
1158
  }, ...e.map((e) => ({
1154
1159
  key: e,
1155
1160
  label: e,
1156
- active: F.value === e,
1161
+ active: L.value === e,
1157
1162
  onClick: () => {
1158
- F.value = e;
1163
+ L.value = e;
1159
1164
  }
1160
1165
  }))];
1161
1166
  }), Ye = g(() => [{
@@ -1168,9 +1173,9 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1168
1173
  Tt(!(k.data.value?.enabled ?? !0));
1169
1174
  }
1170
1175
  }]), U = g(() => {
1171
- let e = F.value.trim().toLowerCase();
1176
+ let e = L.value.trim().toLowerCase();
1172
1177
  return e ? (O.data.value ?? []).filter((t) => Q(t.cameraId).toLowerCase().includes(e)) : O.data.value ?? [];
1173
- }), W = g(() => I.value === "all" ? U.value : U.value.filter((e) => e.status === I.value)), Qe = g(() => {
1178
+ }), W = g(() => R.value === "all" ? U.value : U.value.filter((e) => e.status === R.value)), Qe = g(() => {
1174
1179
  let e = {
1175
1180
  all: U.value.length,
1176
1181
  new: 0,
@@ -1186,11 +1191,11 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1186
1191
  key: e,
1187
1192
  label: l(`views.training.status_${e}`),
1188
1193
  badge: String(Qe.value[e]),
1189
- active: I.value === e,
1194
+ active: R.value === e,
1190
1195
  onClick: () => {
1191
- I.value = e;
1196
+ R.value = e;
1192
1197
  }
1193
- }))), tt = g(() => I.value !== "all" || F.value.trim() !== ""), nt = g(() => W.value.slice(0, L.value)), rt = g(() => W.value.length > nt.value.length), G = g(() => (O.data.value ?? []).filter((e) => at(e)).length), K = g(() => he.submitProgress.value ? he.submitProgress.value : G.value > 0 ? {
1198
+ }))), tt = g(() => R.value !== "all" || L.value.trim() !== ""), nt = g(() => W.value.slice(0, Se.value)), rt = g(() => W.value.length > nt.value.length), G = g(() => (O.data.value ?? []).filter((e) => at(e)).length), K = g(() => N.submitProgress.value ? N.submitProgress.value : G.value > 0 ? {
1194
1199
  active: !0,
1195
1200
  total: G.value,
1196
1201
  done: 0,
@@ -1199,12 +1204,12 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1199
1204
  function at(e) {
1200
1205
  return e.upload === "queued" || e.upload === "uploading";
1201
1206
  }
1202
- let { selectionMode: q, selectedIds: ot, allSelected: ct, bulkBusy: J, enterSelectionMode: lt, exitSelectionMode: ut, toggleSelectAll: X, toggleSelection: dt } = Ee(it, (e) => e.id), ft = g(() => [...ot.value].filter((e) => O.data.value?.find((t) => t.id === e)?.status === "verified")), Z = g(() => U.value.filter((e) => e.status === "verified" && !at(e)).map((e) => e.id));
1207
+ let { selectionMode: q, selectedIds: ot, allSelected: ct, bulkBusy: J, enterSelectionMode: lt, exitSelectionMode: ut, toggleSelectAll: X, toggleSelection: dt } = M(it, (e) => e.id), ft = g(() => [...ot.value].filter((e) => O.data.value?.find((t) => t.id === e)?.status === "verified")), Z = g(() => U.value.filter((e) => e.status === "verified" && !at(e)).map((e) => e.id));
1203
1208
  function Q(e) {
1204
- return P.value?.result?.find((t) => t._id === e)?.name ?? e;
1209
+ return F.value?.result?.find((t) => t._id === e)?.name ?? e;
1205
1210
  }
1206
1211
  function pt(e) {
1207
- return xe(`/api/training/candidates/${e}/image`) ?? "";
1212
+ return P(`/api/training/candidates/${e}/image`) ?? "";
1208
1213
  }
1209
1214
  function mt(e) {
1210
1215
  let t = `components.training_editor.labels.${e}`;
@@ -1219,7 +1224,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1219
1224
  return e === "verified" ? "success" : "info";
1220
1225
  }
1221
1226
  function vt() {
1222
- L.value += Wn;
1227
+ Se.value += Gn;
1223
1228
  }
1224
1229
  function yt(e) {
1225
1230
  if (!at(e)) {
@@ -1231,7 +1236,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1231
1236
  }
1232
1237
  }
1233
1238
  function bt(e) {
1234
- p.openComponentDialog(cn, {
1239
+ p.openComponentDialog(ln, {
1235
1240
  data: {
1236
1241
  title: l("views.training.title"),
1237
1242
  cancelText: l("components.form.button.remove"),
@@ -1243,7 +1248,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1243
1248
  cameraName: Q,
1244
1249
  imageUrl: pt,
1245
1250
  onSave: async (e, t, n) => {
1246
- await se.mutateAsync({
1251
+ await ce.mutateAsync({
1247
1252
  id: e,
1248
1253
  patch: {
1249
1254
  boxes: t,
@@ -1252,7 +1257,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1252
1257
  });
1253
1258
  },
1254
1259
  onDelete: async (e) => {
1255
- await le.mutateAsync(e);
1260
+ await A.mutateAsync(e);
1256
1261
  }
1257
1262
  }
1258
1263
  },
@@ -1260,18 +1265,18 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1260
1265
  });
1261
1266
  }
1262
1267
  function xt() {
1263
- p.openComponentDialog(xn, {
1268
+ p.openComponentDialog(Sn, {
1264
1269
  data: {
1265
1270
  title: l("views.training.submissions"),
1266
1271
  hideConfirmButton: !0,
1267
1272
  cancelText: l("components.form.button.close"),
1268
1273
  contentProps: {}
1269
1274
  },
1270
- dialogSize: Sn
1275
+ dialogSize: Cn
1271
1276
  });
1272
1277
  }
1273
1278
  function St(e) {
1274
- e.length && !ue.isPending.value && p.openTextDialog({
1279
+ e.length && !pe.isPending.value && p.openTextDialog({
1275
1280
  data: {
1276
1281
  title: l("components.dialog.title.confirm"),
1277
1282
  contentText: l("views.training.submit_confirm", { count: e.length }),
@@ -1279,7 +1284,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1279
1284
  },
1280
1285
  onConfirm: async () => {
1281
1286
  try {
1282
- await ue.mutateAsync(e), ut();
1287
+ await pe.mutateAsync(e), ut();
1283
1288
  } catch (e) {
1284
1289
  w.add({
1285
1290
  severity: "error",
@@ -1302,7 +1307,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1302
1307
  onConfirm: async () => {
1303
1308
  J.value = !0;
1304
1309
  try {
1305
- for (let t of e) await le.mutateAsync(t);
1310
+ for (let t of e) await A.mutateAsync(t);
1306
1311
  ut(), w.add({
1307
1312
  severity: "success",
1308
1313
  detail: l("views.training.delete_selected_done", { count: e.length }),
@@ -1321,25 +1326,25 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1321
1326
  });
1322
1327
  }
1323
1328
  async function wt(e) {
1324
- await le.mutateAsync(e.id);
1329
+ await A.mutateAsync(e.id);
1325
1330
  }
1326
1331
  async function Tt(e) {
1327
- await A.mutateAsync({ enabled: e });
1332
+ await de.mutateAsync({ enabled: e });
1328
1333
  }
1329
- ee([F, I], () => {
1330
- L.value = Wn;
1334
+ ee([L, R], () => {
1335
+ Se.value = Gn;
1331
1336
  }), Oe(Ae, ([e]) => {
1332
1337
  e?.isIntersecting && vt();
1333
- }), he.connect();
1334
- let Et = he.onCandidatesChanged(() => {
1338
+ }), N.connect();
1339
+ let Et = N.onCandidatesChanged(() => {
1335
1340
  O.refetch();
1336
1341
  });
1337
1342
  return i(() => {
1338
1343
  Et();
1339
1344
  }), (t, i) => {
1340
- let o = Ge, s = Pe, u = de, p = Be, g = V, ee = Ie, x = Fe, w = Ze, E = me, k = re, oe = R, se = Xe, le = qe, A = z, ge = Re, N = Ve, ye = He, P = H, xe = ze, L = we, Ee = ae, De = _e, B = ie, Oe = We, Ne = Le, Qe = je, G = j, it = pe, st = ne;
1341
- return r(), v("div", Cn, [
1342
- h(T) ? f("", !0) : (r(), v("h1", wn, a(t.$t("views.training.title")), 1)),
1345
+ let o = Ge, s = Pe, u = z, p = Be, g = V, ee = Ie, x = Fe, w = Ze, E = ue, k = re, oe = he, ce = Xe, A = qe, de = be, fe = Re, M = Ve, ge = He, P = H, F = ze, I = we, Se = ae, De = _e, B = ie, Oe = We, Ne = Le, Qe = je, G = j, it = me, st = ne;
1346
+ return r(), v("div", wn, [
1347
+ h(T) ? f("", !0) : (r(), v("h1", Tn, a(t.$t("views.training.title")), 1)),
1343
1348
  D(u, { position: "left" }, {
1344
1349
  default: _(() => [D(s, {
1345
1350
  severity: "secondary",
@@ -1353,10 +1358,10 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1353
1358
  _: 1
1354
1359
  }),
1355
1360
  D(u, { position: "center" }, {
1356
- default: _(() => [S("span", Tn, a(t.$t("views.training.title")), 1)]),
1361
+ default: _(() => [S("span", En, a(t.$t("views.training.title")), 1)]),
1357
1362
  _: 1
1358
1363
  }),
1359
- S("div", En, [
1364
+ S("div", Dn, [
1360
1365
  D(oe, { class: "flex-1" }, {
1361
1366
  default: _(() => [
1362
1367
  D(x, { class: "flex-1" }, {
@@ -1364,8 +1369,8 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1364
1369
  default: _(() => [D(p, { class: "w-4 h-4" })]),
1365
1370
  _: 1
1366
1371
  }), D(ee, {
1367
- modelValue: h(F),
1368
- "onUpdate:modelValue": i[1] ||= (e) => m(F) ? F.value = e : null,
1372
+ modelValue: h(L),
1373
+ "onUpdate:modelValue": i[1] ||= (e) => m(L) ? L.value = e : null,
1369
1374
  placeholder: h(l)("views.training.search"),
1370
1375
  class: "w-full"
1371
1376
  }, null, 8, ["modelValue", "placeholder"])]),
@@ -1375,7 +1380,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1375
1380
  default: _(() => [D(s, {
1376
1381
  severity: "secondary",
1377
1382
  text: "",
1378
- class: c(h(I) === "all" ? "text-color" : "text-primary"),
1383
+ class: c(h(R) === "all" ? "text-color" : "text-primary"),
1379
1384
  onClick: i[2] ||= (e) => h(Ce)?.toggleMenu(e)
1380
1385
  }, {
1381
1386
  icon: _(() => [D(w, { class: "w-4 h-4" })]),
@@ -1404,7 +1409,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1404
1409
  class: "cui-button shrink-0",
1405
1410
  onClick: xt
1406
1411
  }, {
1407
- icon: _(() => [D(se, { class: "w-4.5 h-4.5" })]),
1412
+ icon: _(() => [D(ce, { class: "w-4.5 h-4.5" })]),
1408
1413
  _: 1
1409
1414
  })), [[
1410
1415
  st,
@@ -1418,7 +1423,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1418
1423
  class: "cui-button shrink-0",
1419
1424
  onClick: i[4] ||= (e) => h(ke)?.toggleMenu(e)
1420
1425
  }, {
1421
- icon: _(() => [D(le, { class: "w-4.5 h-4.5" })]),
1426
+ icon: _(() => [D(A, { class: "w-4.5 h-4.5" })]),
1422
1427
  _: 1
1423
1428
  })), [[
1424
1429
  st,
@@ -1427,34 +1432,34 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1427
1432
  { left: !0 }
1428
1433
  ]])
1429
1434
  ]),
1430
- h(K) ? (r(), v("div", $, [h(K).active ? (r(), v(b, { key: 0 }, [D(A, { class: "w-4 h-4 text-primary shrink-0" }), S("div", Dn, [S("div", On, a(t.$t("views.training.upload_progress", {
1435
+ h(K) ? (r(), v("div", $, [h(K).active ? (r(), v(b, { key: 0 }, [D(de, { class: "w-4 h-4 text-primary shrink-0" }), S("div", On, [S("div", kn, a(t.$t("views.training.upload_progress", {
1431
1436
  done: h(K).done + h(K).failed,
1432
1437
  total: h(K).total
1433
- })), 1), D(ge, {
1438
+ })), 1), D(fe, {
1434
1439
  value: h(K).total ? Math.round((h(K).done + h(K).failed) / h(K).total * 100) : 0,
1435
1440
  "show-value": !1,
1436
1441
  style: { height: "6px" },
1437
1442
  class: "mt-1.5"
1438
1443
  }, null, 8, ["value"])])], 64)) : (r(), v(b, { key: 1 }, [
1439
- h(K).failed ? (r(), d(N, {
1444
+ h(K).failed ? (r(), d(M, {
1440
1445
  key: 0,
1441
1446
  class: "w-5 h-5 text-red-500 shrink-0"
1442
- })) : (r(), d(ye, {
1447
+ })) : (r(), d(ge, {
1443
1448
  key: 1,
1444
1449
  class: "w-5 h-5 text-green-500 shrink-0"
1445
1450
  })),
1446
- S("span", kn, [C(a(t.$t("views.training.submit_done", h(K).done)), 1), h(K).failed ? (r(), v(b, { key: 0 }, [C(" · " + a(t.$t("views.training.upload_failed_summary", { count: h(K).failed })), 1)], 64)) : f("", !0)]),
1451
+ S("span", An, [C(a(t.$t("views.training.submit_done", h(K).done)), 1), h(K).failed ? (r(), v(b, { key: 0 }, [C(" · " + a(t.$t("views.training.upload_failed_summary", { count: h(K).failed })), 1)], 64)) : f("", !0)]),
1447
1452
  D(s, {
1448
1453
  severity: "secondary",
1449
1454
  text: "",
1450
1455
  rounded: "",
1451
1456
  class: "cui-icon-sm shrink-0",
1452
- onClick: i[5] ||= (e) => h(he).dismissProgress()
1457
+ onClick: i[5] ||= (e) => h(N).dismissProgress()
1453
1458
  }, {
1454
1459
  icon: _(() => [D(P, { class: "w-4 h-4" })]),
1455
1460
  _: 1
1456
1461
  })
1457
- ], 64))])) : h(U).length && !h(Z).length ? (r(), v("div", An, [D(xe, { class: "w-5 h-5 text-primary shrink-0" }), S("span", jn, a(t.$t("views.training.verify_hint")), 1)])) : f("", !0),
1462
+ ], 64))])) : h(U).length && !h(Z).length ? (r(), v("div", jn, [D(F, { class: "w-5 h-5 text-primary shrink-0" }), S("span", Mn, a(t.$t("views.training.verify_hint")), 1)])) : f("", !0),
1458
1463
  S("div", {
1459
1464
  ref_key: "scrollRef",
1460
1465
  ref: Me,
@@ -1466,18 +1471,18 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1466
1471
  }, [(r(), v(b, null, n(8, (e) => S("div", {
1467
1472
  key: e,
1468
1473
  class: "cui-card overflow-hidden"
1469
- }, [D(L, {
1474
+ }, [D(I, {
1470
1475
  class: "aspect-video",
1471
1476
  width: "100%",
1472
1477
  height: "100%"
1473
- }), S("div", Mn, [D(L, {
1478
+ }), S("div", Nn, [D(I, {
1474
1479
  height: "14px",
1475
1480
  width: "70%",
1476
1481
  class: "mb-1"
1477
- }), D(L, {
1482
+ }), D(I, {
1478
1483
  height: "12px",
1479
1484
  width: "40%"
1480
- })])])), 64))], 4)) : h(W).length === 0 ? (r(), v("div", Nn, [D(Ee, { class: "w-12 h-12 text-muted" }), S("span", Pn, a(t.$t(h(tt) ? "views.training.no_matches" : "views.training.no_candidates")), 1)])) : (r(), v(b, { key: 2 }, [S("div", {
1485
+ })])])), 64))], 4)) : h(W).length === 0 ? (r(), v("div", Pn, [D(Se, { class: "w-12 h-12 text-muted" }), S("span", Fn, a(t.$t(h(tt) ? "views.training.no_matches" : "views.training.no_candidates")), 1)])) : (r(), v(b, { key: 2 }, [S("div", {
1481
1486
  class: "grid w-full gap-3 p-px",
1482
1487
  style: y(h(Ke))
1483
1488
  }, [(r(!0), v(b, null, n(h(nt), (o) => (r(), d(Qe, {
@@ -1492,7 +1497,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1492
1497
  },
1493
1498
  onClick: (e) => yt(o)
1494
1499
  }, {
1495
- header: _(() => [S("div", Fn, [
1500
+ header: _(() => [S("div", In, [
1496
1501
  D(De, {
1497
1502
  class: "absolute inset-0",
1498
1503
  src: pt(o.id),
@@ -1500,12 +1505,12 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1500
1505
  "image-container-class": "w-full h-full",
1501
1506
  "image-style": { objectFit: "cover" }
1502
1507
  }, null, 8, ["src", "alt"]),
1503
- S("div", In, [(r(!0), v(b, null, n(ht(o), (e, t) => (r(), v("span", {
1508
+ S("div", Ln, [(r(!0), v(b, null, n(ht(o), (e, t) => (r(), v("span", {
1504
1509
  key: t,
1505
1510
  class: "px-1.5 py-0.5 rounded text-xs font-medium text-white",
1506
- style: y({ backgroundColor: h(Se)(String(t)).color })
1511
+ style: y({ backgroundColor: h(xe)(String(t)).color })
1507
1512
  }, a(mt(String(t))) + " ×" + a(e), 5))), 128))]),
1508
- o.upload ? (r(), v("div", Ln, [o.upload === "failed" ? te((r(), d(B, {
1513
+ o.upload ? (r(), v("div", Rn, [o.upload === "failed" ? te((r(), d(B, {
1509
1514
  key: 0,
1510
1515
  severity: "danger",
1511
1516
  value: t.$t("views.training.upload_failed")
@@ -1523,7 +1528,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1523
1528
  severity: "secondary",
1524
1529
  value: t.$t("views.training.upload_queued")
1525
1530
  }, null, 8, ["value"]))])) : f("", !0),
1526
- !h(q) && !at(o) ? (r(), v("div", Rn, [te((r(), d(s, {
1531
+ !h(q) && !at(o) ? (r(), v("div", zn, [te((r(), d(s, {
1527
1532
  severity: "secondary",
1528
1533
  rounded: "",
1529
1534
  size: "small",
@@ -1542,14 +1547,14 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1542
1547
  { top: !0 }
1543
1548
  ]])])) : f("", !0)
1544
1549
  ])]),
1545
- content: _(() => [S("div", zn, [S("div", Bn, [h(q) && !at(o) ? (r(), d(Ne, {
1550
+ content: _(() => [S("div", Bn, [S("div", Vn, [h(q) && !at(o) ? (r(), d(Ne, {
1546
1551
  key: 0,
1547
1552
  "model-value": h(ot).has(o.id),
1548
1553
  binary: "",
1549
1554
  size: "small",
1550
1555
  onClick: i[6] ||= e(() => {}, ["stop"]),
1551
1556
  "onUpdate:modelValue": (e) => h(dt)(o.id)
1552
- }, null, 8, ["model-value", "onUpdate:modelValue"])) : f("", !0), S("div", Vn, [S("div", Hn, a(Q(o.cameraId)), 1), S("div", Un, a(h(be)(o.createdAt)), 1)])]), D(B, {
1557
+ }, null, 8, ["model-value", "onUpdate:modelValue"])) : f("", !0), S("div", Hn, [S("div", Un, a(Q(o.cameraId)), 1), S("div", Wn, a(h(ye)(o.createdAt)), 1)])]), D(B, {
1553
1558
  severity: gt(o.status),
1554
1559
  value: t.$t(`views.training.status_${o.status}`)
1555
1560
  }, null, 8, ["severity", "value"])])]),
@@ -1600,7 +1605,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1600
1605
  D(G, {
1601
1606
  grouped: "",
1602
1607
  "tooltip-props": { value: t.$t("views.training.submit_selected") },
1603
- "button-props": { disabled: !h(ft).length || h(ue).isPending.value },
1608
+ "button-props": { disabled: !h(ft).length || h(pe).isPending.value },
1604
1609
  icon: h(et),
1605
1610
  "icon-props": {
1606
1611
  width: "100%",
@@ -1619,7 +1624,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1619
1624
  severity: "danger",
1620
1625
  disabled: !h(ot).size || h(J)
1621
1626
  },
1622
- icon: h(M),
1627
+ icon: h(se),
1623
1628
  "icon-props": {
1624
1629
  width: "100%",
1625
1630
  height: "100%"
@@ -1634,7 +1639,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1634
1639
  grouped: "",
1635
1640
  "tooltip-props": { value: t.$t("views.training.select") },
1636
1641
  "button-props": { severity: "secondary" },
1637
- icon: h(ce),
1642
+ icon: h(Ee),
1638
1643
  "icon-props": {
1639
1644
  width: "100%",
1640
1645
  height: "100%"
@@ -1649,7 +1654,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1649
1654
  "tooltip-props": { value: h(Z).length ? t.$t("views.training.submit_ready", h(Z).length) : t.$t("views.training.submit_disabled") },
1650
1655
  "button-props": {
1651
1656
  class: "text-white",
1652
- disabled: !h(Z).length || h(ue).isPending.value
1657
+ disabled: !h(Z).length || h(pe).isPending.value
1653
1658
  },
1654
1659
  icon: h(et),
1655
1660
  "icon-props": {
@@ -1664,19 +1669,19 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1664
1669
  ])], 64))]),
1665
1670
  _: 1
1666
1671
  }, 8, ["force-visible", "scroll-y"])) : f("", !0),
1667
- D(fe, {
1672
+ D(le, {
1668
1673
  ref_key: "statusMenuRef",
1669
1674
  ref: Ce,
1670
1675
  items: h($e),
1671
1676
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
1672
1677
  }, null, 8, ["items"]),
1673
- D(fe, {
1678
+ D(le, {
1674
1679
  ref_key: "cameraMenuRef",
1675
1680
  ref: Te,
1676
1681
  items: h(Je),
1677
1682
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
1678
1683
  }, null, 8, ["items"]),
1679
- D(fe, {
1684
+ D(le, {
1680
1685
  ref_key: "settingsMenuRef",
1681
1686
  ref: ke,
1682
1687
  items: h(Ye),
@@ -1691,4 +1696,4 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
1691
1696
  }
1692
1697
  }), [["__scopeId", "data-v-5b04f6ed"]]);
1693
1698
  //#endregion
1694
- export { Gn as default };
1699
+ export { Kn as default };