@camera.ui/server 2.2.7 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (958) hide show
  1. package/LICENSE.md +8 -1
  2. package/dist/interface/assets/404-C0X5UBF4.js +1 -0
  3. package/dist/interface/assets/About-Ctp_u5qK.js +1 -0
  4. package/dist/interface/assets/Assistant-Bj2bAUHD.css +1 -0
  5. package/dist/interface/assets/Assistant-CDrBV_mg.js +1 -0
  6. package/dist/interface/assets/Automation-Dp6V80Iz.js +3 -0
  7. package/dist/interface/assets/Automation-R5o9sXYY.css +1 -0
  8. package/dist/interface/assets/AutomationImport-DKgg7atE.js +2 -0
  9. package/dist/interface/assets/AutomationStore-CU-m5VC8.js +2 -0
  10. package/dist/interface/assets/AutomationStoreDetail-CiyIs8Iu.js +2 -0
  11. package/dist/interface/assets/Automations-Dljh-sWu.js +2 -0
  12. package/dist/interface/assets/Camera-0p0P_mbp.css +1 -0
  13. package/dist/interface/assets/Camera-Bvovab-8.js +2 -0
  14. package/dist/interface/assets/CameraConsole-D_Fv-MAi.js +7 -0
  15. package/dist/interface/assets/Cameras-Cq7Gw-fk.js +651 -0
  16. package/dist/interface/assets/Camview-Bs2VvmUS.css +1 -0
  17. package/dist/interface/assets/Camview-CP6PA20C.js +1 -0
  18. package/dist/interface/assets/CertificateUpload-DjzNMFc3.js +1 -0
  19. package/dist/interface/assets/Config-Dl2TlyFe.js +2 -0
  20. package/dist/interface/assets/ConfigActionAssistant-DCkJ_Iqq.js +1 -0
  21. package/dist/interface/assets/ConfigActionCameraControl-2pzl59gR.js +1 -0
  22. package/dist/interface/assets/ConfigActionDelay-BAp1dr0N.js +1 -0
  23. package/dist/interface/assets/ConfigActionHttp-_kqgEuun.js +1 -0
  24. package/dist/interface/assets/ConfigActionImageInput-BgtACnCm.js +1 -0
  25. package/dist/interface/assets/ConfigActionMqtt-z7UzccW5.js +1 -0
  26. package/dist/interface/assets/ConfigActionNotification-bhbb5AqU.js +1 -0
  27. package/dist/interface/assets/ConfigActionNotificationControl-BbvX8MFu.js +1 -0
  28. package/dist/interface/assets/ConfigActionOutput-DdgSg3FU.js +1 -0
  29. package/dist/interface/assets/ConfigActionPlugin-DGjZd1L0.js +1 -0
  30. package/dist/interface/assets/ConfigActionSensor-DmImWFAo.js +1 -0
  31. package/dist/interface/assets/ConfigActionSnapshot-hVHSfdtS.js +1 -0
  32. package/dist/interface/assets/ConfigActionVariable-BIpruwsx.js +1 -0
  33. package/dist/interface/assets/ConfigConditionIfElse-DRSpsoR4.js +1 -0
  34. package/dist/interface/assets/ConfigConditionSensorState-C2SNARH7.js +1 -0
  35. package/dist/interface/assets/ConfigConditionSwitch-4SbQcU7N.js +1 -0
  36. package/dist/interface/assets/ConfigConditionTime-ESX3shbg.js +1 -0
  37. package/dist/interface/assets/ConfigSensorValueInput-CTUdAA-R.js +1 -0
  38. package/dist/interface/assets/ConfigTriggerDetection-BRr6ixxQ.js +1 -0
  39. package/dist/interface/assets/ConfigTriggerGeofence-D-xRMGrT.js +1 -0
  40. package/dist/interface/assets/ConfigTriggerManual-aXD6k1qa.js +1 -0
  41. package/dist/interface/assets/ConfigTriggerMqtt-pjHW4yOL.js +1 -0
  42. package/dist/interface/assets/ConfigTriggerSchedule-CYOt57qg.js +1 -0
  43. package/dist/interface/assets/ConfigTriggerSensor-BwJ_cAqd.js +1 -0
  44. package/dist/interface/assets/ConfigTriggerSystem-DBXIrjzU.js +1 -0
  45. package/dist/interface/assets/ConfigTriggerWebhook-CccBmMCb.js +1 -0
  46. package/dist/interface/assets/Console-DWAaz1C6.js +1 -0
  47. package/dist/interface/assets/CuiAssistantConversation-B3xEiNNt.js +5 -0
  48. package/dist/interface/assets/CuiAssistantConversation-C5ca1lgX.css +1 -0
  49. package/dist/interface/assets/CuiAutomationRunsDialog-CfylVPLI.js +1 -0
  50. package/dist/interface/assets/CuiBottomSheet-ACN23VLS.js +1 -0
  51. package/dist/interface/assets/CuiBottomSheet-DEVNeDqa.js +1 -0
  52. package/dist/interface/assets/CuiCameraPipCard-TYTCfwXf.css +1 -0
  53. package/dist/interface/assets/CuiCameraPipCard-rR_FW9zq.js +1 -0
  54. package/dist/interface/assets/CuiCameraRecordings-CnorhPhf.js +1 -0
  55. package/dist/interface/assets/CuiCameraShares-BxUgedC_.js +1 -0
  56. package/dist/interface/assets/CuiCameraTable-C3GB4Q2y.js +2 -0
  57. package/dist/interface/assets/CuiCameraTable-MHfnZSyK.js +1 -0
  58. package/dist/interface/assets/CuiChartTable-TAzZgetO.js +1 -0
  59. package/dist/interface/assets/CuiConsole-Cf5lOCE1.js +5 -0
  60. package/dist/interface/assets/CuiDataTable-DfjXa0C1.js +1 -0
  61. package/dist/interface/assets/CuiLightControl-ChK-SvJp.js +1 -0
  62. package/dist/interface/assets/CuiList-C4fxd9lD.js +1 -0
  63. package/dist/interface/assets/CuiMarkdownContent-Do04YgHe.js +1 -0
  64. package/dist/interface/assets/CuiMarkdownContent-qOPm3VEi.js +1 -0
  65. package/dist/interface/assets/CuiPluginCard-DMpANIQj.js +2 -0
  66. package/dist/interface/assets/CuiPluginCategoryChip-BKxJMid7.js +1 -0
  67. package/dist/interface/assets/CuiPluginOAuthButton-DnQ838JJ.js +2 -0
  68. package/dist/interface/assets/CuiPluginTrustBadge-DyYDUWV6.js +1 -0
  69. package/dist/interface/assets/CuiQRCode-S9fPi0_l.js +1 -0
  70. package/dist/interface/assets/CuiSchema-DScmDQsh.js +1 -0
  71. package/dist/interface/assets/CuiTopNavbarItem-CT10aAlO.js +1 -0
  72. package/dist/interface/assets/Faces-Coy-tUVM.js +1 -0
  73. package/dist/interface/assets/FirstSteps-CrMJC049.js +1 -0
  74. package/dist/interface/assets/Floorplan-Bj_mVrxp.js +1 -0
  75. package/dist/interface/assets/Floorplan-CT5TrMSD.css +1 -0
  76. package/dist/interface/assets/Instances-B_mpKAng.js +1 -0
  77. package/dist/interface/assets/Logs-fY1dpQk4.js +6 -0
  78. package/dist/interface/assets/Menu-Bgi-NLdg.js +1 -0
  79. package/dist/interface/assets/Metrics-DnMeIrkf.css +1 -0
  80. package/dist/interface/assets/Metrics-k9KACiwh.js +12 -0
  81. package/dist/interface/assets/OAuthDeviceFlow-xTh83xmc.js +1 -0
  82. package/dist/interface/assets/Plugin-BB7x7UHw.css +1 -0
  83. package/dist/interface/assets/Plugin-VWq7sONB.js +1 -0
  84. package/dist/interface/assets/PluginConsole-LnnDOVBL.js +7 -0
  85. package/dist/interface/assets/PluginDetail-CKD9sbDx.js +2 -0
  86. package/dist/interface/assets/PluginSchema-BnB0_6Sk.js +1 -0
  87. package/dist/interface/assets/PluginSearch-BoBZLLbr.js +1 -0
  88. package/dist/interface/assets/PluginSearch-kGhweU1J.js +2 -0
  89. package/dist/interface/assets/PluginUpdateProgress-DMx0QlgE.js +1 -0
  90. package/dist/interface/assets/Plugins-Ekmr6aVa.js +1 -0
  91. package/dist/interface/assets/RecentEventsFilter-StLJNuks.js +1 -0
  92. package/dist/interface/assets/Recordings-8PqxJOI3.css +1 -0
  93. package/dist/interface/assets/Recordings-Bvkuk_TV.js +1 -0
  94. package/dist/interface/assets/SensorEdit-CAf9Nb01.js +1 -0
  95. package/dist/interface/assets/SensorHistory-il8bDErX.js +1 -0
  96. package/dist/interface/assets/Sensors-sxQ6HLKo.js +2 -0
  97. package/dist/interface/assets/Settings-Bu0G7Ebx.js +1 -0
  98. package/dist/interface/assets/Settings-DtCSaLPb.css +1 -0
  99. package/dist/interface/assets/SettingsAccount-8OZJLQi-.js +1 -0
  100. package/dist/interface/assets/SettingsAccount-bSfFi9YH.js +1 -0
  101. package/dist/interface/assets/SettingsAppearance-CnvN_Tzr.js +1 -0
  102. package/dist/interface/assets/SettingsAppearance-EvPWgF4c.js +1 -0
  103. package/dist/interface/assets/SettingsAssistant-B6s6pHCx.js +1 -0
  104. package/dist/interface/assets/SettingsBackup-Dd2FaUcN.js +1 -0
  105. package/dist/interface/assets/SettingsList-SvCO_gfG.js +1 -0
  106. package/dist/interface/assets/SettingsMqtt-BXBzHX84.js +1 -0
  107. package/dist/interface/assets/SettingsNotifications-CV-jJwFV.js +1 -0
  108. package/dist/interface/assets/SettingsPermissions-GchFaWjz.js +1 -0
  109. package/dist/interface/assets/SettingsRecordings-C4Ch_jmV.js +1 -0
  110. package/dist/interface/assets/SettingsRemote-CsIGx-LU.css +1 -0
  111. package/dist/interface/assets/SettingsRemote-OZHDJKSq.js +2 -0
  112. package/dist/interface/assets/SettingsSystem-BJlHXwVs.js +2 -0
  113. package/dist/interface/assets/SettingsUsers-RGOkOzx0.js +1 -0
  114. package/dist/interface/assets/Terminal-DX-ECC91.js +4 -0
  115. package/dist/interface/assets/Training-B8my7vka.js +1 -0
  116. package/dist/interface/assets/Training-D1DDjCCD.css +1 -0
  117. package/dist/interface/assets/Updates-DmavyhAn.js +2 -0
  118. package/dist/interface/assets/VariableInput-DQJle67Y.js +1 -0
  119. package/dist/interface/assets/VariableSuggestions-D8V739dF.js +1 -0
  120. package/dist/interface/assets/VersionsHandler-B41TJhgY.js +7 -0
  121. package/dist/interface/assets/VirtualSensorCreate-MfLh-LpH.js +1 -0
  122. package/dist/interface/assets/Workers-CafDeRhH.js +2 -0
  123. package/dist/interface/assets/Workers-Dey1snI4.css +1 -0
  124. package/dist/interface/assets/account-DjBQulDn.js +1 -0
  125. package/dist/interface/assets/ace-BPAekgyf.js +1 -0
  126. package/dist/interface/assets/ace.config-CvKE-yp1.js +1 -0
  127. package/dist/interface/assets/alert-circle-B-JCMbb9.js +1 -0
  128. package/dist/interface/assets/alert-outline-B4ZZowEj.js +1 -0
  129. package/dist/interface/assets/api-By0v6EeA.css +2 -0
  130. package/dist/interface/assets/api-D1iULsSy.js +4 -0
  131. package/dist/interface/assets/api-DbUdfXO_.js +1 -0
  132. package/dist/interface/assets/arrow-left-PeaVwpHd.js +1 -0
  133. package/dist/interface/assets/assistant-7hqP6OpA.js +1 -0
  134. package/dist/interface/assets/assistantModels-D3ncWWu0.js +1 -0
  135. package/dist/interface/assets/auth-CDxrn7fe.js +1 -0
  136. package/dist/interface/assets/automations-CTTQlGCW.js +1 -0
  137. package/dist/interface/assets/back-filled-CJoz7Gkl.js +1 -0
  138. package/dist/interface/assets/bell-ring-CBf0Yn3H.js +1 -0
  139. package/dist/interface/assets/brain-uZ03n3LW.js +1 -0
  140. package/dist/interface/assets/cameraSources-MOiE_1-W.js +1 -0
  141. package/dist/interface/assets/cctv-VgKQ-dBV.js +1 -0
  142. package/dist/interface/assets/check-circle-BU-KNgPB.js +1 -0
  143. package/dist/interface/assets/check-circle-outline-BsxzAMed.js +1 -0
  144. package/dist/interface/assets/chevron-down-CxK4Sfjs.js +1 -0
  145. package/dist/interface/assets/chevron-up-DWfNH8va.js +1 -0
  146. package/dist/interface/assets/clock-outline-BtWx4GaF.js +1 -0
  147. package/dist/interface/assets/close-Be7oB7d_.js +1 -0
  148. package/dist/interface/assets/close-circle-D7Jmhp_7.js +1 -0
  149. package/dist/interface/assets/cloud-check-zCGJxpWI.js +1 -0
  150. package/dist/interface/assets/cloudHandoff-CJzFH7CW.js +1 -0
  151. package/dist/interface/assets/config-6EiGxiYm.js +1 -0
  152. package/dist/interface/assets/content-copy-BcYlfuFc.js +1 -0
  153. package/dist/interface/assets/copy-DuY-M96E.js +1 -0
  154. package/dist/interface/assets/cube-scan-Cae03i_N.js +1 -0
  155. package/dist/interface/assets/database-refresh-outline-B3OEQFF7.js +1 -0
  156. package/dist/interface/assets/delete-BWgOAzKl.js +1 -0
  157. package/dist/interface/assets/dist-DmpuuM9s.js +1 -0
  158. package/dist/interface/assets/dots-vertical-Kby1GY8_.js +1 -0
  159. package/dist/interface/assets/download-C291Yq7I.js +1 -0
  160. package/dist/interface/assets/esm-B2TVBF3B.js +1 -0
  161. package/dist/interface/assets/esm-BEntuCG7.js +1 -0
  162. package/dist/interface/assets/esm-BRnyrFH8.js +1 -0
  163. package/dist/interface/assets/esm-CCwXzd_8.js +1 -0
  164. package/dist/interface/assets/esm-CEjwTsuD.js +1 -0
  165. package/dist/interface/assets/esm-CGGV9tC4.js +1 -0
  166. package/dist/interface/assets/esm-CI2tTOc5.js +1 -0
  167. package/dist/interface/assets/esm-CgxZmMYv.js +1 -0
  168. package/dist/interface/assets/esm-Csc6f5Fy.js +1 -0
  169. package/dist/interface/assets/esm-Qzx3d-Ie.js +1 -0
  170. package/dist/interface/assets/esm-a_w7mTdx.js +1 -0
  171. package/dist/interface/assets/esm-iKfsu7-H.js +1 -0
  172. package/dist/interface/assets/esm-ks5kvk_e.js +1 -0
  173. package/dist/interface/assets/esm-nJfTguKF.js +1 -0
  174. package/dist/interface/assets/eventLabels-idFWh3Y_.js +1 -0
  175. package/dist/interface/assets/eye-off-zGCIHKOK.js +1 -0
  176. package/dist/interface/assets/flowSchema-Dp_-p9WA.js +1 -0
  177. package/dist/interface/assets/help-circle-outline-DXFepDAG.js +1 -0
  178. package/dist/interface/assets/history-D-FlZdKD.js +1 -0
  179. package/dist/interface/assets/home-DPdzRxcM.js +1 -0
  180. package/dist/interface/assets/information-outline-ChOM9qgI.js +1 -0
  181. package/dist/interface/assets/intercomService-BQYzjnAi.js +1 -0
  182. package/dist/interface/assets/lan-DvYEO83l.js +1 -0
  183. package/dist/interface/assets/main-0oXl_8v7.js +3 -0
  184. package/dist/interface/assets/main-CdvAniEp.css +1 -0
  185. package/dist/interface/assets/microphone-D-T9xga4.js +1 -0
  186. package/dist/interface/assets/minus-4T4INuO4.js +1 -0
  187. package/dist/interface/assets/mqtt-ChvXxMhR.js +1 -0
  188. package/dist/interface/assets/native-CtfXrwj5.js +1 -0
  189. package/dist/interface/assets/native-JMtkOkIV.js +1 -0
  190. package/dist/interface/assets/nodeDefinitions-Dp8cnne1.js +1 -0
  191. package/dist/interface/assets/notifications-CbL-1oMs.js +1 -0
  192. package/dist/interface/assets/pause-DHqHYA3V.js +1 -0
  193. package/dist/interface/assets/pencil-outline-D-GmPf8M.js +1 -0
  194. package/dist/interface/assets/pencil-vACi-JzY.js +1 -0
  195. package/dist/interface/assets/plugin-Dt5Xetfz.js +1 -0
  196. package/dist/interface/assets/plugins-lsoAntRQ.js +1 -0
  197. package/dist/interface/assets/plus-BBUb8_uL.js +1 -0
  198. package/dist/interface/assets/plus-BJb7U4bN.js +1 -0
  199. package/dist/interface/assets/power-Dm_aNIz-.js +1 -0
  200. package/dist/interface/assets/radar-Dcvdz--e.js +1 -0
  201. package/dist/interface/assets/refresh-CO4F18Je.js +1 -0
  202. package/dist/interface/assets/restore-xRBt3Grb.js +1 -0
  203. package/dist/interface/assets/rooms-P8WrRIco.js +1 -0
  204. package/dist/interface/assets/round-alt-arrow-left-bold-CZHXzGS5.js +1 -0
  205. package/dist/interface/assets/search-D75YW08B.js +1 -0
  206. package/dist/interface/assets/sensorIcons-BRTtoaHX.js +1 -0
  207. package/dist/interface/assets/sensorSlots-BTj-IM7z.js +1 -0
  208. package/dist/interface/assets/sensors-Dxc7HgjZ.js +1 -0
  209. package/dist/interface/assets/server-DlK8gUoE.js +1 -0
  210. package/dist/interface/assets/settings-DDOgc5BX.js +1 -0
  211. package/dist/interface/assets/source-branch-DVHuYlkZ.js +1 -0
  212. package/dist/interface/assets/theme-BOppzzar.js +1 -0
  213. package/dist/interface/assets/trash-2-DDKPtl2x.js +1 -0
  214. package/dist/interface/assets/trash-can-outline-DVH3zgo0.js +1 -0
  215. package/dist/interface/assets/trash-fill-C_IJ4Vu2.js +1 -0
  216. package/dist/interface/assets/trash2-DY0XTaJD.js +1 -0
  217. package/dist/interface/assets/types-CeruGCb8.js +1 -0
  218. package/dist/interface/assets/types-J1Drrxo1.js +1 -0
  219. package/dist/interface/assets/types-U4AuTNLR.js +1 -0
  220. package/dist/interface/assets/undo-YRkBYCnf.js +1 -0
  221. package/dist/interface/assets/ungrouped-ING_JAuK.js +1 -0
  222. package/dist/interface/assets/updates-DtVp84Y0.js +1 -0
  223. package/dist/interface/assets/upload-2WcHRjTq.js +1 -0
  224. package/dist/interface/assets/upload-BiE7VzTj.js +1 -0
  225. package/dist/interface/assets/useAppVersion-BGgCk5GD.js +1 -0
  226. package/dist/interface/assets/useAssistantActions-C13O5EHU.js +1 -0
  227. package/dist/interface/assets/useBackupRestore-vrhmc9i-.js +1 -0
  228. package/dist/interface/assets/useCameraOptions-CI1baRmm.js +1 -0
  229. package/dist/interface/assets/useKeyboardInset-CvgJp091.js +1 -0
  230. package/dist/interface/assets/useLogsSocket-Bf0BI8ET.js +1 -0
  231. package/dist/interface/assets/useNavLayout-6zM1Y-7B.js +1 -0
  232. package/dist/interface/assets/usePermissions-DZitFsBQ.js +1 -0
  233. package/dist/interface/assets/usePluginUpdates-VZdpJ_Ax.js +1 -0
  234. package/dist/interface/assets/usePushRegistration-vcbMrTxZ.js +2 -0
  235. package/dist/interface/assets/useServerRestart-DrpuNbIu.js +1 -0
  236. package/dist/interface/assets/useStreamStatus-l3Pfk1H4.js +1 -0
  237. package/dist/interface/assets/useTabSwipe-BSpi25WV.js +1 -0
  238. package/dist/interface/assets/useUpdateChannel-kAl-5UNY.js +1 -0
  239. package/dist/interface/assets/useUpdatesSocket-CaFz_fEb.js +1 -0
  240. package/dist/interface/assets/useUserOptions-BKteXnmU.js +1 -0
  241. package/dist/interface/assets/variable-Cp8o-q8t.js +1 -0
  242. package/dist/interface/assets/vendor-Df81FCJz.js +29 -0
  243. package/dist/interface/assets/vendor-ace-QSsGUspX.js +1085 -0
  244. package/dist/interface/assets/vendor-cameraui-K1Nw4PvF.js +2326 -0
  245. package/dist/interface/assets/vendor-capacitor-t5EIN1GG.js +2 -0
  246. package/dist/interface/assets/vendor-chart-BiJYkx5_.js +3 -0
  247. package/dist/interface/assets/vendor-core-CJdfpB0I.js +1 -0
  248. package/dist/interface/assets/vendor-dnd-C1kMh9_t.js +2 -0
  249. package/dist/interface/assets/vendor-draggabilly-Cw1oJ6qc.js +1 -0
  250. package/dist/interface/assets/vendor-leaflet-OSZlONe5.js +1 -0
  251. package/dist/interface/assets/vendor-markdown-DTWiWKBj.js +14 -0
  252. package/dist/interface/assets/vendor-primevue-DoA2Rwcb.js +3942 -0
  253. package/dist/interface/assets/vendor-vueflow-DWU_IzGe.js +26 -0
  254. package/dist/interface/assets/walk-B8FNhXuj.js +1 -0
  255. package/dist/interface/assets/web-B98ahwoP.js +1 -0
  256. package/dist/interface/assets/web-BSsSrRZf.js +1 -0
  257. package/dist/interface/assets/web-BiNRDta4.js +1 -0
  258. package/dist/interface/assets/web-BjKL51lK-CZKmYhby.js +1 -0
  259. package/dist/interface/assets/web-BjtOcquy.js +1 -0
  260. package/dist/interface/assets/web-CkTE9nCG.js +1 -0
  261. package/dist/interface/assets/web-Cvogq5S5.js +1 -0
  262. package/dist/interface/assets/web-D-A4EBKj.js +1 -0
  263. package/dist/interface/assets/web-DVGMBduz.js +1 -0
  264. package/dist/interface/assets/web-SpWB7I6X.js +1 -0
  265. package/dist/interface/assets/web-k0ihT_qK.js +1 -0
  266. package/dist/interface/assets/web-ovBpm7Dl.js +1 -0
  267. package/dist/interface/assets/web-z5Xz9tOQ.js +1 -0
  268. package/dist/interface/assets/web-zfhkFevT.js +1 -0
  269. package/dist/interface/assets/webhook-DIjChTrs.js +1 -0
  270. package/dist/interface/assets/workbox-window.prod.es5-DRKojI0e.js +1 -0
  271. package/dist/interface/assets/zoom-in-rMB152Uz.js +1 -0
  272. package/dist/interface/ha/404-RtgPpD9N.js +60 -0
  273. package/dist/interface/ha/About-0PRv9bU0.js +55 -0
  274. package/dist/interface/ha/Assistant-DbwxVfpl.js +9853 -0
  275. package/dist/interface/ha/Automation-D3HomdH7.js +2029 -0
  276. package/dist/interface/ha/AutomationImport-nQUUvZcv.js +206 -0
  277. package/dist/interface/ha/AutomationStore-BXDD92wZ.js +336 -0
  278. package/dist/interface/ha/AutomationStoreDetail-BYeq7FID.js +122 -0
  279. package/dist/interface/ha/Automations-CJlGqmSP.js +424 -0
  280. package/dist/interface/ha/Camera-Ai4BxVh_.js +747 -0
  281. package/dist/interface/ha/CameraConsole-UMNOX3dE.js +52 -0
  282. package/dist/interface/ha/Cameras-BW-AEXYi.js +1971 -0
  283. package/dist/interface/ha/Camview-jikpVEE0.js +1336 -0
  284. package/dist/interface/ha/Config-BOxwBH2D.js +356 -0
  285. package/dist/interface/ha/ConfigActionAssistant--3iWk9sq.js +182 -0
  286. package/dist/interface/ha/ConfigActionCameraControl-DbVXWTeA.js +152 -0
  287. package/dist/interface/ha/ConfigActionHttp-Du3n2Yj0.js +134 -0
  288. package/dist/interface/ha/ConfigActionImageInput-BrJrTZTY.js +171 -0
  289. package/dist/interface/ha/ConfigActionMqtt-DZd1BNUt.js +81 -0
  290. package/dist/interface/ha/ConfigActionNotification-CJWW10gt.js +199 -0
  291. package/dist/interface/ha/ConfigActionNotificationControl-Bl41AVv1.js +111 -0
  292. package/dist/interface/ha/ConfigActionOutput-OTj7Lwgq.js +98 -0
  293. package/dist/interface/ha/ConfigActionPlugin-B790PEk0.js +172 -0
  294. package/dist/interface/ha/ConfigActionSensor-BG3jZxge.js +139 -0
  295. package/dist/interface/ha/ConfigActionSnapshot-fGmLl6jb.js +48 -0
  296. package/dist/interface/ha/ConfigActionVariable-CK3vYDsr.js +88 -0
  297. package/dist/interface/ha/ConfigConditionIfElse-DyFLGg3y.js +124 -0
  298. package/dist/interface/ha/ConfigConditionSensorState-BUTfeFO2.js +192 -0
  299. package/dist/interface/ha/ConfigConditionSwitch-iDG_ubif.js +128 -0
  300. package/dist/interface/ha/ConfigSensorValueInput-BmRIGUKB.js +170 -0
  301. package/dist/interface/ha/ConfigTriggerDetection-DyPQGt9M.js +241 -0
  302. package/dist/interface/ha/ConfigTriggerGeofence-CGE-bH_t.js +4888 -0
  303. package/dist/interface/ha/ConfigTriggerMqtt-CM3KZqBc.js +134 -0
  304. package/dist/interface/ha/ConfigTriggerSensor-DoHMcwP4.js +73 -0
  305. package/dist/interface/ha/ConfigTriggerSystem-BYKbW4Zr.js +192 -0
  306. package/dist/interface/ha/ConfigTriggerWebhook-5PBAadG8.js +94 -0
  307. package/dist/interface/ha/Console-BEXzl4p1.js +348 -0
  308. package/dist/interface/ha/CuiAutomationRunsDialog-DkK_ar5G.js +130 -0
  309. package/dist/interface/ha/CuiBottomSheet-CYNvQV4T.js +270 -0
  310. package/dist/interface/ha/CuiCameraRecordings-DYjecmE_.js +533 -0
  311. package/dist/interface/ha/CuiCameraShares-C0H60nZS.js +121 -0
  312. package/dist/interface/ha/CuiCameraTable-CQNMyBaq.js +169 -0
  313. package/dist/interface/ha/CuiChartTable-Bhv1p9zj.js +6801 -0
  314. package/dist/interface/ha/CuiConsole-DtXorGF5.js +244 -0
  315. package/dist/interface/ha/CuiDataTable-Cy8EjCk9.js +8732 -0
  316. package/dist/interface/ha/CuiList-DnW6Q5m2.js +57 -0
  317. package/dist/interface/ha/CuiPluginCard-B4SCUblV.js +769 -0
  318. package/dist/interface/ha/CuiPluginOAuthButton-BKg9SftQ.js +79 -0
  319. package/dist/interface/ha/CuiPluginTrustBadge-CEtUJhCJ.js +123 -0
  320. package/dist/interface/ha/CuiQRCode-gp-9hqyk.js +86 -0
  321. package/dist/interface/ha/CuiSchema-CYpr_dD7.js +963 -0
  322. package/dist/interface/ha/CuiTopNavbarItem-CM-1oPxf.js +140 -0
  323. package/dist/interface/ha/Faces-pa60ySng.js +1575 -0
  324. package/dist/interface/ha/FirstSteps-D42yZm7R.js +251 -0
  325. package/dist/interface/ha/Floorplan-BvE546pE.js +3657 -0
  326. package/dist/interface/ha/Instances-CAGCyfbB.js +680 -0
  327. package/dist/interface/ha/Logs-RB3Ba8WM.js +418 -0
  328. package/dist/interface/ha/Menu-hAnHu_jq.js +156 -0
  329. package/dist/interface/ha/Metrics-ChYTebkX.js +1448 -0
  330. package/dist/interface/ha/OAuthDeviceFlow-C05pH-9o.js +112 -0
  331. package/dist/interface/ha/Plugin-D7XwcXkW.js +1752 -0
  332. package/dist/interface/ha/PluginConsole-DphEIOlL.js +56 -0
  333. package/dist/interface/ha/PluginDetail-DfMl-yCl.js +805 -0
  334. package/dist/interface/ha/PluginSearch-BPN4Opg5.js +462 -0
  335. package/dist/interface/ha/PluginUpdateProgress-ByJ0R5sW.js +34 -0
  336. package/dist/interface/ha/Plugins-BhKmjjNn.js +692 -0
  337. package/dist/interface/ha/RecentEventsFilter-BkLMlGVJ.js +78 -0
  338. package/dist/interface/ha/Recordings-BaU7M1OW.js +1836 -0
  339. package/dist/interface/ha/SensorEdit-DWxcCJ0F.js +1462 -0
  340. package/dist/interface/ha/SensorHistory-DuA9E9wT.js +54 -0
  341. package/dist/interface/ha/Sensors-CVpIHcgG.js +1402 -0
  342. package/dist/interface/ha/Settings-BO2eBGEn.js +218 -0
  343. package/dist/interface/ha/SettingsAccount-BQZZfoSM.js +971 -0
  344. package/dist/interface/ha/SettingsAppearance-B_yGl89u.js +220 -0
  345. package/dist/interface/ha/SettingsAssistant-kMOixl9g.js +2025 -0
  346. package/dist/interface/ha/SettingsBackup-BpG-W4j-.js +556 -0
  347. package/dist/interface/ha/SettingsList-Btnkzu94.js +40 -0
  348. package/dist/interface/ha/SettingsMqtt-C4DX9cNC.js +526 -0
  349. package/dist/interface/ha/SettingsNotifications-DI6ImggH.js +529 -0
  350. package/dist/interface/ha/SettingsPermissions-BCDyCFcb.js +84 -0
  351. package/dist/interface/ha/SettingsRecordings-Bq5NkJhd.js +152 -0
  352. package/dist/interface/ha/SettingsRemote-CtncaPIA.js +1813 -0
  353. package/dist/interface/ha/SettingsSystem-BJXuA7xA.js +376 -0
  354. package/dist/interface/ha/SettingsUsers-BF0rDluv.js +379 -0
  355. package/dist/interface/ha/Terminal-kTCe2jP3.js +612 -0
  356. package/dist/interface/ha/Training-BM2Xb8Ef.js +1754 -0
  357. package/dist/interface/ha/Updates-Cv1EY_T0.js +343 -0
  358. package/dist/interface/ha/VariableInput-BO2zZu4N.js +52 -0
  359. package/dist/interface/ha/VersionsHandler-CRnT9-K7.js +216 -0
  360. package/dist/interface/ha/VirtualSensorCreate-6dVRxPjw.js +101 -0
  361. package/dist/interface/ha/Workers-MHia86lu.js +814 -0
  362. package/dist/interface/ha/ace-C9MtBQVV.js +13236 -0
  363. package/dist/interface/ha/ace.config-CSXnaIzV.js +1429 -0
  364. package/dist/interface/ha/api-CH_Y8Hee.js +65411 -0
  365. package/dist/interface/ha/api-DylRa66V.js +29 -0
  366. package/dist/interface/ha/assistant-smRQYA6p.js +349 -0
  367. package/dist/interface/ha/auth-BXj5Fm6s.js +271 -0
  368. package/dist/interface/ha/automationBlueprint-DGjftXFC.js +250 -0
  369. package/dist/interface/ha/cameraui-cards.js +1 -1
  370. package/dist/interface/ha/cards-E0zw1UVg.js +13477 -0
  371. package/dist/interface/ha/config-dG_DA6XL.js +116 -0
  372. package/dist/interface/ha/dist-BQf9ANPx.js +3257 -0
  373. package/dist/interface/ha/dist-euRmladF.js +287 -0
  374. package/dist/interface/ha/eventLabels-B5GrM5jO.js +734 -0
  375. package/dist/interface/ha/intercomService-BtJ_zUNd.js +1400 -0
  376. package/dist/interface/ha/mqtt-CP3vVkRJ.js +56 -0
  377. package/dist/interface/ha/notifications-CZNwSXTg.js +159 -0
  378. package/dist/interface/ha/pinia-CVnHHb-s.js +7696 -0
  379. package/dist/interface/ha/plugins--eatOIaI.js +592 -0
  380. package/dist/interface/ha/protocol-BB4jdtUC-BhEwymva.js +789 -0
  381. package/dist/interface/ha/rooms-D5E6K75d.js +45 -0
  382. package/dist/interface/ha/server-D1BqEY7i.js +239 -0
  383. package/dist/interface/ha/types-CWogEoya.js +1073 -0
  384. package/dist/interface/ha/ungrouped-Ch4UX4dy.js +58 -0
  385. package/dist/interface/ha/updates-B48Owi1w.js +341 -0
  386. package/dist/interface/ha/useAppVersion-D95sKTJR.js +22 -0
  387. package/dist/interface/ha/useAssistantActions-kDwiO-u5.js +29 -0
  388. package/dist/interface/ha/useKeyboardInset-C2R51vsC.js +27 -0
  389. package/dist/interface/ha/useLogsSocket-BzNWa2y2.js +59 -0
  390. package/dist/interface/ha/useNavLayout-228cwwqA.js +125 -0
  391. package/dist/interface/ha/usePermissions-CfA5x7Df.js +72 -0
  392. package/dist/interface/ha/useServerRestart-B0c40zs5.js +23 -0
  393. package/dist/interface/ha/useTabSwipe-CfZg5hWj.js +45 -0
  394. package/dist/interface/ha/useUpdateChannel-DQxI7FrD.js +22 -0
  395. package/dist/interface/ha/useUpdatesSocket-B8LqBBd3.js +34 -0
  396. package/dist/interface/ha/useUserOptions-dZf6ejlz.js +15 -0
  397. package/dist/interface/ha/walk-CsSXaeJw.js +33 -0
  398. package/dist/interface/index.html +71 -72
  399. package/dist/interface/sw.js +1 -1
  400. package/dist/interface/workbox-5f52ac45.js +1 -0
  401. package/dist/server/package.json +23 -23
  402. package/dist/server/requirements.txt +2 -2
  403. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +22 -0
  404. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +12 -0
  405. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +5 -1
  406. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +5 -1
  407. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +2 -1
  408. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +10 -0
  409. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +6 -0
  410. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +92 -4
  411. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +16 -0
  412. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +4 -0
  413. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +1 -1
  414. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +3 -3
  415. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/person_embedder.py +65 -0
  416. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/segmenter.py +81 -0
  417. package/dist/server/src/api/controllers/plugins.controller.js +1 -0
  418. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  419. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -2
  420. package/dist/server/src/api/controllers/workers.controller.js +8 -2
  421. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  422. package/dist/server/src/api/database/index.d.ts +2 -1
  423. package/dist/server/src/api/database/index.js +31 -7
  424. package/dist/server/src/api/database/index.js.map +1 -1
  425. package/dist/server/src/api/database/migrations/v2-2-9.d.ts +3 -0
  426. package/dist/server/src/api/database/migrations/v2-2-9.js +28 -0
  427. package/dist/server/src/api/database/migrations/v2-2-9.js.map +1 -0
  428. package/dist/server/src/api/database/record-schemas.d.ts +4 -1
  429. package/dist/server/src/api/database/record-schemas.js +1 -0
  430. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  431. package/dist/server/src/api/database/types.d.ts +21 -1
  432. package/dist/server/src/api/routes/workers.routes.js +4 -4
  433. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  434. package/dist/server/src/api/schemas/assistant.schema.d.ts +1 -1
  435. package/dist/server/src/api/schemas/cameras.schema.d.ts +178 -76
  436. package/dist/server/src/api/schemas/cameras.schema.js +26 -2
  437. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  438. package/dist/server/src/api/schemas/training.schema.d.ts +15 -3
  439. package/dist/server/src/api/schemas/training.schema.js +4 -1
  440. package/dist/server/src/api/schemas/training.schema.js.map +1 -1
  441. package/dist/server/src/api/schemas/users.schema.d.ts +12 -0
  442. package/dist/server/src/api/schemas/users.schema.js +4 -0
  443. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  444. package/dist/server/src/api/schemas/workers.schema.d.ts +5 -4
  445. package/dist/server/src/api/schemas/workers.schema.js +6 -3
  446. package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
  447. package/dist/server/src/api/services/cameras.service.d.ts +3 -0
  448. package/dist/server/src/api/services/cameras.service.js +47 -2
  449. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  450. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  451. package/dist/server/src/api/services/plugins.service.js +5 -1
  452. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  453. package/dist/server/src/api/services/workers.service.d.ts +2 -0
  454. package/dist/server/src/api/services/workers.service.js +15 -0
  455. package/dist/server/src/api/services/workers.service.js.map +1 -1
  456. package/dist/server/src/api/types/index.d.ts +3 -2
  457. package/dist/server/src/api/websocket/nsp/worker-perf.js +2 -0
  458. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  459. package/dist/server/src/api/websocket/types.d.ts +1 -0
  460. package/dist/server/src/assistant/pricing.js +39 -10
  461. package/dist/server/src/assistant/pricing.js.map +1 -1
  462. package/dist/server/src/assistant/providers.js +9 -1
  463. package/dist/server/src/assistant/providers.js.map +1 -1
  464. package/dist/server/src/assistant/search.d.ts +17 -0
  465. package/dist/server/src/assistant/search.js +10 -2
  466. package/dist/server/src/assistant/search.js.map +1 -1
  467. package/dist/server/src/assistant/tools/plugins.js +7 -3
  468. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  469. package/dist/server/src/assistant/types.d.ts +2 -0
  470. package/dist/server/src/automations/actions/plugin.js +5 -9
  471. package/dist/server/src/automations/actions/plugin.js.map +1 -1
  472. package/dist/server/src/automations/pluginMethodRegistry.d.ts +6 -0
  473. package/dist/server/src/automations/pluginMethodRegistry.js +39 -0
  474. package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -1
  475. package/dist/server/src/automations/segment-picture.d.ts +16 -0
  476. package/dist/server/src/automations/segment-picture.js +152 -0
  477. package/dist/server/src/automations/segment-picture.js.map +1 -0
  478. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -2
  479. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -22
  480. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  481. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +30 -2
  482. package/dist/server/src/camera/decoder/detection-pipeline.js +81 -21
  483. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  484. package/dist/server/src/camera/decoder/event-manager.d.ts +13 -4
  485. package/dist/server/src/camera/decoder/event-manager.js +108 -128
  486. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  487. package/dist/server/src/camera/decoder/event-trace.d.ts +41 -1
  488. package/dist/server/src/camera/decoder/event-trace.js +63 -8
  489. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  490. package/dist/server/src/camera/decoder/face-tracks.d.ts +26 -0
  491. package/dist/server/src/camera/decoder/face-tracks.js +199 -0
  492. package/dist/server/src/camera/decoder/face-tracks.js.map +1 -0
  493. package/dist/server/src/camera/decoder/frame-scaler.d.ts +3 -1
  494. package/dist/server/src/camera/decoder/frame-scaler.js +36 -8
  495. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  496. package/dist/server/src/camera/decoder/nvr-sink.d.ts +6 -0
  497. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  498. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  499. package/dist/server/src/camera/decoder/perf-tracker.d.ts +2 -0
  500. package/dist/server/src/camera/decoder/perf-tracker.js +4 -0
  501. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  502. package/dist/server/src/camera/decoder/ptz/autotracker.d.ts +6 -1
  503. package/dist/server/src/camera/decoder/ptz/autotracker.js +107 -25
  504. package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
  505. package/dist/server/src/camera/decoder/secondary-stage.d.ts +10 -8
  506. package/dist/server/src/camera/decoder/secondary-stage.js +145 -125
  507. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  508. package/dist/server/src/camera/decoder/training-sink.d.ts +5 -2
  509. package/dist/server/src/camera/decoder/training-sink.js +30 -6
  510. package/dist/server/src/camera/decoder/training-sink.js.map +1 -1
  511. package/dist/server/src/camera/decoder/types.d.ts +6 -2
  512. package/dist/server/src/camera/decoder/types.js +4 -2
  513. package/dist/server/src/camera/decoder/types.js.map +1 -1
  514. package/dist/server/src/manager/coreManager.d.ts +2 -1
  515. package/dist/server/src/manager/coreManager.js +9 -2
  516. package/dist/server/src/manager/coreManager.js.map +1 -1
  517. package/dist/server/src/manager/trainingCandidateManager.d.ts +2 -1
  518. package/dist/server/src/manager/trainingCandidateManager.js +25 -3
  519. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  520. package/dist/server/src/manager/trainingSubmission.d.ts +5 -0
  521. package/dist/server/src/manager/trainingSubmission.js +73 -0
  522. package/dist/server/src/manager/trainingSubmission.js.map +1 -0
  523. package/dist/server/src/manager/types.d.ts +8 -2
  524. package/dist/server/src/manager/types.js.map +1 -1
  525. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +1 -1
  526. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
  527. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +3 -0
  528. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +1 -1
  529. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -0
  530. package/dist/server/src/plugins/runtime/python/rpc/typings.py +1 -1
  531. package/dist/server/src/remote/api/routes/train.d.ts +44 -3
  532. package/dist/server/src/remote/api/routes/train.js +2 -2
  533. package/dist/server/src/remote/api/routes/train.js.map +1 -1
  534. package/dist/server/src/rpc/interfaces/core.d.ts +7 -3
  535. package/dist/server/src/rpc/interfaces/detection.d.ts +20 -3
  536. package/dist/server/src/rpc/server.d.ts +2 -0
  537. package/dist/server/src/rpc/server.js +8 -5
  538. package/dist/server/src/rpc/server.js.map +1 -1
  539. package/dist/server/src/sensors/registry.d.ts +3 -0
  540. package/dist/server/src/sensors/registry.js +44 -11
  541. package/dist/server/src/sensors/registry.js.map +1 -1
  542. package/dist/server/src/sensors/types.d.ts +1 -0
  543. package/dist/server/src/sensors/types.js +3 -0
  544. package/dist/server/src/sensors/types.js.map +1 -1
  545. package/dist/server/src/services/config/index.d.ts +1 -0
  546. package/dist/server/src/services/config/index.js +2 -0
  547. package/dist/server/src/services/config/index.js.map +1 -1
  548. package/dist/server/src/utils/image.d.ts +6 -0
  549. package/dist/server/src/utils/image.js +58 -22
  550. package/dist/server/src/utils/image.js.map +1 -1
  551. package/dist/server/src/workers/agent.js +2 -0
  552. package/dist/server/src/workers/agent.js.map +1 -1
  553. package/dist/server/src/workers/manager.d.ts +1 -0
  554. package/dist/server/src/workers/manager.js +22 -0
  555. package/dist/server/src/workers/manager.js.map +1 -1
  556. package/dist/server/src/workers/types.d.ts +5 -0
  557. package/dist/server/src/workers/types.js.map +1 -1
  558. package/npm-shrinkwrap.json +212 -171
  559. package/package.json +23 -23
  560. package/dist/interface/assets/404-C8EoOtBl.js +0 -1
  561. package/dist/interface/assets/About-Q7ZmOGgl.js +0 -1
  562. package/dist/interface/assets/Assistant-BQ6Ld-bt.css +0 -1
  563. package/dist/interface/assets/Assistant-DFLgklVe.js +0 -1
  564. package/dist/interface/assets/Automation-BSicfOGF.css +0 -1
  565. package/dist/interface/assets/Automation-D__qvx8c.js +0 -3
  566. package/dist/interface/assets/AutomationImport-CLQSdqg9.js +0 -2
  567. package/dist/interface/assets/AutomationStore-Dt6yTQDb.js +0 -2
  568. package/dist/interface/assets/AutomationStoreDetail-DqBrBhUI.js +0 -2
  569. package/dist/interface/assets/Automations-BH_7lYR7.js +0 -2
  570. package/dist/interface/assets/Camera-BW9ikKqh.css +0 -1
  571. package/dist/interface/assets/Camera-aquPHFwb.js +0 -2
  572. package/dist/interface/assets/CameraConsole-rhle_cfW.js +0 -7
  573. package/dist/interface/assets/Cameras-Bzy3P0xN.js +0 -651
  574. package/dist/interface/assets/Camview-Bri_T7Tq.css +0 -1
  575. package/dist/interface/assets/Camview-CjcQbtTl.js +0 -1
  576. package/dist/interface/assets/CertificateUpload-CWVu_52v.js +0 -1
  577. package/dist/interface/assets/Config-Dc1zKIPq.js +0 -2
  578. package/dist/interface/assets/ConfigActionAssistant-AfQfSqHZ.js +0 -1
  579. package/dist/interface/assets/ConfigActionCameraControl-BKQdHxqe.js +0 -1
  580. package/dist/interface/assets/ConfigActionDelay-B52HeJGb.js +0 -1
  581. package/dist/interface/assets/ConfigActionHttp-BP5gvpQc.js +0 -1
  582. package/dist/interface/assets/ConfigActionImageInput-DE2mSost.js +0 -1
  583. package/dist/interface/assets/ConfigActionMqtt-CYgnZjAE.js +0 -1
  584. package/dist/interface/assets/ConfigActionNotification-C3q53I4n.js +0 -1
  585. package/dist/interface/assets/ConfigActionNotificationControl-eDJ8r5ao.js +0 -1
  586. package/dist/interface/assets/ConfigActionOutput-DgYSYvy-.js +0 -1
  587. package/dist/interface/assets/ConfigActionPlugin-utolgAXk.js +0 -1
  588. package/dist/interface/assets/ConfigActionSensor-CmEKQPqs.js +0 -1
  589. package/dist/interface/assets/ConfigActionSnapshot-D7XucxVV.js +0 -1
  590. package/dist/interface/assets/ConfigActionVariable-C-Mjm3gr.js +0 -1
  591. package/dist/interface/assets/ConfigConditionIfElse-B24Rqb8y.js +0 -1
  592. package/dist/interface/assets/ConfigConditionSensorState-42-yFDmK.js +0 -1
  593. package/dist/interface/assets/ConfigConditionSwitch-DezH_nwm.js +0 -1
  594. package/dist/interface/assets/ConfigConditionTime-Cg2Lwznd.js +0 -1
  595. package/dist/interface/assets/ConfigSensorValueInput-YHBDCTZm.js +0 -1
  596. package/dist/interface/assets/ConfigTriggerDetection-DxEpodjG.js +0 -1
  597. package/dist/interface/assets/ConfigTriggerGeofence-Bye8syxc.js +0 -1
  598. package/dist/interface/assets/ConfigTriggerManual-s_lEDTV9.js +0 -1
  599. package/dist/interface/assets/ConfigTriggerMqtt-DqdZj7TU.js +0 -1
  600. package/dist/interface/assets/ConfigTriggerSchedule-Q559hn6g.js +0 -1
  601. package/dist/interface/assets/ConfigTriggerSensor-DIKkdbTF.js +0 -1
  602. package/dist/interface/assets/ConfigTriggerSystem-CwNZ4xEg.js +0 -1
  603. package/dist/interface/assets/ConfigTriggerWebhook-9ZC6X4mK.js +0 -1
  604. package/dist/interface/assets/Console-BqIDZ5vq.js +0 -1
  605. package/dist/interface/assets/CuiAssistantConversation-BmBhwrNh.css +0 -1
  606. package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +0 -5
  607. package/dist/interface/assets/CuiAutomationRunsDialog-CVjCLiVW.js +0 -1
  608. package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +0 -1
  609. package/dist/interface/assets/CuiBottomSheet-D75L0Zny.js +0 -1
  610. package/dist/interface/assets/CuiCameraPipCard-BQKk4fxY.css +0 -1
  611. package/dist/interface/assets/CuiCameraPipCard-eiJjYZ5W.js +0 -1
  612. package/dist/interface/assets/CuiCameraRecordings-DdEWkJrO.js +0 -1
  613. package/dist/interface/assets/CuiCameraShares-8mtgFsQ_.js +0 -1
  614. package/dist/interface/assets/CuiCameraTable-CmCT-XQF.js +0 -2
  615. package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +0 -1
  616. package/dist/interface/assets/CuiChartTable-v8sGY6PD.js +0 -1
  617. package/dist/interface/assets/CuiConsole-DYV-FUE0.js +0 -5
  618. package/dist/interface/assets/CuiDataTable-C0gsYYpg.js +0 -1
  619. package/dist/interface/assets/CuiLightControl-CFIwBj3C.js +0 -1
  620. package/dist/interface/assets/CuiList-9TVV8SB6.js +0 -1
  621. package/dist/interface/assets/CuiMarkdownContent-BYBQX_aF.js +0 -1
  622. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +0 -1
  623. package/dist/interface/assets/CuiPluginCard-DEfqwUhQ.js +0 -2
  624. package/dist/interface/assets/CuiPluginCategoryChip-DhnIBJHa.js +0 -1
  625. package/dist/interface/assets/CuiPluginOAuthButton-DAuzNRAA.js +0 -2
  626. package/dist/interface/assets/CuiPluginTrustBadge-Bz710WwC.js +0 -1
  627. package/dist/interface/assets/CuiQRCode-B8-4GHSY.js +0 -1
  628. package/dist/interface/assets/CuiSchema-C_CHuKuf.js +0 -1
  629. package/dist/interface/assets/CuiTopNavbarItem-CNEnOPSh.js +0 -1
  630. package/dist/interface/assets/Faces-DRHMrrxh.js +0 -1
  631. package/dist/interface/assets/FirstSteps-Ci2Iqbe2.js +0 -1
  632. package/dist/interface/assets/Floorplan-Ci63Zd8W.css +0 -1
  633. package/dist/interface/assets/Floorplan-CqWIbDbh.js +0 -1
  634. package/dist/interface/assets/Instances-gzKFKB1l.js +0 -1
  635. package/dist/interface/assets/Logs-DL1yw_Pe.js +0 -6
  636. package/dist/interface/assets/Menu-C0GQ63aj.js +0 -1
  637. package/dist/interface/assets/Metrics-BYnnb7M0.js +0 -12
  638. package/dist/interface/assets/Metrics-DsHBab6t.css +0 -1
  639. package/dist/interface/assets/OAuthDeviceFlow-Zd6r9IHU.js +0 -1
  640. package/dist/interface/assets/Plugin-DJIrYUnZ.js +0 -1
  641. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +0 -1
  642. package/dist/interface/assets/PluginConsole-ag0jPZQ_.js +0 -7
  643. package/dist/interface/assets/PluginDetail-DmElwUuV.js +0 -2
  644. package/dist/interface/assets/PluginSchema-CxUujnVs.js +0 -1
  645. package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +0 -1
  646. package/dist/interface/assets/PluginSearch-BqzngVRL.js +0 -2
  647. package/dist/interface/assets/PluginUpdateProgress-CFut0RAe.js +0 -1
  648. package/dist/interface/assets/Plugins-ZFcB_j6v.js +0 -1
  649. package/dist/interface/assets/RecentEventsFilter-CqeHhECT.js +0 -1
  650. package/dist/interface/assets/Recordings-BEKAn6QK.css +0 -1
  651. package/dist/interface/assets/Recordings-BJrtW9eG.js +0 -1
  652. package/dist/interface/assets/SensorEdit-Bi0gg-CL.js +0 -1
  653. package/dist/interface/assets/SensorHistory-q0UR3qMG.js +0 -1
  654. package/dist/interface/assets/Sensors-C_InhcHA.js +0 -2
  655. package/dist/interface/assets/Settings-Cv38rGWn.js +0 -1
  656. package/dist/interface/assets/Settings-D7495zbV.css +0 -1
  657. package/dist/interface/assets/SettingsAccount-B05739dn.js +0 -1
  658. package/dist/interface/assets/SettingsAccount-gm28wtbl.js +0 -1
  659. package/dist/interface/assets/SettingsAppearance-DdyYUgmV.js +0 -1
  660. package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +0 -1
  661. package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +0 -1
  662. package/dist/interface/assets/SettingsBackup-DKwlPQhD.js +0 -1
  663. package/dist/interface/assets/SettingsList-D6hqnvUo.js +0 -1
  664. package/dist/interface/assets/SettingsMqtt-C01fgLY0.js +0 -1
  665. package/dist/interface/assets/SettingsNotifications-D47cIquQ.js +0 -1
  666. package/dist/interface/assets/SettingsPermissions-BeTCTrAf.js +0 -1
  667. package/dist/interface/assets/SettingsRecordings-mwL6Dalr.js +0 -1
  668. package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +0 -1
  669. package/dist/interface/assets/SettingsRemote-MhaShPIf.js +0 -2
  670. package/dist/interface/assets/SettingsSystem-BXnzXgqm.js +0 -2
  671. package/dist/interface/assets/SettingsUsers-D2mVlJin.js +0 -1
  672. package/dist/interface/assets/Terminal-C1UoXDRK.js +0 -4
  673. package/dist/interface/assets/Training-A5ynOv_l.js +0 -1
  674. package/dist/interface/assets/Training-C-ToeAl4.css +0 -1
  675. package/dist/interface/assets/Updates-kS_Tm8HD.js +0 -2
  676. package/dist/interface/assets/VariableInput-D9PfI8Ut.js +0 -1
  677. package/dist/interface/assets/VariableSuggestions-DArWzQuE.js +0 -1
  678. package/dist/interface/assets/VersionsHandler-BZVMpB2v.js +0 -7
  679. package/dist/interface/assets/VirtualSensorCreate-Cz-QFo4R.js +0 -1
  680. package/dist/interface/assets/Workers-2sc4VMi9.js +0 -2
  681. package/dist/interface/assets/Workers-DH59zE1C.css +0 -1
  682. package/dist/interface/assets/account-DwW7pBOb.js +0 -1
  683. package/dist/interface/assets/ace-DzzM-RlW.js +0 -1
  684. package/dist/interface/assets/ace.config-CCyX_Ohk.js +0 -1
  685. package/dist/interface/assets/alert-circle-BdUVAt1B.js +0 -1
  686. package/dist/interface/assets/alert-outline-IRxYbw0j.js +0 -1
  687. package/dist/interface/assets/api-CGfJbsTz.css +0 -2
  688. package/dist/interface/assets/api-CzwdnGAH.js +0 -1
  689. package/dist/interface/assets/api-DOpXVpef.js +0 -4
  690. package/dist/interface/assets/arrow-left-Bk-ZrOVr.js +0 -1
  691. package/dist/interface/assets/assistant-hGCAgv-f.js +0 -1
  692. package/dist/interface/assets/assistantModels-BsSgRsws.js +0 -1
  693. package/dist/interface/assets/auth-By-S-WEr.js +0 -1
  694. package/dist/interface/assets/automations-vwIwb2PQ.js +0 -1
  695. package/dist/interface/assets/back-filled-D-X19YMO.js +0 -1
  696. package/dist/interface/assets/bell-ring-DreEHgoT.js +0 -1
  697. package/dist/interface/assets/brain-DuDAg544.js +0 -1
  698. package/dist/interface/assets/cameraSources-BMhXvtFt.js +0 -1
  699. package/dist/interface/assets/cctv-DM-C_8_6.js +0 -1
  700. package/dist/interface/assets/check-circle-Bevuw8-0.js +0 -1
  701. package/dist/interface/assets/check-circle-outline-aMxkvksr.js +0 -1
  702. package/dist/interface/assets/chevron-down-CCFn9Z56.js +0 -1
  703. package/dist/interface/assets/chevron-up-CSImUM3_.js +0 -1
  704. package/dist/interface/assets/clock-outline-DH3WIEJt.js +0 -1
  705. package/dist/interface/assets/close-CMxyM4v9.js +0 -1
  706. package/dist/interface/assets/close-circle-CfgJCZ9A.js +0 -1
  707. package/dist/interface/assets/cloud-check-CbdFLIdR.js +0 -1
  708. package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +0 -1
  709. package/dist/interface/assets/config-BQxEwrK6.js +0 -1
  710. package/dist/interface/assets/content-copy-Bz49QPOI.js +0 -1
  711. package/dist/interface/assets/copy-DA6QQHRt.js +0 -1
  712. package/dist/interface/assets/cube-scan-IiH8zwm2.js +0 -1
  713. package/dist/interface/assets/database-refresh-outline-CIUDpcuq.js +0 -1
  714. package/dist/interface/assets/delete-Btu-UVx9.js +0 -1
  715. package/dist/interface/assets/dist-D_qWDAKp.js +0 -1
  716. package/dist/interface/assets/dots-vertical-D496SIss.js +0 -1
  717. package/dist/interface/assets/download-BSC7lwq_.js +0 -1
  718. package/dist/interface/assets/esm-Bn9gXwX4.js +0 -1
  719. package/dist/interface/assets/esm-BzM6y2-F.js +0 -1
  720. package/dist/interface/assets/esm-CP3JWrtj.js +0 -1
  721. package/dist/interface/assets/esm-CjAXkqCf.js +0 -1
  722. package/dist/interface/assets/esm-Cqxk-j1S.js +0 -1
  723. package/dist/interface/assets/esm-DFHd3JNU.js +0 -1
  724. package/dist/interface/assets/esm-DfMLJtug.js +0 -1
  725. package/dist/interface/assets/esm-DhDrpq7a.js +0 -1
  726. package/dist/interface/assets/esm-DvhM-SOd.js +0 -1
  727. package/dist/interface/assets/esm-G63bqygQ.js +0 -1
  728. package/dist/interface/assets/esm-Gn-Y59hU.js +0 -1
  729. package/dist/interface/assets/esm-KJSOz2vj.js +0 -1
  730. package/dist/interface/assets/esm-Ryfc94Tm.js +0 -1
  731. package/dist/interface/assets/esm-rSfI5Poy.js +0 -1
  732. package/dist/interface/assets/eventIcons-UQutPG3p.js +0 -1
  733. package/dist/interface/assets/eventLabels-BsPoPWS9.js +0 -1
  734. package/dist/interface/assets/eye-off-CSU0U8g7.js +0 -1
  735. package/dist/interface/assets/eye-off-outline-DCxLRGo_.js +0 -1
  736. package/dist/interface/assets/flowSchema-BPq6iHks.js +0 -1
  737. package/dist/interface/assets/help-circle-outline-Cr_yNhPi.js +0 -1
  738. package/dist/interface/assets/history-anuCbp1T.js +0 -1
  739. package/dist/interface/assets/home-N3bDR1vX.js +0 -1
  740. package/dist/interface/assets/information-outline-CMWIvLNB.js +0 -1
  741. package/dist/interface/assets/intercomService-CXcjcPa9.js +0 -1
  742. package/dist/interface/assets/lan-CYXjdk7L.js +0 -1
  743. package/dist/interface/assets/main-By4L33Im.js +0 -3
  744. package/dist/interface/assets/main-DVa5U7UB.css +0 -1
  745. package/dist/interface/assets/microphone-BB2pATI_.js +0 -1
  746. package/dist/interface/assets/minus-BCp3ZNKO.js +0 -1
  747. package/dist/interface/assets/mqtt-DE1KQ8Td.js +0 -1
  748. package/dist/interface/assets/native-CZJE8bTs.js +0 -1
  749. package/dist/interface/assets/native-DKZwialB.js +0 -1
  750. package/dist/interface/assets/nodeDefinitions-ByrqsENY.js +0 -1
  751. package/dist/interface/assets/notifications-BCyiD-TP.js +0 -1
  752. package/dist/interface/assets/pause-BQlxwAW2.js +0 -1
  753. package/dist/interface/assets/pencil-CDsNnEXi.js +0 -1
  754. package/dist/interface/assets/pencil-outline-CIQL5Kui.js +0 -1
  755. package/dist/interface/assets/plugin-DSEMkqaK.js +0 -1
  756. package/dist/interface/assets/plugins-BJPCV1YL.js +0 -1
  757. package/dist/interface/assets/plus-Bp4q9G7S.js +0 -1
  758. package/dist/interface/assets/plus-CySoovdr.js +0 -1
  759. package/dist/interface/assets/power-WmBLDR0-.js +0 -1
  760. package/dist/interface/assets/radar-CyYAmume.js +0 -1
  761. package/dist/interface/assets/refresh-CHTA3jVN.js +0 -1
  762. package/dist/interface/assets/restore-C8RNM5yX.js +0 -1
  763. package/dist/interface/assets/rooms-Dr4yiakO.js +0 -1
  764. package/dist/interface/assets/round-alt-arrow-left-bold-Gh5mi_yR.js +0 -1
  765. package/dist/interface/assets/search-BajCVmOI.js +0 -1
  766. package/dist/interface/assets/sensorIcons-DofElQ3w.js +0 -1
  767. package/dist/interface/assets/sensorSlots-D2KJGvPw.js +0 -1
  768. package/dist/interface/assets/sensors-3llrL7s3.js +0 -1
  769. package/dist/interface/assets/server-Dw5DD473.js +0 -1
  770. package/dist/interface/assets/settings-DnksaK7m.js +0 -1
  771. package/dist/interface/assets/source-branch-CzqIPffP.js +0 -1
  772. package/dist/interface/assets/theme-C85LJhOY.js +0 -1
  773. package/dist/interface/assets/trash-2-DJeEhHf4.js +0 -1
  774. package/dist/interface/assets/trash-can-outline-DrT6iw7I.js +0 -1
  775. package/dist/interface/assets/trash-fill-Bb_-UicM.js +0 -1
  776. package/dist/interface/assets/trash2-Dsl8gfxq.js +0 -1
  777. package/dist/interface/assets/types-CPhy0Ovw.js +0 -1
  778. package/dist/interface/assets/types-DYKmSGl4.js +0 -1
  779. package/dist/interface/assets/types-i1kTodPP.js +0 -1
  780. package/dist/interface/assets/undo-DoqJW-k7.js +0 -1
  781. package/dist/interface/assets/ungrouped-BlheTJCh.css +0 -1
  782. package/dist/interface/assets/ungrouped-C2CWO39a.js +0 -1
  783. package/dist/interface/assets/updates-C2LhMkNR.js +0 -1
  784. package/dist/interface/assets/upload-C3w1XH-o.js +0 -1
  785. package/dist/interface/assets/upload-DtIcwiNC.js +0 -1
  786. package/dist/interface/assets/useAppVersion-DkazK9Vu.js +0 -1
  787. package/dist/interface/assets/useAssistantActions-BZP6NL18.js +0 -1
  788. package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +0 -1
  789. package/dist/interface/assets/useCameraOptions-DnI0xLrX.js +0 -1
  790. package/dist/interface/assets/useKeyboardInset-Cr7SxKGN.js +0 -1
  791. package/dist/interface/assets/useLogsSocket-C3Y8S0Ar.js +0 -1
  792. package/dist/interface/assets/useNavLayout-C9pcDuVP.js +0 -1
  793. package/dist/interface/assets/usePermissions-CCTxwXF0.js +0 -1
  794. package/dist/interface/assets/usePluginUpdates-DBhLWAua.js +0 -1
  795. package/dist/interface/assets/usePushRegistration-CPRVdLAx.js +0 -2
  796. package/dist/interface/assets/useServerRestart-bScBLJ9r.js +0 -1
  797. package/dist/interface/assets/useStreamStatus-Bfh-WmLH.js +0 -1
  798. package/dist/interface/assets/useTabSwipe-C_QOrvSW.js +0 -1
  799. package/dist/interface/assets/useUpdateChannel-g0h_4c55.js +0 -1
  800. package/dist/interface/assets/useUpdatesSocket-CxrLRETs.js +0 -1
  801. package/dist/interface/assets/useUserOptions-DN0t3gBr.js +0 -1
  802. package/dist/interface/assets/variable-ywTlRfo5.js +0 -1
  803. package/dist/interface/assets/vendor-ace-CvEoip98.js +0 -1085
  804. package/dist/interface/assets/vendor-cameraui-B28aGJJD.js +0 -2326
  805. package/dist/interface/assets/vendor-capacitor-Bs_WzL0Q.js +0 -2
  806. package/dist/interface/assets/vendor-chart-DBK083Hu.js +0 -3
  807. package/dist/interface/assets/vendor-core-DIa0tPNH.js +0 -1
  808. package/dist/interface/assets/vendor-dnd-DGQLvX6Y.js +0 -2
  809. package/dist/interface/assets/vendor-draggabilly-D8CK6M-y.js +0 -1
  810. package/dist/interface/assets/vendor-gFkr2qsZ.js +0 -23
  811. package/dist/interface/assets/vendor-leaflet-DkAk6mAj.js +0 -1
  812. package/dist/interface/assets/vendor-markdown-qHIinIUE.js +0 -14
  813. package/dist/interface/assets/vendor-primevue-CZKUAkMA.js +0 -3942
  814. package/dist/interface/assets/vendor-vueflow-bSwRZ9X8.js +0 -26
  815. package/dist/interface/assets/web-BDNQnMmA.js +0 -1
  816. package/dist/interface/assets/web-B_9Qyt8E.js +0 -1
  817. package/dist/interface/assets/web-BhJykCtq.js +0 -1
  818. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +0 -1
  819. package/dist/interface/assets/web-C7nJwIOa.js +0 -1
  820. package/dist/interface/assets/web-CGJsJQDb.js +0 -1
  821. package/dist/interface/assets/web-CJwASxrl.js +0 -1
  822. package/dist/interface/assets/web-CLe0L31Y.js +0 -1
  823. package/dist/interface/assets/web-DEv1hAn1.js +0 -1
  824. package/dist/interface/assets/web-DaeQvsXT.js +0 -1
  825. package/dist/interface/assets/web-H3-wNunW.js +0 -1
  826. package/dist/interface/assets/web-LCdyqJq1.js +0 -1
  827. package/dist/interface/assets/web-XZWYTK65.js +0 -1
  828. package/dist/interface/assets/web-rU5hlxxW.js +0 -1
  829. package/dist/interface/assets/webhook-CWKf2Qxu.js +0 -1
  830. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +0 -1
  831. package/dist/interface/assets/zoom-in-CHkXAWHy.js +0 -1
  832. package/dist/interface/ha/404-tl2VQ3qy.js +0 -60
  833. package/dist/interface/ha/About-Cn7KOblU.js +0 -55
  834. package/dist/interface/ha/Assistant-DG2GGda0.js +0 -9361
  835. package/dist/interface/ha/Automation-D0_WpXx4.js +0 -2025
  836. package/dist/interface/ha/AutomationImport-DdC3dEaC.js +0 -206
  837. package/dist/interface/ha/AutomationStore-BrLn4oBx.js +0 -336
  838. package/dist/interface/ha/AutomationStoreDetail-DoppNsNc.js +0 -122
  839. package/dist/interface/ha/Automations-BaUJ9pVq.js +0 -424
  840. package/dist/interface/ha/Camera-Cj5ImvZG.js +0 -657
  841. package/dist/interface/ha/CameraConsole-7MhlS2VK.js +0 -52
  842. package/dist/interface/ha/Cameras-vHYz8uSO.js +0 -1969
  843. package/dist/interface/ha/Camview-BEglAx26.js +0 -1331
  844. package/dist/interface/ha/Config-CHiK--zP.js +0 -356
  845. package/dist/interface/ha/ConfigActionAssistant-DynduZYV.js +0 -182
  846. package/dist/interface/ha/ConfigActionCameraControl-BEYePssz.js +0 -152
  847. package/dist/interface/ha/ConfigActionHttp-h0vRWqZ5.js +0 -134
  848. package/dist/interface/ha/ConfigActionImageInput-B9GMZYAR.js +0 -171
  849. package/dist/interface/ha/ConfigActionMqtt-BEQpHBgf.js +0 -81
  850. package/dist/interface/ha/ConfigActionNotification-BYsz8_aS.js +0 -199
  851. package/dist/interface/ha/ConfigActionNotificationControl-BxmIWVE8.js +0 -111
  852. package/dist/interface/ha/ConfigActionOutput-DTOQSa1S.js +0 -98
  853. package/dist/interface/ha/ConfigActionPlugin-NOsUs3QI.js +0 -172
  854. package/dist/interface/ha/ConfigActionSensor-YWnsH_LV.js +0 -139
  855. package/dist/interface/ha/ConfigActionSnapshot-DHJnTvin.js +0 -48
  856. package/dist/interface/ha/ConfigActionVariable-C7UFnvW0.js +0 -88
  857. package/dist/interface/ha/ConfigConditionIfElse-CAHbuhH3.js +0 -124
  858. package/dist/interface/ha/ConfigConditionSensorState-CE6okUeb.js +0 -192
  859. package/dist/interface/ha/ConfigConditionSwitch-D5FULaTy.js +0 -128
  860. package/dist/interface/ha/ConfigSensorValueInput-mo6Gs_aZ.js +0 -170
  861. package/dist/interface/ha/ConfigTriggerDetection-Bt-OhHtM.js +0 -241
  862. package/dist/interface/ha/ConfigTriggerGeofence-Cw3jV5qD.js +0 -4888
  863. package/dist/interface/ha/ConfigTriggerMqtt-BXeV82UG.js +0 -134
  864. package/dist/interface/ha/ConfigTriggerSensor-Baqq--nJ.js +0 -73
  865. package/dist/interface/ha/ConfigTriggerSystem-braUVGzW.js +0 -192
  866. package/dist/interface/ha/ConfigTriggerWebhook-Dm45r-1C.js +0 -94
  867. package/dist/interface/ha/Console-q3TCsxYo.js +0 -348
  868. package/dist/interface/ha/CuiAutomationRunsDialog-DO6h5Tc4.js +0 -130
  869. package/dist/interface/ha/CuiBottomSheet-B7ldz0xi.js +0 -270
  870. package/dist/interface/ha/CuiCameraRecordings-Dq1Vh3qA.js +0 -551
  871. package/dist/interface/ha/CuiCameraShares-DBqcpevG.js +0 -121
  872. package/dist/interface/ha/CuiCameraTable-kL8rK-Uv.js +0 -169
  873. package/dist/interface/ha/CuiChartTable-BrFyiSt_.js +0 -6801
  874. package/dist/interface/ha/CuiConsole-DpeXZmJd.js +0 -244
  875. package/dist/interface/ha/CuiDataTable-BtqzIz0o.js +0 -8732
  876. package/dist/interface/ha/CuiList-CU2NJ1K6.js +0 -57
  877. package/dist/interface/ha/CuiPluginCard-lBLypaN4.js +0 -769
  878. package/dist/interface/ha/CuiPluginOAuthButton-CuGauZJA.js +0 -79
  879. package/dist/interface/ha/CuiPluginTrustBadge-BofBmRYc.js +0 -123
  880. package/dist/interface/ha/CuiQRCode-CdK9bwKb.js +0 -86
  881. package/dist/interface/ha/CuiSchema-DqkCLv9Y.js +0 -963
  882. package/dist/interface/ha/CuiTopNavbarItem-C2VZB7WV.js +0 -140
  883. package/dist/interface/ha/Faces-Crfi-75Z.js +0 -1441
  884. package/dist/interface/ha/FirstSteps-CKVG86pf.js +0 -251
  885. package/dist/interface/ha/Floorplan-CH9_-6hk.js +0 -3657
  886. package/dist/interface/ha/Instances-5gZdPPDA.js +0 -680
  887. package/dist/interface/ha/Logs-BkzEM70F.js +0 -418
  888. package/dist/interface/ha/Menu-BuT3_Ggx.js +0 -156
  889. package/dist/interface/ha/Metrics-BGrzu0bu.js +0 -1447
  890. package/dist/interface/ha/OAuthDeviceFlow-BEJtegqy.js +0 -112
  891. package/dist/interface/ha/Plugin-Bnp2jiC2.js +0 -1544
  892. package/dist/interface/ha/PluginConsole-CmsuPVMz.js +0 -56
  893. package/dist/interface/ha/PluginDetail-BCNx7vHr.js +0 -805
  894. package/dist/interface/ha/PluginSearch-DOdhuxgM.js +0 -462
  895. package/dist/interface/ha/PluginUpdateProgress-CwkKc8Tr.js +0 -34
  896. package/dist/interface/ha/Plugins-BrFowCdC.js +0 -692
  897. package/dist/interface/ha/RecentEventsFilter-9ZkDHD1g.js +0 -79
  898. package/dist/interface/ha/Recordings-BZhf39pJ.js +0 -1539
  899. package/dist/interface/ha/SensorEdit-Ds6WbN4A.js +0 -1462
  900. package/dist/interface/ha/SensorHistory-CoTIYTJx.js +0 -54
  901. package/dist/interface/ha/Sensors-DZ2MKdlh.js +0 -1400
  902. package/dist/interface/ha/Settings-D3JKr430.js +0 -218
  903. package/dist/interface/ha/SettingsAccount-cvtlSKZw.js +0 -971
  904. package/dist/interface/ha/SettingsAppearance-CaKuOHRu.js +0 -220
  905. package/dist/interface/ha/SettingsAssistant-vWVjAUqQ.js +0 -2025
  906. package/dist/interface/ha/SettingsBackup-CvzL_bVf.js +0 -556
  907. package/dist/interface/ha/SettingsList-C0Ec8x-H.js +0 -40
  908. package/dist/interface/ha/SettingsMqtt-COnq-QM5.js +0 -526
  909. package/dist/interface/ha/SettingsNotifications-BZ68bQzO.js +0 -529
  910. package/dist/interface/ha/SettingsPermissions-Jh0FuIF7.js +0 -84
  911. package/dist/interface/ha/SettingsRecordings-BPtNNpDa.js +0 -152
  912. package/dist/interface/ha/SettingsRemote-BXG8IYjf.js +0 -1810
  913. package/dist/interface/ha/SettingsSystem-_jHBUhws.js +0 -376
  914. package/dist/interface/ha/SettingsUsers-CzGj_RJN.js +0 -379
  915. package/dist/interface/ha/Terminal-BP3b8IBP.js +0 -612
  916. package/dist/interface/ha/Training-C2-6DgY0.js +0 -1699
  917. package/dist/interface/ha/Updates-BMZsEhmy.js +0 -343
  918. package/dist/interface/ha/VariableInput-DmI7skCD.js +0 -52
  919. package/dist/interface/ha/VersionsHandler-DJd4NqtD.js +0 -216
  920. package/dist/interface/ha/VirtualSensorCreate-DmtGYvAn.js +0 -101
  921. package/dist/interface/ha/Workers-2HTPHgKV.js +0 -765
  922. package/dist/interface/ha/ace-B3bPzJu9.js +0 -13236
  923. package/dist/interface/ha/ace.config-Dt55Nqby.js +0 -1429
  924. package/dist/interface/ha/api-BelbnLQO.js +0 -62346
  925. package/dist/interface/ha/api-sy4rqV2N.js +0 -29
  926. package/dist/interface/ha/assistant-C6KYXJfi.js +0 -349
  927. package/dist/interface/ha/auth-Da66mVEd.js +0 -271
  928. package/dist/interface/ha/automationBlueprint-hlqqM17r.js +0 -250
  929. package/dist/interface/ha/cards-BFRRfuM7.js +0 -13436
  930. package/dist/interface/ha/config-Cd7JNMpD.js +0 -116
  931. package/dist/interface/ha/dist-BIngHzHx.js +0 -287
  932. package/dist/interface/ha/dist-BybVYMVs.js +0 -3248
  933. package/dist/interface/ha/eventIcons-BFNUgeGr.js +0 -676
  934. package/dist/interface/ha/eventLabels-B4C1_4vT.js +0 -42
  935. package/dist/interface/ha/eye-off-outline-ACbzsGuK.js +0 -19
  936. package/dist/interface/ha/intercomService-B7HkLs6z.js +0 -1414
  937. package/dist/interface/ha/mqtt-UZfptWJl.js +0 -56
  938. package/dist/interface/ha/notifications-DTHM8fS-.js +0 -159
  939. package/dist/interface/ha/pinia-BokSpDzj.js +0 -7656
  940. package/dist/interface/ha/plugins-Bwp_GfaX.js +0 -592
  941. package/dist/interface/ha/protocol-BB4jdtUC-DW3jl2tV.js +0 -708
  942. package/dist/interface/ha/rooms-BvaD0r0q.js +0 -45
  943. package/dist/interface/ha/server-OWdtITVa.js +0 -239
  944. package/dist/interface/ha/types-BFJjyMZe.js +0 -1073
  945. package/dist/interface/ha/ungrouped-x00DHNHO.js +0 -1311
  946. package/dist/interface/ha/updates-C03Qf3Il.js +0 -341
  947. package/dist/interface/ha/useAppVersion-CrMd9CC9.js +0 -22
  948. package/dist/interface/ha/useAssistantActions-S1FrNe9b.js +0 -29
  949. package/dist/interface/ha/useKeyboardInset-DwUQCWHC.js +0 -27
  950. package/dist/interface/ha/useLogsSocket-C6k217mW.js +0 -59
  951. package/dist/interface/ha/useNavLayout-DhuQE024.js +0 -125
  952. package/dist/interface/ha/usePermissions-DaE_wFch.js +0 -72
  953. package/dist/interface/ha/useServerRestart-CYaen2r6.js +0 -23
  954. package/dist/interface/ha/useTabSwipe-DAmCFlgg.js +0 -45
  955. package/dist/interface/ha/useUpdateChannel-Dr1EoU2X.js +0 -22
  956. package/dist/interface/ha/useUpdatesSocket-C8Gmhemh.js +0 -34
  957. package/dist/interface/ha/useUserOptions-BB5wk3Bq.js +0 -15
  958. package/dist/interface/workbox-778a14ff.js +0 -1
