@camera.ui/server 2.2.7 → 2.2.8
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.
- package/dist/interface/assets/{404-C8EoOtBl.js → 404-BYV0u5qE.js} +1 -1
- package/dist/interface/assets/{About-Q7ZmOGgl.js → About-DBOS1rfw.js} +1 -1
- package/dist/interface/assets/{Assistant-DFLgklVe.js → Assistant-BRcHj8hq.js} +1 -1
- package/dist/interface/assets/Automation-C0Emde7z.js +3 -0
- package/dist/interface/assets/{AutomationImport-CLQSdqg9.js → AutomationImport-Iu-K82Os.js} +2 -2
- package/dist/interface/assets/{AutomationStore-Dt6yTQDb.js → AutomationStore-C2G0Bk8c.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-DqBrBhUI.js → AutomationStoreDetail-BbvLRJ5u.js} +2 -2
- package/dist/interface/assets/Automations-D-vfqRnZ.js +2 -0
- package/dist/interface/assets/Camera-BpurrgAr.js +2 -0
- package/dist/interface/assets/Camera-D0B7yyVD.css +1 -0
- package/dist/interface/assets/{CameraConsole-rhle_cfW.js → CameraConsole-JBD3ZmJ6.js} +2 -2
- package/dist/interface/assets/{Cameras-Bzy3P0xN.js → Cameras-R5mJGMK9.js} +2 -2
- package/dist/interface/assets/{Camview-Bri_T7Tq.css → Camview-DH6_8CxH.css} +1 -1
- package/dist/interface/assets/Camview-IbOVRx20.js +1 -0
- package/dist/interface/assets/{CertificateUpload-CWVu_52v.js → CertificateUpload-B9S4EOQs.js} +1 -1
- package/dist/interface/assets/Config-CbFl5Wcp.js +2 -0
- package/dist/interface/assets/{ConfigActionAssistant-AfQfSqHZ.js → ConfigActionAssistant-DIOh6-np.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-BKQdHxqe.js → ConfigActionCameraControl-Bw_egtpP.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-B52HeJGb.js → ConfigActionDelay-B9i4YZjy.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-BP5gvpQc.js → ConfigActionHttp-DFtxAa3U.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-DE2mSost.js → ConfigActionImageInput-CuTH4Nw2.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-CYgnZjAE.js → ConfigActionMqtt-B9SfWP-G.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-C3q53I4n.js → ConfigActionNotification-BGMIByJT.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-eDJ8r5ao.js → ConfigActionNotificationControl-Cz72szMd.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-DgYSYvy-.js → ConfigActionOutput-BG6DoIRe.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-utolgAXk.js → ConfigActionPlugin-B5oRSE9n.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-CmEKQPqs.js → ConfigActionSensor-BErRRYfl.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-D7XucxVV.js → ConfigActionSnapshot-Di-uxMrg.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-C-Mjm3gr.js → ConfigActionVariable-BBpUti5A.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-B24Rqb8y.js → ConfigConditionIfElse-DjOKPXQw.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-42-yFDmK.js → ConfigConditionSensorState-BzvvZvD0.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-DezH_nwm.js → ConfigConditionSwitch-DQvdfUxR.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-Cg2Lwznd.js → ConfigConditionTime-BqOElX5C.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-YHBDCTZm.js → ConfigSensorValueInput-BT-0LhSH.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-DxEpodjG.js → ConfigTriggerDetection-1OkudUah.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-Bye8syxc.js → ConfigTriggerGeofence-HGatk3C5.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-s_lEDTV9.js → ConfigTriggerManual-DpRr_vVq.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-DqdZj7TU.js → ConfigTriggerMqtt-C_MId3BY.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-Q559hn6g.js → ConfigTriggerSchedule-BmwDqd6N.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-DIKkdbTF.js → ConfigTriggerSensor-Rgx8q4g8.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-CwNZ4xEg.js → ConfigTriggerSystem-4VsHPmbn.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-9ZC6X4mK.js → ConfigTriggerWebhook-Bs7zEfY0.js} +1 -1
- package/dist/interface/assets/{Console-BqIDZ5vq.js → Console-oCuuVKET.js} +1 -1
- package/dist/interface/assets/CuiAssistantConversation-Bsyxau9v.js +5 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-CVjCLiVW.js → CuiAutomationRunsDialog-sRh_K6JI.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-DWoSHzC7.js +1 -0
- package/dist/interface/assets/{CuiBottomSheet-D75L0Zny.js → CuiBottomSheet-Dd3uOtnC.js} +1 -1
- package/dist/interface/assets/CuiCameraPipCard-D6REm8uT.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-TYTCfwXf.css +1 -0
- package/dist/interface/assets/{CuiCameraRecordings-DdEWkJrO.js → CuiCameraRecordings-C2tvrbbw.js} +1 -1
- package/dist/interface/assets/{CuiCameraShares-8mtgFsQ_.js → CuiCameraShares-jrrUEHoZ.js} +1 -1
- package/dist/interface/assets/CuiCameraTable-BOzTWLwd.js +1 -0
- package/dist/interface/assets/{CuiCameraTable-CmCT-XQF.js → CuiCameraTable-C7WLZ2pA.js} +2 -2
- package/dist/interface/assets/{CuiChartTable-v8sGY6PD.js → CuiChartTable-BYrIX7LV.js} +1 -1
- package/dist/interface/assets/{CuiConsole-DYV-FUE0.js → CuiConsole-CkZML0iY.js} +2 -2
- package/dist/interface/assets/CuiDataTable-BFIhx1D3.js +1 -0
- package/dist/interface/assets/{CuiLightControl-CFIwBj3C.js → CuiLightControl-DitIWqUr.js} +1 -1
- package/dist/interface/assets/{CuiList-9TVV8SB6.js → CuiList-BewTNr2X.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-Do04YgHe.js +1 -0
- package/dist/interface/assets/{CuiMarkdownContent-BYBQX_aF.js → CuiMarkdownContent-qOPm3VEi.js} +1 -1
- package/dist/interface/assets/CuiPluginCard-Bd2HFduI.js +2 -0
- package/dist/interface/assets/{CuiPluginCategoryChip-DhnIBJHa.js → CuiPluginCategoryChip-DlzOwRgc.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-DAuzNRAA.js → CuiPluginOAuthButton-BQZkTcgo.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-Bz710WwC.js → CuiPluginTrustBadge-DbqdfdaL.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-B8-4GHSY.js → CuiQRCode-2WsWJQFi.js} +1 -1
- package/dist/interface/assets/{CuiSchema-C_CHuKuf.js → CuiSchema-BL0QZmP2.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-CNEnOPSh.js → CuiTopNavbarItem-Ti2TueU1.js} +1 -1
- package/dist/interface/assets/Faces-DARrGLXf.js +1 -0
- package/dist/interface/assets/{FirstSteps-Ci2Iqbe2.js → FirstSteps-DBYPBvGr.js} +1 -1
- package/dist/interface/assets/Floorplan-BaZvzoyv.js +1 -0
- package/dist/interface/assets/{Instances-gzKFKB1l.js → Instances-r0xReURi.js} +1 -1
- package/dist/interface/assets/{Logs-DL1yw_Pe.js → Logs-DMehPk0t.js} +2 -2
- package/dist/interface/assets/{Menu-C0GQ63aj.js → Menu-C34RRyLd.js} +1 -1
- package/dist/interface/assets/Metrics-BjoC71_O.js +12 -0
- package/dist/interface/assets/{OAuthDeviceFlow-Zd6r9IHU.js → OAuthDeviceFlow-CdZxelf2.js} +1 -1
- package/dist/interface/assets/Plugin-npx7CnwV.js +1 -0
- package/dist/interface/assets/{PluginConsole-ag0jPZQ_.js → PluginConsole-D1BRQCO9.js} +2 -2
- package/dist/interface/assets/PluginDetail-nwTrJmO6.js +2 -0
- package/dist/interface/assets/{PluginSchema-CxUujnVs.js → PluginSchema-B9VsBHOU.js} +1 -1
- package/dist/interface/assets/PluginSearch-CP2kQWKf.js +1 -0
- package/dist/interface/assets/{PluginSearch-BqzngVRL.js → PluginSearch-WEvbKMRs.js} +2 -2
- package/dist/interface/assets/{PluginUpdateProgress-CFut0RAe.js → PluginUpdateProgress-uj0XPV-_.js} +1 -1
- package/dist/interface/assets/Plugins-CPx9Hszm.js +1 -0
- package/dist/interface/assets/{RecentEventsFilter-CqeHhECT.js → RecentEventsFilter-D5VSH2K1.js} +1 -1
- package/dist/interface/assets/Recordings-De6Zcv0M.js +1 -0
- package/dist/interface/assets/{SensorEdit-Bi0gg-CL.js → SensorEdit-SD_oHBRo.js} +1 -1
- package/dist/interface/assets/{SensorHistory-q0UR3qMG.js → SensorHistory-SxiLOloa.js} +1 -1
- package/dist/interface/assets/Sensors-Djl64M-W.js +2 -0
- package/dist/interface/assets/{Settings-Cv38rGWn.js → Settings-CAf2reGs.js} +1 -1
- package/dist/interface/assets/SettingsAccount-BGj5Ni91.js +1 -0
- package/dist/interface/assets/SettingsAccount-Dy6WC8ql.js +1 -0
- package/dist/interface/assets/SettingsAppearance-BGFhMlRk.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-DdyYUgmV.js → SettingsAppearance-DQzQmVzE.js} +1 -1
- package/dist/interface/assets/SettingsAssistant-BwYVyuN3.js +1 -0
- package/dist/interface/assets/{SettingsBackup-DKwlPQhD.js → SettingsBackup-CVExGnOo.js} +1 -1
- package/dist/interface/assets/{SettingsList-D6hqnvUo.js → SettingsList-vo7sz_MY.js} +1 -1
- package/dist/interface/assets/{SettingsMqtt-C01fgLY0.js → SettingsMqtt-B1CuOcML.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-D47cIquQ.js → SettingsNotifications-CCQ6eiq8.js} +1 -1
- package/dist/interface/assets/{SettingsPermissions-BeTCTrAf.js → SettingsPermissions-BlOf6HEy.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-mwL6Dalr.js → SettingsRecordings-7tTBg6m1.js} +1 -1
- package/dist/interface/assets/SettingsRemote-CsIGx-LU.css +1 -0
- package/dist/interface/assets/SettingsRemote-DBgKmIdv.js +2 -0
- package/dist/interface/assets/{SettingsSystem-BXnzXgqm.js → SettingsSystem-DaFMsZpN.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-D2mVlJin.js → SettingsUsers-DXACwVPi.js} +1 -1
- package/dist/interface/assets/{Terminal-C1UoXDRK.js → Terminal-DtGqlHbk.js} +2 -2
- package/dist/interface/assets/Training-Ca11D1Vj.js +1 -0
- package/dist/interface/assets/{Updates-kS_Tm8HD.js → Updates-yenwuqnD.js} +2 -2
- package/dist/interface/assets/{VariableInput-D9PfI8Ut.js → VariableInput-CcILik4M.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-DArWzQuE.js → VariableSuggestions-Bj0HdrYW.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-BZVMpB2v.js → VersionsHandler-BA8Lcysg.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-Cz-QFo4R.js → VirtualSensorCreate-DvHyw7I2.js} +1 -1
- package/dist/interface/assets/{Workers-DH59zE1C.css → Workers-Dey1snI4.css} +1 -1
- package/dist/interface/assets/Workers-Dyo44zxe.js +2 -0
- package/dist/interface/assets/{account-DwW7pBOb.js → account-DjBQulDn.js} +1 -1
- package/dist/interface/assets/ace-BPAekgyf.js +1 -0
- package/dist/interface/assets/{ace.config-CCyX_Ohk.js → ace.config-CvKE-yp1.js} +1 -1
- package/dist/interface/assets/{alert-circle-BdUVAt1B.js → alert-circle-B-JCMbb9.js} +1 -1
- package/dist/interface/assets/{alert-outline-IRxYbw0j.js → alert-outline-B4ZZowEj.js} +1 -1
- package/dist/interface/assets/{api-CGfJbsTz.css → api-CHQlxVtZ.css} +1 -1
- package/dist/interface/assets/{api-CzwdnGAH.js → api-CKbL5jC7.js} +1 -1
- package/dist/interface/assets/api-CLazgL-g.js +4 -0
- package/dist/interface/assets/{arrow-left-Bk-ZrOVr.js → arrow-left-PeaVwpHd.js} +1 -1
- package/dist/interface/assets/{assistant-hGCAgv-f.js → assistant-CwmHp5bB.js} +1 -1
- package/dist/interface/assets/{assistantModels-BsSgRsws.js → assistantModels-D3ncWWu0.js} +1 -1
- package/dist/interface/assets/{auth-By-S-WEr.js → auth-AfZrkJ2f.js} +1 -1
- package/dist/interface/assets/automations-DOCG0q8-.js +1 -0
- package/dist/interface/assets/{back-filled-D-X19YMO.js → back-filled-CJoz7Gkl.js} +1 -1
- package/dist/interface/assets/{bell-ring-DreEHgoT.js → bell-ring-CBf0Yn3H.js} +1 -1
- package/dist/interface/assets/{brain-DuDAg544.js → brain-uZ03n3LW.js} +1 -1
- package/dist/interface/assets/cameraSources-mHEz9ROa.js +1 -0
- package/dist/interface/assets/{cctv-DM-C_8_6.js → cctv-VgKQ-dBV.js} +1 -1
- package/dist/interface/assets/{check-circle-Bevuw8-0.js → check-circle-BU-KNgPB.js} +1 -1
- package/dist/interface/assets/{check-circle-outline-aMxkvksr.js → check-circle-outline-BsxzAMed.js} +1 -1
- package/dist/interface/assets/{chevron-down-CCFn9Z56.js → chevron-down-CxK4Sfjs.js} +1 -1
- package/dist/interface/assets/{chevron-up-CSImUM3_.js → chevron-up-DWfNH8va.js} +1 -1
- package/dist/interface/assets/{clock-outline-DH3WIEJt.js → clock-outline-BtWx4GaF.js} +1 -1
- package/dist/interface/assets/{close-CMxyM4v9.js → close-Be7oB7d_.js} +1 -1
- package/dist/interface/assets/{close-circle-CfgJCZ9A.js → close-circle-D7Jmhp_7.js} +1 -1
- package/dist/interface/assets/{cloud-check-CbdFLIdR.js → cloud-check-zCGJxpWI.js} +1 -1
- package/dist/interface/assets/cloudHandoff-zJCrDmwk.js +1 -0
- package/dist/interface/assets/{config-BQxEwrK6.js → config-AG0SnOiY.js} +1 -1
- package/dist/interface/assets/{content-copy-Bz49QPOI.js → content-copy-BcYlfuFc.js} +1 -1
- package/dist/interface/assets/{copy-DA6QQHRt.js → copy-DuY-M96E.js} +1 -1
- package/dist/interface/assets/{cube-scan-IiH8zwm2.js → cube-scan-Cae03i_N.js} +1 -1
- package/dist/interface/assets/{database-refresh-outline-CIUDpcuq.js → database-refresh-outline-B3OEQFF7.js} +1 -1
- package/dist/interface/assets/{delete-Btu-UVx9.js → delete-BWgOAzKl.js} +1 -1
- package/dist/interface/assets/{dist-D_qWDAKp.js → dist-DmpuuM9s.js} +1 -1
- package/dist/interface/assets/{dots-vertical-D496SIss.js → dots-vertical-Kby1GY8_.js} +1 -1
- package/dist/interface/assets/{download-BSC7lwq_.js → download-C291Yq7I.js} +1 -1
- package/dist/interface/assets/esm-B2TVBF3B.js +1 -0
- package/dist/interface/assets/esm-BEntuCG7.js +1 -0
- package/dist/interface/assets/esm-BRnyrFH8.js +1 -0
- package/dist/interface/assets/esm-CCwXzd_8.js +1 -0
- package/dist/interface/assets/esm-CEjwTsuD.js +1 -0
- package/dist/interface/assets/esm-CGGV9tC4.js +1 -0
- package/dist/interface/assets/esm-CI2tTOc5.js +1 -0
- package/dist/interface/assets/esm-CgxZmMYv.js +1 -0
- package/dist/interface/assets/esm-Csc6f5Fy.js +1 -0
- package/dist/interface/assets/esm-Qzx3d-Ie.js +1 -0
- package/dist/interface/assets/esm-a_w7mTdx.js +1 -0
- package/dist/interface/assets/esm-iKfsu7-H.js +1 -0
- package/dist/interface/assets/esm-ks5kvk_e.js +1 -0
- package/dist/interface/assets/esm-nJfTguKF.js +1 -0
- package/dist/interface/assets/{eventIcons-UQutPG3p.js → eventIcons-C3JWChgS.js} +1 -1
- package/dist/interface/assets/{eye-off-CSU0U8g7.js → eye-off-zGCIHKOK.js} +1 -1
- package/dist/interface/assets/{flowSchema-BPq6iHks.js → flowSchema-B0d3VjU7.js} +1 -1
- package/dist/interface/assets/{help-circle-outline-Cr_yNhPi.js → help-circle-outline-DXFepDAG.js} +1 -1
- package/dist/interface/assets/{history-anuCbp1T.js → history-D-FlZdKD.js} +1 -1
- package/dist/interface/assets/{home-N3bDR1vX.js → home-DPdzRxcM.js} +1 -1
- package/dist/interface/assets/{information-outline-CMWIvLNB.js → information-outline-ChOM9qgI.js} +1 -1
- package/dist/interface/assets/{intercomService-CXcjcPa9.js → intercomService-DG3EeZ6s.js} +1 -1
- package/dist/interface/assets/{lan-CYXjdk7L.js → lan-DvYEO83l.js} +1 -1
- package/dist/interface/assets/{main-DVa5U7UB.css → main-CGY9cVyi.css} +1 -1
- package/dist/interface/assets/main-DkHV6YgB.js +3 -0
- package/dist/interface/assets/{microphone-BB2pATI_.js → microphone-D-T9xga4.js} +1 -1
- package/dist/interface/assets/{minus-BCp3ZNKO.js → minus-4T4INuO4.js} +1 -1
- package/dist/interface/assets/mqtt-DE2VbNdt.js +1 -0
- package/dist/interface/assets/native-CtfXrwj5.js +1 -0
- package/dist/interface/assets/native-JMtkOkIV.js +1 -0
- package/dist/interface/assets/{nodeDefinitions-ByrqsENY.js → nodeDefinitions-Dp8cnne1.js} +1 -1
- package/dist/interface/assets/{notifications-BCyiD-TP.js → notifications-8FH4ApEz.js} +1 -1
- package/dist/interface/assets/{pause-BQlxwAW2.js → pause-DHqHYA3V.js} +1 -1
- package/dist/interface/assets/{pencil-outline-CIQL5Kui.js → pencil-outline-D-GmPf8M.js} +1 -1
- package/dist/interface/assets/{pencil-CDsNnEXi.js → pencil-vACi-JzY.js} +1 -1
- package/dist/interface/assets/plugin-Dt5Xetfz.js +1 -0
- package/dist/interface/assets/plugins-2JLUEMYc.js +1 -0
- package/dist/interface/assets/{plus-Bp4q9G7S.js → plus-BBUb8_uL.js} +1 -1
- package/dist/interface/assets/{plus-CySoovdr.js → plus-BJb7U4bN.js} +1 -1
- package/dist/interface/assets/{power-WmBLDR0-.js → power-Dm_aNIz-.js} +1 -1
- package/dist/interface/assets/{radar-CyYAmume.js → radar-Dcvdz--e.js} +1 -1
- package/dist/interface/assets/{refresh-CHTA3jVN.js → refresh-CO4F18Je.js} +1 -1
- package/dist/interface/assets/{restore-C8RNM5yX.js → restore-xRBt3Grb.js} +1 -1
- package/dist/interface/assets/rooms-DoAfzA8W.js +1 -0
- package/dist/interface/assets/{round-alt-arrow-left-bold-Gh5mi_yR.js → round-alt-arrow-left-bold-CZHXzGS5.js} +1 -1
- package/dist/interface/assets/{search-BajCVmOI.js → search-D75YW08B.js} +1 -1
- package/dist/interface/assets/{sensorIcons-DofElQ3w.js → sensorIcons-BntiOPX7.js} +1 -1
- package/dist/interface/assets/{sensorSlots-D2KJGvPw.js → sensorSlots-biaL-O8E.js} +1 -1
- package/dist/interface/assets/sensors-DyAMdS-H.js +1 -0
- package/dist/interface/assets/{server-Dw5DD473.js → server-BDRUGj61.js} +1 -1
- package/dist/interface/assets/{settings-DnksaK7m.js → settings-DDOgc5BX.js} +1 -1
- package/dist/interface/assets/{source-branch-CzqIPffP.js → source-branch-DVHuYlkZ.js} +1 -1
- package/dist/interface/assets/{theme-C85LJhOY.js → theme-CLxrnR60.js} +1 -1
- package/dist/interface/assets/{trash-2-DJeEhHf4.js → trash-2-DDKPtl2x.js} +1 -1
- package/dist/interface/assets/{trash-can-outline-DrT6iw7I.js → trash-can-outline-DVH3zgo0.js} +1 -1
- package/dist/interface/assets/{trash-fill-Bb_-UicM.js → trash-fill-C_IJ4Vu2.js} +1 -1
- package/dist/interface/assets/{trash2-Dsl8gfxq.js → trash2-DY0XTaJD.js} +1 -1
- package/dist/interface/assets/{types-CPhy0Ovw.js → types-8JXzkoC8.js} +1 -1
- package/dist/interface/assets/{types-DYKmSGl4.js → types-B4LLKzDW.js} +1 -1
- package/dist/interface/assets/types-a7Nw-P-m.js +1 -0
- package/dist/interface/assets/{undo-DoqJW-k7.js → undo-YRkBYCnf.js} +1 -1
- package/dist/interface/assets/ungrouped-BoAbb9w3.js +1 -0
- package/dist/interface/assets/ungrouped-ChmBvcXp.css +1 -0
- package/dist/interface/assets/updates-F-veEP1I.js +1 -0
- package/dist/interface/assets/{upload-DtIcwiNC.js → upload-2WcHRjTq.js} +1 -1
- package/dist/interface/assets/{upload-C3w1XH-o.js → upload-BiE7VzTj.js} +1 -1
- package/dist/interface/assets/{useAppVersion-DkazK9Vu.js → useAppVersion-BjUQmB7M.js} +1 -1
- package/dist/interface/assets/{useAssistantActions-BZP6NL18.js → useAssistantActions-CNEJol4o.js} +1 -1
- package/dist/interface/assets/useBackupRestore-Biqn_lhh.js +1 -0
- package/dist/interface/assets/{useCameraOptions-DnI0xLrX.js → useCameraOptions-D_oduve2.js} +1 -1
- package/dist/interface/assets/{useKeyboardInset-Cr7SxKGN.js → useKeyboardInset-CPWSVYlA.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-C3Y8S0Ar.js → useLogsSocket-B_jXUqv8.js} +1 -1
- package/dist/interface/assets/{useNavLayout-C9pcDuVP.js → useNavLayout-DEngIIeU.js} +1 -1
- package/dist/interface/assets/{usePermissions-CCTxwXF0.js → usePermissions-DAO92InI.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-DBhLWAua.js → usePluginUpdates-CJi8Y_wl.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-CPRVdLAx.js → usePushRegistration-j9WCeFbv.js} +2 -2
- package/dist/interface/assets/{useServerRestart-bScBLJ9r.js → useServerRestart-BVks5tuC.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-Bfh-WmLH.js → useStreamStatus-DQ0NSyU8.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-C_QOrvSW.js → useTabSwipe-CVq7EcIY.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-g0h_4c55.js → useUpdateChannel-C0fjDvNP.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-CxrLRETs.js → useUpdatesSocket-DXKF9hzc.js} +1 -1
- package/dist/interface/assets/useUserOptions-UjMeAL5n.js +1 -0
- package/dist/interface/assets/{variable-ywTlRfo5.js → variable-Cp8o-q8t.js} +1 -1
- package/dist/interface/assets/vendor-Df81FCJz.js +29 -0
- package/dist/interface/assets/{vendor-ace-CvEoip98.js → vendor-ace-QSsGUspX.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-B28aGJJD.js → vendor-cameraui-GmMRyJ2R.js} +3 -3
- package/dist/interface/assets/{vendor-capacitor-Bs_WzL0Q.js → vendor-capacitor-t5EIN1GG.js} +2 -2
- package/dist/interface/assets/{vendor-chart-DBK083Hu.js → vendor-chart-BiJYkx5_.js} +1 -1
- package/dist/interface/assets/{vendor-core-DIa0tPNH.js → vendor-core-BeAannbA.js} +1 -1
- package/dist/interface/assets/{vendor-dnd-DGQLvX6Y.js → vendor-dnd-C1kMh9_t.js} +1 -1
- package/dist/interface/assets/{vendor-draggabilly-D8CK6M-y.js → vendor-draggabilly-Cw1oJ6qc.js} +1 -1
- package/dist/interface/assets/vendor-leaflet-OSZlONe5.js +1 -0
- package/dist/interface/assets/{vendor-markdown-qHIinIUE.js → vendor-markdown-DTWiWKBj.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-CZKUAkMA.js → vendor-primevue-Zx6t06A4.js} +1 -1
- package/dist/interface/assets/{vendor-vueflow-bSwRZ9X8.js → vendor-vueflow-DWU_IzGe.js} +1 -1
- package/dist/interface/assets/web-B98ahwoP.js +1 -0
- package/dist/interface/assets/web-BSsSrRZf.js +1 -0
- package/dist/interface/assets/web-BiNRDta4.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-CZKmYhby.js +1 -0
- package/dist/interface/assets/web-BjtOcquy.js +1 -0
- package/dist/interface/assets/web-CkTE9nCG.js +1 -0
- package/dist/interface/assets/web-Cvogq5S5.js +1 -0
- package/dist/interface/assets/web-D-A4EBKj.js +1 -0
- package/dist/interface/assets/web-DVGMBduz.js +1 -0
- package/dist/interface/assets/web-SpWB7I6X.js +1 -0
- package/dist/interface/assets/web-k0ihT_qK.js +1 -0
- package/dist/interface/assets/web-ovBpm7Dl.js +1 -0
- package/dist/interface/assets/web-z5Xz9tOQ.js +1 -0
- package/dist/interface/assets/web-zfhkFevT.js +1 -0
- package/dist/interface/assets/{webhook-CWKf2Qxu.js → webhook-DIjChTrs.js} +1 -1
- package/dist/interface/assets/workbox-window.prod.es5-DRKojI0e.js +1 -0
- package/dist/interface/assets/{zoom-in-CHkXAWHy.js → zoom-in-rMB152Uz.js} +1 -1
- package/dist/interface/ha/{404-tl2VQ3qy.js → 404-D5gfy0Cd.js} +1 -1
- package/dist/interface/ha/{About-Cn7KOblU.js → About-JzlpCzBN.js} +3 -3
- package/dist/interface/ha/{Assistant-DG2GGda0.js → Assistant-DgOfGesf.js} +2409 -1917
- package/dist/interface/ha/{Automation-D0_WpXx4.js → Automation-BDaWYiBu.js} +146 -146
- package/dist/interface/ha/{AutomationImport-DdC3dEaC.js → AutomationImport-BNB_PJ9R.js} +6 -6
- package/dist/interface/ha/{AutomationStore-BrLn4oBx.js → AutomationStore-_TeOt1wz.js} +73 -73
- package/dist/interface/ha/{AutomationStoreDetail-DoppNsNc.js → AutomationStoreDetail-jjIEZoRi.js} +20 -20
- package/dist/interface/ha/{Automations-BaUJ9pVq.js → Automations-DM6FEVOw.js} +110 -110
- package/dist/interface/ha/Camera-sH9fRv18.js +670 -0
- package/dist/interface/ha/{CameraConsole-7MhlS2VK.js → CameraConsole-BoVql05l.js} +4 -4
- package/dist/interface/ha/{Cameras-vHYz8uSO.js → Cameras-cQBGvXq7.js} +349 -347
- package/dist/interface/ha/{Camview-BEglAx26.js → Camview-mkG5FXZM.js} +357 -353
- package/dist/interface/ha/{Config-CHiK--zP.js → Config-BNPDzo_h.js} +11 -11
- package/dist/interface/ha/{ConfigActionAssistant-DynduZYV.js → ConfigActionAssistant-C-8P3DYz.js} +4 -4
- package/dist/interface/ha/{ConfigActionCameraControl-BEYePssz.js → ConfigActionCameraControl-x1ksGL7m.js} +3 -3
- package/dist/interface/ha/{ConfigActionHttp-h0vRWqZ5.js → ConfigActionHttp-DzCJp85z.js} +2 -2
- package/dist/interface/ha/{ConfigActionImageInput-B9GMZYAR.js → ConfigActionImageInput-C5C5U_2z.js} +1 -1
- package/dist/interface/ha/{ConfigActionMqtt-BEQpHBgf.js → ConfigActionMqtt-T29xb75r.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-BYsz8_aS.js → ConfigActionNotification-BcnyilF9.js} +3 -3
- package/dist/interface/ha/{ConfigActionNotificationControl-BxmIWVE8.js → ConfigActionNotificationControl-D3wIVKuU.js} +2 -2
- package/dist/interface/ha/{ConfigActionOutput-DTOQSa1S.js → ConfigActionOutput-hD-yVczw.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-NOsUs3QI.js → ConfigActionPlugin-Bz1O-O4Q.js} +5 -5
- package/dist/interface/ha/{ConfigActionSensor-YWnsH_LV.js → ConfigActionSensor-FOz-PYl_.js} +5 -5
- package/dist/interface/ha/{ConfigActionSnapshot-DHJnTvin.js → ConfigActionSnapshot-CmxEOuK1.js} +2 -2
- package/dist/interface/ha/{ConfigActionVariable-C7UFnvW0.js → ConfigActionVariable-BCvkrdCh.js} +1 -1
- package/dist/interface/ha/{ConfigConditionIfElse-CAHbuhH3.js → ConfigConditionIfElse-icfTG9OA.js} +3 -3
- package/dist/interface/ha/{ConfigConditionSensorState-CE6okUeb.js → ConfigConditionSensorState-ClUAsm0d.js} +4 -4
- package/dist/interface/ha/{ConfigConditionSwitch-D5FULaTy.js → ConfigConditionSwitch-C8AMCkn6.js} +5 -5
- package/dist/interface/ha/{ConfigSensorValueInput-mo6Gs_aZ.js → ConfigSensorValueInput-ChvDQzGd.js} +4 -4
- package/dist/interface/ha/{ConfigTriggerDetection-Bt-OhHtM.js → ConfigTriggerDetection-aUSyaClu.js} +11 -11
- package/dist/interface/ha/{ConfigTriggerGeofence-Cw3jV5qD.js → ConfigTriggerGeofence-DsJeJWP4.js} +7 -7
- package/dist/interface/ha/{ConfigTriggerMqtt-BXeV82UG.js → ConfigTriggerMqtt-CsAxA7QZ.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSensor-Baqq--nJ.js → ConfigTriggerSensor-CTxr9cfU.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSystem-braUVGzW.js → ConfigTriggerSystem-C8UEfpfs.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerWebhook-Dm45r-1C.js → ConfigTriggerWebhook-frEE-SCB.js} +1 -1
- package/dist/interface/ha/{Console-q3TCsxYo.js → Console-A3VtbsLg.js} +12 -12
- package/dist/interface/ha/{CuiAutomationRunsDialog-DO6h5Tc4.js → CuiAutomationRunsDialog-BlJvhBiX.js} +2 -2
- package/dist/interface/ha/{CuiBottomSheet-B7ldz0xi.js → CuiBottomSheet-Cu-t3H0Z.js} +1 -1
- package/dist/interface/ha/{CuiCameraRecordings-Dq1Vh3qA.js → CuiCameraRecordings-R5ArEmqJ.js} +11 -11
- package/dist/interface/ha/{CuiCameraShares-DBqcpevG.js → CuiCameraShares-B9pfRkM4.js} +5 -5
- package/dist/interface/ha/{CuiCameraTable-kL8rK-Uv.js → CuiCameraTable-CKjGKaMC.js} +9 -9
- package/dist/interface/ha/{CuiChartTable-BrFyiSt_.js → CuiChartTable-BxWjRe-k.js} +16 -16
- package/dist/interface/ha/{CuiConsole-DpeXZmJd.js → CuiConsole-C5fzsR7t.js} +4 -4
- package/dist/interface/ha/{CuiDataTable-BtqzIz0o.js → CuiDataTable-BOdQDY8J.js} +5 -5
- package/dist/interface/ha/{CuiPluginCard-lBLypaN4.js → CuiPluginCard-BT71RRAD.js} +33 -33
- package/dist/interface/ha/{CuiPluginOAuthButton-CuGauZJA.js → CuiPluginOAuthButton-moh9uS7G.js} +7 -7
- package/dist/interface/ha/{CuiPluginTrustBadge-BofBmRYc.js → CuiPluginTrustBadge-F_pVWkPJ.js} +1 -1
- package/dist/interface/ha/{CuiQRCode-CdK9bwKb.js → CuiQRCode-BNuj-nJ4.js} +6 -6
- package/dist/interface/ha/{CuiSchema-DqkCLv9Y.js → CuiSchema-Cb_8Ks-I.js} +125 -125
- package/dist/interface/ha/{CuiTopNavbarItem-C2VZB7WV.js → CuiTopNavbarItem-BGzrrTls.js} +1 -1
- package/dist/interface/ha/{Faces-Crfi-75Z.js → Faces-CsM5VO8Q.js} +142 -142
- package/dist/interface/ha/{FirstSteps-CKVG86pf.js → FirstSteps-BFX0-EEi.js} +12 -12
- package/dist/interface/ha/{Floorplan-CH9_-6hk.js → Floorplan-D6MGqSJT.js} +198 -199
- package/dist/interface/ha/{Instances-5gZdPPDA.js → Instances-CHzIUyyA.js} +72 -72
- package/dist/interface/ha/{Logs-BkzEM70F.js → Logs-DZKM3dWv.js} +10 -10
- package/dist/interface/ha/{Menu-BuT3_Ggx.js → Menu-BQz4dfQi.js} +8 -8
- package/dist/interface/ha/{Metrics-BGrzu0bu.js → Metrics-CdpWJ1mm.js} +89 -89
- package/dist/interface/ha/{OAuthDeviceFlow-BEJtegqy.js → OAuthDeviceFlow-DUELtx3X.js} +9 -9
- package/dist/interface/ha/{Plugin-Bnp2jiC2.js → Plugin-5bbTF0Rv.js} +92 -92
- package/dist/interface/ha/{PluginConsole-CmsuPVMz.js → PluginConsole-C__0lzsS.js} +4 -4
- package/dist/interface/ha/{PluginDetail-BCNx7vHr.js → PluginDetail-Blrktk9W.js} +9 -9
- package/dist/interface/ha/{PluginSearch-DOdhuxgM.js → PluginSearch-BKbdwHQ1.js} +121 -121
- package/dist/interface/ha/{PluginUpdateProgress-CwkKc8Tr.js → PluginUpdateProgress-IsNiecu3.js} +3 -3
- package/dist/interface/ha/{Plugins-BrFowCdC.js → Plugins-CC2Dwlx5.js} +53 -53
- package/dist/interface/ha/{Recordings-BZhf39pJ.js → Recordings-B1XsJrzs.js} +318 -318
- package/dist/interface/ha/{SensorEdit-Ds6WbN4A.js → SensorEdit-Bi2Yx_ji.js} +46 -46
- package/dist/interface/ha/{SensorHistory-CoTIYTJx.js → SensorHistory-sqG_6eav.js} +2 -2
- package/dist/interface/ha/{Sensors-DZ2MKdlh.js → Sensors-DLtOh1p4.js} +509 -510
- package/dist/interface/ha/{Settings-D3JKr430.js → Settings-DI3_zenm.js} +38 -38
- package/dist/interface/ha/{SettingsAccount-cvtlSKZw.js → SettingsAccount-pS86Qyr-.js} +251 -251
- package/dist/interface/ha/{SettingsAppearance-CaKuOHRu.js → SettingsAppearance-tS3bubKQ.js} +4 -4
- package/dist/interface/ha/{SettingsAssistant-vWVjAUqQ.js → SettingsAssistant-LejCRXsF.js} +501 -501
- package/dist/interface/ha/{SettingsBackup-CvzL_bVf.js → SettingsBackup-CkhD1Kze.js} +23 -23
- package/dist/interface/ha/{SettingsList-C0Ec8x-H.js → SettingsList-bibwvPSM.js} +2 -2
- package/dist/interface/ha/{SettingsMqtt-COnq-QM5.js → SettingsMqtt-DSt0B4Qg.js} +18 -18
- package/dist/interface/ha/{SettingsNotifications-BZ68bQzO.js → SettingsNotifications-BF7ajNwE.js} +118 -118
- package/dist/interface/ha/{SettingsRecordings-BPtNNpDa.js → SettingsRecordings-BTIdncxg.js} +9 -9
- package/dist/interface/ha/{SettingsRemote-BXG8IYjf.js → SettingsRemote-Cba4P1-O.js} +347 -344
- package/dist/interface/ha/{SettingsSystem-_jHBUhws.js → SettingsSystem-_Nnh2ZF5.js} +9 -9
- package/dist/interface/ha/{SettingsUsers-CzGj_RJN.js → SettingsUsers-BfHFoxJi.js} +83 -83
- package/dist/interface/ha/{Terminal-BP3b8IBP.js → Terminal-Dv_7oWmS.js} +11 -11
- package/dist/interface/ha/{Training-C2-6DgY0.js → Training-CaSFA5oH.js} +184 -184
- package/dist/interface/ha/{Updates-BMZsEhmy.js → Updates-BHl5H7zE.js} +15 -15
- package/dist/interface/ha/{VariableInput-DmI7skCD.js → VariableInput-DtLo7-Nw.js} +1 -1
- package/dist/interface/ha/{VersionsHandler-DJd4NqtD.js → VersionsHandler-CF0DSeol.js} +10 -10
- package/dist/interface/ha/{VirtualSensorCreate-DmtGYvAn.js → VirtualSensorCreate-C907EgIz.js} +2 -2
- package/dist/interface/ha/Workers-Dz1d9gEQ.js +814 -0
- package/dist/interface/ha/{ace-B3bPzJu9.js → ace-C9MtBQVV.js} +1 -1
- package/dist/interface/ha/{ace.config-Dt55Nqby.js → ace.config-CSXnaIzV.js} +1 -1
- package/dist/interface/ha/{api-BelbnLQO.js → api-DUqpDJ2N.js} +13766 -13527
- package/dist/interface/ha/{api-sy4rqV2N.js → api-gId1nlMj.js} +4 -4
- package/dist/interface/ha/{assistant-C6KYXJfi.js → assistant-BaR65gIY.js} +50 -50
- package/dist/interface/ha/{auth-Da66mVEd.js → auth-Btsz_KxO.js} +38 -38
- package/dist/interface/ha/{automationBlueprint-hlqqM17r.js → automationBlueprint-CuO3iOiM.js} +3 -3
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-BFRRfuM7.js → cards-DWhezIPP.js} +1449 -1409
- package/dist/interface/ha/{config-Cd7JNMpD.js → config-BKStpoEQ.js} +12 -12
- package/dist/interface/ha/{dist-BybVYMVs.js → dist-CM7R4_Gj.js} +15 -6
- package/dist/interface/ha/{mqtt-UZfptWJl.js → mqtt-ajcSmTB-.js} +14 -14
- package/dist/interface/ha/{notifications-DTHM8fS-.js → notifications-Cf9dXHEO.js} +18 -18
- package/dist/interface/ha/{pinia-BokSpDzj.js → pinia-DIKO5lnE.js} +267 -259
- package/dist/interface/ha/{plugins-Bwp_GfaX.js → plugins-ml823dJV.js} +61 -61
- package/dist/interface/ha/{rooms-BvaD0r0q.js → rooms-C5gUErBi.js} +9 -9
- package/dist/interface/ha/{server-OWdtITVa.js → server-dArenpJI.js} +26 -26
- package/dist/interface/ha/{types-BFJjyMZe.js → types-DYymuACA.js} +25 -25
- package/dist/interface/ha/{ungrouped-x00DHNHO.js → ungrouped-BHLAySWP.js} +39 -38
- package/dist/interface/ha/{updates-C03Qf3Il.js → updates-D5sFzGtC.js} +33 -33
- package/dist/interface/ha/{useAppVersion-CrMd9CC9.js → useAppVersion-C5x3Ap4_.js} +1 -1
- package/dist/interface/ha/{useKeyboardInset-DwUQCWHC.js → useKeyboardInset-Cj0T2AFX.js} +1 -1
- package/dist/interface/ha/{useLogsSocket-C6k217mW.js → useLogsSocket-DtvfQlPh.js} +1 -1
- package/dist/interface/ha/{useNavLayout-DhuQE024.js → useNavLayout-HSFBA4JV.js} +13 -13
- package/dist/interface/ha/{useServerRestart-CYaen2r6.js → useServerRestart-Ci0SppGW.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-DAmCFlgg.js → useTabSwipe-CPKkRmaH.js} +1 -1
- package/dist/interface/ha/{useUpdateChannel-Dr1EoU2X.js → useUpdateChannel-CXHHovK3.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-C8Gmhemh.js → useUpdatesSocket-DVST2YXV.js} +1 -1
- package/dist/interface/ha/{useUserOptions-BB5wk3Bq.js → useUserOptions-BYcYI6QA.js} +1 -1
- package/dist/interface/index.html +69 -69
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +15 -15
- package/dist/server/requirements.txt +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +5 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +5 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +2 -1
- package/dist/server/src/api/controllers/plugins.controller.js +1 -0
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/workers.controller.d.ts +2 -2
- package/dist/server/src/api/controllers/workers.controller.js +8 -2
- package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
- package/dist/server/src/api/database/record-schemas.d.ts +3 -0
- package/dist/server/src/api/database/record-schemas.js +1 -0
- package/dist/server/src/api/database/record-schemas.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +4 -0
- package/dist/server/src/api/routes/workers.routes.js +4 -4
- package/dist/server/src/api/routes/workers.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +38 -0
- package/dist/server/src/api/schemas/cameras.schema.js +22 -0
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +12 -0
- package/dist/server/src/api/schemas/users.schema.js +4 -0
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/schemas/workers.schema.d.ts +5 -4
- package/dist/server/src/api/schemas/workers.schema.js +6 -3
- package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +3 -0
- package/dist/server/src/api/services/cameras.service.js +47 -2
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/plugins.service.d.ts +1 -0
- package/dist/server/src/api/services/plugins.service.js +5 -1
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/workers.service.d.ts +2 -0
- package/dist/server/src/api/services/workers.service.js +15 -0
- package/dist/server/src/api/services/workers.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +3 -2
- package/dist/server/src/assistant/pricing.js +39 -10
- package/dist/server/src/assistant/pricing.js.map +1 -1
- package/dist/server/src/assistant/providers.js +9 -1
- package/dist/server/src/assistant/providers.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.d.ts +1 -2
- package/dist/server/src/camera/decoder/event-manager.js +37 -59
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/manager/coreManager.d.ts +2 -1
- package/dist/server/src/manager/coreManager.js +9 -2
- package/dist/server/src/manager/coreManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +3 -0
- package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +1 -1
- package/dist/server/src/plugins/runtime/python/rpc/typings.py +1 -1
- package/dist/server/src/rpc/interfaces/core.d.ts +1 -1
- package/dist/server/src/sensors/registry.d.ts +2 -0
- package/dist/server/src/sensors/registry.js +24 -0
- package/dist/server/src/sensors/registry.js.map +1 -1
- package/dist/server/src/workers/agent.js +2 -0
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/manager.d.ts +1 -0
- package/dist/server/src/workers/manager.js +22 -0
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/types.d.ts +5 -0
- package/dist/server/src/workers/types.js.map +1 -1
- package/npm-shrinkwrap.json +107 -107
- package/package.json +15 -15
- package/dist/interface/assets/Automation-D__qvx8c.js +0 -3
- package/dist/interface/assets/Automations-BH_7lYR7.js +0 -2
- package/dist/interface/assets/Camera-BW9ikKqh.css +0 -1
- package/dist/interface/assets/Camera-aquPHFwb.js +0 -2
- package/dist/interface/assets/Camview-CjcQbtTl.js +0 -1
- package/dist/interface/assets/Config-Dc1zKIPq.js +0 -2
- package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +0 -5
- package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-BQKk4fxY.css +0 -1
- package/dist/interface/assets/CuiCameraPipCard-eiJjYZ5W.js +0 -1
- package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +0 -1
- package/dist/interface/assets/CuiDataTable-C0gsYYpg.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +0 -1
- package/dist/interface/assets/CuiPluginCard-DEfqwUhQ.js +0 -2
- package/dist/interface/assets/Faces-DRHMrrxh.js +0 -1
- package/dist/interface/assets/Floorplan-CqWIbDbh.js +0 -1
- package/dist/interface/assets/Metrics-BYnnb7M0.js +0 -12
- package/dist/interface/assets/Plugin-DJIrYUnZ.js +0 -1
- package/dist/interface/assets/PluginDetail-DmElwUuV.js +0 -2
- package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +0 -1
- package/dist/interface/assets/Plugins-ZFcB_j6v.js +0 -1
- package/dist/interface/assets/Recordings-BJrtW9eG.js +0 -1
- package/dist/interface/assets/Sensors-C_InhcHA.js +0 -2
- package/dist/interface/assets/SettingsAccount-B05739dn.js +0 -1
- package/dist/interface/assets/SettingsAccount-gm28wtbl.js +0 -1
- package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +0 -1
- package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +0 -1
- package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +0 -1
- package/dist/interface/assets/SettingsRemote-MhaShPIf.js +0 -2
- package/dist/interface/assets/Training-A5ynOv_l.js +0 -1
- package/dist/interface/assets/Workers-2sc4VMi9.js +0 -2
- package/dist/interface/assets/ace-DzzM-RlW.js +0 -1
- package/dist/interface/assets/api-DOpXVpef.js +0 -4
- package/dist/interface/assets/automations-vwIwb2PQ.js +0 -1
- package/dist/interface/assets/cameraSources-BMhXvtFt.js +0 -1
- package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +0 -1
- package/dist/interface/assets/esm-Bn9gXwX4.js +0 -1
- package/dist/interface/assets/esm-BzM6y2-F.js +0 -1
- package/dist/interface/assets/esm-CP3JWrtj.js +0 -1
- package/dist/interface/assets/esm-CjAXkqCf.js +0 -1
- package/dist/interface/assets/esm-Cqxk-j1S.js +0 -1
- package/dist/interface/assets/esm-DFHd3JNU.js +0 -1
- package/dist/interface/assets/esm-DfMLJtug.js +0 -1
- package/dist/interface/assets/esm-DhDrpq7a.js +0 -1
- package/dist/interface/assets/esm-DvhM-SOd.js +0 -1
- package/dist/interface/assets/esm-G63bqygQ.js +0 -1
- package/dist/interface/assets/esm-Gn-Y59hU.js +0 -1
- package/dist/interface/assets/esm-KJSOz2vj.js +0 -1
- package/dist/interface/assets/esm-Ryfc94Tm.js +0 -1
- package/dist/interface/assets/esm-rSfI5Poy.js +0 -1
- package/dist/interface/assets/eye-off-outline-DCxLRGo_.js +0 -1
- package/dist/interface/assets/main-By4L33Im.js +0 -3
- package/dist/interface/assets/mqtt-DE1KQ8Td.js +0 -1
- package/dist/interface/assets/native-CZJE8bTs.js +0 -1
- package/dist/interface/assets/native-DKZwialB.js +0 -1
- package/dist/interface/assets/plugin-DSEMkqaK.js +0 -1
- package/dist/interface/assets/plugins-BJPCV1YL.js +0 -1
- package/dist/interface/assets/rooms-Dr4yiakO.js +0 -1
- package/dist/interface/assets/sensors-3llrL7s3.js +0 -1
- package/dist/interface/assets/types-i1kTodPP.js +0 -1
- package/dist/interface/assets/ungrouped-BlheTJCh.css +0 -1
- package/dist/interface/assets/ungrouped-C2CWO39a.js +0 -1
- package/dist/interface/assets/updates-C2LhMkNR.js +0 -1
- package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +0 -1
- package/dist/interface/assets/useUserOptions-DN0t3gBr.js +0 -1
- package/dist/interface/assets/vendor-gFkr2qsZ.js +0 -23
- package/dist/interface/assets/vendor-leaflet-DkAk6mAj.js +0 -1
- package/dist/interface/assets/web-BDNQnMmA.js +0 -1
- package/dist/interface/assets/web-B_9Qyt8E.js +0 -1
- package/dist/interface/assets/web-BhJykCtq.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +0 -1
- package/dist/interface/assets/web-C7nJwIOa.js +0 -1
- package/dist/interface/assets/web-CGJsJQDb.js +0 -1
- package/dist/interface/assets/web-CJwASxrl.js +0 -1
- package/dist/interface/assets/web-CLe0L31Y.js +0 -1
- package/dist/interface/assets/web-DEv1hAn1.js +0 -1
- package/dist/interface/assets/web-DaeQvsXT.js +0 -1
- package/dist/interface/assets/web-H3-wNunW.js +0 -1
- package/dist/interface/assets/web-LCdyqJq1.js +0 -1
- package/dist/interface/assets/web-XZWYTK65.js +0 -1
- package/dist/interface/assets/web-rU5hlxxW.js +0 -1
- package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +0 -1
- package/dist/interface/ha/Camera-Cj5ImvZG.js +0 -657
- package/dist/interface/ha/Workers-2HTPHgKV.js +0 -765
- package/dist/interface/ha/eye-off-outline-ACbzsGuK.js +0 -19
|
@@ -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 {
|
|
6
|
+
import { Ar as ae, B as oe, Dn as k, Dr as se, Dt as ce, Hi as le, Jt as ue, L as A, Mr as de, Or as j, Ot as fe, R as pe, Si as me, Ti as M, U as N, c as he, d as ge, dr as _e, et as P, fa as ve, gt as F, hn as ye, kr as be, kt as xe, m as I, mi as L, q as R, st as Se, ta as z, ti as Ce, ur as we, wi as Te, z as Ee } from "./api-DUqpDJ2N.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-
|
|
18
|
+
import { u as Ue } from "./cards-DWhezIPP.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";
|
|
@@ -65,58 +65,58 @@ var et = u({
|
|
|
65
65
|
render: $e
|
|
66
66
|
}), tt = 200;
|
|
67
67
|
async function nt(e = {}, { signal: t } = {}) {
|
|
68
|
-
return (await
|
|
68
|
+
return (await z.get("/training/candidates", {
|
|
69
69
|
params: e,
|
|
70
70
|
signal: t
|
|
71
71
|
})).data;
|
|
72
72
|
}
|
|
73
73
|
async function rt(e, t) {
|
|
74
|
-
return (await
|
|
74
|
+
return (await z.patch(`/training/candidates/${e}`, t)).data;
|
|
75
75
|
}
|
|
76
76
|
async function G(e) {
|
|
77
|
-
await
|
|
77
|
+
await z.delete(`/training/candidates/${e}`);
|
|
78
78
|
}
|
|
79
79
|
async function K(e) {
|
|
80
80
|
let t = 0;
|
|
81
81
|
for (let n = 0; n < e.length; n += tt) {
|
|
82
|
-
let r = await
|
|
82
|
+
let r = await z.post("/training/candidates/submit", { ids: e.slice(n, n + tt) });
|
|
83
83
|
t += r.data.queued;
|
|
84
84
|
}
|
|
85
85
|
return { queued: t };
|
|
86
86
|
}
|
|
87
87
|
async function it({ cursor: e, signal: t } = {}) {
|
|
88
|
-
return (await
|
|
88
|
+
return (await z.get("/training/submissions", {
|
|
89
89
|
params: e ? { cursor: e } : void 0,
|
|
90
90
|
signal: t
|
|
91
91
|
})).data;
|
|
92
92
|
}
|
|
93
93
|
async function at(e) {
|
|
94
|
-
await
|
|
94
|
+
await z.delete(`/training/submissions/${e}`);
|
|
95
95
|
}
|
|
96
96
|
async function q({ signal: e } = {}) {
|
|
97
|
-
return (await
|
|
97
|
+
return (await z.get("/training/settings", { signal: e })).data;
|
|
98
98
|
}
|
|
99
99
|
async function ot(e) {
|
|
100
|
-
return (await
|
|
100
|
+
return (await z.patch("/training/settings", e)).data;
|
|
101
101
|
}
|
|
102
102
|
var st = class {
|
|
103
|
-
queryClient =
|
|
103
|
+
queryClient = le();
|
|
104
104
|
getCandidatesQuery() {
|
|
105
|
-
return
|
|
105
|
+
return me({
|
|
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
|
|
112
|
+
return me({
|
|
113
113
|
queryKey: ["training-settings"],
|
|
114
114
|
queryFn: ({ signal: e }) => q({ signal: e }),
|
|
115
115
|
staleTime: 3e4
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
118
|
patchCandidateMutation() {
|
|
119
|
-
return
|
|
119
|
+
return M({
|
|
120
120
|
mutationFn: ({ id: e, patch: t }) => rt(e, t),
|
|
121
121
|
onSuccess: async () => {
|
|
122
122
|
await this.queryClient.refetchQueries({
|
|
@@ -127,7 +127,7 @@ var st = class {
|
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
129
|
deleteCandidateMutation() {
|
|
130
|
-
return
|
|
130
|
+
return M({
|
|
131
131
|
mutationFn: G,
|
|
132
132
|
onSuccess: async () => {
|
|
133
133
|
await this.queryClient.refetchQueries({
|
|
@@ -138,10 +138,10 @@ var st = class {
|
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
deleteSubmissionMutation() {
|
|
141
|
-
return
|
|
141
|
+
return M({ mutationFn: at });
|
|
142
142
|
}
|
|
143
143
|
submitCandidatesMutation() {
|
|
144
|
-
return
|
|
144
|
+
return M({
|
|
145
145
|
mutationFn: K,
|
|
146
146
|
onSuccess: async () => {
|
|
147
147
|
await this.queryClient.refetchQueries({
|
|
@@ -152,7 +152,7 @@ var st = class {
|
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
154
|
patchSettingsMutation() {
|
|
155
|
-
return
|
|
155
|
+
return M({
|
|
156
156
|
mutationFn: ot,
|
|
157
157
|
onSuccess: async () => {
|
|
158
158
|
await this.queryClient.refetchQueries({
|
|
@@ -203,7 +203,7 @@ function ht() {
|
|
|
203
203
|
}
|
|
204
204
|
function gt() {
|
|
205
205
|
return ft || (dt = p(!0), dt.run(() => {
|
|
206
|
-
let e =
|
|
206
|
+
let e = L("/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 = 4, Qt = 10, $t = 26, en = 60, tn = 400, nn = 110, rn = 2, an = 80, on = 50, sn = .003, cn = .5, ln = /*#__PURE__*/
|
|
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__*/ j(/* @__PURE__ */ T({
|
|
298
298
|
__name: "TrainingBoxEditor",
|
|
299
299
|
props: {
|
|
300
300
|
candidates: {},
|
|
@@ -305,30 +305,30 @@ 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:
|
|
308
|
+
let T = u, re = t("dialogRef"), { t: ae, te: oe } = Ne(), se = Te(), ce = _t(), le = [
|
|
309
309
|
"nw",
|
|
310
310
|
"ne",
|
|
311
311
|
"sw",
|
|
312
312
|
"se"
|
|
313
|
-
],
|
|
313
|
+
], ue = /* @__PURE__ */ new Map(), A = O(/* @__PURE__ */ new Set()), de = O(/* @__PURE__ */ new Set()), j = o(/* @__PURE__ */ new Map()), fe = 0, pe = Math.max(0, T.candidates.findIndex((e) => e.id === T.startId)), me = I(), M = x("rootRef"), N = x("labelMenuRef"), ge = x("stageRef"), P = x("frameRef"), ve = x("svgRef"), F = E(T.candidates[pe]?.boxes.map((e) => ({ ...e })) ?? []), be = E({
|
|
314
314
|
w: 16,
|
|
315
315
|
h: 9
|
|
316
|
-
}),
|
|
316
|
+
}), L = E(null), R = E(null), z = E(-1), Ce = 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 } = Se(ge, P), { height: U } = ke(P), W = g(() => T.candidates[V.value]), Ze = g(() => T.candidates.slice(0, V.value + 1).filter((e) => !A.has(e.id)).length), Qe = g(() => T.candidates.filter((e) => !A.has(e.id)).length), $e = g(() => T.candidates.slice(0, V.value).some((e) => !A.has(e.id))), et = g(() => T.candidates.slice(V.value + 1).some((e) => !A.has(e.id))), tt = g(() => de.has(W.value.id) ? "verified" : W.value.status), nt = g(() => F.value.map((e, t) => ({
|
|
317
317
|
box: e,
|
|
318
318
|
i: t
|
|
319
|
-
})).sort((e, t) => st(e) - st(t))), rt = g(() => new Map(nt.value.map(({ i: e }, t) => [e, t + 1]))), G = g(() =>
|
|
320
|
-
let e =
|
|
319
|
+
})).sort((e, t) => st(e) - st(t))), rt = g(() => new Map(nt.value.map(({ i: e }, t) => [e, t + 1]))), G = g(() => F.value[z.value]), K = g(() => {
|
|
320
|
+
let e = F.value[z.value];
|
|
321
321
|
return e?.label === "license_plate" ? e : null;
|
|
322
|
-
}), it = g(() => H.value ? Le.value.filter((e) => !
|
|
322
|
+
}), it = g(() => H.value ? Le.value.filter((e) => !F.value.some((t) => Z(t, e) >= cn)) : []), at = g(() => [...ut.map((e) => ({
|
|
323
323
|
key: e,
|
|
324
324
|
label: ct(e),
|
|
325
|
-
icon:
|
|
326
|
-
iconProps: { style: { color:
|
|
327
|
-
active:
|
|
325
|
+
icon: ye(e).icon,
|
|
326
|
+
iconProps: { style: { color: ye(e).color } },
|
|
327
|
+
active: F.value[je.value]?.label === e,
|
|
328
328
|
onClick: () => Cn(e)
|
|
329
329
|
})), {
|
|
330
330
|
key: "remove",
|
|
331
|
-
label:
|
|
331
|
+
label: ae("components.training_editor.remove_box"),
|
|
332
332
|
icon: We,
|
|
333
333
|
iconProps: { class: "text-red-500" },
|
|
334
334
|
labelProps: { class: "text-red-500" },
|
|
@@ -338,14 +338,14 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
338
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
|
-
return t === z.value ? 2 ** 53 - 1 :
|
|
341
|
+
return t === z.value ? 2 ** 53 - 1 : j.get(s(e)) ?? t;
|
|
342
342
|
}
|
|
343
343
|
function ct(e) {
|
|
344
344
|
let t = `components.training_editor.labels.${e}`;
|
|
345
|
-
return
|
|
345
|
+
return oe(t) ? ae(t) : e;
|
|
346
346
|
}
|
|
347
347
|
function J(e) {
|
|
348
|
-
return
|
|
348
|
+
return ye(e);
|
|
349
349
|
}
|
|
350
350
|
function Y(e) {
|
|
351
351
|
return `${e * 100}%`;
|
|
@@ -376,13 +376,13 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
376
376
|
};
|
|
377
377
|
}
|
|
378
378
|
function pt(e) {
|
|
379
|
-
|
|
379
|
+
F.value.push({
|
|
380
380
|
...e,
|
|
381
381
|
confidence: 1
|
|
382
|
-
}), z.value =
|
|
382
|
+
}), z.value = F.value.length - 1;
|
|
383
383
|
}
|
|
384
384
|
function mt() {
|
|
385
|
-
for (let e of it.value)
|
|
385
|
+
for (let e of it.value) F.value.push({
|
|
386
386
|
...e,
|
|
387
387
|
confidence: 1
|
|
388
388
|
});
|
|
@@ -395,7 +395,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
395
395
|
});
|
|
396
396
|
}
|
|
397
397
|
function gt(e) {
|
|
398
|
-
let t =
|
|
398
|
+
let t = ve.value?.getBoundingClientRect();
|
|
399
399
|
return !t || t.width === 0 || t.height === 0 ? {
|
|
400
400
|
x: 0,
|
|
401
401
|
y: 0
|
|
@@ -405,15 +405,15 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
405
405
|
};
|
|
406
406
|
}
|
|
407
407
|
function ln(e, t) {
|
|
408
|
-
|
|
408
|
+
L.value = {
|
|
409
409
|
...t,
|
|
410
410
|
clientX: e.clientX,
|
|
411
411
|
clientY: e.clientY,
|
|
412
412
|
moved: !1
|
|
413
|
-
},
|
|
413
|
+
}, ve.value?.setPointerCapture(e.pointerId);
|
|
414
414
|
}
|
|
415
415
|
function un(e) {
|
|
416
|
-
if (
|
|
416
|
+
if (N.value?.hide(), Re.value > 1 || !e.isPrimary) return;
|
|
417
417
|
let { x: t, y: n } = gt(e);
|
|
418
418
|
ln(e, {
|
|
419
419
|
mode: "draw",
|
|
@@ -438,12 +438,12 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
438
438
|
index: e,
|
|
439
439
|
startX: n,
|
|
440
440
|
startY: r,
|
|
441
|
-
origin: { ...
|
|
441
|
+
origin: { ...F.value[e] }
|
|
442
442
|
});
|
|
443
443
|
}
|
|
444
444
|
function fn(e, t, n) {
|
|
445
445
|
if (!n.isPrimary) return;
|
|
446
|
-
|
|
446
|
+
N.value?.hide();
|
|
447
447
|
let { x: r, y: i } = gt(n);
|
|
448
448
|
z.value = e, ln(n, {
|
|
449
449
|
mode: "resize",
|
|
@@ -451,20 +451,20 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
451
451
|
corner: t,
|
|
452
452
|
startX: r,
|
|
453
453
|
startY: i,
|
|
454
|
-
origin: { ...
|
|
454
|
+
origin: { ...F.value[e] }
|
|
455
455
|
});
|
|
456
456
|
}
|
|
457
457
|
function pn(e) {
|
|
458
|
-
e.touches.length > 1 &&
|
|
458
|
+
e.touches.length > 1 && L.value && (L.value = null, R.value = null, B.value = null), Je(e);
|
|
459
459
|
}
|
|
460
460
|
function mn(e) {
|
|
461
|
-
let t =
|
|
461
|
+
let t = L.value;
|
|
462
462
|
if (!t) return;
|
|
463
463
|
let { x: n, y: r } = gt(e), i = e.pointerType === "touch" ? Qt : Zt;
|
|
464
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") {
|
|
465
465
|
if (t.moved) {
|
|
466
466
|
let e = xn(t.startX, t.startY, n, r);
|
|
467
|
-
|
|
467
|
+
R.value = e.width >= Xt && e.height >= Xt ? {
|
|
468
468
|
label: Fe.value,
|
|
469
469
|
confidence: 1,
|
|
470
470
|
...e
|
|
@@ -474,31 +474,31 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
474
474
|
}
|
|
475
475
|
if (t.mode === "move") {
|
|
476
476
|
if (!t.moved) return;
|
|
477
|
-
let e =
|
|
477
|
+
let e = F.value[t.index];
|
|
478
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)));
|
|
479
479
|
return;
|
|
480
480
|
}
|
|
481
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(
|
|
482
|
+
Object.assign(F.value[t.index], xn(a, o, n, r));
|
|
483
483
|
}
|
|
484
484
|
function hn(e) {
|
|
485
|
-
let t =
|
|
486
|
-
if (
|
|
485
|
+
let t = L.value;
|
|
486
|
+
if (L.value = null, B.value = null, t) {
|
|
487
487
|
if (t.mode === "draw") {
|
|
488
|
-
|
|
488
|
+
R.value && R.value.width >= Xt && R.value.height >= Xt ? (F.value.push({ ...R.value }), z.value = F.value.length - 1) : t.moved || (z.value = -1), R.value = null;
|
|
489
489
|
return;
|
|
490
490
|
}
|
|
491
491
|
t.mode === "move" && !t.moved && Sn(t.index, e);
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
494
|
function gn(e) {
|
|
495
|
-
let t =
|
|
495
|
+
let t = ve.value?.getBoundingClientRect();
|
|
496
496
|
if (!t || t.width === 0) return !1;
|
|
497
|
-
let n = e.mode === "draw" ?
|
|
497
|
+
let n = e.mode === "draw" ? R.value : F.value[e.index];
|
|
498
498
|
return !n || Math.max(n.width * t.width, n.height * t.height) <= on;
|
|
499
499
|
}
|
|
500
500
|
function _n(e) {
|
|
501
|
-
let t =
|
|
501
|
+
let t = P.value?.getBoundingClientRect(), n = ge.value?.getBoundingClientRect();
|
|
502
502
|
if (!t || !n || t.width === 0 || t.height === 0) {
|
|
503
503
|
B.value = null;
|
|
504
504
|
return;
|
|
@@ -515,9 +515,9 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
515
515
|
}
|
|
516
516
|
function vn(e) {
|
|
517
517
|
let t = e instanceof HTMLElement || e instanceof SVGElement ? e : null;
|
|
518
|
-
if (!t ||
|
|
519
|
-
let n =
|
|
520
|
-
return !(n && n !==
|
|
518
|
+
if (!t || ge.value?.contains(t) || t.closest(".p-dialog-header") || t.closest("button")) return !1;
|
|
519
|
+
let n = M.value?.closest(".p-dialog-content")?.lastElementChild;
|
|
520
|
+
return !(n && n !== M.value && n.contains(t));
|
|
521
521
|
}
|
|
522
522
|
function yn(e) {
|
|
523
523
|
if (Oe = null, e.touches.length !== 1 || !vn(e.target)) return;
|
|
@@ -544,69 +544,69 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
544
544
|
}
|
|
545
545
|
function Sn(e, t) {
|
|
546
546
|
je.value = e;
|
|
547
|
-
let n =
|
|
548
|
-
|
|
547
|
+
let n = P.value?.querySelector(`[data-box-label="${e}"]`), r = { currentTarget: P.value ?? t.currentTarget };
|
|
548
|
+
N.value?.toggleMenu(r, n ?? void 0);
|
|
549
549
|
}
|
|
550
550
|
function Cn(e) {
|
|
551
|
-
let t =
|
|
551
|
+
let t = F.value[je.value];
|
|
552
552
|
t && (t.label = e, t.confidence = 1, Fe.value = e);
|
|
553
553
|
}
|
|
554
554
|
function wn(e) {
|
|
555
|
-
let t =
|
|
555
|
+
let t = F.value[z.value];
|
|
556
556
|
t && (t.text = (e ?? "").toUpperCase().replace(/[^A-Z0-9ÄÖÜ\- ]/g, "") || void 0);
|
|
557
557
|
}
|
|
558
558
|
function Tn(e) {
|
|
559
|
-
e < 0 || e >=
|
|
559
|
+
e < 0 || e >= F.value.length || (F.value.splice(e, 1), z.value = -1, je.value = -1, N.value?.hide());
|
|
560
560
|
}
|
|
561
561
|
function En(e, t = !0) {
|
|
562
|
-
e < 0 || e >= T.candidates.length || (t &&
|
|
562
|
+
e < 0 || e >= T.candidates.length || (t && ue.set(W.value.id, F.value.map((e) => ({ ...e }))), Le.value = F.value.map((e) => ({ ...e })), V.value = e, F.value = (ue.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, j.clear(), N.value?.hide(), Xe());
|
|
563
563
|
}
|
|
564
564
|
async function Dn(e) {
|
|
565
|
-
return await T.onSave(W.value.id,
|
|
565
|
+
return await T.onSave(W.value.id, F.value.map((e) => ({ ...e })), e), ue.set(W.value.id, F.value.map((e) => ({ ...e }))), e === "verified" && de.add(W.value.id), $(1, !1) ? null : void 0;
|
|
566
566
|
}
|
|
567
567
|
function $(e, t = !0) {
|
|
568
568
|
let n = V.value + e;
|
|
569
|
-
for (; n >= 0 && n < T.candidates.length &&
|
|
569
|
+
for (; n >= 0 && n < T.candidates.length && A.has(T.candidates[n].id);) n += e;
|
|
570
570
|
return n < 0 || n >= T.candidates.length ? !1 : (En(n, t), !0);
|
|
571
571
|
}
|
|
572
572
|
async function On() {
|
|
573
573
|
let e = W.value.id;
|
|
574
|
-
|
|
574
|
+
A.add(e);
|
|
575
575
|
try {
|
|
576
576
|
await T.onDelete(e);
|
|
577
577
|
} catch (t) {
|
|
578
|
-
throw
|
|
578
|
+
throw A.delete(e), t;
|
|
579
579
|
}
|
|
580
|
-
return
|
|
580
|
+
return ue.delete(e), $(1, !1) || $(-1, !1) ? null : void 0;
|
|
581
581
|
}
|
|
582
582
|
function kn(e) {
|
|
583
583
|
let t = !1;
|
|
584
|
-
for (let n of e) !
|
|
585
|
-
t && (
|
|
584
|
+
for (let n of e) !A.has(n) && T.candidates.some((e) => e.id === n) && (A.add(n), ue.delete(n), n === W.value.id && (t = !0));
|
|
585
|
+
t && (se.add({
|
|
586
586
|
severity: "warn",
|
|
587
|
-
detail:
|
|
587
|
+
detail: ae("components.training_editor.removed_meanwhile"),
|
|
588
588
|
life: 4e3
|
|
589
589
|
}), !$(1, !1) && !$(-1, !1) && re.value.close({ status: "cancel" }));
|
|
590
590
|
}
|
|
591
591
|
function An() {
|
|
592
592
|
for (let e of [1, -1]) {
|
|
593
593
|
let t = V.value + e;
|
|
594
|
-
for (; t >= 0 && t < T.candidates.length &&
|
|
594
|
+
for (; t >= 0 && t < T.candidates.length && A.has(T.candidates[t].id);) t += e;
|
|
595
595
|
let n = T.candidates[t];
|
|
596
596
|
n && (new Image().src = T.imageUrl(n.id));
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
599
|
function jn(e) {
|
|
600
|
-
|
|
600
|
+
F.value.length && (z.value = (z.value + e + F.value.length) % F.value.length);
|
|
601
601
|
}
|
|
602
602
|
function Mn(e) {
|
|
603
|
-
let t =
|
|
603
|
+
let t = F.value[z.value];
|
|
604
604
|
if (!t) return;
|
|
605
605
|
let n = ut, r = n[(n.indexOf(t.label) + e + n.length) % n.length];
|
|
606
606
|
t.label = r, t.confidence = 1, Fe.value = r;
|
|
607
607
|
}
|
|
608
608
|
function Nn(e, t, n) {
|
|
609
|
-
let r =
|
|
609
|
+
let r = F.value[z.value];
|
|
610
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))));
|
|
611
611
|
}
|
|
612
612
|
async function Pn() {
|
|
@@ -624,7 +624,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
624
624
|
}
|
|
625
625
|
}
|
|
626
626
|
ee(V, An, { immediate: !0 }), ee(G, (e, t) => {
|
|
627
|
-
t && t !== e &&
|
|
627
|
+
t && t !== e && F.value.includes(t) && j.set(s(t), --fe);
|
|
628
628
|
}), Ae(window, "keydown", (e) => {
|
|
629
629
|
if (e.target?.closest?.("input, textarea")) return;
|
|
630
630
|
let t = {
|
|
@@ -641,9 +641,9 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
641
641
|
} else !e.repeat && e.key === "ArrowLeft" ? $(-1) : !e.repeat && e.key === "ArrowRight" && $(1);
|
|
642
642
|
return;
|
|
643
643
|
}
|
|
644
|
-
e.repeat || (e.key === "Tab" ? (e.preventDefault(), jn(e.shiftKey ? -1 : 1)) : e.key === "Escape" ? (z.value = -1,
|
|
645
|
-
}), Ae(() =>
|
|
646
|
-
let Fn =
|
|
644
|
+
e.repeat || (e.key === "Tab" ? (e.preventDefault(), jn(e.shiftKey ? -1 : 1)) : e.key === "Escape" ? (z.value = -1, N.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 === " " && !N.value?.isOpen && (e.preventDefault(), Pn()));
|
|
645
|
+
}), Ae(() => M.value?.closest(".p-dialog-content") ?? void 0, "touchstart", yn, { passive: !0 }), Ae(() => M.value?.closest(".p-dialog-content") ?? void 0, "touchend", bn, { passive: !0 }), ce.connect();
|
|
646
|
+
let Fn = ce.onCandidatesChanged((e) => {
|
|
647
647
|
e.removed?.length && kn(e.removed);
|
|
648
648
|
});
|
|
649
649
|
return i(() => {
|
|
@@ -653,10 +653,10 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
653
653
|
onConfirm: () => Dn("verified"),
|
|
654
654
|
onCancel: () => On()
|
|
655
655
|
}), (t, i) => {
|
|
656
|
-
let o = ie, s = lt, p = Pe, g = Ue, ee =
|
|
656
|
+
let o = ie, s = lt, p = Pe, g = Ue, ee = we, x = _e, w = Ie, T = Ke, E = ne;
|
|
657
657
|
return r(), v("div", {
|
|
658
658
|
ref_key: "rootRef",
|
|
659
|
-
ref:
|
|
659
|
+
ref: M,
|
|
660
660
|
class: "flex flex-col gap-3 h-full min-h-0"
|
|
661
661
|
}, [
|
|
662
662
|
S("div", vt, [S("div", yt, [
|
|
@@ -666,7 +666,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
666
666
|
class: "shrink-0"
|
|
667
667
|
}, null, 8, ["severity", "value"]),
|
|
668
668
|
S("span", bt, a(u.cameraName(h(W).cameraId)), 1),
|
|
669
|
-
S("span", xt, a(h(
|
|
669
|
+
S("span", xt, a(h(he)(h(W).createdAt)), 1)
|
|
670
670
|
]), S("div", St, [h(Le).length > 0 ? te((r(), d(p, {
|
|
671
671
|
key: 0,
|
|
672
672
|
severity: h(H) ? "primary" : "secondary",
|
|
@@ -685,15 +685,15 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
685
685
|
]]) : f("", !0), S("span", Ct, a(h(Ze)) + " / " + a(h(Qe)), 1)])]),
|
|
686
686
|
S("div", {
|
|
687
687
|
ref_key: "stageRef",
|
|
688
|
-
ref:
|
|
688
|
+
ref: ge,
|
|
689
689
|
class: "stage relative w-full bg-black rounded-lg shrink-0 overflow-hidden select-none"
|
|
690
690
|
}, [
|
|
691
|
-
D(h(
|
|
691
|
+
D(h(xe), {
|
|
692
692
|
pan: h(ze),
|
|
693
693
|
"onUpdate:pan": i[10] ||= (e) => m(ze) ? ze.value = e : null,
|
|
694
694
|
zoom: h(Re),
|
|
695
695
|
"onUpdate:zoom": i[11] ||= (e) => m(Re) ? Re.value = e : null,
|
|
696
|
-
"pan-enabled": h(Re) > 1 && !h(
|
|
696
|
+
"pan-enabled": h(Re) > 1 && !h(L),
|
|
697
697
|
"enable-control-button": !1,
|
|
698
698
|
"dbl-click-enabled": !1,
|
|
699
699
|
"min-zoom": 1,
|
|
@@ -709,7 +709,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
709
709
|
}, {
|
|
710
710
|
default: _(() => [S("div", {
|
|
711
711
|
ref_key: "frameRef",
|
|
712
|
-
ref:
|
|
712
|
+
ref: P,
|
|
713
713
|
"data-stage-zoom": h(me),
|
|
714
714
|
class: "frame relative",
|
|
715
715
|
style: y({
|
|
@@ -725,7 +725,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
725
725
|
}, null, 40, Tt),
|
|
726
726
|
(r(), v("svg", {
|
|
727
727
|
ref_key: "svgRef",
|
|
728
|
-
ref:
|
|
728
|
+
ref: ve,
|
|
729
729
|
class: c(["absolute inset-0 w-full h-full touch-none", h(Re) > 1 ? "cursor-grab" : "cursor-crosshair"]),
|
|
730
730
|
onPointerdown: un,
|
|
731
731
|
onPointermove: mn,
|
|
@@ -746,7 +746,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
746
746
|
onPointerdown: e((e) => dn(a, e), ["stop"]),
|
|
747
747
|
onTouchstart: i[1] ||= e(() => {}, ["stop"]),
|
|
748
748
|
onMousedown: i[2] ||= e(() => {}, ["stop"])
|
|
749
|
-
}, null, 40, Et), (r(), v(b, null, n(
|
|
749
|
+
}, null, 40, Et), (r(), v(b, null, n(le, (n) => S("g", {
|
|
750
750
|
key: n,
|
|
751
751
|
class: "cursor-nwse-resize",
|
|
752
752
|
onPointerdown: e((e) => fn(a, n, e), ["stop"]),
|
|
@@ -777,14 +777,14 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
777
777
|
"vector-effect": "non-scaling-stroke",
|
|
778
778
|
class: "pointer-events-none"
|
|
779
779
|
}, null, 8, At))), 128)),
|
|
780
|
-
h(
|
|
780
|
+
h(R) ? (r(), v("rect", {
|
|
781
781
|
key: 0,
|
|
782
|
-
x: Y(h(
|
|
783
|
-
y: Y(h(
|
|
784
|
-
width: Y(h(
|
|
785
|
-
height: Y(h(
|
|
786
|
-
stroke: J(h(
|
|
787
|
-
fill: J(h(
|
|
782
|
+
x: Y(h(R).x),
|
|
783
|
+
y: Y(h(R).y),
|
|
784
|
+
width: Y(h(R).width),
|
|
785
|
+
height: Y(h(R).height),
|
|
786
|
+
stroke: J(h(R).label).color,
|
|
787
|
+
fill: J(h(R).label).color,
|
|
788
788
|
"fill-opacity": "0.1",
|
|
789
789
|
"stroke-dasharray": "6 4",
|
|
790
790
|
"stroke-width": "2",
|
|
@@ -806,7 +806,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
806
806
|
void 0,
|
|
807
807
|
{ top: !0 }
|
|
808
808
|
]])), 128)),
|
|
809
|
-
(r(!0), v(b, null, n(h(
|
|
809
|
+
(r(!0), v(b, null, n(h(F), (t, n) => (r(), v("div", {
|
|
810
810
|
key: `label-${n}`,
|
|
811
811
|
class: c(["bbox-label cursor-move", {
|
|
812
812
|
"label-bottom": h(q)(t) === "below",
|
|
@@ -866,7 +866,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
866
866
|
src: u.imageUrl(h(W).id),
|
|
867
867
|
class: "absolute inset-0 w-full h-full",
|
|
868
868
|
draggable: "false"
|
|
869
|
-
}, null, 8, Lt), (r(), v("svg", Rt, [(r(!0), v(b, null, n(h(
|
|
869
|
+
}, null, 8, Lt), (r(), v("svg", Rt, [(r(!0), v(b, null, n(h(F), (e, t) => (r(), v("rect", {
|
|
870
870
|
key: t,
|
|
871
871
|
x: Y(e.x),
|
|
872
872
|
y: Y(e.y),
|
|
@@ -876,14 +876,14 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
876
876
|
fill: J(e.label).color,
|
|
877
877
|
"fill-opacity": "0.1",
|
|
878
878
|
"stroke-width": "1.5"
|
|
879
|
-
}, null, 8, zt))), 128)), h(
|
|
879
|
+
}, null, 8, zt))), 128)), h(R) ? (r(), v("rect", {
|
|
880
880
|
key: 0,
|
|
881
|
-
x: Y(h(
|
|
882
|
-
y: Y(h(
|
|
883
|
-
width: Y(h(
|
|
884
|
-
height: Y(h(
|
|
885
|
-
stroke: J(h(
|
|
886
|
-
fill: J(h(
|
|
881
|
+
x: Y(h(R).x),
|
|
882
|
+
y: Y(h(R).y),
|
|
883
|
+
width: Y(h(R).width),
|
|
884
|
+
height: Y(h(R).height),
|
|
885
|
+
stroke: J(h(R).label).color,
|
|
886
|
+
fill: J(h(R).label).color,
|
|
887
887
|
"fill-opacity": "0.1",
|
|
888
888
|
"stroke-dasharray": "4 3",
|
|
889
889
|
"stroke-width": "1.5"
|
|
@@ -928,12 +928,12 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
928
928
|
text: "",
|
|
929
929
|
rounded: "",
|
|
930
930
|
class: "cui-icon-sm shrink-0",
|
|
931
|
-
onClick: i[14] ||= (e) =>
|
|
931
|
+
onClick: i[14] ||= (e) => Ce.value = !h(Ce)
|
|
932
932
|
}, {
|
|
933
933
|
icon: _(() => [D(T, { class: "w-4 h-4" })]),
|
|
934
934
|
_: 1
|
|
935
935
|
})) : f("", !0)]), S("span", Jt, a(t.$t("components.training_editor.hint_wrong")), 1)]),
|
|
936
|
-
h(De) && h(
|
|
936
|
+
h(De) && h(Ce) ? (r(), v("div", Yt, [
|
|
937
937
|
i[16] ||= S("span", null, [S("kbd", null, "Tab")], -1),
|
|
938
938
|
S("span", null, a(t.$t("components.training_editor.sc_select")), 1),
|
|
939
939
|
i[17] ||= C(),
|
|
@@ -976,9 +976,9 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
976
976
|
], -1),
|
|
977
977
|
S("span", null, a(t.$t("components.training_editor.sc_nav")), 1)
|
|
978
978
|
])) : f("", !0),
|
|
979
|
-
D(
|
|
979
|
+
D(k, {
|
|
980
980
|
ref_key: "labelMenuRef",
|
|
981
|
-
ref:
|
|
981
|
+
ref: N,
|
|
982
982
|
items: h(at),
|
|
983
983
|
popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
|
|
984
984
|
}, null, 8, ["items"])
|
|
@@ -1000,17 +1000,17 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1000
1000
|
}, Sn = /* @__PURE__ */ T({
|
|
1001
1001
|
__name: "TrainingSubmissions",
|
|
1002
1002
|
setup(e) {
|
|
1003
|
-
let t = new st(), { t: o, te: s } = Ne(), c =
|
|
1004
|
-
function
|
|
1003
|
+
let t = new st(), { t: o, te: s } = Ne(), c = Te(), 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");
|
|
1004
|
+
function ae(e) {
|
|
1005
1005
|
let t = {};
|
|
1006
1006
|
for (let n of e.labels) t[n.label] = (t[n.label] ?? 0) + 1;
|
|
1007
1007
|
return t;
|
|
1008
1008
|
}
|
|
1009
|
-
function
|
|
1009
|
+
function oe(e) {
|
|
1010
1010
|
let t = `components.training_editor.labels.${e}`;
|
|
1011
1011
|
return s(t) ? o(t) : e;
|
|
1012
1012
|
}
|
|
1013
|
-
async function
|
|
1013
|
+
async function k() {
|
|
1014
1014
|
w.value = m.value.length === 0;
|
|
1015
1015
|
try {
|
|
1016
1016
|
let e = await it();
|
|
@@ -1021,7 +1021,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1021
1021
|
w.value = !1;
|
|
1022
1022
|
}
|
|
1023
1023
|
}
|
|
1024
|
-
async function
|
|
1024
|
+
async function ce() {
|
|
1025
1025
|
let e = C.value;
|
|
1026
1026
|
if (e && !T.value) {
|
|
1027
1027
|
T.value = !0;
|
|
@@ -1039,7 +1039,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1039
1039
|
}
|
|
1040
1040
|
}
|
|
1041
1041
|
}
|
|
1042
|
-
async function
|
|
1042
|
+
async function le(e) {
|
|
1043
1043
|
p.value = e;
|
|
1044
1044
|
try {
|
|
1045
1045
|
await u.mutateAsync(e), m.value = m.value.filter((t) => t.id !== e), g.value = Math.max(0, g.value - 1);
|
|
@@ -1054,17 +1054,17 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1054
1054
|
}
|
|
1055
1055
|
}
|
|
1056
1056
|
Oe(re, ([e]) => {
|
|
1057
|
-
e?.isIntersecting &&
|
|
1057
|
+
e?.isIntersecting && ce();
|
|
1058
1058
|
}), ee(() => l.submitProgress.value?.active, (e, t) => {
|
|
1059
|
-
t && !e &&
|
|
1059
|
+
t && !e && k();
|
|
1060
1060
|
});
|
|
1061
|
-
let
|
|
1062
|
-
|
|
1061
|
+
let ue = l.onResync(() => {
|
|
1062
|
+
k();
|
|
1063
1063
|
});
|
|
1064
1064
|
return i(() => {
|
|
1065
|
-
|
|
1066
|
-
}),
|
|
1067
|
-
let i =
|
|
1065
|
+
ue();
|
|
1066
|
+
}), k(), (e, t) => {
|
|
1067
|
+
let i = ve, o = Ve, s = A, c = se, l = ie, ee = We, x = Pe, E = P, k = ne;
|
|
1068
1068
|
return r(), v("div", un, [h(w) ? (r(), v("div", dn, [(r(), v(b, null, n(4, (e) => D(i, {
|
|
1069
1069
|
key: e,
|
|
1070
1070
|
height: "72px",
|
|
@@ -1080,11 +1080,11 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1080
1080
|
"image-container-class": "w-full h-full",
|
|
1081
1081
|
"image-style": { objectFit: "cover" }
|
|
1082
1082
|
}, null, 8, ["src"])]),
|
|
1083
|
-
S("div", vn, [S("div", yn, [(r(!0), v(b, null, n(
|
|
1083
|
+
S("div", vn, [S("div", yn, [(r(!0), v(b, null, n(ae(t), (e, t) => (r(), v("span", {
|
|
1084
1084
|
key: t,
|
|
1085
1085
|
class: "px-1.5 py-0.5 rounded text-xs font-medium text-white",
|
|
1086
|
-
style: y({ backgroundColor: h(
|
|
1087
|
-
}, a(
|
|
1086
|
+
style: y({ backgroundColor: h(ye)(String(t)).color })
|
|
1087
|
+
}, a(oe(String(t))) + " ×" + a(e), 5))), 128))]), S("div", bn, a(h(he)(new Date(t.createdAt).getTime())), 1)]),
|
|
1088
1088
|
D(l, {
|
|
1089
1089
|
severity: t.usedInWave ? "success" : "info",
|
|
1090
1090
|
value: t.usedInWave ? e.$t("components.training_submissions.status_trained") : e.$t("components.training_submissions.status_pool"),
|
|
@@ -1096,7 +1096,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1096
1096
|
rounded: "",
|
|
1097
1097
|
class: "cui-icon-sm shrink-0",
|
|
1098
1098
|
loading: h(u).isPending.value && h(p) === t.id,
|
|
1099
|
-
onClick: (e) =>
|
|
1099
|
+
onClick: (e) => le(t.id)
|
|
1100
1100
|
}, {
|
|
1101
1101
|
icon: _(() => [D(ee, {
|
|
1102
1102
|
width: "100%",
|
|
@@ -1104,7 +1104,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1104
1104
|
})]),
|
|
1105
1105
|
_: 1
|
|
1106
1106
|
}, 8, ["loading", "onClick"])), [[
|
|
1107
|
-
|
|
1107
|
+
k,
|
|
1108
1108
|
e.$t("components.training_submissions.delete"),
|
|
1109
1109
|
void 0,
|
|
1110
1110
|
{ left: !0 }
|
|
@@ -1140,27 +1140,27 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1140
1140
|
}, zn = {
|
|
1141
1141
|
key: 1,
|
|
1142
1142
|
class: "absolute top-1.5 right-1.5 dark-mode"
|
|
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__*/
|
|
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__*/ j(/* @__PURE__ */ T({
|
|
1144
1144
|
__name: "Training",
|
|
1145
1145
|
setup(t) {
|
|
1146
|
-
let o = new
|
|
1146
|
+
let o = new ue(), s = new st(), { t: l, te: u } = Ne(), p = F(), w = Te(), { smBreakpoint: T } = de(), O = s.getCandidatesQuery(), le = s.getSettingsQuery(), A = s.patchCandidateMutation(), j = s.deleteCandidateMutation(), me = s.patchSettingsMutation(), M = s.submitCandidatesMutation(), _e = _t(), { data: xe } = o.getCamerasQuery({
|
|
1147
1147
|
page: 1,
|
|
1148
1148
|
pageSize: -1
|
|
1149
|
-
}),
|
|
1149
|
+
}), I = E(""), L = De("cui-training-status-filter", "all"), Se = E(Gn), z = x("statusMenuRef"), we = 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(() => {
|
|
1150
1150
|
let e = [...new Set((O.data.value ?? []).map((e) => Q(e.cameraId)))].sort((e, t) => e.localeCompare(t));
|
|
1151
1151
|
return [{
|
|
1152
1152
|
key: "all",
|
|
1153
1153
|
label: l("views.training.all_cameras"),
|
|
1154
|
-
active:
|
|
1154
|
+
active: I.value === "",
|
|
1155
1155
|
onClick: () => {
|
|
1156
|
-
|
|
1156
|
+
I.value = "";
|
|
1157
1157
|
}
|
|
1158
1158
|
}, ...e.map((e) => ({
|
|
1159
1159
|
key: e,
|
|
1160
1160
|
label: e,
|
|
1161
|
-
active:
|
|
1161
|
+
active: I.value === e,
|
|
1162
1162
|
onClick: () => {
|
|
1163
|
-
|
|
1163
|
+
I.value = e;
|
|
1164
1164
|
}
|
|
1165
1165
|
}))];
|
|
1166
1166
|
}), Ye = g(() => [{
|
|
@@ -1168,14 +1168,14 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1168
1168
|
label: l("views.training.collection_enabled"),
|
|
1169
1169
|
description: l("views.training.collection_hint"),
|
|
1170
1170
|
toggle: !0,
|
|
1171
|
-
toggleState:
|
|
1171
|
+
toggleState: le.data.value?.enabled ?? !0,
|
|
1172
1172
|
onClick: () => {
|
|
1173
|
-
Tt(!(
|
|
1173
|
+
Tt(!(le.data.value?.enabled ?? !0));
|
|
1174
1174
|
}
|
|
1175
1175
|
}]), U = g(() => {
|
|
1176
|
-
let e =
|
|
1176
|
+
let e = I.value.trim().toLowerCase();
|
|
1177
1177
|
return e ? (O.data.value ?? []).filter((t) => Q(t.cameraId).toLowerCase().includes(e)) : O.data.value ?? [];
|
|
1178
|
-
}), W = g(() =>
|
|
1178
|
+
}), W = g(() => L.value === "all" ? U.value : U.value.filter((e) => e.status === L.value)), Qe = g(() => {
|
|
1179
1179
|
let e = {
|
|
1180
1180
|
all: U.value.length,
|
|
1181
1181
|
new: 0,
|
|
@@ -1191,11 +1191,11 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1191
1191
|
key: e,
|
|
1192
1192
|
label: l(`views.training.status_${e}`),
|
|
1193
1193
|
badge: String(Qe.value[e]),
|
|
1194
|
-
active:
|
|
1194
|
+
active: L.value === e,
|
|
1195
1195
|
onClick: () => {
|
|
1196
|
-
|
|
1196
|
+
L.value = e;
|
|
1197
1197
|
}
|
|
1198
|
-
}))), tt = g(() =>
|
|
1198
|
+
}))), tt = g(() => L.value !== "all" || I.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(() => _e.submitProgress.value ? _e.submitProgress.value : G.value > 0 ? {
|
|
1199
1199
|
active: !0,
|
|
1200
1200
|
total: G.value,
|
|
1201
1201
|
done: 0,
|
|
@@ -1204,12 +1204,12 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1204
1204
|
function at(e) {
|
|
1205
1205
|
return e.upload === "queued" || e.upload === "uploading";
|
|
1206
1206
|
}
|
|
1207
|
-
let { selectionMode: q, selectedIds: ot, allSelected: ct, bulkBusy: J, enterSelectionMode: lt, exitSelectionMode: ut, toggleSelectAll: X, toggleSelection: dt } =
|
|
1207
|
+
let { selectionMode: q, selectedIds: ot, allSelected: ct, bulkBusy: J, enterSelectionMode: lt, exitSelectionMode: ut, toggleSelectAll: X, toggleSelection: dt } = pe(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));
|
|
1208
1208
|
function Q(e) {
|
|
1209
|
-
return
|
|
1209
|
+
return xe.value?.result?.find((t) => t._id === e)?.name ?? e;
|
|
1210
1210
|
}
|
|
1211
1211
|
function pt(e) {
|
|
1212
|
-
return
|
|
1212
|
+
return ge(`/api/training/candidates/${e}/image`) ?? "";
|
|
1213
1213
|
}
|
|
1214
1214
|
function mt(e) {
|
|
1215
1215
|
let t = `components.training_editor.labels.${e}`;
|
|
@@ -1248,7 +1248,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1248
1248
|
cameraName: Q,
|
|
1249
1249
|
imageUrl: pt,
|
|
1250
1250
|
onSave: async (e, t, n) => {
|
|
1251
|
-
await
|
|
1251
|
+
await A.mutateAsync({
|
|
1252
1252
|
id: e,
|
|
1253
1253
|
patch: {
|
|
1254
1254
|
boxes: t,
|
|
@@ -1257,7 +1257,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1257
1257
|
});
|
|
1258
1258
|
},
|
|
1259
1259
|
onDelete: async (e) => {
|
|
1260
|
-
await
|
|
1260
|
+
await j.mutateAsync(e);
|
|
1261
1261
|
}
|
|
1262
1262
|
}
|
|
1263
1263
|
},
|
|
@@ -1276,7 +1276,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1276
1276
|
});
|
|
1277
1277
|
}
|
|
1278
1278
|
function St(e) {
|
|
1279
|
-
e.length && !
|
|
1279
|
+
e.length && !M.isPending.value && p.openTextDialog({
|
|
1280
1280
|
data: {
|
|
1281
1281
|
title: l("components.dialog.title.confirm"),
|
|
1282
1282
|
contentText: l("views.training.submit_confirm", { count: e.length }),
|
|
@@ -1284,7 +1284,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1284
1284
|
},
|
|
1285
1285
|
onConfirm: async () => {
|
|
1286
1286
|
try {
|
|
1287
|
-
await
|
|
1287
|
+
await M.mutateAsync(e), ut();
|
|
1288
1288
|
} catch (e) {
|
|
1289
1289
|
w.add({
|
|
1290
1290
|
severity: "error",
|
|
@@ -1307,7 +1307,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1307
1307
|
onConfirm: async () => {
|
|
1308
1308
|
J.value = !0;
|
|
1309
1309
|
try {
|
|
1310
|
-
for (let t of e) await
|
|
1310
|
+
for (let t of e) await j.mutateAsync(t);
|
|
1311
1311
|
ut(), w.add({
|
|
1312
1312
|
severity: "success",
|
|
1313
1313
|
detail: l("views.training.delete_selected_done", { count: e.length }),
|
|
@@ -1326,23 +1326,23 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1326
1326
|
});
|
|
1327
1327
|
}
|
|
1328
1328
|
async function wt(e) {
|
|
1329
|
-
await
|
|
1329
|
+
await j.mutateAsync(e.id);
|
|
1330
1330
|
}
|
|
1331
1331
|
async function Tt(e) {
|
|
1332
|
-
await
|
|
1332
|
+
await me.mutateAsync({ enabled: e });
|
|
1333
1333
|
}
|
|
1334
|
-
ee([
|
|
1334
|
+
ee([I, L], () => {
|
|
1335
1335
|
Se.value = Gn;
|
|
1336
1336
|
}), Oe(Ae, ([e]) => {
|
|
1337
1337
|
e?.isIntersecting && vt();
|
|
1338
|
-
}),
|
|
1339
|
-
let Et =
|
|
1338
|
+
}), _e.connect();
|
|
1339
|
+
let Et = _e.onCandidatesChanged(() => {
|
|
1340
1340
|
O.refetch();
|
|
1341
1341
|
});
|
|
1342
1342
|
return i(() => {
|
|
1343
1343
|
Et();
|
|
1344
1344
|
}), (t, i) => {
|
|
1345
|
-
let o = Ge, s = Pe, u =
|
|
1345
|
+
let o = Ge, s = Pe, u = R, p = Be, g = V, ee = Ie, x = Fe, w = Ze, E = ce, le = re, ue = fe, A = Xe, de = qe, j = P, pe = Re, me = Ve, ge = He, F = H, xe = ze, Se = ve, Te = Ce, De = se, B = ie, Oe = We, Ne = Le, Qe = je, G = be, it = ae, st = ne;
|
|
1346
1346
|
return r(), v("div", wn, [
|
|
1347
1347
|
h(T) ? f("", !0) : (r(), v("h1", Tn, a(t.$t("views.training.title")), 1)),
|
|
1348
1348
|
D(u, { position: "left" }, {
|
|
@@ -1362,15 +1362,15 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1362
1362
|
_: 1
|
|
1363
1363
|
}),
|
|
1364
1364
|
S("div", Dn, [
|
|
1365
|
-
D(
|
|
1365
|
+
D(ue, { class: "flex-1" }, {
|
|
1366
1366
|
default: _(() => [
|
|
1367
1367
|
D(x, { class: "flex-1" }, {
|
|
1368
1368
|
default: _(() => [D(g, null, {
|
|
1369
1369
|
default: _(() => [D(p, { class: "w-4 h-4" })]),
|
|
1370
1370
|
_: 1
|
|
1371
1371
|
}), D(ee, {
|
|
1372
|
-
modelValue: h(
|
|
1373
|
-
"onUpdate:modelValue": i[1] ||= (e) => m(
|
|
1372
|
+
modelValue: h(I),
|
|
1373
|
+
"onUpdate:modelValue": i[1] ||= (e) => m(I) ? I.value = e : null,
|
|
1374
1374
|
placeholder: h(l)("views.training.search"),
|
|
1375
1375
|
class: "w-full"
|
|
1376
1376
|
}, null, 8, ["modelValue", "placeholder"])]),
|
|
@@ -1380,8 +1380,8 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1380
1380
|
default: _(() => [D(s, {
|
|
1381
1381
|
severity: "secondary",
|
|
1382
1382
|
text: "",
|
|
1383
|
-
class: c(h(
|
|
1384
|
-
onClick: i[2] ||= (e) => h(
|
|
1383
|
+
class: c(h(L) === "all" ? "text-color" : "text-primary"),
|
|
1384
|
+
onClick: i[2] ||= (e) => h(z)?.toggleMenu(e)
|
|
1385
1385
|
}, {
|
|
1386
1386
|
icon: _(() => [D(w, { class: "w-4 h-4" })]),
|
|
1387
1387
|
_: 1
|
|
@@ -1393,9 +1393,9 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1393
1393
|
severity: "secondary",
|
|
1394
1394
|
text: "",
|
|
1395
1395
|
class: "text-color",
|
|
1396
|
-
onClick: i[3] ||= (e) => h(
|
|
1396
|
+
onClick: i[3] ||= (e) => h(we)?.toggleMenu(e)
|
|
1397
1397
|
}, {
|
|
1398
|
-
icon: _(() => [D(
|
|
1398
|
+
icon: _(() => [D(le, { class: c(["w-4 h-4 transform transition-transform duration-300", { "rotate-180": h(we)?.isOpen }]) }, null, 8, ["class"])]),
|
|
1399
1399
|
_: 1
|
|
1400
1400
|
})]),
|
|
1401
1401
|
_: 1
|
|
@@ -1409,7 +1409,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1409
1409
|
class: "cui-button shrink-0",
|
|
1410
1410
|
onClick: xt
|
|
1411
1411
|
}, {
|
|
1412
|
-
icon: _(() => [D(
|
|
1412
|
+
icon: _(() => [D(A, { class: "w-4.5 h-4.5" })]),
|
|
1413
1413
|
_: 1
|
|
1414
1414
|
})), [[
|
|
1415
1415
|
st,
|
|
@@ -1423,7 +1423,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1423
1423
|
class: "cui-button shrink-0",
|
|
1424
1424
|
onClick: i[4] ||= (e) => h(ke)?.toggleMenu(e)
|
|
1425
1425
|
}, {
|
|
1426
|
-
icon: _(() => [D(
|
|
1426
|
+
icon: _(() => [D(de, { class: "w-4.5 h-4.5" })]),
|
|
1427
1427
|
_: 1
|
|
1428
1428
|
})), [[
|
|
1429
1429
|
st,
|
|
@@ -1432,16 +1432,16 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1432
1432
|
{ left: !0 }
|
|
1433
1433
|
]])
|
|
1434
1434
|
]),
|
|
1435
|
-
h(K) ? (r(), v("div", $, [h(K).active ? (r(), v(b, { key: 0 }, [D(
|
|
1435
|
+
h(K) ? (r(), v("div", $, [h(K).active ? (r(), v(b, { key: 0 }, [D(j, { class: "w-4 h-4 text-primary shrink-0" }), S("div", On, [S("div", kn, a(t.$t("views.training.upload_progress", {
|
|
1436
1436
|
done: h(K).done + h(K).failed,
|
|
1437
1437
|
total: h(K).total
|
|
1438
|
-
})), 1), D(
|
|
1438
|
+
})), 1), D(pe, {
|
|
1439
1439
|
value: h(K).total ? Math.round((h(K).done + h(K).failed) / h(K).total * 100) : 0,
|
|
1440
1440
|
"show-value": !1,
|
|
1441
1441
|
style: { height: "6px" },
|
|
1442
1442
|
class: "mt-1.5"
|
|
1443
1443
|
}, null, 8, ["value"])])], 64)) : (r(), v(b, { key: 1 }, [
|
|
1444
|
-
h(K).failed ? (r(), d(
|
|
1444
|
+
h(K).failed ? (r(), d(me, {
|
|
1445
1445
|
key: 0,
|
|
1446
1446
|
class: "w-5 h-5 text-red-500 shrink-0"
|
|
1447
1447
|
})) : (r(), d(ge, {
|
|
@@ -1454,12 +1454,12 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1454
1454
|
text: "",
|
|
1455
1455
|
rounded: "",
|
|
1456
1456
|
class: "cui-icon-sm shrink-0",
|
|
1457
|
-
onClick: i[5] ||= (e) => h(
|
|
1457
|
+
onClick: i[5] ||= (e) => h(_e).dismissProgress()
|
|
1458
1458
|
}, {
|
|
1459
|
-
icon: _(() => [D(
|
|
1459
|
+
icon: _(() => [D(F, { class: "w-4 h-4" })]),
|
|
1460
1460
|
_: 1
|
|
1461
1461
|
})
|
|
1462
|
-
], 64))])) : h(U).length && !h(Z).length ? (r(), v("div", jn, [D(
|
|
1462
|
+
], 64))])) : h(U).length && !h(Z).length ? (r(), v("div", jn, [D(xe, { class: "w-5 h-5 text-primary shrink-0" }), S("span", Mn, a(t.$t("views.training.verify_hint")), 1)])) : f("", !0),
|
|
1463
1463
|
S("div", {
|
|
1464
1464
|
ref_key: "scrollRef",
|
|
1465
1465
|
ref: Me,
|
|
@@ -1471,18 +1471,18 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1471
1471
|
}, [(r(), v(b, null, n(8, (e) => S("div", {
|
|
1472
1472
|
key: e,
|
|
1473
1473
|
class: "cui-card overflow-hidden"
|
|
1474
|
-
}, [D(
|
|
1474
|
+
}, [D(Se, {
|
|
1475
1475
|
class: "aspect-video",
|
|
1476
1476
|
width: "100%",
|
|
1477
1477
|
height: "100%"
|
|
1478
|
-
}), S("div", Nn, [D(
|
|
1478
|
+
}), S("div", Nn, [D(Se, {
|
|
1479
1479
|
height: "14px",
|
|
1480
1480
|
width: "70%",
|
|
1481
1481
|
class: "mb-1"
|
|
1482
|
-
}), D(
|
|
1482
|
+
}), D(Se, {
|
|
1483
1483
|
height: "12px",
|
|
1484
1484
|
width: "40%"
|
|
1485
|
-
})])])), 64))], 4)) : h(W).length === 0 ? (r(), v("div", Pn, [D(
|
|
1485
|
+
})])])), 64))], 4)) : h(W).length === 0 ? (r(), v("div", Pn, [D(Te, { 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", {
|
|
1486
1486
|
class: "grid w-full gap-3 p-px",
|
|
1487
1487
|
style: y(h(Ke))
|
|
1488
1488
|
}, [(r(!0), v(b, null, n(h(nt), (o) => (r(), d(Qe, {
|
|
@@ -1508,7 +1508,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1508
1508
|
S("div", Ln, [(r(!0), v(b, null, n(ht(o), (e, t) => (r(), v("span", {
|
|
1509
1509
|
key: t,
|
|
1510
1510
|
class: "px-1.5 py-0.5 rounded text-xs font-medium text-white",
|
|
1511
|
-
style: y({ backgroundColor: h(
|
|
1511
|
+
style: y({ backgroundColor: h(ye)(String(t)).color })
|
|
1512
1512
|
}, a(mt(String(t))) + " ×" + a(e), 5))), 128))]),
|
|
1513
1513
|
o.upload ? (r(), v("div", Rn, [o.upload === "failed" ? te((r(), d(B, {
|
|
1514
1514
|
key: 0,
|
|
@@ -1554,7 +1554,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1554
1554
|
size: "small",
|
|
1555
1555
|
onClick: i[6] ||= e(() => {}, ["stop"]),
|
|
1556
1556
|
"onUpdate:modelValue": (e) => h(dt)(o.id)
|
|
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(
|
|
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(he)(o.createdAt)), 1)])]), D(B, {
|
|
1558
1558
|
severity: gt(o.status),
|
|
1559
1559
|
value: t.$t(`views.training.status_${o.status}`)
|
|
1560
1560
|
}, null, 8, ["severity", "value"])])]),
|
|
@@ -1590,7 +1590,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1590
1590
|
grouped: "",
|
|
1591
1591
|
"tooltip-props": { value: h(ct) ? t.$t("views.training.deselect_all") : t.$t("views.training.select_all") },
|
|
1592
1592
|
"button-props": { severity: h(ct) ? "primary" : "secondary" },
|
|
1593
|
-
icon: h(
|
|
1593
|
+
icon: h(N),
|
|
1594
1594
|
"icon-props": {
|
|
1595
1595
|
width: "100%",
|
|
1596
1596
|
height: "100%"
|
|
@@ -1605,7 +1605,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1605
1605
|
D(G, {
|
|
1606
1606
|
grouped: "",
|
|
1607
1607
|
"tooltip-props": { value: t.$t("views.training.submit_selected") },
|
|
1608
|
-
"button-props": { disabled: !h(ft).length || h(
|
|
1608
|
+
"button-props": { disabled: !h(ft).length || h(M).isPending.value },
|
|
1609
1609
|
icon: h(et),
|
|
1610
1610
|
"icon-props": {
|
|
1611
1611
|
width: "100%",
|
|
@@ -1624,7 +1624,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1624
1624
|
severity: "danger",
|
|
1625
1625
|
disabled: !h(ot).size || h(J)
|
|
1626
1626
|
},
|
|
1627
|
-
icon: h(
|
|
1627
|
+
icon: h(oe),
|
|
1628
1628
|
"icon-props": {
|
|
1629
1629
|
width: "100%",
|
|
1630
1630
|
height: "100%"
|
|
@@ -1654,7 +1654,7 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1654
1654
|
"tooltip-props": { value: h(Z).length ? t.$t("views.training.submit_ready", h(Z).length) : t.$t("views.training.submit_disabled") },
|
|
1655
1655
|
"button-props": {
|
|
1656
1656
|
class: "text-white",
|
|
1657
|
-
disabled: !h(Z).length || h(
|
|
1657
|
+
disabled: !h(Z).length || h(M).isPending.value
|
|
1658
1658
|
},
|
|
1659
1659
|
icon: h(et),
|
|
1660
1660
|
"icon-props": {
|
|
@@ -1669,19 +1669,19 @@ var vt = { class: "flex items-center justify-between gap-2 text-sm" }, yt = { cl
|
|
|
1669
1669
|
])], 64))]),
|
|
1670
1670
|
_: 1
|
|
1671
1671
|
}, 8, ["force-visible", "scroll-y"])) : f("", !0),
|
|
1672
|
-
D(
|
|
1672
|
+
D(k, {
|
|
1673
1673
|
ref_key: "statusMenuRef",
|
|
1674
|
-
ref:
|
|
1674
|
+
ref: z,
|
|
1675
1675
|
items: h($e),
|
|
1676
1676
|
popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
|
|
1677
1677
|
}, null, 8, ["items"]),
|
|
1678
|
-
D(
|
|
1678
|
+
D(k, {
|
|
1679
1679
|
ref_key: "cameraMenuRef",
|
|
1680
|
-
ref:
|
|
1680
|
+
ref: we,
|
|
1681
1681
|
items: h(Je),
|
|
1682
1682
|
popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
|
|
1683
1683
|
}, null, 8, ["items"]),
|
|
1684
|
-
D(
|
|
1684
|
+
D(k, {
|
|
1685
1685
|
ref_key: "settingsMenuRef",
|
|
1686
1686
|
ref: ke,
|
|
1687
1687
|
items: h(Ye),
|