@@ -0,0 +1,1752 @@
1
+ import { m as e, p as t } from "./ripple-ZDATPc2w.js";
2
+ import { A as n, B as r, D as i, Dt as a, G as o, H as s, Jt as c, M as l, N as u, Wt as d, Y as f, _t as p, d as m, f as h, ft as g, g as _, gt as ee, kt as v, l as y, lt as b, ot as x, p as S, qt as C, r as w, rt as T, u as E, ut as te, v as D, wt as O, x as k, xt as A, y as j, yt as M, z as N } from "./runtime-core.esm-bundler-_TfE0DWz.js";
3
+ import { t as ne } from "./tooltip-BDrlgLof.js";
4
+ import { t as P } from "./tag-mchuCAPR.js";
5
+ import { $t as F, Ar as I, Bt as re, Ei as ie, Gr as L, Jn as R, On as ae, Or as z, Pr as B, Qt as V, Rt as oe, Vn as se, Zt as ce, cn as le, di as ue, ei as H, et as de, f as U, g as W, hn as fe, it as G, kn as pe, ni as me, q as he, qn as K, rn as ge, sn as _e, ut as ve, xn as ye, yr as be, zn as xe, zt as Se } from "./api-CH_Y8Hee.js";
6
+ import { A as Ce, b as q, i as we, o as Te } from "./intercomService-BtJ_zUNd.js";
7
+ import { B as J, I as Y, L as Ee, R as De, V as Oe, q as ke, r as Ae, s as je, z as X } from "./pinia-CVnHHb-s.js";
8
+ import { n as Me } from "./vue-i18n-D5EAy78K.js";
9
+ import { O as Z, T as Q, k as Ne, w as Pe } from "./dist-euRmladF.js";
10
+ import { a as Fe } from "./alert-outline-FcLLjoOK.js";
11
+ import { S as Ie, r as Le } from "./eventLabels-B5GrM5jO.js";
12
+ import { t as $ } from "./button-BouAFgf5.js";
13
+ import { M as Re, N as ze, P as Be, b as Ve } from "./dist-BQf9ANPx.js";
14
+ import { t as He } from "./inputtext-C_ygnPrC.js";
15
+ import { t as Ue } from "./select-DV7p2EDj.js";
16
+ import { t as We } from "./multiselect-BOb4ScAZ.js";
17
+ import { t as Ge } from "./textarea-ByXnzJzx.js";
18
+ import { t as Ke } from "./CuiSchema-CYpr_dD7.js";
19
+ import { t as qe } from "./plugins--eatOIaI.js";
20
+ import { t as Je } from "./information-outline-DSSRyysT.js";
21
+ import { t as Ye } from "./close-circle-DfYSNAKm.js";
22
+ import { t as Xe } from "./CuiMarkdownContent-CrkZwv5j.js";
23
+ import { r as Ze, t as Qe } from "./CuiPluginCard-B4SCUblV.js";
24
+ import { n as $e, t as et } from "./walk-CsSXaeJw.js";
25
+ import { u as tt } from "./cards-E0zw1UVg.js";
26
+ import { t as nt } from "./back-filled-CaxrZv0Q.js";
27
+ //#region src/components/CuiMarkdownPanel/types.ts
28
+ var rt = {
29
+ content: null,
30
+ loading: !1,
31
+ collapsedHeight: 420
32
+ }, it = { class: "lg:!hidden card-title" }, at = {
33
+ ref: "frame",
34
+ class: "flex flex-col h-full"
35
+ }, ot = { class: "flex items-center gap-3 border-color lg:border-b-[1px] lg:mb-3 lg:pb-3" }, st = { class: "hidden lg:block text-base font-semibold" }, ct = {
36
+ key: 0,
37
+ class: "flex w-full h-full items-center justify-center"
38
+ }, lt = /* @__PURE__ */ k({
39
+ __name: "CuiMarkdownPanel",
40
+ props: /*@__PURE__*/ n({
41
+ title: {},
42
+ placeholder: {},
43
+ content: {},
44
+ loading: { type: Boolean },
45
+ collapsedHeight: {}
46
+ }, rt),
47
+ setup(e) {
48
+ let t = e, n = T("frame"), r = T("body"), i = A(!1), a = A(!1), o = A(t.collapsedHeight), l = y(() => !t.loading && (i.value || a.value));
49
+ function d() {
50
+ let e = n.value, i = r.value;
51
+ if (!e || !i) return;
52
+ let a = Math.round(e.getBoundingClientRect().bottom - i.getBoundingClientRect().top), s = Math.max(t.collapsedHeight, a);
53
+ Math.abs(s - o.value) > 2 && (o.value = s);
54
+ }
55
+ function f() {
56
+ if (i.value) return;
57
+ d();
58
+ let e = r.value;
59
+ a.value = !!e && e.scrollHeight > e.clientHeight + 1;
60
+ }
61
+ return q(r, "load", f, { capture: !0 }), Ce(n, f), Ce(r, f), x([() => t.content, () => t.loading], () => u(f)), N(() => u(f)), (t, n) => {
62
+ let r = _e, a = le, u = $, d = z, f = Xe, p = we, g = ne;
63
+ return s(), S("div", null, [E("span", it, c(e.title), 1), j(p, { class: "cui-card !h-auto lg:!h-full" }, {
64
+ content: b(() => [E("div", at, [E("div", ot, [E("h3", st, c(e.title), 1), v(l) ? te((s(), m(u, {
65
+ key: 0,
66
+ severity: "secondary",
67
+ text: "",
68
+ class: "cui-button ml-auto p-1",
69
+ onClick: n[0] ||= (e) => i.value = !v(i)
70
+ }, {
71
+ icon: b(() => [v(i) ? (s(), m(r, {
72
+ key: 0,
73
+ class: "w-[18px] h-[18px]"
74
+ })) : (s(), m(a, {
75
+ key: 1,
76
+ class: "w-[18px] h-[18px]"
77
+ }))]),
78
+ _: 1
79
+ })), [[
80
+ g,
81
+ { value: v(i) ? t.$t("components.form.button.collapse") : t.$t("components.form.button.expand") },
82
+ void 0,
83
+ { left: !0 }
84
+ ]]) : h("", !0)]), e.loading ? (s(), S("div", ct, [j(d, {
85
+ class: "w-[30px] h-[30px] m-0",
86
+ "stroke-width": "5"
87
+ })])) : (s(), S("div", {
88
+ key: 1,
89
+ ref: "body",
90
+ class: "overflow-y-auto",
91
+ style: C(v(i) ? void 0 : { maxHeight: `${v(o)}px` })
92
+ }, [j(f, { content: e.content || e.placeholder }, null, 8, ["content"])], 4))], 512)]),
93
+ _: 1
94
+ })]);
95
+ };
96
+ }
97
+ }), ut = { class: "text-base font-semibold border-b-[1px] border-color mb-3 pb-3" }, dt = { class: "flex flex-col gap-4" }, ft = { class: "flex flex-col field-gap" }, pt = { class: "cui-label" }, mt = {
98
+ key: 0,
99
+ class: "text-red-500 text-sm"
100
+ }, ht = { class: "flex flex-col field-gap" }, gt = { class: "cui-label" }, _t = { class: "flex flex-col field-gap" }, vt = { class: "cui-label" }, yt = { class: "flex flex-col field-gap" }, bt = { class: "cui-label" }, xt = { class: "flex flex-col field-gap" }, St = { class: "cui-label" }, Ct = { class: "flex flex-col field-gap" }, wt = { class: "cui-label" }, Tt = { class: "flex flex-col field-gap" }, Et = { class: "cui-label" }, Dt = { class: "flex flex-col field-gap" }, Ot = { class: "cui-label" }, kt = { class: "mt-8" }, At = { class: "text-base font-semibold border-b-[1px] border-color mb-3 pb-3" }, jt = {
101
+ key: 0,
102
+ class: "flex items-center justify-center w-full py-4"
103
+ }, Mt = {
104
+ key: 1,
105
+ class: "flex items-center justify-center text-sm text-muted py-4 text-center"
106
+ }, Nt = {
107
+ key: 2,
108
+ class: "flex flex-col field-gap"
109
+ }, Pt = { class: "text-xs text-muted" }, Ft = {
110
+ key: 0,
111
+ class: "mt-8"
112
+ }, It = { class: "text-base font-semibold border-b-[1px] border-color mb-3 pb-3" }, Lt = /* @__PURE__ */ k({
113
+ __name: "CuiNotificationInterface",
114
+ props: { pluginName: {} },
115
+ setup(e) {
116
+ let t = e, n = Te(), { t: r } = Me(), i = ie(), l = W(), { user: u } = Ae(l), { pluginName: d } = a(t), { plugin: f } = Re(d), p = y(() => Object.values(Pe).map((e) => ({
117
+ label: r(`components.notification_interface.severity_${e}`),
118
+ value: e
119
+ }))), m = M({
120
+ title: "Test notification",
121
+ subtitle: "",
122
+ body: "This is a test notification from camera.ui",
123
+ severity: Pe.Info,
124
+ tag: "",
125
+ imageUrl: "",
126
+ deepLink: ""
127
+ }), g = A([]), _ = A(!1), C = A(!1), T = O([]), te = A(!1), D = A([]), k = O(), N = A(!1), ne = y(() => T.value.map((e) => ({
128
+ id: e.id,
129
+ label: e.name
130
+ })));
131
+ async function P() {
132
+ if (f.value && u.value?._id) {
133
+ te.value = !0;
134
+ try {
135
+ let e = be(void 0, "admin") ? [] : [u.value._id];
136
+ T.value = await f.value.getDevices?.(e) ?? [];
137
+ } catch (e) {
138
+ n.error("Failed to load notifier devices:", e), T.value = [];
139
+ } finally {
140
+ te.value = !1;
141
+ }
142
+ }
143
+ }
144
+ async function F() {
145
+ if (f.value) {
146
+ N.value = !0;
147
+ try {
148
+ k.value = await f.value.notificationSettings?.();
149
+ } catch (e) {
150
+ n.error("Failed to load notification settings schema:", e), k.value = void 0;
151
+ } finally {
152
+ N.value = !1;
153
+ }
154
+ }
155
+ }
156
+ function I() {
157
+ g.value.push({
158
+ key: "",
159
+ value: ""
160
+ });
161
+ }
162
+ function re(e) {
163
+ g.value.splice(e, 1);
164
+ }
165
+ function L() {
166
+ let e = {};
167
+ for (let t of g.value) t.key.trim() && (e[t.key.trim()] = t.value);
168
+ return {
169
+ title: m.title.trim(),
170
+ subtitle: m.subtitle.trim() || void 0,
171
+ body: m.body.trim() || void 0,
172
+ severity: m.severity,
173
+ tag: m.tag.trim() || void 0,
174
+ imageUrl: m.imageUrl.trim() || void 0,
175
+ deepLink: m.deepLink.trim() || void 0,
176
+ data: Object.keys(e).length ? e : void 0
177
+ };
178
+ }
179
+ async function R() {
180
+ let e = f.value;
181
+ if (e && !C.value) {
182
+ if (!m.title.trim()) {
183
+ _.value = !0;
184
+ return;
185
+ }
186
+ C.value = !0;
187
+ try {
188
+ let t = L(), n = D.value.length ? D.value : T.value.map((e) => e.id);
189
+ await e.sendNotification?.(n, t), i.add({
190
+ severity: "success",
191
+ detail: r("components.notification_interface.sent"),
192
+ life: 3e3
193
+ });
194
+ } catch (e) {
195
+ i.add({
196
+ severity: "error",
197
+ detail: e,
198
+ life: 3e3
199
+ });
200
+ } finally {
201
+ C.value = !1;
202
+ }
203
+ }
204
+ }
205
+ return x(f, (e) => {
206
+ e && (P(), F());
207
+ }, { immediate: !0 }), (e, t) => {
208
+ let n = He, r = Ge, i = Ue, a = Ye, l = $, u = tt, d = z, y = We, x = Ke;
209
+ return s(), S("div", null, [
210
+ E("h3", ut, c(e.$t("components.notification_interface.template")), 1),
211
+ E("div", dt, [
212
+ E("div", ft, [
213
+ E("label", pt, c(e.$t("components.notification_interface.title")), 1),
214
+ j(n, {
215
+ modelValue: v(m).title,
216
+ "onUpdate:modelValue": [t[0] ||= (e) => v(m).title = e, t[1] ||= (e) => _.value = !1],
217
+ placeholder: e.$t("components.notification_interface.title"),
218
+ invalid: v(_),
219
+ class: "w-full"
220
+ }, null, 8, [
221
+ "modelValue",
222
+ "placeholder",
223
+ "invalid"
224
+ ]),
225
+ v(_) ? (s(), S("p", mt, c(e.$t("components.notification_interface.title_required")), 1)) : h("", !0)
226
+ ]),
227
+ E("div", ht, [E("label", gt, c(e.$t("components.notification_interface.subtitle")), 1), j(n, {
228
+ modelValue: v(m).subtitle,
229
+ "onUpdate:modelValue": t[2] ||= (e) => v(m).subtitle = e,
230
+ placeholder: e.$t("components.notification_interface.subtitle"),
231
+ class: "w-full"
232
+ }, null, 8, ["modelValue", "placeholder"])]),
233
+ E("div", _t, [E("label", vt, c(e.$t("components.notification_interface.body")), 1), j(r, {
234
+ modelValue: v(m).body,
235
+ "onUpdate:modelValue": t[3] ||= (e) => v(m).body = e,
236
+ placeholder: e.$t("components.notification_interface.body"),
237
+ rows: "3",
238
+ class: "w-full"
239
+ }, null, 8, ["modelValue", "placeholder"])]),
240
+ E("div", yt, [E("label", bt, c(e.$t("components.notification_interface.severity")), 1), j(i, {
241
+ modelValue: v(m).severity,
242
+ "onUpdate:modelValue": t[4] ||= (e) => v(m).severity = e,
243
+ options: v(p),
244
+ "option-label": "label",
245
+ "option-value": "value",
246
+ class: "w-full"
247
+ }, null, 8, ["modelValue", "options"])]),
248
+ E("div", xt, [E("label", St, c(e.$t("components.notification_interface.tag")), 1), j(n, {
249
+ modelValue: v(m).tag,
250
+ "onUpdate:modelValue": t[5] ||= (e) => v(m).tag = e,
251
+ placeholder: "motion:cam-1",
252
+ class: "w-full"
253
+ }, null, 8, ["modelValue"])]),
254
+ E("div", Ct, [E("label", wt, c(e.$t("components.notification_interface.image_url")), 1), j(n, {
255
+ modelValue: v(m).imageUrl,
256
+ "onUpdate:modelValue": t[6] ||= (e) => v(m).imageUrl = e,
257
+ placeholder: "https://…",
258
+ class: "w-full"
259
+ }, null, 8, ["modelValue"])]),
260
+ E("div", Tt, [E("label", Et, c(e.$t("components.notification_interface.deep_link")), 1), j(n, {
261
+ modelValue: v(m).deepLink,
262
+ "onUpdate:modelValue": t[7] ||= (e) => v(m).deepLink = e,
263
+ placeholder: "/cameras/cam-1",
264
+ class: "w-full"
265
+ }, null, 8, ["modelValue"])]),
266
+ E("div", Dt, [
267
+ E("label", Ot, c(e.$t("components.notification_interface.data")), 1),
268
+ (s(!0), S(w, null, o(v(g), (t, r) => (s(), S("div", {
269
+ key: r,
270
+ class: "flex gap-2 items-center"
271
+ }, [
272
+ j(n, {
273
+ modelValue: t.key,
274
+ "onUpdate:modelValue": (e) => t.key = e,
275
+ placeholder: e.$t("components.notification_interface.data_key"),
276
+ class: "flex-1 min-w-0"
277
+ }, null, 8, [
278
+ "modelValue",
279
+ "onUpdate:modelValue",
280
+ "placeholder"
281
+ ]),
282
+ j(n, {
283
+ modelValue: t.value,
284
+ "onUpdate:modelValue": (e) => t.value = e,
285
+ placeholder: e.$t("components.notification_interface.data_value"),
286
+ class: "flex-1 min-w-0"
287
+ }, null, 8, [
288
+ "modelValue",
289
+ "onUpdate:modelValue",
290
+ "placeholder"
291
+ ]),
292
+ j(l, {
293
+ text: "",
294
+ rounded: "",
295
+ severity: "danger",
296
+ class: "cui-icon-md shrink-0",
297
+ onClick: (e) => re(r)
298
+ }, {
299
+ icon: b(() => [j(a, {
300
+ width: "100%",
301
+ height: "100%"
302
+ })]),
303
+ _: 1
304
+ }, 8, ["onClick"])
305
+ ]))), 128)),
306
+ j(l, {
307
+ severity: "secondary",
308
+ outlined: "",
309
+ fluid: "",
310
+ class: "cui-button-medium",
311
+ label: e.$t("components.notification_interface.add_data"),
312
+ onClick: I
313
+ }, {
314
+ icon: b(() => [j(u, { class: "w-4 h-4" })]),
315
+ _: 1
316
+ }, 8, ["label"])
317
+ ])
318
+ ]),
319
+ E("div", kt, [E("h3", At, c(e.$t("components.notification_interface.targets")), 1), v(te) ? (s(), S("div", jt, [j(d, {
320
+ class: "w-[24px] h-[24px] m-0",
321
+ "stroke-width": "5"
322
+ })])) : v(ne).length ? (s(), S("div", Nt, [E("span", Pt, c(e.$t("components.notification_interface.targets_hint")), 1), j(y, {
323
+ modelValue: v(D),
324
+ "onUpdate:modelValue": t[8] ||= (e) => ee(D) ? D.value = e : null,
325
+ options: v(ne),
326
+ "option-label": "label",
327
+ "option-value": "id",
328
+ placeholder: e.$t("components.notification_interface.all_devices"),
329
+ display: "chip",
330
+ filter: "",
331
+ class: "w-full"
332
+ }, null, 8, [
333
+ "modelValue",
334
+ "options",
335
+ "placeholder"
336
+ ])])) : (s(), S("div", Mt, c(e.$t("components.notification_interface.no_devices")), 1))]),
337
+ v(k)?.length ? (s(), S("div", Ft, [E("h3", It, c(e.$t("components.notification_interface.settings")), 1), j(x, {
338
+ "schema-form": {
339
+ schema: v(k),
340
+ config: {}
341
+ },
342
+ loading: v(N)
343
+ }, null, 8, ["schema-form", "loading"])])) : h("", !0),
344
+ j(l, {
345
+ fluid: "",
346
+ class: "mt-8 cui-button-medium",
347
+ severity: "success",
348
+ loading: v(C),
349
+ disabled: !v(f) || v(C),
350
+ label: e.$t("components.notification_interface.send_test"),
351
+ onClick: R
352
+ }, null, 8, [
353
+ "loading",
354
+ "disabled",
355
+ "label"
356
+ ])
357
+ ]);
358
+ };
359
+ }
360
+ }), Rt = { class: "mb-4 rounded-xl overflow-hidden w-fit mx-auto" }, zt = ["src"], Bt = { class: "text-sm text-muted mb-4" }, Vt = {
361
+ key: 0,
362
+ class: "ml-1"
363
+ }, Ht = { class: "flex gap-2 mb-4" }, Ut = {
364
+ key: 0,
365
+ class: "flex flex-col gap-2"
366
+ }, Wt = { class: "text-sm truncate flex-1 mr-3" }, Gt = { class: "flex items-center gap-2 shrink-0" }, Kt = /* @__PURE__ */ k({
367
+ __name: "PluginClipInterface",
368
+ props: {
369
+ src: {},
370
+ response: {},
371
+ onTextSearch: { type: Function }
372
+ },
373
+ setup(e, { expose: n }) {
374
+ let r = e, i = Te(), a = A(""), l = A(!1), u = A([]);
375
+ function f(e) {
376
+ let [t, n] = r.response.scoreBand ?? [0, 0];
377
+ return n <= t ? 0 : Math.max(0, Math.min(1, (e - t) / (n - t)));
378
+ }
379
+ async function p() {
380
+ let e = a.value.trim();
381
+ if (e && !l.value) {
382
+ l.value = !0;
383
+ try {
384
+ let { score: t } = await r.onTextSearch(e);
385
+ u.value.unshift({
386
+ query: e,
387
+ rawScore: t,
388
+ displayScore: f(t)
389
+ }), a.value = "";
390
+ } catch (e) {
391
+ i.error("CLIP text search failed:", e);
392
+ } finally {
393
+ l.value = !1;
394
+ }
395
+ }
396
+ }
397
+ return n({}), (n, r) => {
398
+ let i = He, f = $, m = P;
399
+ return s(), S("div", null, [
400
+ E("div", Rt, [E("img", {
401
+ src: e.src,
402
+ alt: "CLIP test image",
403
+ class: "max-w-full max-h-[50vh] w-auto object-contain"
404
+ }, null, 8, zt)]),
405
+ E("div", Bt, [D(c(e.response.embeddings.length) + " embedding(s), " + c(e.response.embeddings[0]?.embedding?.length ?? 0) + "-dim ", 1), e.response.embeddingModel ? (s(), S("span", Vt, "(" + c(e.response.embeddingModel) + ")", 1)) : h("", !0)]),
406
+ E("div", Ht, [j(i, {
407
+ modelValue: v(a),
408
+ "onUpdate:modelValue": r[0] ||= (e) => ee(a) ? a.value = e : null,
409
+ class: "flex-1",
410
+ placeholder: n.$t("components.clip_interface.enter_query"),
411
+ onKeyup: t(p, ["enter"])
412
+ }, null, 8, ["modelValue", "placeholder"]), j(f, {
413
+ class: "cui-button-medium",
414
+ label: n.$t("components.clip_interface.search"),
415
+ loading: v(l),
416
+ onClick: p
417
+ }, null, 8, ["label", "loading"])]),
418
+ v(u).length ? (s(), S("div", Ut, [(s(!0), S(w, null, o(v(u), (e, t) => (s(), S("div", {
419
+ key: t,
420
+ class: "flex items-center justify-between p-3 rounded-lg content-background"
421
+ }, [E("span", Wt, c(e.query), 1), E("div", Gt, [E("div", { class: d(["text-sm font-medium", e.displayScore >= .5 ? "text-green-500" : e.displayScore >= .25 ? "text-yellow-500" : "text-red-400"]) }, c((e.displayScore * 100).toFixed(0)) + "% ", 3), j(m, {
422
+ value: e.displayScore >= .5 ? "Match" : e.displayScore >= .25 ? "Possible" : "No match",
423
+ severity: e.displayScore >= .5 ? "success" : e.displayScore >= .25 ? "warn" : "danger",
424
+ class: "text-xs"
425
+ }, null, 8, ["value", "severity"])])]))), 128))])) : h("", !0)
426
+ ]);
427
+ };
428
+ }
429
+ }), qt = [
430
+ "strict",
431
+ "balanced",
432
+ "relaxed"
433
+ ], Jt = { class: "relative mb-4 rounded-xl overflow-hidden w-fit mx-auto" }, Yt = ["src"], Xt = { class: "text-sm text-muted mb-4" }, Zt = {
434
+ key: 0,
435
+ class: "ml-1"
436
+ }, Qt = {
437
+ key: 1,
438
+ class: "ml-1"
439
+ }, $t = { class: "flex gap-2 mb-4" }, en = {
440
+ key: 0,
441
+ class: "flex flex-col gap-2"
442
+ }, tn = { class: "text-sm truncate flex-1 mr-3" }, nn = { class: "flex items-center gap-2 shrink-0" }, rn = {
443
+ key: 0,
444
+ class: "text-sm font-medium"
445
+ }, an = /* @__PURE__ */ k({
446
+ __name: "PluginFaceRecognition",
447
+ props: {
448
+ src: {},
449
+ embeddingModel: {},
450
+ dimensions: {},
451
+ landmarks: {},
452
+ quality: {},
453
+ onMatch: { type: Function }
454
+ },
455
+ setup(e, { expose: t }) {
456
+ let n = e, { t: r } = Me(), i = Te(), a = A("balanced"), l = A(!1), u = A([]), d = y(() => qt.map((e) => ({
457
+ value: e,
458
+ label: r(`components.face_recognition_interface.sensitivity_${e}`)
459
+ })));
460
+ async function f() {
461
+ if (!l.value) {
462
+ l.value = !0;
463
+ try {
464
+ let e = await n.onMatch(a.value);
465
+ u.value.unshift({
466
+ sensitivity: a.value,
467
+ identity: e?.identity,
468
+ score: e?.score
469
+ });
470
+ } catch (e) {
471
+ i.error("Face match failed:", e);
472
+ } finally {
473
+ l.value = !1;
474
+ }
475
+ }
476
+ }
477
+ return N(f), t({}), (t, n) => {
478
+ let r = Ue, i = $, p = P;
479
+ return s(), S("div", null, [
480
+ E("div", Jt, [E("img", {
481
+ src: e.src,
482
+ alt: "Face recognition test image",
483
+ class: "block max-w-full max-h-[50vh] w-auto object-contain"
484
+ }, null, 8, Yt), (s(!0), S(w, null, o(e.landmarks, (e, t) => (s(), S("span", {
485
+ key: t,
486
+ class: "absolute size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary ring-2 ring-white/80",
487
+ style: C({
488
+ left: `${e[0] * 100}%`,
489
+ top: `${e[1] * 100}%`
490
+ })
491
+ }, null, 4))), 128))]),
492
+ E("div", Xt, [
493
+ D(c(e.dimensions) + "-dim ", 1),
494
+ e.embeddingModel ? (s(), S("span", Zt, "(" + c(e.embeddingModel) + ")", 1)) : h("", !0),
495
+ e.quality == null ? h("", !0) : (s(), S("span", Qt, "· " + c(t.$t("components.face_recognition_interface.quality", { value: (e.quality * 100).toFixed(0) })), 1))
496
+ ]),
497
+ E("div", $t, [j(r, {
498
+ modelValue: v(a),
499
+ "onUpdate:modelValue": n[0] ||= (e) => ee(a) ? a.value = e : null,
500
+ options: v(d),
501
+ "option-label": "label",
502
+ "option-value": "value",
503
+ class: "flex-1"
504
+ }, null, 8, ["modelValue", "options"]), j(i, {
505
+ class: "cui-button-medium",
506
+ label: t.$t("components.face_recognition_interface.match"),
507
+ loading: v(l),
508
+ onClick: f
509
+ }, null, 8, ["label", "loading"])]),
510
+ v(u).length ? (s(), S("div", en, [(s(!0), S(w, null, o(v(u), (e, n) => (s(), S("div", {
511
+ key: n,
512
+ class: "flex items-center justify-between p-3 rounded-lg content-background"
513
+ }, [E("span", tn, c(e.identity ?? t.$t("components.face_recognition_interface.no_match")), 1), E("div", nn, [e.score == null ? h("", !0) : (s(), S("div", rn, c((e.score * 100).toFixed(0)) + "%", 1)), j(p, {
514
+ value: t.$t(`components.face_recognition_interface.sensitivity_${e.sensitivity}`),
515
+ severity: e.identity ? "success" : "danger",
516
+ class: "text-xs"
517
+ }, null, 8, ["value", "severity"])])]))), 128))])) : h("", !0)
518
+ ]);
519
+ };
520
+ }
521
+ }), on = /* @__PURE__ */ k({
522
+ __name: "PluginMotionInterface",
523
+ props: { response: {} },
524
+ setup(e) {
525
+ let { response: t } = a(e), n = T("videoPlayerRef");
526
+ return N(() => {
527
+ if (n.value) {
528
+ let e = new Blob([t.value.videoData], { type: "video/mp4" });
529
+ n.value.src = URL.createObjectURL(e), n.value.load();
530
+ }
531
+ }), (e, t) => (s(), S("div", null, [E("video", {
532
+ ref_key: "videoPlayerRef",
533
+ ref: n,
534
+ controls: "",
535
+ class: "max-w-full max-h-[60vh] w-auto mx-auto"
536
+ }, "Your browser does not support the video tag.", 512)]));
537
+ }
538
+ }), sn = { class: "mb-5 flex justify-center" }, cn = { class: "relative w-fit" }, ln = ["src"], un = /* @__PURE__ */ k({
539
+ __name: "PluginObjectInterface",
540
+ props: {
541
+ src: {},
542
+ response: {}
543
+ },
544
+ setup(e) {
545
+ let { response: t, src: n } = a(e), r = y(() => t.value.detections);
546
+ return (e, t) => {
547
+ let i = F;
548
+ return s(), S("div", sn, [E("div", cn, [j(i, { detections: v(r) }, null, 8, ["detections"]), E("img", {
549
+ src: v(n),
550
+ alt: "Preview",
551
+ class: "max-w-full max-h-[60vh] w-auto"
552
+ }, null, 8, ln)])]);
553
+ };
554
+ }
555
+ }), dn = { class: "relative mb-4 rounded-xl overflow-hidden w-fit mx-auto" }, fn = ["src"], pn = { class: "text-sm text-muted mb-4" }, mn = {
556
+ key: 0,
557
+ class: "ml-1"
558
+ }, hn = /* @__PURE__ */ k({
559
+ __name: "PluginPersonEmbedding",
560
+ props: {
561
+ src: {},
562
+ embeddingModel: {},
563
+ dimensions: {},
564
+ onSearch: { type: Function }
565
+ },
566
+ setup(e, { expose: t }) {
567
+ let n = e, r = i("dialogRef");
568
+ function a() {
569
+ r.value.close(), n.onSearch?.();
570
+ }
571
+ return t({}), (t, n) => {
572
+ let r = $;
573
+ return s(), S("div", null, [
574
+ E("div", dn, [E("img", {
575
+ src: e.src,
576
+ alt: "Person re-ID test image",
577
+ class: "block max-w-full max-h-[50vh] w-auto object-contain"
578
+ }, null, 8, fn)]),
579
+ E("div", pn, [D(c(e.dimensions) + "-dim ", 1), e.embeddingModel ? (s(), S("span", mn, "(" + c(e.embeddingModel) + ")", 1)) : h("", !0)]),
580
+ e.onSearch ? (s(), m(r, {
581
+ key: 0,
582
+ class: "cui-button-medium w-full",
583
+ label: t.$t("components.person_embedding_interface.search"),
584
+ onClick: a
585
+ }, null, 8, ["label"])) : h("", !0)
586
+ ]);
587
+ };
588
+ }
589
+ }), gn = { class: "mb-4 flex justify-center" }, _n = { class: "relative w-fit" }, vn = ["src"], yn = { class: "flex flex-col gap-2" }, bn = { class: "truncate" }, xn = {
590
+ key: 0,
591
+ class: "text-muted ml-1"
592
+ }, Sn = { class: "text-muted shrink-0" }, Cn = /*#__PURE__*/ I(/* @__PURE__ */ k({
593
+ __name: "PluginSegmentationInterface",
594
+ props: {
595
+ src: {},
596
+ objects: {}
597
+ },
598
+ setup(e, { expose: t }) {
599
+ let n = e, { t: r } = Me(), i = T("canvas"), a = y(() => n.objects.flatMap((e) => e.mask ? [e.mask] : []));
600
+ function l() {
601
+ i.value && ge(i.value, a.value, getComputedStyle(i.value).color);
602
+ }
603
+ return Ce(i, l), t({}), (t, n) => (s(), S("div", null, [E("div", gn, [E("div", _n, [E("img", {
604
+ src: e.src,
605
+ alt: "Segmentation test image",
606
+ class: "block max-w-full max-h-[60vh] w-auto",
607
+ onLoad: l
608
+ }, null, 40, vn), E("canvas", {
609
+ ref_key: "canvas",
610
+ ref: i,
611
+ class: "segmentation-outlines"
612
+ }, null, 512)])]), E("div", yn, [(s(!0), S(w, null, o(e.objects, (e, t) => (s(), S("div", {
613
+ key: t,
614
+ class: "flex items-center justify-between gap-3 p-3 rounded-lg content-background text-sm"
615
+ }, [E("span", bn, [D(c(e.label ? v(r)(v(Le)(e.label)) : v(r)("components.segmentation_interface.whole_picture")) + " ", 1), e.confidence == null ? h("", !0) : (s(), S("span", xn, c(Math.round(e.confidence * 100)) + "%", 1))]), E("span", Sn, c(e.mask ? `${e.mask.width} × ${e.mask.height} px` : v(r)("components.segmentation_interface.no_outline")), 1)]))), 128))])]));
616
+ }
617
+ }), [["__scopeId", "data-v-011dd43c"]]), wn = /* @__PURE__ */ new Set([
618
+ "person",
619
+ "vehicle",
620
+ "animal"
621
+ ]), Tn = .5, En = 8, Dn = .45, On = .15, kn = 640;
622
+ async function An(e, t, n, r) {
623
+ let i = await createImageBitmap(e);
624
+ try {
625
+ let { width: a, height: o } = i, s = n && Q(n, Z.ObjectDetection) ? await jn(e, i, t) : [{ box: {
626
+ x: 0,
627
+ y: 0,
628
+ width: 1,
629
+ height: 1
630
+ } }], c = s.flatMap((e) => {
631
+ let t = xe(e.box, a, o, On, 1);
632
+ return t ? [{
633
+ object: e,
634
+ region: t
635
+ }] : [];
636
+ }), l = await Promise.all(c.map(async ({ object: e, region: t }) => ({
637
+ image: await Mn(i, t),
638
+ box: R(e.box, t, a, o)
639
+ })));
640
+ return (l.length ? await t.segmentImages?.(l, r) : void 0)?.forEach((e, t) => {
641
+ let n = e?.mask, { object: r, region: i } = c[t] ?? {};
642
+ !n || !r || !i || n.data.length < n.width * n.height || (r.mask = {
643
+ ...n,
644
+ box: se(n.box, i, a, o)
645
+ });
646
+ }), s;
647
+ } finally {
648
+ i.close();
649
+ }
650
+ }
651
+ async function jn(e, t, n) {
652
+ let r = ((await n.testObjectDetection?.(new Uint8Array(await e.arrayBuffer()), {
653
+ width: t.width,
654
+ height: t.height
655
+ }, {}))?.detections ?? []).map((e) => ({
656
+ label: e.label.toLowerCase(),
657
+ confidence: e.confidence,
658
+ box: e.box
659
+ })).filter((e) => wn.has(e.label) && e.confidence >= Tn && e.box);
660
+ return K(r, Dn).slice(0, En);
661
+ }
662
+ async function Mn(e, t) {
663
+ let n = Math.min(1, kn / Math.max(t.width, t.height)), r = document.createElement("canvas");
664
+ r.width = Math.max(1, Math.round(t.width * n)), r.height = Math.max(1, Math.round(t.height * n)), r.getContext("2d")?.drawImage(e, t.x, t.y, t.width, t.height, 0, 0, r.width, r.height);
665
+ let i = await new Promise((e) => r.toBlob(e, "image/jpeg", .92));
666
+ return new Uint8Array(await (i ?? new Blob()).arrayBuffer());
667
+ }
668
+ //#endregion
669
+ //#region src/components/CuiDetectionInterface/CuiDetectionInterface.vue?vue&type=script&setup=true&lang.ts
670
+ var Nn = {
671
+ key: 0,
672
+ class: "w-full"
673
+ }, Pn = { class: "flex flex-col justify-center items-center mb-5" }, Fn = {
674
+ for: "restoreInput",
675
+ class: "cursor-pointer text-center text-sm"
676
+ }, In = ["accept"], Ln = {
677
+ key: 0,
678
+ class: "text-red-500 text-sm"
679
+ }, Rn = {
680
+ key: 1,
681
+ class: "w-full flex flex-col items-center justify-center"
682
+ }, zn = {
683
+ key: 0,
684
+ class: "relative mb-4"
685
+ }, Bn = ["src"], Vn = {
686
+ key: 1,
687
+ class: "relative mb-4 w-full"
688
+ }, Hn = {
689
+ key: 2,
690
+ class: "relative mb-4 w-full"
691
+ }, Un = ["src", "type"], Wn = { class: "flex items-center justify-center" }, Gn = { class: "mx-2" }, Kn = { class: "text-muted" }, qn = { class: "flex items-center justify-center mt-2 text-xs text-muted" }, Jn = { class: "mt-10" }, Yn = { class: "text-base font-semibold border-b-[1px] border-color mb-3 pb-3" }, Xn = { class: "flex items-center justify-center text-sm text-muted mt-5" }, Zn = /* @__PURE__ */ k({
692
+ __name: "CuiDetectionInterface",
693
+ props: {
694
+ type: {},
695
+ pluginName: {}
696
+ },
697
+ emits: ["update:file", "update:metadata"],
698
+ setup(t, { emit: n }) {
699
+ let r = {
700
+ motionDetection: "drop_or_select_video_to_detect_motion",
701
+ audioDetection: "drop_or_select_audio_to_detect",
702
+ objectDetection: "drop_or_select_image_to_detect_objects",
703
+ faceDetection: "drop_or_select_image_to_detect_faces",
704
+ faceRecognition: "drop_or_select_image_to_recognize_face",
705
+ personEmbedding: "drop_or_select_image_of_person",
706
+ segmentation: "drop_or_select_image_to_outline",
707
+ licensePlateDetection: "drop_or_select_image_to_detect_license_plates",
708
+ classifierDetection: "drop_or_select_image_to_classify",
709
+ clipDetection: "drop_or_select_image_for_semantic_search"
710
+ }, i = t, o = n, l = Te(), { t: f } = Me(), p = ie(), g = ye(), { type: _, pluginName: ee } = a(i), { plugin: C, contract: te, isLoading: k } = Re(ee), { plugin: M } = Re("@camera.ui/camera-ui-nvr"), { openSimilarSearch: N } = de(), ne = T("fileInputRef"), P = T("videoPlayerRef"), F = T("audioPlayerRef"), I = O([]), re = A(!1), L = A(!1), R = A(!1), ae = A(!1), z = A(""), B = A(!1), V = A(), oe = A(!0), se = O(), ce = A(!1), le = y(() => ce.value || k.value || B.value), ue = y(() => r[_.value]), H = y(() => {
711
+ switch (_.value) {
712
+ case "objectDetection":
713
+ case "faceDetection":
714
+ case "faceRecognition":
715
+ case "personEmbedding":
716
+ case "segmentation":
717
+ case "licensePlateDetection":
718
+ case "classifierDetection":
719
+ case "clipDetection": return "image";
720
+ case "motionDetection": return "video";
721
+ case "audioDetection": return "audio";
722
+ default: return "image";
723
+ }
724
+ }), U = y(() => {
725
+ switch (H.value) {
726
+ case "image": return De;
727
+ case "video": return Ee;
728
+ case "audio": return Y;
729
+ default: return [];
730
+ }
731
+ }), W = y(() => {
732
+ switch (H.value) {
733
+ case "image": return ke;
734
+ case "video": return J;
735
+ case "audio": return X;
736
+ default: return 0;
737
+ }
738
+ }), fe = y(() => U.value.join(","));
739
+ async function pe() {
740
+ if (C.value) {
741
+ ce.value = !0;
742
+ try {
743
+ let e;
744
+ switch (_.value) {
745
+ case "motionDetection":
746
+ e = await C.value.motionDetectionSettings?.();
747
+ break;
748
+ case "objectDetection":
749
+ e = await C.value.objectDetectionSettings?.();
750
+ break;
751
+ case "audioDetection":
752
+ e = await C.value.audioDetectionSettings?.();
753
+ break;
754
+ case "faceDetection":
755
+ e = await C.value.faceDetectionSettings?.();
756
+ break;
757
+ case "faceRecognition":
758
+ e = await C.value.faceEmbeddingSettings?.();
759
+ break;
760
+ case "personEmbedding":
761
+ e = await C.value.personEmbeddingSettings?.();
762
+ break;
763
+ case "segmentation":
764
+ e = await C.value.segmentationSettings?.();
765
+ break;
766
+ case "licensePlateDetection":
767
+ e = await C.value.licensePlateDetectionSettings?.();
768
+ break;
769
+ case "classifierDetection":
770
+ e = await C.value.classifierDetectionSettings?.();
771
+ break;
772
+ case "clipDetection": e = await C.value.clipSettings?.();
773
+ }
774
+ se.value = e;
775
+ } catch (e) {
776
+ l.error("Failed to load interface schema:", e), se.value = void 0;
777
+ } finally {
778
+ ce.value = !1;
779
+ }
780
+ }
781
+ }
782
+ function me(e) {
783
+ let t = I.value.findIndex((t) => t.name === e);
784
+ t > -1 && (I.value.splice(t, 1), ge(), z.value = "", H.value === "video" && P.value && (P.value.src = ""), V.value = void 0, o("update:file", null), o("update:metadata", null));
785
+ }
786
+ function he(e) {
787
+ if (re.value = !1, L.value = !1, ae.value = !1, I.value = [], e.dataTransfer) {
788
+ if (e.dataTransfer.files.length > 1) L.value = !0;
789
+ else {
790
+ let t = e.dataTransfer.files[0];
791
+ (U.value.length === 0 || U.value.includes(t.type)) && t.size <= W.value ? (I.value.push(t), u(() => {
792
+ _e(t);
793
+ })) : t.size > W.value ? ae.value = !0 : L.value = !0;
794
+ }
795
+ }
796
+ }
797
+ function K(e) {
798
+ L.value = !1, ae.value = !1, I.value = [];
799
+ let t = e.target;
800
+ if (t && t.files) {
801
+ if (t.files?.length > 1) L.value = !0;
802
+ else if (t.files.length === 1) {
803
+ let e = t.files[0], n = U.value.length === 0 || U.value.includes(e.type);
804
+ e.size <= W.value && n ? (I.value.push(e), u(() => {
805
+ _e(e);
806
+ })) : e.size > W.value ? ae.value = !0 : L.value = !0;
807
+ }
808
+ }
809
+ }
810
+ function ge() {
811
+ ne.value && (ne.value.value = "");
812
+ }
813
+ function _e(e) {
814
+ B.value = !0;
815
+ let t = URL.createObjectURL(e);
816
+ switch (H.value) {
817
+ case "image":
818
+ ve(e, t);
819
+ break;
820
+ case "video":
821
+ be(e, t);
822
+ break;
823
+ case "audio": xe(e, t);
824
+ }
825
+ }
826
+ function ve(e, t) {
827
+ let n = new Image();
828
+ n.src = t, n.onload = () => {
829
+ z.value = n.src;
830
+ let t = {
831
+ width: n.width,
832
+ height: n.height
833
+ };
834
+ V.value = t, o("update:metadata", t), o("update:file", e), B.value = !1;
835
+ };
836
+ }
837
+ function be(e, t) {
838
+ P.value && (P.value.src = t, P.value.load(), P.value.onloadeddata = () => {
839
+ o("update:file", e), B.value = !1;
840
+ });
841
+ }
842
+ function xe(e, t) {
843
+ z.value = t;
844
+ let n = new Audio();
845
+ n.src = t, n.onloadedmetadata = () => {
846
+ let t = { mimeType: e.type };
847
+ V.value = t, o("update:metadata", t), o("update:file", e), B.value = !1;
848
+ };
849
+ }
850
+ function Se(e) {
851
+ return e < 1024 ? e + " bytes" : e < 1048576 ? (e / 1024).toFixed(1) + " KB" : (e / 1048576).toFixed(1) + " MB";
852
+ }
853
+ function Ce(e, t) {
854
+ let n = 0, r = 0, i = 0;
855
+ for (let a = 0; a < e.length; a++) n += e[a] * t[a], r += e[a] * e[a], i += t[a] * t[a];
856
+ return r && i ? n / (Math.sqrt(r) * Math.sqrt(i)) : 0;
857
+ }
858
+ async function q(e) {
859
+ if (!I.value.length) {
860
+ R.value = !0;
861
+ return;
862
+ }
863
+ if (!C.value) {
864
+ l.error("Plugin not connected");
865
+ return;
866
+ }
867
+ B.value = !0;
868
+ try {
869
+ let t = await I.value[0].arrayBuffer();
870
+ if (_.value === "audioDetection") {
871
+ let n = await C.value.testAudioDetection?.(new Uint8Array(t), V.value, e);
872
+ if (!n) {
873
+ l.warn("No audio detection interface available");
874
+ return;
875
+ }
876
+ if (n.detected && n.detections?.length) {
877
+ let e = n.detections.map((e) => `${e.label} (${Math.round(e.confidence * 100)}%)`).join(", "), t = n.decibels == null ? "" : ` | ${n.decibels.toFixed(1)} dBFS`;
878
+ p.add({
879
+ severity: "success",
880
+ detail: `${e}${t}`,
881
+ life: 3e3
882
+ });
883
+ } else p.add({
884
+ severity: "info",
885
+ detail: f("components.detection_interface.audio_not_detected"),
886
+ life: 3e3
887
+ });
888
+ } else if (_.value === "motionDetection") {
889
+ let n = await C.value.testMotionDetection?.(new Uint8Array(t), e);
890
+ if (!n) {
891
+ l.warn("No motion detection interface available");
892
+ return;
893
+ }
894
+ g.openComponentDialog(on, { data: {
895
+ title: f("components.dialog.title.result"),
896
+ hideConfirmButton: !0,
897
+ contentProps: { response: n }
898
+ } });
899
+ } else if (_.value === "faceDetection") {
900
+ let n = await C.value.testFaceDetection?.(new Uint8Array(t), V.value, e);
901
+ if (!n) {
902
+ l.warn("No face detection interface available");
903
+ return;
904
+ }
905
+ g.openComponentDialog(un, { data: {
906
+ title: f("components.dialog.title.result"),
907
+ hideConfirmButton: !0,
908
+ contentProps: {
909
+ src: z,
910
+ response: n
911
+ }
912
+ } });
913
+ } else if (_.value === "faceRecognition") {
914
+ let n = await C.value.embedFaceImages?.([new Uint8Array(t)], e), r = n?.[0]?.embedding;
915
+ if (!r?.length) {
916
+ p.add({
917
+ severity: "info",
918
+ detail: f("components.face_recognition_interface.no_face"),
919
+ life: 3e3
920
+ });
921
+ return;
922
+ }
923
+ if (!M.value) {
924
+ p.add({
925
+ severity: "info",
926
+ detail: f("components.face_recognition_interface.needs_nvr"),
927
+ life: 3e3
928
+ });
929
+ return;
930
+ }
931
+ let i = n[0].embeddingModel;
932
+ g.openComponentDialog(an, { data: {
933
+ title: f("components.dialog.title.result"),
934
+ hideConfirmButton: !0,
935
+ contentProps: {
936
+ src: z,
937
+ embeddingModel: i,
938
+ dimensions: r.length,
939
+ landmarks: n[0].landmarks,
940
+ quality: n[0].quality,
941
+ onMatch: async (e) => (await M.value.matchFaces([r], i, e))?.[0] ?? void 0
942
+ }
943
+ } });
944
+ } else if (_.value === "personEmbedding") {
945
+ let n = (await C.value.embedPersonImages?.([new Uint8Array(t)], e))?.[0];
946
+ if (!n?.embedding?.length) {
947
+ p.add({
948
+ severity: "info",
949
+ detail: f("components.person_embedding_interface.no_vector"),
950
+ life: 3e3
951
+ });
952
+ return;
953
+ }
954
+ let r = await G(I.value[0], {
955
+ x: 0,
956
+ y: 0,
957
+ width: 1,
958
+ height: 1
959
+ }), i = {
960
+ query: {
961
+ label: "person",
962
+ personModel: n.embeddingModel,
963
+ person: n.embedding
964
+ },
965
+ objectLabel: "person",
966
+ crop: r
967
+ };
968
+ g.openComponentDialog(hn, { data: {
969
+ title: f("components.dialog.title.result"),
970
+ hideConfirmButton: !0,
971
+ contentProps: {
972
+ src: z,
973
+ embeddingModel: n.embeddingModel,
974
+ dimensions: n.embedding.length,
975
+ onSearch: M.value ? () => N(i) : void 0
976
+ }
977
+ } });
978
+ } else if (_.value === "segmentation") {
979
+ if (!C.value.segmentImages) {
980
+ l.warn("No segmentation interface available");
981
+ return;
982
+ }
983
+ let t = await An(I.value[0], C.value, te.value, e);
984
+ if (!t.some((e) => e.mask)) {
985
+ p.add({
986
+ severity: "info",
987
+ detail: f("components.segmentation_interface.no_mask"),
988
+ life: 3e3
989
+ });
990
+ return;
991
+ }
992
+ g.openComponentDialog(Cn, { data: {
993
+ title: f("components.dialog.title.result"),
994
+ hideConfirmButton: !0,
995
+ contentProps: {
996
+ src: z,
997
+ objects: t
998
+ }
999
+ } });
1000
+ } else if (_.value === "licensePlateDetection") {
1001
+ let n = await C.value.testLicensePlateDetection?.(new Uint8Array(t), V.value, e);
1002
+ if (!n) {
1003
+ l.warn("No license plate detection interface available");
1004
+ return;
1005
+ }
1006
+ g.openComponentDialog(un, { data: {
1007
+ title: f("components.dialog.title.result"),
1008
+ hideConfirmButton: !0,
1009
+ contentProps: {
1010
+ src: z,
1011
+ response: n
1012
+ }
1013
+ } });
1014
+ } else if (_.value === "classifierDetection") {
1015
+ let n = await C.value.testClassifierDetection?.(new Uint8Array(t), V.value, e);
1016
+ if (!n) {
1017
+ l.warn("No classifier detection interface available");
1018
+ return;
1019
+ }
1020
+ g.openComponentDialog(un, { data: {
1021
+ title: f("components.dialog.title.result"),
1022
+ hideConfirmButton: !0,
1023
+ contentProps: {
1024
+ src: z,
1025
+ response: n
1026
+ }
1027
+ } });
1028
+ } else if (_.value === "clipDetection") {
1029
+ let n = await C.value.testClipEmbedding?.(new Uint8Array(t), V.value, e);
1030
+ if (!n) {
1031
+ l.warn("No CLIP detection interface available");
1032
+ return;
1033
+ }
1034
+ if (!n.embeddings?.length) {
1035
+ p.add({
1036
+ severity: "info",
1037
+ detail: f("components.detection_interface.no_detections"),
1038
+ life: 3e3
1039
+ });
1040
+ return;
1041
+ }
1042
+ let r = n.embeddings[0].embedding;
1043
+ g.openComponentDialog(Kt, { data: {
1044
+ title: f("components.dialog.title.result"),
1045
+ hideConfirmButton: !0,
1046
+ contentProps: {
1047
+ src: z,
1048
+ response: n,
1049
+ onTextSearch: async (e) => {
1050
+ let t = n.embeddingModel, i = C.value.getTextEmbeddings ? (await C.value.getTextEmbeddings(e))?.find((e) => e.embeddingModel === t) : void 0;
1051
+ return i ??= await C.value.getTextEmbedding(e), !i?.embedding?.length || t && i.embeddingModel && i.embeddingModel !== t ? { score: 0 } : { score: Ce(r, i.embedding) };
1052
+ }
1053
+ }
1054
+ } });
1055
+ } else {
1056
+ let n = await C.value.testObjectDetection?.(new Uint8Array(t), V.value, e);
1057
+ if (!n) {
1058
+ l.warn("No object detection interface available");
1059
+ return;
1060
+ }
1061
+ g.openComponentDialog(un, { data: {
1062
+ title: f("components.dialog.title.result"),
1063
+ hideConfirmButton: !0,
1064
+ contentProps: {
1065
+ src: z,
1066
+ response: n
1067
+ }
1068
+ } });
1069
+ }
1070
+ } catch (e) {
1071
+ p.add({
1072
+ severity: "error",
1073
+ detail: e,
1074
+ life: 3e3
1075
+ });
1076
+ } finally {
1077
+ B.value = !1;
1078
+ }
1079
+ }
1080
+ return x(C, (e) => {
1081
+ e && pe();
1082
+ }, { immediate: !0 }), x(I, (e) => {
1083
+ e.length > 0 ? (R.value = !1, oe.value = !1) : (z.value = "", V.value = void 0, oe.value = !0);
1084
+ }, {
1085
+ immediate: !0,
1086
+ deep: !0
1087
+ }), (t, n) => {
1088
+ let r = Ye, i = $, a = Ke;
1089
+ return s(), S("div", null, [
1090
+ E("div", {
1091
+ class: "file-upload-box",
1092
+ onDrop: n[1] ||= e((e) => he(e), ["prevent"]),
1093
+ onDragover: n[2] ||= e((e) => re.value = !0, ["prevent"]),
1094
+ onDragenter: n[3] ||= e((e) => re.value = !0, ["prevent"]),
1095
+ onDragleave: n[4] ||= e((e) => re.value = !1, ["prevent"])
1096
+ }, [v(I).length ? (s(), S("div", Rn, [v(H) === "image" ? (s(), S("div", zn, [E("img", {
1097
+ src: v(z),
1098
+ alt: "Preview",
1099
+ class: "w-full"
1100
+ }, null, 8, Bn)])) : v(H) === "video" ? (s(), S("div", Vn, [E("video", {
1101
+ ref_key: "videoPlayerRef",
1102
+ ref: P,
1103
+ controls: "",
1104
+ class: "w-full"
1105
+ }, "Your browser does not support the video tag.", 512)])) : v(H) === "audio" ? (s(), S("div", Hn, [E("audio", {
1106
+ ref_key: "audioPlayerRef",
1107
+ ref: F,
1108
+ controls: "",
1109
+ class: "w-full"
1110
+ }, [E("source", {
1111
+ src: v(z),
1112
+ type: v(I)[0].type
1113
+ }, null, 8, Un), n[6] ||= D(" Your browser does not support the audio element. ", -1)], 512)])) : h("", !0), E("div", Wn, [
1114
+ j(i, {
1115
+ text: "",
1116
+ rounded: "",
1117
+ severity: "danger",
1118
+ class: "cui-icon-md shrink-0",
1119
+ onClick: n[0] ||= e((e) => me(v(I)[0].name), ["stop"])
1120
+ }, {
1121
+ icon: b(() => [j(r, {
1122
+ width: "100%",
1123
+ height: "100%"
1124
+ })]),
1125
+ _: 1
1126
+ }),
1127
+ E("b", Gn, c(v(I)[0].name), 1),
1128
+ E("span", Kn, "(" + c(Se(v(I)[0].size)) + ")", 1)
1129
+ ])])) : (s(), S("div", Nn, [E("div", Pn, [
1130
+ E("label", Fn, c(t.$t(`components.detection_interface.${v(ue)}`)), 1),
1131
+ E("input", {
1132
+ id: "restoreInput",
1133
+ ref_key: "fileInputRef",
1134
+ ref: ne,
1135
+ type: "file",
1136
+ class: "hidden",
1137
+ accept: v(fe),
1138
+ onChange: K
1139
+ }, null, 40, In),
1140
+ v(L) ? (s(), S("p", Ln, c(t.$t(`components.detection_interface.only_one_${v(H)}_allowed`)), 1)) : h("", !0),
1141
+ v(R) ? (s(), S("p", {
1142
+ key: 1,
1143
+ class: d(["text-red-500 text-sm", { "mt-2": v(L) }])
1144
+ }, c(t.$t(`components.detection_interface.${v(H)}_required`)), 3)) : h("", !0),
1145
+ v(ae) ? (s(), S("p", {
1146
+ key: 2,
1147
+ class: d(["text-red-500 text-sm", { "mt-2": v(L) || v(R) }])
1148
+ }, c(t.$t("components.detection_interface.file_size_error")), 3)) : h("", !0)
1149
+ ])]))], 32),
1150
+ E("div", qn, [E("span", null, "(" + c(v(W) / 1024 / 1024) + "MB, " + c(v(U).join(", ")) + ")", 1)]),
1151
+ E("div", Jn, [E("h3", Yn, c(t.$t("components.detection_interface.interface_config")), 1), v(se)?.length ? (s(), m(a, {
1152
+ key: 1,
1153
+ "schema-form": {
1154
+ schema: v(se),
1155
+ config: {}
1156
+ },
1157
+ loading: v(le),
1158
+ "save-button-label": t.$t("components.detection_interface.detect"),
1159
+ "disable-button": v(oe),
1160
+ "show-button": "",
1161
+ onOnFormSubmit: q
1162
+ }, null, 8, [
1163
+ "schema-form",
1164
+ "loading",
1165
+ "save-button-label",
1166
+ "disable-button"
1167
+ ])) : (s(), S(w, { key: 0 }, [E("div", Xn, c(t.$t("components.detection_interface.no_interface_config")), 1), j(i, {
1168
+ fluid: "",
1169
+ class: "mt-7 cui-button-medium",
1170
+ loading: v(le),
1171
+ disabled: v(oe),
1172
+ label: t.$t("components.detection_interface.detect"),
1173
+ onClick: n[5] ||= (e) => q({})
1174
+ }, null, 8, [
1175
+ "loading",
1176
+ "disabled",
1177
+ "label"
1178
+ ])], 64))])
1179
+ ]);
1180
+ };
1181
+ }
1182
+ }), Qn = {
1183
+ viewBox: "0 0 24 24",
1184
+ width: "1.2em",
1185
+ height: "1.2em"
1186
+ };
1187
+ function $n(e, t) {
1188
+ return s(), S("svg", Qn, [...t[0] ||= [E("path", {
1189
+ fill: "none",
1190
+ stroke: "currentColor",
1191
+ "stroke-linecap": "round",
1192
+ "stroke-linejoin": "round",
1193
+ "stroke-width": "2",
1194
+ d: "M2 10v3m4-7v11m4-14v18m4-13v7m4-10v13m4-8v3"
1195
+ }, null, -1)]]);
1196
+ }
1197
+ var er = p({
1198
+ name: "lucide-audio-lines",
1199
+ render: $n
1200
+ }), tr = {
1201
+ viewBox: "0 0 24 24",
1202
+ width: "1.2em",
1203
+ height: "1.2em"
1204
+ };
1205
+ function nr(e, t) {
1206
+ return s(), S("svg", tr, [...t[0] ||= [E("path", {
1207
+ fill: "currentColor",
1208
+ d: "M2 7V4q0-.825.588-1.412T4 2h3v2H4v3zm5 15H4q-.825 0-1.412-.587T2 20v-3h2v3h3zm10 0v-2h3v-3h2v3q0 .825-.587 1.413T20 22zm3-15V4h-3V2h3q.825 0 1.413.588T22 4v3zm-7.913 1.913Q11.5 8.325 11.5 7.5t.588-1.412T13.5 5.5t1.413.588T15.5 7.5t-.587 1.413T13.5 9.5t-1.412-.587M12.8 18h-4l1-5.1l-1.8.7V17H6v-4.7l3.95-1.7q.875-.375 1.288-.487T12 10q.525 0 .975.275T13.7 11l1 1.6q.65 1.05 1.763 1.725T19 15v2q-1.65 0-3.088-.687T13.5 14.5z"
1209
+ }, null, -1)]]);
1210
+ }
1211
+ var rr = p({
1212
+ name: "material-symbols-detection-and-zone",
1213
+ render: nr
1214
+ }), ir = {
1215
+ viewBox: "0 0 24 24",
1216
+ width: "1.2em",
1217
+ height: "1.2em"
1218
+ };
1219
+ function ar(e, t) {
1220
+ return s(), S("svg", ir, [...t[0] ||= [E("path", {
1221
+ fill: "currentColor",
1222
+ d: "M8.113 13.888Q7.75 13.525 7.75 13t.363-.888T9 11.75t.888.363t.362.887t-.363.888T9 14.25t-.888-.363m6 0q-.362-.362-.362-.887t.363-.888t.887-.362t.888.363t.362.887t-.363.888t-.887.362t-.888-.363M12 20q3.35 0 5.675-2.325T20 12q0-.6-.075-1.162T19.65 9.75q-.525.125-1.05.188T17.5 10q-2.275 0-4.3-.975T9.75 6.3q-.8 1.95-2.287 3.388T4 11.85V12q0 3.35 2.325 5.675T12 20m0 2q-2.075 0-3.9-.787t-3.175-2.138T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22"
1223
+ }, null, -1)]]);
1224
+ }
1225
+ var or = p({
1226
+ name: "material-symbols-face",
1227
+ render: ar
1228
+ }), sr = {
1229
+ viewBox: "0 0 24 24",
1230
+ width: "1.2em",
1231
+ height: "1.2em"
1232
+ };
1233
+ function cr(e, t) {
1234
+ return s(), S("svg", sr, [...t[0] ||= [E("path", {
1235
+ fill: "currentColor",
1236
+ d: "M8 17q-.425 0-.712-.288T7 16t.288-.712T8 15h5q-.35-.425-.562-.925T12.1 13H10q-.425 0-.712-.288T9 12t.288-.712T10 11h2.1q.125-.575.338-1.075T13 9H4q-.425 0-.712-.288T3 8t.288-.712T4 7h13q2.075 0 3.538 1.463T22 12t-1.463 3.538T17 17zm9-2q1.25 0 2.125-.875T20 12t-.875-2.125T17 9t-2.125.875T14 12t.875 2.125T17 15M3 13q-.425 0-.712-.288T2 12t.288-.712T3 11h4q.425 0 .713.288T8 12t-.288.713T7 13zm1 4q-.425 0-.712-.288T3 16t.288-.712T4 15h1q.425 0 .713.288T6 16t-.288.713T5 17z"
1237
+ }, null, -1)]]);
1238
+ }
1239
+ var lr = p({
1240
+ name: "material-symbols-motion-blur-rounded",
1241
+ render: cr
1242
+ }), ur = {
1243
+ viewBox: "0 0 24 24",
1244
+ width: "1.2em",
1245
+ height: "1.2em"
1246
+ };
1247
+ function dr(e, t) {
1248
+ return s(), S("svg", ur, [...t[0] ||= [E("path", {
1249
+ fill: "currentColor",
1250
+ "fill-rule": "evenodd",
1251
+ d: "M15.586 2.758a2 2 0 0 1 2.828 0l2.829 2.828a2 2 0 0 1 0 2.829l-2.829 2.828a2 2 0 0 1-2.828 0l-2.829-2.828a2 2 0 0 1 0-2.829zM9 3a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm12 12a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2zM9 13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2z",
1252
+ "clip-rule": "evenodd"
1253
+ }, null, -1)]]);
1254
+ }
1255
+ var fr = p({
1256
+ name: "mingcute-classify-2-fill",
1257
+ render: dr
1258
+ }), pr = {
1259
+ viewBox: "0 0 256 256",
1260
+ width: "1.2em",
1261
+ height: "1.2em"
1262
+ };
1263
+ function mr(e, t) {
1264
+ return s(), S("svg", pr, [...t[0] ||= [E("path", {
1265
+ fill: "currentColor",
1266
+ d: "M200 156c0 6.5-7.33 12-16 12s-16-5.5-16-12s7.33-12 16-12s16 5.5 16 12m32-100v144a16 16 0 0 1-16 16H40a16 16 0 0 1-16-16V56a16 16 0 0 1 16-16h176a16 16 0 0 1 16 16m-88.63 116.88l-44-104a8 8 0 0 0-14.74 0l-44 104a8 8 0 0 0 14.74 6.24L66.84 152h50.32l11.47 27.12a8 8 0 0 0 14.74-6.24M216 124c0-15.44-14.36-28-32-28a34.86 34.86 0 0 0-20.78 6.68a8 8 0 0 0 9.56 12.83A18.84 18.84 0 0 1 184 112c8.56 0 15.8 5.36 16 11.76v8a35.24 35.24 0 0 0-16-3.76c-17.64 0-32 12.56-32 28s14.36 28 32 28a35.1 35.1 0 0 0 16.93-4.26A8 8 0 0 0 216 176ZM73.61 136h36.78L92 92.53Z"
1267
+ }, null, -1)]]);
1268
+ }
1269
+ var hr = p({
1270
+ name: "ph-text-aa-fill",
1271
+ render: mr
1272
+ }), gr = {
1273
+ viewBox: "0 0 24 24",
1274
+ width: "1.2em",
1275
+ height: "1.2em"
1276
+ };
1277
+ function _r(e, t) {
1278
+ return s(), S("svg", gr, [...t[0] ||= [E("g", { fill: "currentColor" }, [E("path", { d: "M12.75 3C12.75 2.58579 12.4142 2.25 12 2.25C11.5858 2.25 11.25 2.58579 11.25 3V5C11.25 5.41421 11.5858 5.75 12 5.75C12.4142 5.75 12.75 5.41421 12.75 5V3Z" }), E("path", {
1279
+ "fill-rule": "evenodd",
1280
+ d: "M22.75 12.0565C22.75 13.8943 22.75 15.3499 22.5969 16.4891C22.4392 17.6615 22.1071 18.6105 21.3588 19.3588C20.6104 20.1072 19.6614 20.4393 18.489 20.597C17.3498 20.7501 15.8942 20.7501 14.0565 20.7501H9.94348C8.10577 20.7501 6.65017 20.7501 5.51098 20.597C4.33856 20.4393 3.38961 20.1072 2.64124 19.3588C1.89288 18.6105 1.56076 17.6615 1.40314 16.4891C1.24997 15.3499 1.24999 13.8943 1.25 12.0565L1.25 11.7725C1.25002 11.5529 1.25011 11.3388 1.25053 11.1303C1.25132 10.7466 1.25327 10.3814 1.25806 10.034C1.27152 9.05873 1.30741 8.22316 1.40314 7.51116C1.56076 6.33873 1.89288 5.38978 2.64124 4.64142C3.38961 3.89306 4.33856 3.56094 5.51098 3.40331C6.22742 3.30699 7.069 3.27125 8.05206 3.25799C8.2173 3.25576 8.47469 3.25412 8.74859 3.25292C9.3014 3.2505 9.75 3.69873 9.75 4.25155V5.00008C9.75 6.24272 10.7574 7.25008 12 7.25008C13.2426 7.25008 14.25 6.24272 14.25 5.00008V4.25028C14.25 3.69796 14.698 3.24935 15.2503 3.25196C16.5391 3.25806 17.6086 3.28494 18.489 3.40331C19.6614 3.56094 20.6104 3.89306 21.3588 4.64142C22.1071 5.38978 22.4392 6.33873 22.5969 7.51116C22.75 8.65036 22.75 10.1059 22.75 11.9437V12.0565ZM8 9.75008C7.58579 9.75008 7.25 10.0859 7.25 10.5001C7.25 10.9143 7.58579 11.2501 8 11.2501H16C16.4142 11.2501 16.75 10.9143 16.75 10.5001C16.75 10.0859 16.4142 9.75008 16 9.75008H8ZM8 13.2501C7.58579 13.2501 7.25 13.5859 7.25 14.0001C7.25 14.4143 7.58579 14.7501 8 14.7501H13.5C13.9142 14.7501 14.25 14.4143 14.25 14.0001C14.25 13.5859 13.9142 13.2501 13.5 13.2501H8Z",
1281
+ "clip-rule": "evenodd"
1282
+ })], -1)]]);
1283
+ }
1284
+ var vr = p({
1285
+ name: "solar-plate-bold",
1286
+ render: _r
1287
+ }), yr = /* @__PURE__ */ k({
1288
+ __name: "PluginSchema",
1289
+ props: {
1290
+ schemaConfig: {},
1291
+ pluginName: {},
1292
+ cameraId: {},
1293
+ buttonKey: {},
1294
+ sensorId: {},
1295
+ pluginId: {}
1296
+ },
1297
+ setup(e, { expose: t }) {
1298
+ let n = e, r = ie(), o = i("dialogRef"), c = i("dialogRefProps"), { schemaConfig: l, pluginName: u, cameraId: d, buttonKey: f, sensorId: p, pluginId: h } = a(n), g = ze(u), _ = Ve(d, u), ee = Be(p, h), b = A({
1299
+ schema: [],
1300
+ config: {}
1301
+ }), S = y(() => d.value && p.value ? "sensor" : d.value ? "camera" : "plugin"), C = y(() => {
1302
+ switch (S.value) {
1303
+ case "sensor": return ee;
1304
+ case "camera": return _;
1305
+ default: return g;
1306
+ }
1307
+ }), w = y(() => !!(c.loading?.value || C.value.isLoading.value));
1308
+ async function T(e) {
1309
+ await C.value.setValue(e.key, void 0);
1310
+ }
1311
+ async function E(e) {
1312
+ let t = {
1313
+ ...l.value.config,
1314
+ ...e
1315
+ }, n = await C.value.submitValue(f.value, t);
1316
+ if (n?.toast) {
1317
+ let e = U(n.toast.type);
1318
+ r.add({
1319
+ severity: e,
1320
+ detail: n.toast.message,
1321
+ life: 3e3
1322
+ });
1323
+ }
1324
+ n?.schema && Object.keys(n.schema).length && b.value ? b.value.schema = n.schema : o.value.close();
1325
+ }
1326
+ return x(l, (e) => {
1327
+ b.value = e;
1328
+ }, {
1329
+ deep: !0,
1330
+ immediate: !0
1331
+ }), t({ isLoading: w }), (e, t) => {
1332
+ let n = Ke;
1333
+ return s(), m(n, {
1334
+ "schema-form": v(b),
1335
+ loading: v(w),
1336
+ "show-button": "",
1337
+ onOnAction: T,
1338
+ onOnFormSubmit: E
1339
+ }, null, 8, ["schema-form", "loading"]);
1340
+ };
1341
+ }
1342
+ }), br = { class: "font-semibold text-xl truncate" }, xr = { class: "lg:col-span-2 order-1 !h-[220px]" }, Sr = { class: "flex w-full h-full items-center justify-center" }, Cr = { class: "lg:col-span-1 lg:row-span-3 order-2" }, wr = { class: "lg:!hidden card-title" }, Tr = {
1343
+ key: 0,
1344
+ class: "w-full h-full flex items-center justify-center"
1345
+ }, Er = { key: 1 }, Dr = { class: "hidden lg:block text-base font-semibold border-b-[1px] border-color mb-3 pb-3" }, Or = {
1346
+ key: 0,
1347
+ class: "flex items-center justify-center w-full h-full text-muted text-sm"
1348
+ }, kr = ["onClick"], Ar = {
1349
+ key: 0,
1350
+ class: "w-full h-full"
1351
+ }, jr = {
1352
+ key: 0,
1353
+ class: "flex flex-col items-center justify-center w-full h-full text-muted text-sm gap-3 text-center"
1354
+ }, Mr = {
1355
+ key: 2,
1356
+ class: "flex items-center justify-center w-full h-full text-muted text-sm"
1357
+ }, Nr = {
1358
+ key: 12,
1359
+ class: "w-full h-full"
1360
+ }, Pr = {
1361
+ key: 0,
1362
+ class: "flex items-center justify-center w-full h-full text-muted text-sm"
1363
+ }, Fr = {
1364
+ key: 1,
1365
+ class: "flex items-center justify-center gap-2 w-full h-full text-muted text-sm"
1366
+ }, Ir = /*#__PURE__*/ I(/* @__PURE__ */ k({
1367
+ __name: "Plugin",
1368
+ setup(e) {
1369
+ let t = new fe(), n = new qe(), i = Te(), a = ve(), u = L(), p = ie(), C = ye(), { lgBreakpoint: T } = B(), { t: D } = Me(), O = A(u.params.scope), k = A(u.params.pluginname), M = y(() => O.value ? `${O.value}/${k.value}` : k.value), { contract: N, error: P } = Re(M);
1370
+ n.toggleQueryActivator("getPluginContractQuery", !1);
1371
+ let { data: F, isBusy: I } = n.getPluginQuery(M), { data: R, isBusy: se } = n.getPluginReadmeQuery(M), { data: le, isBusy: de } = n.getPluginChangelogQuery(M), { data: W } = n.getPluginContractQuery(M), G = ze(M), K = G.config, ge = G.isLoading, { mutate: _e, isPending: be } = t.activateCameraExtensionQuery(), { mutate: xe, isPending: Ce } = t.deactivateCameraExtensionQuery(), q = A("settings"), J = A([]), Y = A([]), Ee = A(Oe.UNKNOWN), De, ke = y(() => F.value?.contract?.role !== Ne.Service), Ae = y(() => !!N.value && Q(N.value, Z.NVR)), X = y(() => Ee.value === Oe.READY || Ee.value === Oe.STARTED), Pe = y(() => X.value ? Ae.value || K.value?.schema?.length ? !0 : ge.value : !1);
1372
+ function Le(e, t) {
1373
+ return e.pluginInfo?.name === t;
1374
+ }
1375
+ async function Be(e) {
1376
+ try {
1377
+ await G.setValue(e.key, void 0), p.add({
1378
+ severity: "success",
1379
+ detail: D("components.toast.config_updated"),
1380
+ life: 3e3
1381
+ });
1382
+ } catch (e) {
1383
+ p.add({
1384
+ severity: "error",
1385
+ detail: e,
1386
+ life: 3e3
1387
+ });
1388
+ }
1389
+ }
1390
+ async function Ve(e) {
1391
+ try {
1392
+ let t = await G.submitValue(e.key, e.payload);
1393
+ if (t?.toast) {
1394
+ let e = U(t.toast.type);
1395
+ p.add({
1396
+ severity: e,
1397
+ detail: t.toast.message,
1398
+ life: 3e3
1399
+ });
1400
+ }
1401
+ t?.schema?.length && C.openComponentDialog(yr, { data: {
1402
+ title: D("components.dialog.title.config"),
1403
+ hideConfirmButton: !0,
1404
+ contentProps: {
1405
+ schemaConfig: {
1406
+ schema: t.schema,
1407
+ config: e.payload
1408
+ },
1409
+ pluginName: M.value,
1410
+ buttonKey: e.key
1411
+ }
1412
+ } });
1413
+ } catch (e) {
1414
+ p.add({
1415
+ severity: "error",
1416
+ detail: e,
1417
+ life: 3e3
1418
+ });
1419
+ }
1420
+ }
1421
+ async function He(e) {
1422
+ if (K.value?.schema.length) try {
1423
+ let t = je(K.value.schema, e);
1424
+ await G.setConfig(t), p.add({
1425
+ severity: "success",
1426
+ detail: D("components.toast.config_updated"),
1427
+ life: 3e3
1428
+ });
1429
+ } catch (e) {
1430
+ p.add({
1431
+ severity: "error",
1432
+ detail: e,
1433
+ life: 3e3
1434
+ });
1435
+ }
1436
+ }
1437
+ async function Ue(e) {
1438
+ F.value && F.value.contract && (Y.value.includes(e.name) ? xe({
1439
+ cameraname: e.name,
1440
+ pluginname: F.value.pluginName
1441
+ }, { onSuccess: () => {
1442
+ Y.value = Y.value.filter((t) => t !== e.name);
1443
+ } }) : _e({
1444
+ cameraname: e.name,
1445
+ pluginname: F.value.pluginName
1446
+ }, { onSuccess: () => {
1447
+ Y.value = [...Y.value, e.name];
1448
+ } }));
1449
+ }
1450
+ return x(F, (e) => {
1451
+ if (!e || e.disabled) {
1452
+ let e = J.value.some((e) => e.name === "settings"), t = J.value.some((e) => e.name === "cameras");
1453
+ e ? q.value = "settings" : t && (q.value = "cameras");
1454
+ }
1455
+ }, { deep: !0 }), x(u, () => {
1456
+ k.value = u.params.pluginname;
1457
+ }, {
1458
+ deep: !0,
1459
+ immediate: !0
1460
+ }), x([F, G.isConnected], async ([e, t]) => {
1461
+ e && !e.disabled && t && await G.getConfig();
1462
+ }, { immediate: !0 }), x(M, (e) => {
1463
+ De?.stop(), e && (De = g(), De.run(() => {
1464
+ let t = Ze(e);
1465
+ t.connect(), x(t.status, (e) => Ee.value = e, { immediate: !0 });
1466
+ }));
1467
+ }, { immediate: !0 }), x(K, () => {
1468
+ K.value ? n.toggleQueryActivator("getPluginContractQuery", !0) : n.toggleQueryActivator("getPluginContractQuery", !1);
1469
+ }, {
1470
+ deep: !0,
1471
+ immediate: !0
1472
+ }), x([
1473
+ W,
1474
+ K,
1475
+ N,
1476
+ Pe,
1477
+ X,
1478
+ ke
1479
+ ], () => {
1480
+ let e = [], t = !1;
1481
+ Pe.value && e.push({
1482
+ name: "settings",
1483
+ icon: H,
1484
+ isInterface: !1,
1485
+ tooltip: D("views.plugin.settings_tab_tooltip")
1486
+ }), X.value && N.value && Q(N.value, Z.MotionDetection) && (t = !0, e.push({
1487
+ name: "motion_detection",
1488
+ icon: lr,
1489
+ isInterface: !0,
1490
+ tooltip: D("views.plugin.motion_detection_tab_tooltip")
1491
+ })), X.value && N.value && Q(N.value, Z.ObjectDetection) && (t = !0, e.push({
1492
+ name: "object_detection",
1493
+ icon: rr,
1494
+ isInterface: !0,
1495
+ tooltip: D("views.plugin.object_detection_tab_tooltip")
1496
+ })), X.value && N.value && Q(N.value, Z.Segmentation) && (t = !0, e.push({
1497
+ name: "segmentation",
1498
+ icon: $e,
1499
+ isInterface: !0,
1500
+ tooltip: D("views.plugin.segmentation_tab_tooltip")
1501
+ })), X.value && N.value && Q(N.value, Z.AudioDetection) && (t = !0, e.push({
1502
+ name: "audio_detection",
1503
+ icon: er,
1504
+ isInterface: !0,
1505
+ tooltip: D("views.plugin.audio_detection_tab_tooltip")
1506
+ })), X.value && N.value && Q(N.value, Z.FaceDetection) && (t = !0, e.push({
1507
+ name: "face_detection",
1508
+ icon: or,
1509
+ isInterface: !0,
1510
+ tooltip: D("views.plugin.face_detection_tab_tooltip")
1511
+ })), X.value && N.value && Q(N.value, Z.FaceEmbedding) && (t = !0, e.push({
1512
+ name: "face_recognition",
1513
+ icon: Ie,
1514
+ isInterface: !0,
1515
+ tooltip: D("views.plugin.face_recognition_tab_tooltip")
1516
+ })), X.value && N.value && Q(N.value, Z.PersonEmbedding) && (t = !0, e.push({
1517
+ name: "person_embedding",
1518
+ icon: et,
1519
+ isInterface: !0,
1520
+ tooltip: D("views.plugin.person_embedding_tab_tooltip")
1521
+ })), X.value && N.value && Q(N.value, Z.LicensePlateDetection) && (t = !0, e.push({
1522
+ name: "license_plate_detection",
1523
+ icon: vr,
1524
+ isInterface: !0,
1525
+ tooltip: D("views.plugin.license_plate_detection_tab_tooltip")
1526
+ })), X.value && N.value && Q(N.value, Z.ClassifierDetection) && (t = !0, e.push({
1527
+ name: "classifier_detection",
1528
+ icon: fr,
1529
+ isInterface: !0,
1530
+ tooltip: D("views.plugin.classifier_detection_tab_tooltip")
1531
+ })), X.value && N.value && Q(N.value, Z.ClipDetection) && (t = !0, e.push({
1532
+ name: "clip_detection",
1533
+ icon: hr,
1534
+ isInterface: !0,
1535
+ tooltip: D("views.plugin.clip_detection_tab_tooltip")
1536
+ })), X.value && N.value && Q(N.value, Z.Notifier) && (t = !0, e.push({
1537
+ name: "notification",
1538
+ icon: me,
1539
+ isInterface: !0,
1540
+ tooltip: D("views.plugin.notification_tab_tooltip")
1541
+ })), ke.value && e.push({
1542
+ name: "cameras",
1543
+ icon: ue,
1544
+ isInterface: !1,
1545
+ tooltip: D("views.plugin.cameras_tab_tooltip")
1546
+ }), W.value?.cameras.length && (Y.value = W.value.cameras.filter((e) => e.plugins?.some((e) => e.name === M.value)).map((e) => e.name)), J.value = [...e], F.value?.disabled || (Pe.value ? q.value = "settings" : t ? q.value = J.value.filter((e) => e.isInterface)[0].name : ke.value && (q.value = "cameras"));
1547
+ }, {
1548
+ deep: !0,
1549
+ immediate: !0
1550
+ }), x(P, (e) => {
1551
+ e && F.value && !F.value.disabled && i.error("Error connecting to plugin:", e);
1552
+ }), r(() => De?.stop()), (e, t) => {
1553
+ let n = nt, r = $, i = he, u = z, p = we, g = Qe, y = oe, x = Se, C = Fe, D = Ke, O = Zn, k = Lt, A = Je, N = ae, P = pe, ie = re, L = ce, B = V, ue = lt, H = ne;
1554
+ return s(), S("div", { key: v(M) }, [
1555
+ j(i, { position: "left" }, {
1556
+ default: b(() => [j(r, {
1557
+ severity: "secondary",
1558
+ text: "",
1559
+ class: "cui-button p-2 text-color non-draggable-region",
1560
+ onClick: t[0] ||= (t) => e.$router.push("/plugins")
1561
+ }, {
1562
+ icon: b(() => [j(n, { class: "w-6 h-6" })]),
1563
+ _: 1
1564
+ })]),
1565
+ _: 1
1566
+ }),
1567
+ j(i, { position: "center" }, {
1568
+ default: b(() => [E("span", br, c(e.$t("views.plugin.title")), 1)]),
1569
+ _: 1
1570
+ }),
1571
+ E("div", { class: d(["grid grid-auto grid-cols-1 lg:grid-cols-3 gap-6 lg:h-full", { "!gap-2": v(T) }]) }, [
1572
+ E("div", xr, [v(F) ? (s(), m(g, {
1573
+ key: v(F).pluginName,
1574
+ plugin: v(F),
1575
+ class: "h-[220px]"
1576
+ }, null, 8, ["plugin"])) : (s(), m(p, {
1577
+ key: 0,
1578
+ class: "cui-card items-center justify-center !h-[220px]"
1579
+ }, {
1580
+ content: b(() => [E("div", Sr, [j(u, {
1581
+ class: "w-[30px] h-[30px] m-0",
1582
+ "stroke-width": "5"
1583
+ })])]),
1584
+ _: 1
1585
+ }))]),
1586
+ E("div", Cr, [E("span", wr, c(e.$t("views.plugin.settings")), 1), j(p, { class: d(["cui-card !h-auto lg:!h-full", { "items-center justify-center": v(I) || v(ge) }]) }, {
1587
+ content: b(() => [v(I) || v(ge) ? (s(), S("div", Tr, [j(u, {
1588
+ class: "w-[30px] h-[30px] m-0",
1589
+ "stroke-width": "5"
1590
+ })])) : (s(), S("div", Er, [E("h3", Dr, c(e.$t("views.plugin.settings")), 1), v(F)?.disabled ? (s(), S("div", Or, [E("span", null, c(e.$t("views.plugin.disabled_info")), 1)])) : (s(), m(B, {
1591
+ key: 1,
1592
+ value: v(q),
1593
+ "onUpdate:value": t[2] ||= (e) => ee(q) ? q.value = e : null,
1594
+ scrollable: ""
1595
+ }, {
1596
+ default: b(() => [j(x, {
1597
+ class: "justify-between",
1598
+ pt: {
1599
+ activeBar: { class: "!w-auto" },
1600
+ content: { class: "border-[1px] border-color cui-rounded-corner overflow-hidden" }
1601
+ }
1602
+ }, {
1603
+ default: b(() => [(s(!0), S(w, null, o(v(J), (e, t) => (s(), m(y, {
1604
+ key: t,
1605
+ disabled: e.isInterface && v(F)?.disabled,
1606
+ value: e.name,
1607
+ "as-child": ""
1608
+ }, {
1609
+ default: b((t) => [te((s(), S("div", l({ ref_for: !0 }, t.a11yAttrs, {
1610
+ class: ["flex flex-col items-center justify-center flex-1 content-background !py-3 h-[55px]", [{ "hover:!text-color active:!text-color focus:!text-color": !t.active }, t.class]],
1611
+ onClick: t.onClick
1612
+ }), [(s(), m(f(e.icon), { class: "w-5 h-5" }))], 16, kr)), [[H, { value: e.tooltip }]])]),
1613
+ _: 2
1614
+ }, 1032, ["disabled", "value"]))), 128))]),
1615
+ _: 1
1616
+ }), j(L, { class: "px-0 pb-0" }, {
1617
+ default: b(() => [(s(!0), S(w, null, o(v(J), (n, i) => (s(), m(ie, {
1618
+ key: i,
1619
+ value: n.name,
1620
+ "as-child": ""
1621
+ }, {
1622
+ default: b((i) => [i.active ? (s(), S("div", l({
1623
+ key: 0,
1624
+ class: i.class
1625
+ }, { ref_for: !0 }, i.a11yAttrs), [n.name === "settings" ? (s(), S("div", Ar, [v(Ae) ? (s(), S("div", jr, [E("span", null, c(e.$t("views.plugin.nvr_settings_hint")), 1), j(r, {
1626
+ class: "cui-button-medium whitespace-nowrap",
1627
+ label: e.$t("views.plugin.nvr_settings_button"),
1628
+ onClick: t[1] ||= (t) => e.$router.push("/settings/recordings")
1629
+ }, {
1630
+ icon: b(() => [j(C, { class: "w-4 h-4" })]),
1631
+ _: 1
1632
+ }, 8, ["label"])])) : v(K)?.schema?.length ? (s(), m(D, {
1633
+ key: 1,
1634
+ "schema-form": {
1635
+ schema: v(K).schema,
1636
+ config: v(K).config
1637
+ },
1638
+ loading: v(G).isLoading.value,
1639
+ "save-button-color": "success",
1640
+ onOnAction: Be,
1641
+ onOnSubmit: Ve,
1642
+ onOnFormSubmit: He
1643
+ }, null, 8, ["schema-form", "loading"])) : (s(), S("div", Mr, [E("span", null, c(e.$t("views.plugin.no_settings")), 1)]))])) : n.name === "motion_detection" ? (s(), m(O, {
1644
+ key: 1,
1645
+ "plugin-name": v(M),
1646
+ type: "motionDetection"
1647
+ }, null, 8, ["plugin-name"])) : n.name === "object_detection" ? (s(), m(O, {
1648
+ key: 2,
1649
+ "plugin-name": v(M),
1650
+ type: "objectDetection"
1651
+ }, null, 8, ["plugin-name"])) : n.name === "segmentation" ? (s(), m(O, {
1652
+ key: 3,
1653
+ "plugin-name": v(M),
1654
+ type: "segmentation"
1655
+ }, null, 8, ["plugin-name"])) : n.name === "audio_detection" ? (s(), m(O, {
1656
+ key: 4,
1657
+ "plugin-name": v(M),
1658
+ type: "audioDetection"
1659
+ }, null, 8, ["plugin-name"])) : n.name === "face_detection" ? (s(), m(O, {
1660
+ key: 5,
1661
+ "plugin-name": v(M),
1662
+ type: "faceDetection"
1663
+ }, null, 8, ["plugin-name"])) : n.name === "face_recognition" ? (s(), m(O, {
1664
+ key: 6,
1665
+ "plugin-name": v(M),
1666
+ type: "faceRecognition"
1667
+ }, null, 8, ["plugin-name"])) : n.name === "person_embedding" ? (s(), m(O, {
1668
+ key: 7,
1669
+ "plugin-name": v(M),
1670
+ type: "personEmbedding"
1671
+ }, null, 8, ["plugin-name"])) : n.name === "license_plate_detection" ? (s(), m(O, {
1672
+ key: 8,
1673
+ "plugin-name": v(M),
1674
+ type: "licensePlateDetection"
1675
+ }, null, 8, ["plugin-name"])) : n.name === "classifier_detection" ? (s(), m(O, {
1676
+ key: 9,
1677
+ "plugin-name": v(M),
1678
+ type: "classifierDetection"
1679
+ }, null, 8, ["plugin-name"])) : n.name === "clip_detection" ? (s(), m(O, {
1680
+ key: 10,
1681
+ "plugin-name": v(M),
1682
+ type: "clipDetection"
1683
+ }, null, 8, ["plugin-name"])) : n.name === "notification" ? (s(), m(k, {
1684
+ key: 11,
1685
+ "plugin-name": v(M)
1686
+ }, null, 8, ["plugin-name"])) : n.name === "cameras" ? (s(), S("div", Nr, [v(W)?.cameras?.length ? v(X) ? (s(!0), S(w, { key: 2 }, o(v(W).cameras, (e) => (s(), S("div", {
1687
+ key: e.name,
1688
+ class: "cui-list-item"
1689
+ }, [j(P, {
1690
+ disabled: v(be) || v(Ce) || v(G).isLoading.value,
1691
+ active: v(Y).includes(e.name),
1692
+ class: "h-14",
1693
+ onClick: (t) => v(a).open({ cameraName: e.name })
1694
+ }, _({
1695
+ default: b(() => [E("span", null, c(e.name), 1)]),
1696
+ _: 2
1697
+ }, [!v(F) || !Le(e, v(F).pluginName) ? {
1698
+ name: "append",
1699
+ fn: b(() => [j(N, {
1700
+ "model-value": v(Y).includes(e.name),
1701
+ disabled: v(be) || v(Ce) || v(G).isLoading.value || !v(X),
1702
+ "onUpdate:modelValue": () => Ue(e)
1703
+ }, null, 8, [
1704
+ "model-value",
1705
+ "disabled",
1706
+ "onUpdate:modelValue"
1707
+ ])]),
1708
+ key: "0"
1709
+ } : void 0]), 1032, [
1710
+ "disabled",
1711
+ "active",
1712
+ "onClick"
1713
+ ])]))), 128)) : (s(), S("div", Fr, [j(A, { class: "w-4 h-4 flex-shrink-0" }), E("span", null, c(e.$t("views.plugin.assignment_requires_running")), 1)])) : (s(), S("div", Pr, [E("span", null, c(e.$t("views.plugin.no_cameras")), 1)]))])) : h("", !0)], 16)) : h("", !0)]),
1714
+ _: 2
1715
+ }, 1032, ["value"]))), 128))]),
1716
+ _: 1
1717
+ })]),
1718
+ _: 1
1719
+ }, 8, ["value"]))]))]),
1720
+ _: 1
1721
+ }, 8, ["class"])]),
1722
+ j(ue, {
1723
+ class: "lg:col-span-2 order-3",
1724
+ title: e.$t("views.plugin.readme"),
1725
+ placeholder: e.$t("views.plugin.no_readme"),
1726
+ content: v(R),
1727
+ loading: v(se)
1728
+ }, null, 8, [
1729
+ "title",
1730
+ "placeholder",
1731
+ "content",
1732
+ "loading"
1733
+ ]),
1734
+ j(ue, {
1735
+ class: "lg:col-span-2 order-4",
1736
+ title: e.$t("views.plugin.changelog"),
1737
+ placeholder: e.$t("views.plugin.no_changelog"),
1738
+ content: v(le),
1739
+ loading: v(de)
1740
+ }, null, 8, [
1741
+ "title",
1742
+ "placeholder",
1743
+ "content",
1744
+ "loading"
1745
+ ])
1746
+ ], 2)
1747
+ ]);
1748
+ };
1749
+ }
1750
+ }), [["__scopeId", "data-v-253f0bcc"]]);
1751
+ //#endregion
1752
+ export { Ir as default };