@camera.ui/server 2.2.8 → 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 (493) hide show
  1. package/LICENSE.md +8 -1
  2. package/dist/interface/assets/{404-BYV0u5qE.js → 404-C0X5UBF4.js} +1 -1
  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-BSicfOGF.css → Automation-R5o9sXYY.css} +1 -1
  8. package/dist/interface/assets/{AutomationImport-Iu-K82Os.js → AutomationImport-DKgg7atE.js} +2 -2
  9. package/dist/interface/assets/AutomationStore-CU-m5VC8.js +2 -0
  10. package/dist/interface/assets/{AutomationStoreDetail-BbvLRJ5u.js → AutomationStoreDetail-CiyIs8Iu.js} +2 -2
  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-JBD3ZmJ6.js → CameraConsole-D_Fv-MAi.js} +1 -1
  15. package/dist/interface/assets/{Cameras-R5mJGMK9.js → Cameras-Cq7Gw-fk.js} +2 -2
  16. package/dist/interface/assets/{Camview-DH6_8CxH.css → Camview-Bs2VvmUS.css} +1 -1
  17. package/dist/interface/assets/Camview-CP6PA20C.js +1 -0
  18. package/dist/interface/assets/{CertificateUpload-B9S4EOQs.js → CertificateUpload-DjzNMFc3.js} +1 -1
  19. package/dist/interface/assets/{Config-CbFl5Wcp.js → Config-Dl2TlyFe.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionAssistant-DIOh6-np.js → ConfigActionAssistant-DCkJ_Iqq.js} +1 -1
  21. package/dist/interface/assets/ConfigActionCameraControl-2pzl59gR.js +1 -0
  22. package/dist/interface/assets/{ConfigActionDelay-B9i4YZjy.js → ConfigActionDelay-BAp1dr0N.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionHttp-DFtxAa3U.js → ConfigActionHttp-_kqgEuun.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionImageInput-CuTH4Nw2.js → ConfigActionImageInput-BgtACnCm.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionMqtt-B9SfWP-G.js → ConfigActionMqtt-z7UzccW5.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionNotification-BGMIByJT.js → ConfigActionNotification-bhbb5AqU.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionNotificationControl-Cz72szMd.js → ConfigActionNotificationControl-BbvX8MFu.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionOutput-BG6DoIRe.js → ConfigActionOutput-DdgSg3FU.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionPlugin-B5oRSE9n.js → ConfigActionPlugin-DGjZd1L0.js} +1 -1
  30. package/dist/interface/assets/ConfigActionSensor-DmImWFAo.js +1 -0
  31. package/dist/interface/assets/{ConfigActionSnapshot-Di-uxMrg.js → ConfigActionSnapshot-hVHSfdtS.js} +1 -1
  32. package/dist/interface/assets/{ConfigActionVariable-BBpUti5A.js → ConfigActionVariable-BIpruwsx.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionIfElse-DjOKPXQw.js → ConfigConditionIfElse-DRSpsoR4.js} +1 -1
  34. package/dist/interface/assets/{ConfigConditionSensorState-BzvvZvD0.js → ConfigConditionSensorState-C2SNARH7.js} +1 -1
  35. package/dist/interface/assets/{ConfigConditionSwitch-DQvdfUxR.js → ConfigConditionSwitch-4SbQcU7N.js} +1 -1
  36. package/dist/interface/assets/{ConfigConditionTime-BqOElX5C.js → ConfigConditionTime-ESX3shbg.js} +1 -1
  37. package/dist/interface/assets/{ConfigSensorValueInput-BT-0LhSH.js → ConfigSensorValueInput-CTUdAA-R.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerDetection-1OkudUah.js → ConfigTriggerDetection-BRr6ixxQ.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerGeofence-HGatk3C5.js → ConfigTriggerGeofence-D-xRMGrT.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerManual-DpRr_vVq.js → ConfigTriggerManual-aXD6k1qa.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerMqtt-C_MId3BY.js → ConfigTriggerMqtt-pjHW4yOL.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerSchedule-BmwDqd6N.js → ConfigTriggerSchedule-CYOt57qg.js} +1 -1
  43. package/dist/interface/assets/{ConfigTriggerSensor-Rgx8q4g8.js → ConfigTriggerSensor-BwJ_cAqd.js} +1 -1
  44. package/dist/interface/assets/{ConfigTriggerSystem-4VsHPmbn.js → ConfigTriggerSystem-DBXIrjzU.js} +1 -1
  45. package/dist/interface/assets/{ConfigTriggerWebhook-Bs7zEfY0.js → ConfigTriggerWebhook-CccBmMCb.js} +1 -1
  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-BmBhwrNh.css → CuiAssistantConversation-C5ca1lgX.css} +1 -1
  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-Dd3uOtnC.js → CuiBottomSheet-DEVNeDqa.js} +1 -1
  52. package/dist/interface/assets/CuiCameraPipCard-rR_FW9zq.js +1 -0
  53. package/dist/interface/assets/CuiCameraRecordings-CnorhPhf.js +1 -0
  54. package/dist/interface/assets/CuiCameraShares-BxUgedC_.js +1 -0
  55. package/dist/interface/assets/{CuiCameraTable-C7WLZ2pA.js → CuiCameraTable-C3GB4Q2y.js} +2 -2
  56. package/dist/interface/assets/CuiCameraTable-MHfnZSyK.js +1 -0
  57. package/dist/interface/assets/CuiChartTable-TAzZgetO.js +1 -0
  58. package/dist/interface/assets/{CuiConsole-CkZML0iY.js → CuiConsole-Cf5lOCE1.js} +2 -2
  59. package/dist/interface/assets/{CuiDataTable-BFIhx1D3.js → CuiDataTable-DfjXa0C1.js} +1 -1
  60. package/dist/interface/assets/CuiLightControl-ChK-SvJp.js +1 -0
  61. package/dist/interface/assets/CuiList-C4fxd9lD.js +1 -0
  62. package/dist/interface/assets/CuiPluginCard-DMpANIQj.js +2 -0
  63. package/dist/interface/assets/CuiPluginCategoryChip-BKxJMid7.js +1 -0
  64. package/dist/interface/assets/{CuiPluginOAuthButton-BQZkTcgo.js → CuiPluginOAuthButton-DnQ838JJ.js} +2 -2
  65. package/dist/interface/assets/{CuiPluginTrustBadge-DbqdfdaL.js → CuiPluginTrustBadge-DyYDUWV6.js} +1 -1
  66. package/dist/interface/assets/{CuiQRCode-2WsWJQFi.js → CuiQRCode-S9fPi0_l.js} +1 -1
  67. package/dist/interface/assets/CuiSchema-DScmDQsh.js +1 -0
  68. package/dist/interface/assets/CuiTopNavbarItem-CT10aAlO.js +1 -0
  69. package/dist/interface/assets/Faces-Coy-tUVM.js +1 -0
  70. package/dist/interface/assets/FirstSteps-CrMJC049.js +1 -0
  71. package/dist/interface/assets/Floorplan-Bj_mVrxp.js +1 -0
  72. package/dist/interface/assets/{Floorplan-Ci63Zd8W.css → Floorplan-CT5TrMSD.css} +1 -1
  73. package/dist/interface/assets/Instances-B_mpKAng.js +1 -0
  74. package/dist/interface/assets/{Logs-DMehPk0t.js → Logs-fY1dpQk4.js} +2 -2
  75. package/dist/interface/assets/Menu-Bgi-NLdg.js +1 -0
  76. package/dist/interface/assets/Metrics-DnMeIrkf.css +1 -0
  77. package/dist/interface/assets/Metrics-k9KACiwh.js +12 -0
  78. package/dist/interface/assets/OAuthDeviceFlow-xTh83xmc.js +1 -0
  79. package/dist/interface/assets/Plugin-BB7x7UHw.css +1 -0
  80. package/dist/interface/assets/Plugin-VWq7sONB.js +1 -0
  81. package/dist/interface/assets/{PluginConsole-D1BRQCO9.js → PluginConsole-LnnDOVBL.js} +2 -2
  82. package/dist/interface/assets/PluginDetail-CKD9sbDx.js +2 -0
  83. package/dist/interface/assets/{PluginSchema-B9VsBHOU.js → PluginSchema-BnB0_6Sk.js} +1 -1
  84. package/dist/interface/assets/PluginSearch-BoBZLLbr.js +1 -0
  85. package/dist/interface/assets/PluginSearch-kGhweU1J.js +2 -0
  86. package/dist/interface/assets/{PluginUpdateProgress-uj0XPV-_.js → PluginUpdateProgress-DMx0QlgE.js} +1 -1
  87. package/dist/interface/assets/{Plugins-CPx9Hszm.js → Plugins-Ekmr6aVa.js} +1 -1
  88. package/dist/interface/assets/RecentEventsFilter-StLJNuks.js +1 -0
  89. package/dist/interface/assets/Recordings-8PqxJOI3.css +1 -0
  90. package/dist/interface/assets/Recordings-Bvkuk_TV.js +1 -0
  91. package/dist/interface/assets/SensorEdit-CAf9Nb01.js +1 -0
  92. package/dist/interface/assets/SensorHistory-il8bDErX.js +1 -0
  93. package/dist/interface/assets/Sensors-sxQ6HLKo.js +2 -0
  94. package/dist/interface/assets/Settings-Bu0G7Ebx.js +1 -0
  95. package/dist/interface/assets/{Settings-D7495zbV.css → Settings-DtCSaLPb.css} +1 -1
  96. package/dist/interface/assets/SettingsAccount-8OZJLQi-.js +1 -0
  97. package/dist/interface/assets/SettingsAccount-bSfFi9YH.js +1 -0
  98. package/dist/interface/assets/SettingsAppearance-CnvN_Tzr.js +1 -0
  99. package/dist/interface/assets/SettingsAppearance-EvPWgF4c.js +1 -0
  100. package/dist/interface/assets/SettingsAssistant-B6s6pHCx.js +1 -0
  101. package/dist/interface/assets/SettingsBackup-Dd2FaUcN.js +1 -0
  102. package/dist/interface/assets/SettingsList-SvCO_gfG.js +1 -0
  103. package/dist/interface/assets/SettingsMqtt-BXBzHX84.js +1 -0
  104. package/dist/interface/assets/SettingsNotifications-CV-jJwFV.js +1 -0
  105. package/dist/interface/assets/SettingsPermissions-GchFaWjz.js +1 -0
  106. package/dist/interface/assets/SettingsRecordings-C4Ch_jmV.js +1 -0
  107. package/dist/interface/assets/SettingsRemote-OZHDJKSq.js +2 -0
  108. package/dist/interface/assets/SettingsSystem-BJlHXwVs.js +2 -0
  109. package/dist/interface/assets/SettingsUsers-RGOkOzx0.js +1 -0
  110. package/dist/interface/assets/Terminal-DX-ECC91.js +4 -0
  111. package/dist/interface/assets/Training-B8my7vka.js +1 -0
  112. package/dist/interface/assets/Training-D1DDjCCD.css +1 -0
  113. package/dist/interface/assets/Updates-DmavyhAn.js +2 -0
  114. package/dist/interface/assets/{VariableInput-CcILik4M.js → VariableInput-DQJle67Y.js} +1 -1
  115. package/dist/interface/assets/{VariableSuggestions-Bj0HdrYW.js → VariableSuggestions-D8V739dF.js} +1 -1
  116. package/dist/interface/assets/{VersionsHandler-BA8Lcysg.js → VersionsHandler-B41TJhgY.js} +1 -1
  117. package/dist/interface/assets/{VirtualSensorCreate-DvHyw7I2.js → VirtualSensorCreate-MfLh-LpH.js} +1 -1
  118. package/dist/interface/assets/Workers-CafDeRhH.js +2 -0
  119. package/dist/interface/assets/api-By0v6EeA.css +2 -0
  120. package/dist/interface/assets/api-D1iULsSy.js +4 -0
  121. package/dist/interface/assets/{api-CKbL5jC7.js → api-DbUdfXO_.js} +1 -1
  122. package/dist/interface/assets/{assistant-CwmHp5bB.js → assistant-7hqP6OpA.js} +1 -1
  123. package/dist/interface/assets/{auth-AfZrkJ2f.js → auth-CDxrn7fe.js} +1 -1
  124. package/dist/interface/assets/{automations-DOCG0q8-.js → automations-CTTQlGCW.js} +1 -1
  125. package/dist/interface/assets/{cameraSources-mHEz9ROa.js → cameraSources-MOiE_1-W.js} +1 -1
  126. package/dist/interface/assets/cloudHandoff-CJzFH7CW.js +1 -0
  127. package/dist/interface/assets/{config-AG0SnOiY.js → config-6EiGxiYm.js} +1 -1
  128. package/dist/interface/assets/eventLabels-idFWh3Y_.js +1 -0
  129. package/dist/interface/assets/{flowSchema-B0d3VjU7.js → flowSchema-Dp_-p9WA.js} +1 -1
  130. package/dist/interface/assets/{intercomService-DG3EeZ6s.js → intercomService-BQYzjnAi.js} +1 -1
  131. package/dist/interface/assets/main-0oXl_8v7.js +3 -0
  132. package/dist/interface/assets/main-CdvAniEp.css +1 -0
  133. package/dist/interface/assets/mqtt-ChvXxMhR.js +1 -0
  134. package/dist/interface/assets/{notifications-8FH4ApEz.js → notifications-CbL-1oMs.js} +1 -1
  135. package/dist/interface/assets/{plugins-2JLUEMYc.js → plugins-lsoAntRQ.js} +1 -1
  136. package/dist/interface/assets/{rooms-DoAfzA8W.js → rooms-P8WrRIco.js} +1 -1
  137. package/dist/interface/assets/sensorIcons-BRTtoaHX.js +1 -0
  138. package/dist/interface/assets/{sensorSlots-biaL-O8E.js → sensorSlots-BTj-IM7z.js} +1 -1
  139. package/dist/interface/assets/{sensors-DyAMdS-H.js → sensors-Dxc7HgjZ.js} +1 -1
  140. package/dist/interface/assets/{server-BDRUGj61.js → server-DlK8gUoE.js} +1 -1
  141. package/dist/interface/assets/{theme-CLxrnR60.js → theme-BOppzzar.js} +1 -1
  142. package/dist/interface/assets/types-CeruGCb8.js +1 -0
  143. package/dist/interface/assets/{types-8JXzkoC8.js → types-J1Drrxo1.js} +1 -1
  144. package/dist/interface/assets/types-U4AuTNLR.js +1 -0
  145. package/dist/interface/assets/ungrouped-ING_JAuK.js +1 -0
  146. package/dist/interface/assets/{updates-F-veEP1I.js → updates-DtVp84Y0.js} +1 -1
  147. package/dist/interface/assets/{useAppVersion-BjUQmB7M.js → useAppVersion-BGgCk5GD.js} +1 -1
  148. package/dist/interface/assets/{useAssistantActions-CNEJol4o.js → useAssistantActions-C13O5EHU.js} +1 -1
  149. package/dist/interface/assets/useBackupRestore-vrhmc9i-.js +1 -0
  150. package/dist/interface/assets/{useCameraOptions-D_oduve2.js → useCameraOptions-CI1baRmm.js} +1 -1
  151. package/dist/interface/assets/{useKeyboardInset-CPWSVYlA.js → useKeyboardInset-CvgJp091.js} +1 -1
  152. package/dist/interface/assets/{useLogsSocket-B_jXUqv8.js → useLogsSocket-Bf0BI8ET.js} +1 -1
  153. package/dist/interface/assets/{useNavLayout-DEngIIeU.js → useNavLayout-6zM1Y-7B.js} +1 -1
  154. package/dist/interface/assets/{usePermissions-DAO92InI.js → usePermissions-DZitFsBQ.js} +1 -1
  155. package/dist/interface/assets/{usePluginUpdates-CJi8Y_wl.js → usePluginUpdates-VZdpJ_Ax.js} +1 -1
  156. package/dist/interface/assets/{usePushRegistration-j9WCeFbv.js → usePushRegistration-vcbMrTxZ.js} +1 -1
  157. package/dist/interface/assets/{useServerRestart-BVks5tuC.js → useServerRestart-DrpuNbIu.js} +1 -1
  158. package/dist/interface/assets/{useStreamStatus-DQ0NSyU8.js → useStreamStatus-l3Pfk1H4.js} +1 -1
  159. package/dist/interface/assets/{useTabSwipe-CVq7EcIY.js → useTabSwipe-BSpi25WV.js} +1 -1
  160. package/dist/interface/assets/{useUpdateChannel-C0fjDvNP.js → useUpdateChannel-kAl-5UNY.js} +1 -1
  161. package/dist/interface/assets/{useUpdatesSocket-DXKF9hzc.js → useUpdatesSocket-CaFz_fEb.js} +1 -1
  162. package/dist/interface/assets/{useUserOptions-UjMeAL5n.js → useUserOptions-BKteXnmU.js} +1 -1
  163. package/dist/interface/assets/vendor-cameraui-K1Nw4PvF.js +2326 -0
  164. package/dist/interface/assets/vendor-core-CJdfpB0I.js +1 -0
  165. package/dist/interface/assets/{vendor-primevue-Zx6t06A4.js → vendor-primevue-DoA2Rwcb.js} +871 -871
  166. package/dist/interface/assets/walk-B8FNhXuj.js +1 -0
  167. package/dist/interface/ha/{404-D5gfy0Cd.js → 404-RtgPpD9N.js} +1 -1
  168. package/dist/interface/ha/{About-JzlpCzBN.js → About-0PRv9bU0.js} +4 -4
  169. package/dist/interface/ha/{Assistant-DgOfGesf.js → Assistant-DbwxVfpl.js} +1021 -1021
  170. package/dist/interface/ha/{Automation-BDaWYiBu.js → Automation-D3HomdH7.js} +159 -155
  171. package/dist/interface/ha/{AutomationImport-BNB_PJ9R.js → AutomationImport-nQUUvZcv.js} +6 -6
  172. package/dist/interface/ha/{AutomationStore-_TeOt1wz.js → AutomationStore-BXDD92wZ.js} +8 -8
  173. package/dist/interface/ha/{AutomationStoreDetail-jjIEZoRi.js → AutomationStoreDetail-BYeq7FID.js} +19 -19
  174. package/dist/interface/ha/{Automations-DM6FEVOw.js → Automations-CJlGqmSP.js} +74 -74
  175. package/dist/interface/ha/Camera-Ai4BxVh_.js +747 -0
  176. package/dist/interface/ha/{CameraConsole-BoVql05l.js → CameraConsole-UMNOX3dE.js} +4 -4
  177. package/dist/interface/ha/{Cameras-cQBGvXq7.js → Cameras-BW-AEXYi.js} +266 -266
  178. package/dist/interface/ha/{Camview-mkG5FXZM.js → Camview-jikpVEE0.js} +195 -194
  179. package/dist/interface/ha/{Config-BNPDzo_h.js → Config-BOxwBH2D.js} +111 -111
  180. package/dist/interface/ha/{ConfigActionAssistant-C-8P3DYz.js → ConfigActionAssistant--3iWk9sq.js} +4 -4
  181. package/dist/interface/ha/{ConfigActionCameraControl-x1ksGL7m.js → ConfigActionCameraControl-DbVXWTeA.js} +3 -3
  182. package/dist/interface/ha/{ConfigActionHttp-DzCJp85z.js → ConfigActionHttp-Du3n2Yj0.js} +2 -2
  183. package/dist/interface/ha/{ConfigActionImageInput-C5C5U_2z.js → ConfigActionImageInput-BrJrTZTY.js} +4 -4
  184. package/dist/interface/ha/{ConfigActionMqtt-T29xb75r.js → ConfigActionMqtt-DZd1BNUt.js} +4 -4
  185. package/dist/interface/ha/{ConfigActionNotification-BcnyilF9.js → ConfigActionNotification-CJWW10gt.js} +3 -3
  186. package/dist/interface/ha/{ConfigActionNotificationControl-D3wIVKuU.js → ConfigActionNotificationControl-Bl41AVv1.js} +2 -2
  187. package/dist/interface/ha/{ConfigActionOutput-hD-yVczw.js → ConfigActionOutput-OTj7Lwgq.js} +1 -1
  188. package/dist/interface/ha/{ConfigActionPlugin-Bz1O-O4Q.js → ConfigActionPlugin-B790PEk0.js} +8 -8
  189. package/dist/interface/ha/{ConfigActionSensor-FOz-PYl_.js → ConfigActionSensor-BG3jZxge.js} +5 -5
  190. package/dist/interface/ha/{ConfigActionSnapshot-CmxEOuK1.js → ConfigActionSnapshot-fGmLl6jb.js} +2 -2
  191. package/dist/interface/ha/{ConfigActionVariable-BCvkrdCh.js → ConfigActionVariable-CK3vYDsr.js} +1 -1
  192. package/dist/interface/ha/{ConfigConditionIfElse-icfTG9OA.js → ConfigConditionIfElse-DyFLGg3y.js} +3 -3
  193. package/dist/interface/ha/{ConfigConditionSensorState-ClUAsm0d.js → ConfigConditionSensorState-BUTfeFO2.js} +7 -7
  194. package/dist/interface/ha/{ConfigConditionSwitch-C8AMCkn6.js → ConfigConditionSwitch-iDG_ubif.js} +5 -5
  195. package/dist/interface/ha/{ConfigSensorValueInput-ChvDQzGd.js → ConfigSensorValueInput-BmRIGUKB.js} +5 -5
  196. package/dist/interface/ha/{ConfigTriggerDetection-aUSyaClu.js → ConfigTriggerDetection-DyPQGt9M.js} +24 -24
  197. package/dist/interface/ha/{ConfigTriggerGeofence-DsJeJWP4.js → ConfigTriggerGeofence-CGE-bH_t.js} +6 -6
  198. package/dist/interface/ha/{ConfigTriggerMqtt-CsAxA7QZ.js → ConfigTriggerMqtt-CM3KZqBc.js} +1 -1
  199. package/dist/interface/ha/{ConfigTriggerSensor-CTxr9cfU.js → ConfigTriggerSensor-DoHMcwP4.js} +1 -1
  200. package/dist/interface/ha/{ConfigTriggerSystem-C8UEfpfs.js → ConfigTriggerSystem-BYKbW4Zr.js} +2 -2
  201. package/dist/interface/ha/{ConfigTriggerWebhook-frEE-SCB.js → ConfigTriggerWebhook-5PBAadG8.js} +2 -2
  202. package/dist/interface/ha/{Console-A3VtbsLg.js → Console-BEXzl4p1.js} +7 -7
  203. package/dist/interface/ha/{CuiAutomationRunsDialog-BlJvhBiX.js → CuiAutomationRunsDialog-DkK_ar5G.js} +3 -3
  204. package/dist/interface/ha/{CuiBottomSheet-Cu-t3H0Z.js → CuiBottomSheet-CYNvQV4T.js} +2 -2
  205. package/dist/interface/ha/{CuiCameraRecordings-R5ArEmqJ.js → CuiCameraRecordings-DYjecmE_.js} +30 -48
  206. package/dist/interface/ha/{CuiCameraShares-B9pfRkM4.js → CuiCameraShares-C0H60nZS.js} +7 -7
  207. package/dist/interface/ha/{CuiCameraTable-CKjGKaMC.js → CuiCameraTable-CQNMyBaq.js} +5 -5
  208. package/dist/interface/ha/{CuiChartTable-BxWjRe-k.js → CuiChartTable-Bhv1p9zj.js} +1161 -1161
  209. package/dist/interface/ha/{CuiConsole-C5fzsR7t.js → CuiConsole-DtXorGF5.js} +20 -20
  210. package/dist/interface/ha/{CuiDataTable-BOdQDY8J.js → CuiDataTable-Cy8EjCk9.js} +7 -7
  211. package/dist/interface/ha/{CuiList-CU2NJ1K6.js → CuiList-DnW6Q5m2.js} +1 -1
  212. package/dist/interface/ha/{CuiPluginCard-BT71RRAD.js → CuiPluginCard-B4SCUblV.js} +125 -125
  213. package/dist/interface/ha/{CuiPluginOAuthButton-moh9uS7G.js → CuiPluginOAuthButton-BKg9SftQ.js} +5 -5
  214. package/dist/interface/ha/{CuiPluginTrustBadge-F_pVWkPJ.js → CuiPluginTrustBadge-CEtUJhCJ.js} +1 -1
  215. package/dist/interface/ha/{CuiQRCode-BNuj-nJ4.js → CuiQRCode-gp-9hqyk.js} +7 -7
  216. package/dist/interface/ha/{CuiSchema-Cb_8Ks-I.js → CuiSchema-CYpr_dD7.js} +161 -161
  217. package/dist/interface/ha/{CuiTopNavbarItem-BGzrrTls.js → CuiTopNavbarItem-CM-1oPxf.js} +1 -1
  218. package/dist/interface/ha/Faces-pa60ySng.js +1575 -0
  219. package/dist/interface/ha/{FirstSteps-BFX0-EEi.js → FirstSteps-D42yZm7R.js} +68 -68
  220. package/dist/interface/ha/{Floorplan-D6MGqSJT.js → Floorplan-BvE546pE.js} +512 -511
  221. package/dist/interface/ha/{Instances-CHzIUyyA.js → Instances-CAGCyfbB.js} +64 -64
  222. package/dist/interface/ha/{Logs-DZKM3dWv.js → Logs-RB3Ba8WM.js} +12 -12
  223. package/dist/interface/ha/{Menu-BQz4dfQi.js → Menu-hAnHu_jq.js} +17 -17
  224. package/dist/interface/ha/{Metrics-CdpWJ1mm.js → Metrics-ChYTebkX.js} +94 -93
  225. package/dist/interface/ha/{OAuthDeviceFlow-DUELtx3X.js → OAuthDeviceFlow-C05pH-9o.js} +3 -3
  226. package/dist/interface/ha/{Plugin-5bbTF0Rv.js → Plugin-D7XwcXkW.js} +647 -439
  227. package/dist/interface/ha/{PluginConsole-C__0lzsS.js → PluginConsole-DphEIOlL.js} +4 -4
  228. package/dist/interface/ha/{PluginDetail-Blrktk9W.js → PluginDetail-DfMl-yCl.js} +9 -9
  229. package/dist/interface/ha/{PluginSearch-BKbdwHQ1.js → PluginSearch-BPN4Opg5.js} +34 -34
  230. package/dist/interface/ha/{PluginUpdateProgress-IsNiecu3.js → PluginUpdateProgress-ByJ0R5sW.js} +3 -3
  231. package/dist/interface/ha/{Plugins-CC2Dwlx5.js → Plugins-BhKmjjNn.js} +59 -59
  232. package/dist/interface/ha/{RecentEventsFilter-9ZkDHD1g.js → RecentEventsFilter-BkLMlGVJ.js} +5 -6
  233. package/dist/interface/ha/Recordings-BaU7M1OW.js +1836 -0
  234. package/dist/interface/ha/{SensorEdit-Bi2Yx_ji.js → SensorEdit-DWxcCJ0F.js} +88 -88
  235. package/dist/interface/ha/{SensorHistory-sqG_6eav.js → SensorHistory-DuA9E9wT.js} +2 -2
  236. package/dist/interface/ha/{Sensors-DLtOh1p4.js → Sensors-CVpIHcgG.js} +438 -435
  237. package/dist/interface/ha/{Settings-DI3_zenm.js → Settings-BO2eBGEn.js} +61 -61
  238. package/dist/interface/ha/{SettingsAccount-pS86Qyr-.js → SettingsAccount-BQZZfoSM.js} +255 -255
  239. package/dist/interface/ha/{SettingsAppearance-tS3bubKQ.js → SettingsAppearance-B_yGl89u.js} +16 -16
  240. package/dist/interface/ha/{SettingsAssistant-LejCRXsF.js → SettingsAssistant-kMOixl9g.js} +501 -501
  241. package/dist/interface/ha/{SettingsBackup-CkhD1Kze.js → SettingsBackup-BpG-W4j-.js} +24 -24
  242. package/dist/interface/ha/{SettingsList-bibwvPSM.js → SettingsList-Btnkzu94.js} +6 -6
  243. package/dist/interface/ha/{SettingsMqtt-DSt0B4Qg.js → SettingsMqtt-C4DX9cNC.js} +23 -23
  244. package/dist/interface/ha/{SettingsNotifications-BF7ajNwE.js → SettingsNotifications-DI6ImggH.js} +6 -6
  245. package/dist/interface/ha/{SettingsPermissions-Jh0FuIF7.js → SettingsPermissions-BCDyCFcb.js} +2 -2
  246. package/dist/interface/ha/{SettingsRecordings-BTIdncxg.js → SettingsRecordings-Bq5NkJhd.js} +10 -10
  247. package/dist/interface/ha/{SettingsRemote-Cba4P1-O.js → SettingsRemote-CtncaPIA.js} +308 -308
  248. package/dist/interface/ha/{SettingsSystem-_Nnh2ZF5.js → SettingsSystem-BJXuA7xA.js} +11 -11
  249. package/dist/interface/ha/{SettingsUsers-BfHFoxJi.js → SettingsUsers-BF0rDluv.js} +91 -91
  250. package/dist/interface/ha/{Terminal-Dv_7oWmS.js → Terminal-kTCe2jP3.js} +11 -11
  251. package/dist/interface/ha/Training-BM2Xb8Ef.js +1754 -0
  252. package/dist/interface/ha/{Updates-BHl5H7zE.js → Updates-Cv1EY_T0.js} +6 -6
  253. package/dist/interface/ha/{VariableInput-DtLo7-Nw.js → VariableInput-BO2zZu4N.js} +1 -1
  254. package/dist/interface/ha/{VersionsHandler-CF0DSeol.js → VersionsHandler-CRnT9-K7.js} +10 -10
  255. package/dist/interface/ha/{VirtualSensorCreate-C907EgIz.js → VirtualSensorCreate-6dVRxPjw.js} +8 -8
  256. package/dist/interface/ha/{Workers-Dz1d9gEQ.js → Workers-MHia86lu.js} +97 -97
  257. package/dist/interface/ha/{api-DUqpDJ2N.js → api-CH_Y8Hee.js} +17459 -14633
  258. package/dist/interface/ha/{api-gId1nlMj.js → api-DylRa66V.js} +3 -3
  259. package/dist/interface/ha/{assistant-BaR65gIY.js → assistant-smRQYA6p.js} +53 -53
  260. package/dist/interface/ha/{auth-Btsz_KxO.js → auth-BXj5Fm6s.js} +38 -38
  261. package/dist/interface/ha/{automationBlueprint-CuO3iOiM.js → automationBlueprint-DGjftXFC.js} +4 -4
  262. package/dist/interface/ha/cameraui-cards.js +1 -1
  263. package/dist/interface/ha/{cards-DWhezIPP.js → cards-E0zw1UVg.js} +114 -113
  264. package/dist/interface/ha/{config-BKStpoEQ.js → config-dG_DA6XL.js} +16 -16
  265. package/dist/interface/ha/{dist-CM7R4_Gj.js → dist-BQf9ANPx.js} +77 -77
  266. package/dist/interface/ha/{dist-BIngHzHx.js → dist-euRmladF.js} +4 -4
  267. package/dist/interface/ha/{eventIcons-BFNUgeGr.js → eventLabels-B5GrM5jO.js} +291 -233
  268. package/dist/interface/ha/{intercomService-B7HkLs6z.js → intercomService-BtJ_zUNd.js} +250 -264
  269. package/dist/interface/ha/{mqtt-ajcSmTB-.js → mqtt-CP3vVkRJ.js} +12 -12
  270. package/dist/interface/ha/{notifications-Cf9dXHEO.js → notifications-CZNwSXTg.js} +22 -22
  271. package/dist/interface/ha/{pinia-DIKO5lnE.js → pinia-CVnHHb-s.js} +533 -501
  272. package/dist/interface/ha/{plugins-ml823dJV.js → plugins--eatOIaI.js} +66 -66
  273. package/dist/interface/ha/{protocol-BB4jdtUC-DW3jl2tV.js → protocol-BB4jdtUC-BhEwymva.js} +129 -48
  274. package/dist/interface/ha/{rooms-C5gUErBi.js → rooms-D5E6K75d.js} +8 -8
  275. package/dist/interface/ha/{server-dArenpJI.js → server-D1BqEY7i.js} +31 -31
  276. package/dist/interface/ha/{types-DYymuACA.js → types-CWogEoya.js} +36 -36
  277. package/dist/interface/ha/ungrouped-Ch4UX4dy.js +58 -0
  278. package/dist/interface/ha/{updates-D5sFzGtC.js → updates-B48Owi1w.js} +28 -28
  279. package/dist/interface/ha/{useAppVersion-C5x3Ap4_.js → useAppVersion-D95sKTJR.js} +2 -2
  280. package/dist/interface/ha/{useAssistantActions-S1FrNe9b.js → useAssistantActions-kDwiO-u5.js} +1 -1
  281. package/dist/interface/ha/{useKeyboardInset-Cj0T2AFX.js → useKeyboardInset-C2R51vsC.js} +1 -1
  282. package/dist/interface/ha/{useLogsSocket-DtvfQlPh.js → useLogsSocket-BzNWa2y2.js} +1 -1
  283. package/dist/interface/ha/{useNavLayout-HSFBA4JV.js → useNavLayout-228cwwqA.js} +19 -19
  284. package/dist/interface/ha/{usePermissions-DaE_wFch.js → usePermissions-CfA5x7Df.js} +1 -1
  285. package/dist/interface/ha/{useServerRestart-Ci0SppGW.js → useServerRestart-B0c40zs5.js} +1 -1
  286. package/dist/interface/ha/{useTabSwipe-CPKkRmaH.js → useTabSwipe-CfZg5hWj.js} +2 -2
  287. package/dist/interface/ha/{useUpdateChannel-CXHHovK3.js → useUpdateChannel-DQxI7FrD.js} +2 -2
  288. package/dist/interface/ha/{useUpdatesSocket-DVST2YXV.js → useUpdatesSocket-B8LqBBd3.js} +1 -1
  289. package/dist/interface/ha/{useUserOptions-BYcYI6QA.js → useUserOptions-dZf6ejlz.js} +1 -1
  290. package/dist/interface/ha/walk-CsSXaeJw.js +33 -0
  291. package/dist/interface/index.html +35 -36
  292. package/dist/interface/sw.js +1 -1
  293. package/dist/interface/workbox-5f52ac45.js +1 -0
  294. package/dist/server/package.json +11 -11
  295. package/dist/server/requirements.txt +2 -2
  296. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +22 -0
  297. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +4 -0
  298. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +10 -0
  299. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +6 -0
  300. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +92 -4
  301. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +16 -0
  302. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +4 -0
  303. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +1 -1
  304. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +3 -3
  305. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/person_embedder.py +65 -0
  306. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/segmenter.py +81 -0
  307. package/dist/server/src/api/database/index.d.ts +2 -1
  308. package/dist/server/src/api/database/index.js +31 -7
  309. package/dist/server/src/api/database/index.js.map +1 -1
  310. package/dist/server/src/api/database/migrations/v2-2-9.d.ts +3 -0
  311. package/dist/server/src/api/database/migrations/v2-2-9.js +28 -0
  312. package/dist/server/src/api/database/migrations/v2-2-9.js.map +1 -0
  313. package/dist/server/src/api/database/record-schemas.d.ts +1 -1
  314. package/dist/server/src/api/database/types.d.ts +17 -1
  315. package/dist/server/src/api/schemas/assistant.schema.d.ts +1 -1
  316. package/dist/server/src/api/schemas/cameras.schema.d.ts +140 -76
  317. package/dist/server/src/api/schemas/cameras.schema.js +4 -2
  318. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  319. package/dist/server/src/api/schemas/training.schema.d.ts +15 -3
  320. package/dist/server/src/api/schemas/training.schema.js +4 -1
  321. package/dist/server/src/api/schemas/training.schema.js.map +1 -1
  322. package/dist/server/src/api/websocket/nsp/worker-perf.js +2 -0
  323. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  324. package/dist/server/src/api/websocket/types.d.ts +1 -0
  325. package/dist/server/src/assistant/search.d.ts +17 -0
  326. package/dist/server/src/assistant/search.js +10 -2
  327. package/dist/server/src/assistant/search.js.map +1 -1
  328. package/dist/server/src/assistant/tools/plugins.js +7 -3
  329. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  330. package/dist/server/src/assistant/types.d.ts +2 -0
  331. package/dist/server/src/automations/actions/plugin.js +5 -9
  332. package/dist/server/src/automations/actions/plugin.js.map +1 -1
  333. package/dist/server/src/automations/pluginMethodRegistry.d.ts +6 -0
  334. package/dist/server/src/automations/pluginMethodRegistry.js +39 -0
  335. package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -1
  336. package/dist/server/src/automations/segment-picture.d.ts +16 -0
  337. package/dist/server/src/automations/segment-picture.js +152 -0
  338. package/dist/server/src/automations/segment-picture.js.map +1 -0
  339. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -2
  340. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -22
  341. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  342. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +30 -2
  343. package/dist/server/src/camera/decoder/detection-pipeline.js +81 -21
  344. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  345. package/dist/server/src/camera/decoder/event-manager.d.ts +12 -2
  346. package/dist/server/src/camera/decoder/event-manager.js +77 -75
  347. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  348. package/dist/server/src/camera/decoder/event-trace.d.ts +41 -1
  349. package/dist/server/src/camera/decoder/event-trace.js +63 -8
  350. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  351. package/dist/server/src/camera/decoder/face-tracks.d.ts +26 -0
  352. package/dist/server/src/camera/decoder/face-tracks.js +199 -0
  353. package/dist/server/src/camera/decoder/face-tracks.js.map +1 -0
  354. package/dist/server/src/camera/decoder/frame-scaler.d.ts +3 -1
  355. package/dist/server/src/camera/decoder/frame-scaler.js +36 -8
  356. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  357. package/dist/server/src/camera/decoder/nvr-sink.d.ts +6 -0
  358. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  359. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  360. package/dist/server/src/camera/decoder/perf-tracker.d.ts +2 -0
  361. package/dist/server/src/camera/decoder/perf-tracker.js +4 -0
  362. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  363. package/dist/server/src/camera/decoder/ptz/autotracker.d.ts +6 -1
  364. package/dist/server/src/camera/decoder/ptz/autotracker.js +107 -25
  365. package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
  366. package/dist/server/src/camera/decoder/secondary-stage.d.ts +10 -8
  367. package/dist/server/src/camera/decoder/secondary-stage.js +145 -125
  368. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  369. package/dist/server/src/camera/decoder/training-sink.d.ts +5 -2
  370. package/dist/server/src/camera/decoder/training-sink.js +30 -6
  371. package/dist/server/src/camera/decoder/training-sink.js.map +1 -1
  372. package/dist/server/src/camera/decoder/types.d.ts +6 -2
  373. package/dist/server/src/camera/decoder/types.js +4 -2
  374. package/dist/server/src/camera/decoder/types.js.map +1 -1
  375. package/dist/server/src/manager/trainingCandidateManager.d.ts +2 -1
  376. package/dist/server/src/manager/trainingCandidateManager.js +25 -3
  377. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  378. package/dist/server/src/manager/trainingSubmission.d.ts +5 -0
  379. package/dist/server/src/manager/trainingSubmission.js +73 -0
  380. package/dist/server/src/manager/trainingSubmission.js.map +1 -0
  381. package/dist/server/src/manager/types.d.ts +8 -2
  382. package/dist/server/src/manager/types.js.map +1 -1
  383. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -0
  384. package/dist/server/src/remote/api/routes/train.d.ts +44 -3
  385. package/dist/server/src/remote/api/routes/train.js +2 -2
  386. package/dist/server/src/remote/api/routes/train.js.map +1 -1
  387. package/dist/server/src/rpc/interfaces/core.d.ts +6 -2
  388. package/dist/server/src/rpc/interfaces/detection.d.ts +20 -3
  389. package/dist/server/src/rpc/server.d.ts +2 -0
  390. package/dist/server/src/rpc/server.js +8 -5
  391. package/dist/server/src/rpc/server.js.map +1 -1
  392. package/dist/server/src/sensors/registry.d.ts +1 -0
  393. package/dist/server/src/sensors/registry.js +20 -11
  394. package/dist/server/src/sensors/registry.js.map +1 -1
  395. package/dist/server/src/sensors/types.d.ts +1 -0
  396. package/dist/server/src/sensors/types.js +3 -0
  397. package/dist/server/src/sensors/types.js.map +1 -1
  398. package/dist/server/src/services/config/index.d.ts +1 -0
  399. package/dist/server/src/services/config/index.js +2 -0
  400. package/dist/server/src/services/config/index.js.map +1 -1
  401. package/dist/server/src/utils/image.d.ts +6 -0
  402. package/dist/server/src/utils/image.js +58 -22
  403. package/dist/server/src/utils/image.js.map +1 -1
  404. package/npm-shrinkwrap.json +115 -74
  405. package/package.json +11 -11
  406. package/dist/interface/assets/About-DBOS1rfw.js +0 -1
  407. package/dist/interface/assets/Assistant-BQ6Ld-bt.css +0 -1
  408. package/dist/interface/assets/Assistant-BRcHj8hq.js +0 -1
  409. package/dist/interface/assets/Automation-C0Emde7z.js +0 -3
  410. package/dist/interface/assets/AutomationStore-C2G0Bk8c.js +0 -2
  411. package/dist/interface/assets/Automations-D-vfqRnZ.js +0 -2
  412. package/dist/interface/assets/Camera-BpurrgAr.js +0 -2
  413. package/dist/interface/assets/Camera-D0B7yyVD.css +0 -1
  414. package/dist/interface/assets/Camview-IbOVRx20.js +0 -1
  415. package/dist/interface/assets/ConfigActionCameraControl-Bw_egtpP.js +0 -1
  416. package/dist/interface/assets/ConfigActionSensor-BErRRYfl.js +0 -1
  417. package/dist/interface/assets/Console-oCuuVKET.js +0 -1
  418. package/dist/interface/assets/CuiAssistantConversation-Bsyxau9v.js +0 -5
  419. package/dist/interface/assets/CuiAutomationRunsDialog-sRh_K6JI.js +0 -1
  420. package/dist/interface/assets/CuiBottomSheet-DWoSHzC7.js +0 -1
  421. package/dist/interface/assets/CuiCameraPipCard-D6REm8uT.js +0 -1
  422. package/dist/interface/assets/CuiCameraRecordings-C2tvrbbw.js +0 -1
  423. package/dist/interface/assets/CuiCameraShares-jrrUEHoZ.js +0 -1
  424. package/dist/interface/assets/CuiCameraTable-BOzTWLwd.js +0 -1
  425. package/dist/interface/assets/CuiChartTable-BYrIX7LV.js +0 -1
  426. package/dist/interface/assets/CuiLightControl-DitIWqUr.js +0 -1
  427. package/dist/interface/assets/CuiList-BewTNr2X.js +0 -1
  428. package/dist/interface/assets/CuiPluginCard-Bd2HFduI.js +0 -2
  429. package/dist/interface/assets/CuiPluginCategoryChip-DlzOwRgc.js +0 -1
  430. package/dist/interface/assets/CuiSchema-BL0QZmP2.js +0 -1
  431. package/dist/interface/assets/CuiTopNavbarItem-Ti2TueU1.js +0 -1
  432. package/dist/interface/assets/Faces-DARrGLXf.js +0 -1
  433. package/dist/interface/assets/FirstSteps-DBYPBvGr.js +0 -1
  434. package/dist/interface/assets/Floorplan-BaZvzoyv.js +0 -1
  435. package/dist/interface/assets/Instances-r0xReURi.js +0 -1
  436. package/dist/interface/assets/Menu-C34RRyLd.js +0 -1
  437. package/dist/interface/assets/Metrics-BjoC71_O.js +0 -12
  438. package/dist/interface/assets/Metrics-DsHBab6t.css +0 -1
  439. package/dist/interface/assets/OAuthDeviceFlow-CdZxelf2.js +0 -1
  440. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +0 -1
  441. package/dist/interface/assets/Plugin-npx7CnwV.js +0 -1
  442. package/dist/interface/assets/PluginDetail-nwTrJmO6.js +0 -2
  443. package/dist/interface/assets/PluginSearch-CP2kQWKf.js +0 -1
  444. package/dist/interface/assets/PluginSearch-WEvbKMRs.js +0 -2
  445. package/dist/interface/assets/RecentEventsFilter-D5VSH2K1.js +0 -1
  446. package/dist/interface/assets/Recordings-BEKAn6QK.css +0 -1
  447. package/dist/interface/assets/Recordings-De6Zcv0M.js +0 -1
  448. package/dist/interface/assets/SensorEdit-SD_oHBRo.js +0 -1
  449. package/dist/interface/assets/SensorHistory-SxiLOloa.js +0 -1
  450. package/dist/interface/assets/Sensors-Djl64M-W.js +0 -2
  451. package/dist/interface/assets/Settings-CAf2reGs.js +0 -1
  452. package/dist/interface/assets/SettingsAccount-BGj5Ni91.js +0 -1
  453. package/dist/interface/assets/SettingsAccount-Dy6WC8ql.js +0 -1
  454. package/dist/interface/assets/SettingsAppearance-BGFhMlRk.js +0 -1
  455. package/dist/interface/assets/SettingsAppearance-DQzQmVzE.js +0 -1
  456. package/dist/interface/assets/SettingsAssistant-BwYVyuN3.js +0 -1
  457. package/dist/interface/assets/SettingsBackup-CVExGnOo.js +0 -1
  458. package/dist/interface/assets/SettingsList-vo7sz_MY.js +0 -1
  459. package/dist/interface/assets/SettingsMqtt-B1CuOcML.js +0 -1
  460. package/dist/interface/assets/SettingsNotifications-CCQ6eiq8.js +0 -1
  461. package/dist/interface/assets/SettingsPermissions-BlOf6HEy.js +0 -1
  462. package/dist/interface/assets/SettingsRecordings-7tTBg6m1.js +0 -1
  463. package/dist/interface/assets/SettingsRemote-DBgKmIdv.js +0 -2
  464. package/dist/interface/assets/SettingsSystem-DaFMsZpN.js +0 -2
  465. package/dist/interface/assets/SettingsUsers-DXACwVPi.js +0 -1
  466. package/dist/interface/assets/Terminal-DtGqlHbk.js +0 -4
  467. package/dist/interface/assets/Training-C-ToeAl4.css +0 -1
  468. package/dist/interface/assets/Training-Ca11D1Vj.js +0 -1
  469. package/dist/interface/assets/Updates-yenwuqnD.js +0 -2
  470. package/dist/interface/assets/Workers-Dyo44zxe.js +0 -2
  471. package/dist/interface/assets/api-CHQlxVtZ.css +0 -2
  472. package/dist/interface/assets/api-CLazgL-g.js +0 -4
  473. package/dist/interface/assets/cloudHandoff-zJCrDmwk.js +0 -1
  474. package/dist/interface/assets/eventIcons-C3JWChgS.js +0 -1
  475. package/dist/interface/assets/eventLabels-BsPoPWS9.js +0 -1
  476. package/dist/interface/assets/main-CGY9cVyi.css +0 -1
  477. package/dist/interface/assets/main-DkHV6YgB.js +0 -3
  478. package/dist/interface/assets/mqtt-DE2VbNdt.js +0 -1
  479. package/dist/interface/assets/sensorIcons-BntiOPX7.js +0 -1
  480. package/dist/interface/assets/types-B4LLKzDW.js +0 -1
  481. package/dist/interface/assets/types-a7Nw-P-m.js +0 -1
  482. package/dist/interface/assets/ungrouped-BoAbb9w3.js +0 -1
  483. package/dist/interface/assets/ungrouped-ChmBvcXp.css +0 -1
  484. package/dist/interface/assets/useBackupRestore-Biqn_lhh.js +0 -1
  485. package/dist/interface/assets/vendor-cameraui-GmMRyJ2R.js +0 -2326
  486. package/dist/interface/assets/vendor-core-BeAannbA.js +0 -1
  487. package/dist/interface/ha/Camera-sH9fRv18.js +0 -670
  488. package/dist/interface/ha/Faces-CsM5VO8Q.js +0 -1441
  489. package/dist/interface/ha/Recordings-B1XsJrzs.js +0 -1539
  490. package/dist/interface/ha/Training-CaSFA5oH.js +0 -1699
  491. package/dist/interface/ha/eventLabels-B4C1_4vT.js +0 -42
  492. package/dist/interface/ha/ungrouped-BHLAySWP.js +0 -1312
  493. package/dist/interface/workbox-778a14ff.js +0 -1
@@ -2,25 +2,25 @@ import { c as e, m as t } from "./ripple-ZDATPc2w.js";
2
2
  import { B as n, D as r, Dt as i, G as a, H as o, Jt as s, K as c, M as l, Wt as u, _t as d, bt as f, d as p, f as m, ft as h, gt as g, kt as _, l as v, lt as y, ot as b, p as x, qt as S, r as C, rt as w, u as T, ut as E, v as D, x as O, xt as k, y as A, yt as j, z as M } from "./runtime-core.esm-bundler-_TfE0DWz.js";
3
3
  import { t as ee } from "./tooltip-BDrlgLof.js";
4
4
  import { t as te } from "./message-D6dIy_hz.js";
5
- import { An as N, D as P, Dt as ne, E as F, Er as re, F as I, I as L, Jt as R, Mr as ie, O as z, Or as ae, Ot as B, P as V, _r as oe, a as H, et as se, gt as U, k as W, kr as ce, li as le, m as G, mi as ue, wi as K, xt as de } from "./api-DUqpDJ2N.js";
6
- import { M as fe } from "./protocol-BB4jdtUC-DW3jl2tV.js";
7
- import { i as pe, o as me } from "./intercomService-B7HkLs6z.js";
8
- import { $ as he, et as ge, it as _e, nt as ve, rt as ye, tt as be } from "./pinia-DIKO5lnE.js";
9
- import { n as q } from "./vue-i18n-D5EAy78K.js";
10
- import { n as xe, t as Se } from "./button-BouAFgf5.js";
5
+ import { Ar as N, D as P, E as F, Ei as I, F as L, I as R, Mn as ne, O as z, On as re, Or as ie, P as B, Pr as ae, _t as V, a as H, di as oe, gi as se, gt as U, hn as ce, jr as le, k as W, m as G, ut as ue, xn as de, yr as fe } from "./api-CH_Y8Hee.js";
6
+ import { M as pe } from "./protocol-BB4jdtUC-BhEwymva.js";
7
+ import { i as me, o as he } from "./intercomService-BtJ_zUNd.js";
8
+ import { $ as ge, et as _e, it as ve, nt as ye, rt as be, tt as xe } from "./pinia-CVnHHb-s.js";
9
+ import { n as K } from "./vue-i18n-D5EAy78K.js";
10
+ import { n as Se, t as q } from "./button-BouAFgf5.js";
11
11
  import { t as J } from "./inputtext-C_ygnPrC.js";
12
- import { t as Ce } from "./close-CxFbonhd.js";
13
- import { t as we } from "./select-DV7p2EDj.js";
12
+ import { t as Ce } from "./select-DV7p2EDj.js";
13
+ import { t as we } from "./close-CxFbonhd.js";
14
14
  import { i as Te, n as Ee, r as De, t as Oe } from "./accordion-BylV-jUK.js";
15
15
  import { t as ke } from "./chip-BTHURsTF.js";
16
- import { i as Ae, t as je } from "./CuiDataTable-BOdQDY8J.js";
17
- import { n as Me, r as Ne, t as Pe } from "./CuiSchema-Cb_8Ks-I.js";
18
- import { t as Fe } from "./CuiCameraTable-CKjGKaMC.js";
19
- import { u as Ie } from "./cards-DWhezIPP.js";
16
+ import { i as Ae, t as je } from "./CuiDataTable-Cy8EjCk9.js";
17
+ import { n as Me, r as Ne, t as Pe } from "./CuiSchema-CYpr_dD7.js";
18
+ import { t as Fe } from "./CuiCameraTable-CQNMyBaq.js";
19
+ import { u as Ie } from "./cards-E0zw1UVg.js";
20
20
  import { t as Le } from "./plus-CgxY7W0L.js";
21
21
  import { t as Re } from "./radar-BG-Tcwg_.js";
22
22
  import { n as ze, t as Be } from "./eye-off-UG_p9nl8.js";
23
- import { t as Ve } from "./rooms-C5gUErBi.js";
23
+ import { t as Ve } from "./rooms-D5E6K75d.js";
24
24
  //#region ~icons/material-symbols/camera-rounded
25
25
  var He = {
26
26
  viewBox: "0 0 24 24",
@@ -42,12 +42,12 @@ var We = d({
42
42
  "yandex:",
43
43
  "webtorrent:"
44
44
  ];
45
- function bt(e) {
45
+ function Y(e) {
46
46
  let t = e.trim(), n;
47
- for (let e of he) t.startsWith(e) && (!n || e.length > n.length) && (n = e);
47
+ for (let e of ge) t.startsWith(e) && (!n || e.length > n.length) && (n = e);
48
48
  return n;
49
49
  }
50
- function xt(e) {
50
+ function bt(e) {
51
51
  let t = e.trim();
52
52
  if (!t) return "";
53
53
  for (let e of yt) if (t.startsWith(e)) {
@@ -56,15 +56,15 @@ function xt(e) {
56
56
  }
57
57
  return t;
58
58
  }
59
- function St(e) {
59
+ function xt(e) {
60
60
  return e.startsWith("cui://") && e.includes("/api/cameras/streams/");
61
61
  }
62
62
  //#endregion
63
63
  //#region src/components/CuiCameraSources/CuiCameraSources.vue?vue&type=script&setup=true&lang.ts
64
- var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-center w-full" }, Tt = { class: "flex gap-2 items-center w-full" }, Et = { class: "text-color text-sm" }, Dt = { class: "flex flex-col gap-6" }, Ot = ["for"], kt = ["for"], At = { class: "w-full flex flex-col gap-2" }, jt = { class: "flex items-center gap-4" }, Mt = { class: "flex flex-col field-switch-gap" }, Nt = ["for"], Pt = { class: "flex items-center gap-4" }, Ft = { class: "flex flex-col field-switch-gap" }, It = ["for"], Lt = { class: "flex items-center gap-4" }, Rt = { class: "flex flex-col field-switch-gap" }, zt = ["for"], Bt = { class: "flex items-center gap-4" }, Vt = { class: "flex flex-col field-switch-gap" }, Ht = ["for"], Ut = { class: "flex flex-col gap-6" }, Wt = { class: "flex flex-col field-gap" }, Gt = ["for"], Kt = {
64
+ var St = { class: "flex flex-col gap-6" }, Ct = { class: "flex gap-2 items-center w-full" }, wt = { class: "flex gap-2 items-center w-full" }, Tt = { class: "text-color text-sm" }, Et = { class: "flex flex-col gap-6" }, Dt = ["for"], Ot = ["for"], kt = { class: "w-full flex flex-col gap-2" }, At = { class: "flex items-center gap-4" }, jt = { class: "flex flex-col field-switch-gap" }, Mt = ["for"], Nt = { class: "flex items-center gap-4" }, Pt = { class: "flex flex-col field-switch-gap" }, Ft = ["for"], It = { class: "flex items-center gap-4" }, Lt = { class: "flex flex-col field-switch-gap" }, Rt = ["for"], zt = { class: "flex items-center gap-4" }, Bt = { class: "flex flex-col field-switch-gap" }, Vt = ["for"], Ht = { class: "flex flex-col gap-6" }, Ut = { class: "flex flex-col field-gap" }, Wt = ["for"], Gt = {
65
65
  key: 0,
66
66
  class: "w-full flex flex-row gap-2"
67
- }, qt = "rtsp://user:pass@192.168.1.50:554/stream", Jt = /* @__PURE__ */ O({
67
+ }, Kt = "rtsp://user:pass@192.168.1.50:554/stream", qt = /* @__PURE__ */ O({
68
68
  __name: "CuiCameraSources",
69
69
  props: {
70
70
  sources: {},
@@ -75,7 +75,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
75
75
  }
76
76
  },
77
77
  setup(n, { expose: r }) {
78
- let i = new R(), c = n, d = U(), { t: f } = q(), { mutateAsync: h, isPending: b } = i.previewCameraQuery(), S = /* #__PURE__ */ Object.assign({
78
+ let i = new ce(), c = n, d = de(), { t: f } = K(), { mutateAsync: h, isPending: b } = i.previewCameraQuery(), S = /* #__PURE__ */ Object.assign({
79
79
  "../../markdowns/bubble.md": Ge,
80
80
  "../../markdowns/cui.md": Ke,
81
81
  "../../markdowns/doorbird.md": qe,
@@ -111,30 +111,30 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
111
111
  "snapshot"
112
112
  ]), O = k(c.sources.map((e, t) => t)), j = v(() => c.isLoading || b.value);
113
113
  function M(e) {
114
- return e.urls.some(St);
114
+ return e.urls.some(xt);
115
115
  }
116
- function P(e) {
117
- let t = bt(e);
116
+ function N(e) {
117
+ let t = Y(e);
118
118
  if (!t) return;
119
119
  let n = t.replace(/[:/]+$/, "");
120
120
  return S[`../../markdowns/${n}.md`];
121
121
  }
122
- function F(e) {
123
- return !!P(e);
122
+ function P(e) {
123
+ return !!N(e);
124
124
  }
125
- function re(e) {
125
+ function F(e) {
126
126
  c.sources[e].urls.push("");
127
127
  }
128
- function L(e, t) {
128
+ function I(e, t) {
129
129
  c.sources[e].urls.splice(t, 1);
130
130
  }
131
- function ie(e, t, n) {
131
+ function R(e, t, n) {
132
132
  c.sources[e].urls[t] = n;
133
133
  }
134
- function z(e, t) {
134
+ function ne(e, t) {
135
135
  e.role = t, t === "snapshot" && (e.useForSnapshot = !1, e.hotMode = !1, e.preload = !1);
136
136
  }
137
- function ae() {
137
+ function z() {
138
138
  c.sources.push({
139
139
  _id: G(8),
140
140
  name: "",
@@ -146,11 +146,11 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
146
146
  muted: !1
147
147
  }), O.value = [c.sources.length];
148
148
  }
149
- function oe(e) {
149
+ function ie(e) {
150
150
  c.sources.splice(e, 1);
151
151
  }
152
- function H(e) {
153
- let t = P(e);
152
+ function ae(e) {
153
+ let t = N(e);
154
154
  t && d.openTextDialog({ data: {
155
155
  title: f("components.dialog.title.information"),
156
156
  hideConfirmButton: !0,
@@ -158,8 +158,8 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
158
158
  markdown: !0
159
159
  } });
160
160
  }
161
- async function se(e) {
162
- let t = xt(e);
161
+ async function H(e) {
162
+ let t = bt(e);
163
163
  if (t) try {
164
164
  let e = await h({ cameraData: { url: t } });
165
165
  d.openImageDialog({ data: {
@@ -169,14 +169,14 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
169
169
  } });
170
170
  } catch {}
171
171
  }
172
- return r({ newSource: ae }), (r, i) => {
173
- let c = ke, d = Ce, f = Se, h = De, v = J, b = B, S = te, k = we, P = N, R = Me, ae = We, U = ne, W = Te, ce = Ee, le = Oe, G = ee;
174
- return o(), x("div", Ct, [A(le, {
172
+ return r({ newSource: z }), (r, i) => {
173
+ let c = ke, d = we, f = q, h = De, v = J, b = V, S = te, k = Ce, N = re, z = Me, oe = We, se = U, ce = Te, le = Ee, W = Oe, G = ee;
174
+ return o(), x("div", St, [A(W, {
175
175
  value: _(O),
176
176
  "onUpdate:value": i[0] ||= (e) => g(O) ? O.value = e : null,
177
177
  multiple: ""
178
178
  }, {
179
- default: y(() => [(o(!0), x(C, null, a(n.sources, (i, g) => (o(), p(ce, {
179
+ default: y(() => [(o(!0), x(C, null, a(n.sources, (i, g) => (o(), p(le, {
180
180
  key: i._id,
181
181
  value: g,
182
182
  class: u({ "border-b-0": g === n.sources.length - 1 })
@@ -186,7 +186,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
186
186
  "px-0": g !== 0,
187
187
  "pb-5": g === n.sources.length - 1
188
188
  }) }, {
189
- default: y(() => [T("div", wt, [T("div", Tt, [T("span", Et, s(r.$t("components.dialog.components.new_camera.source") + ": "), 1), A(c, {
189
+ default: y(() => [T("div", Ct, [T("div", wt, [T("span", Tt, s(r.$t("components.dialog.components.new_camera.source") + ": "), 1), A(c, {
190
190
  class: "text-color text-xs border-[1px] bg-primary-500/20 border-primary-500/30 py-2 px-3 rounded-full overflow-hidden",
191
191
  label: i.name === "" ? r.$t("components.dialog.components.new_camera.unknown") : i.name
192
192
  }, null, 8, ["label"])]), n.allowAddRemoveSources && n.sources.length > 1 ? (o(), p(f, {
@@ -196,7 +196,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
196
196
  severity: "danger",
197
197
  class: "cui-icon-md ml-auto mr-2",
198
198
  loading: _(j),
199
- onClick: (e) => oe(g)
199
+ onClick: (e) => ie(g)
200
200
  }, {
201
201
  icon: y(() => [A(d, {
202
202
  width: "100%",
@@ -205,12 +205,12 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
205
205
  _: 1
206
206
  }, 8, ["loading", "onClick"])) : m("", !0)])]),
207
207
  _: 2
208
- }, 1032, ["class"]), A(W, { pt: { content: { class: {
208
+ }, 1032, ["class"]), A(ce, { pt: { content: { class: {
209
209
  "px-0": !0,
210
210
  "pb-5": g === n.sources.length - 1
211
211
  } } } }, {
212
- default: y(() => [T("div", Dt, [
213
- A(_(I), {
212
+ default: y(() => [T("div", Et, [
213
+ A(_(L), {
214
214
  modelValue: i.name,
215
215
  "onUpdate:modelValue": (e) => i.name = e,
216
216
  modelModifiers: { trim: !0 },
@@ -222,7 +222,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
222
222
  T("label", {
223
223
  for: `sources[${g}].name`,
224
224
  class: "cui-label"
225
- }, s(r.$t("components.form.label.source_name")), 9, Ot),
225
+ }, s(r.$t("components.form.label.source_name")), 9, Dt),
226
226
  A(b, null, {
227
227
  default: y(() => [A(v, l({ ref_for: !0 }, t, {
228
228
  invalid: n.length > 0,
@@ -232,7 +232,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
232
232
  _: 2
233
233
  }, 1024),
234
234
  A(e, { name: "fade" }, {
235
- default: y(() => [A(_(V), {
235
+ default: y(() => [A(_(B), {
236
236
  name: `sources[${g}].name`,
237
237
  class: "cui-input-error"
238
238
  }, null, 8, ["name"])]),
@@ -255,7 +255,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
255
255
  "onUpdate:modelValue",
256
256
  "name"
257
257
  ]),
258
- A(_(I), {
258
+ A(_(L), {
259
259
  "model-value": i.role,
260
260
  name: `sources[${g}].role`,
261
261
  as: "div",
@@ -265,14 +265,14 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
265
265
  T("label", {
266
266
  for: `sources[${g}].role`,
267
267
  class: "cui-label"
268
- }, s(r.$t("components.form.label.source_role")), 9, kt),
268
+ }, s(r.$t("components.form.label.source_role")), 9, Ot),
269
269
  A(b, null, {
270
270
  default: y(() => [A(k, {
271
271
  "model-value": i.role,
272
272
  options: _(w).filter((e) => !n.sources.some((t) => t.role === e && t._id !== i._id)),
273
273
  invalid: t.length > 0,
274
274
  loading: _(j),
275
- onValueChange: (e) => z(i, e)
275
+ onValueChange: (e) => ne(i, e)
276
276
  }, null, 8, [
277
277
  "model-value",
278
278
  "options",
@@ -283,7 +283,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
283
283
  _: 2
284
284
  }, 1024),
285
285
  A(e, { name: "fade" }, {
286
- default: y(() => [A(_(V), {
286
+ default: y(() => [A(_(B), {
287
287
  name: `sources[${g}].role`,
288
288
  class: "cui-input-error"
289
289
  }, null, 8, ["name"])]),
@@ -302,8 +302,8 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
302
302
  ]),
303
303
  _: 2
304
304
  }, 1032, ["model-value", "name"]),
305
- T("div", At, [
306
- i.role !== "snapshot" && n.sources.length > 1 ? (o(), p(_(I), {
305
+ T("div", kt, [
306
+ i.role !== "snapshot" && n.sources.length > 1 ? (o(), p(_(L), {
307
307
  key: 0,
308
308
  "model-value": i.useForSnapshot,
309
309
  value: !0,
@@ -313,11 +313,11 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
313
313
  as: "div",
314
314
  class: "flex flex-col field-gap cui-toggle-switch"
315
315
  }, {
316
- default: y(({ field: t, errors: a }) => [T("div", jt, [T("div", Mt, [
316
+ default: y(({ field: t, errors: a }) => [T("div", At, [T("div", jt, [
317
317
  T("label", {
318
318
  for: `sources[${g}].useForSnapshot`,
319
319
  class: "cui-label-switch"
320
- }, s(r.$t("components.form.label.use_for_snapshot")), 9, Nt),
320
+ }, s(r.$t("components.form.label.use_for_snapshot")), 9, Mt),
321
321
  A(S, {
322
322
  severity: "secondary",
323
323
  variant: "simple",
@@ -328,13 +328,13 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
328
328
  _: 1
329
329
  }),
330
330
  A(e, { name: "fade" }, {
331
- default: y(() => [A(_(V), {
331
+ default: y(() => [A(_(B), {
332
332
  name: `sources[${g}].useForSnapshot`,
333
333
  class: "cui-input-switch-error"
334
334
  }, null, 8, ["name"])]),
335
335
  _: 2
336
336
  }, 1024)
337
- ]), A(P, l({ "model-value": i.useForSnapshot }, { ref_for: !0 }, t, {
337
+ ]), A(N, l({ "model-value": i.useForSnapshot }, { ref_for: !0 }, t, {
338
338
  invalid: a.length > 0,
339
339
  loading: _(j),
340
340
  disabled: n.sources.some((e) => (e.useForSnapshot || e.role === "snapshot") && e._id !== i._id),
@@ -349,7 +349,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
349
349
  ])])]),
350
350
  _: 2
351
351
  }, 1032, ["model-value", "name"])) : m("", !0),
352
- i.role === "snapshot" ? m("", !0) : (o(), p(_(I), {
352
+ i.role === "snapshot" ? m("", !0) : (o(), p(_(L), {
353
353
  key: 1,
354
354
  "model-value": i.hotMode,
355
355
  value: !0,
@@ -359,11 +359,11 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
359
359
  as: "div",
360
360
  class: "flex flex-col field-gap cui-toggle-switch"
361
361
  }, {
362
- default: y(({ field: t, errors: n }) => [T("div", Pt, [T("div", Ft, [
362
+ default: y(({ field: t, errors: n }) => [T("div", Nt, [T("div", Pt, [
363
363
  T("label", {
364
364
  for: `sources[${g}].hotMode`,
365
365
  class: "cui-label-switch"
366
- }, s(r.$t("components.form.label.hot_mode")), 9, It),
366
+ }, s(r.$t("components.form.label.hot_mode")), 9, Ft),
367
367
  A(S, {
368
368
  severity: "secondary",
369
369
  variant: "simple",
@@ -374,13 +374,13 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
374
374
  _: 1
375
375
  }),
376
376
  A(e, { name: "fade" }, {
377
- default: y(() => [A(_(V), {
377
+ default: y(() => [A(_(B), {
378
378
  name: `sources[${g}].hotMode`,
379
379
  class: "cui-input-switch-error"
380
380
  }, null, 8, ["name"])]),
381
381
  _: 2
382
382
  }, 1024)
383
- ]), A(P, l({ "model-value": i.hotMode }, { ref_for: !0 }, t, {
383
+ ]), A(N, l({ "model-value": i.hotMode }, { ref_for: !0 }, t, {
384
384
  invalid: n.length > 0,
385
385
  loading: _(j),
386
386
  class: "ml-auto shrink-0",
@@ -393,7 +393,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
393
393
  ])])]),
394
394
  _: 2
395
395
  }, 1032, ["model-value", "name"])),
396
- i.role === "snapshot" ? m("", !0) : (o(), p(_(I), {
396
+ i.role === "snapshot" ? m("", !0) : (o(), p(_(L), {
397
397
  key: 2,
398
398
  "model-value": i.preload,
399
399
  value: !0,
@@ -403,11 +403,11 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
403
403
  as: "div",
404
404
  class: "flex flex-col field-gap cui-toggle-switch"
405
405
  }, {
406
- default: y(({ field: t, errors: n }) => [T("div", Lt, [T("div", Rt, [
406
+ default: y(({ field: t, errors: n }) => [T("div", It, [T("div", Lt, [
407
407
  T("label", {
408
408
  for: `sources[${g}].preload`,
409
409
  class: "cui-label-switch"
410
- }, s(r.$t("components.form.label.preload")), 9, zt),
410
+ }, s(r.$t("components.form.label.preload")), 9, Rt),
411
411
  A(S, {
412
412
  severity: "secondary",
413
413
  variant: "simple",
@@ -418,13 +418,13 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
418
418
  _: 1
419
419
  }),
420
420
  A(e, { name: "fade" }, {
421
- default: y(() => [A(_(V), {
421
+ default: y(() => [A(_(B), {
422
422
  name: `sources[${g}].preload`,
423
423
  class: "cui-input-switch-error"
424
424
  }, null, 8, ["name"])]),
425
425
  _: 2
426
426
  }, 1024)
427
- ]), A(P, l({ "model-value": i.preload }, { ref_for: !0 }, t, {
427
+ ]), A(N, l({ "model-value": i.preload }, { ref_for: !0 }, t, {
428
428
  invalid: n.length > 0,
429
429
  loading: _(j),
430
430
  class: "ml-auto shrink-0",
@@ -437,7 +437,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
437
437
  ])])]),
438
438
  _: 2
439
439
  }, 1032, ["model-value", "name"])),
440
- i.role === "snapshot" ? m("", !0) : (o(), p(_(I), {
440
+ i.role === "snapshot" ? m("", !0) : (o(), p(_(L), {
441
441
  key: 3,
442
442
  "model-value": i.muted,
443
443
  value: !0,
@@ -447,11 +447,11 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
447
447
  as: "div",
448
448
  class: "flex flex-col field-gap cui-toggle-switch"
449
449
  }, {
450
- default: y(({ field: t, errors: n }) => [T("div", Bt, [T("div", Vt, [
450
+ default: y(({ field: t, errors: n }) => [T("div", zt, [T("div", Bt, [
451
451
  T("label", {
452
452
  for: `sources[${g}].muted`,
453
453
  class: "cui-label-switch"
454
- }, s(r.$t("components.form.label.muted")), 9, Ht),
454
+ }, s(r.$t("components.form.label.muted")), 9, Vt),
455
455
  A(S, {
456
456
  severity: "secondary",
457
457
  variant: "simple",
@@ -462,13 +462,13 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
462
462
  _: 1
463
463
  }),
464
464
  A(e, { name: "fade" }, {
465
- default: y(() => [A(_(V), {
465
+ default: y(() => [A(_(B), {
466
466
  name: `sources[${g}].muted`,
467
467
  class: "cui-input-switch-error"
468
468
  }, null, 8, ["name"])]),
469
469
  _: 2
470
470
  }, 1024)
471
- ]), A(P, l({ "model-value": i.muted }, { ref_for: !0 }, t, {
471
+ ]), A(N, l({ "model-value": i.muted }, { ref_for: !0 }, t, {
472
472
  invalid: n.length > 0,
473
473
  loading: _(j),
474
474
  class: "ml-auto shrink-0",
@@ -482,11 +482,11 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
482
482
  _: 2
483
483
  }, 1032, ["model-value", "name"]))
484
484
  ]),
485
- T("div", Ut, [
486
- T("div", Wt, [T("label", {
485
+ T("div", Ht, [
486
+ T("div", Ut, [T("label", {
487
487
  for: `sources[${g}].urls[]`,
488
488
  class: "cui-label"
489
- }, s(r.$t("components.form.label.sources")), 9, Gt), A(S, {
489
+ }, s(r.$t("components.form.label.sources")), 9, Wt), A(S, {
490
490
  severity: "secondary",
491
491
  variant: "simple",
492
492
  size: "small",
@@ -495,7 +495,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
495
495
  default: y(() => [D(s(M(i) ? r.$t("views.devices.managed_source_hint") : r.$t("components.form.hint.source_urls")), 1)]),
496
496
  _: 2
497
497
  }, 1024)]),
498
- (o(!0), x(C, null, a(i.urls, (n, a) => (o(), x(C, { key: a }, [_(St)(n) ? (o(), x("div", Kt, [A(b, null, {
498
+ (o(!0), x(C, null, a(i.urls, (n, a) => (o(), x(C, { key: a }, [_(xt)(n) ? (o(), x("div", Gt, [A(b, null, {
499
499
  default: y(() => [A(v, {
500
500
  "model-value": n,
501
501
  readonly: "",
@@ -503,7 +503,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
503
503
  type: "text"
504
504
  }, null, 8, ["model-value", "loading"])]),
505
505
  _: 2
506
- }, 1024)])) : (o(), p(_(I), {
506
+ }, 1024)])) : (o(), p(_(L), {
507
507
  key: 1,
508
508
  "model-value": n,
509
509
  name: `sources[${g}].urls[${a}]`,
@@ -517,24 +517,24 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
517
517
  invalid: c.length > 0,
518
518
  loading: _(j),
519
519
  type: "text",
520
- placeholder: qt,
521
- "onUpdate:modelValue": (e) => ie(g, a, e ?? "")
520
+ placeholder: Kt,
521
+ "onUpdate:modelValue": (e) => R(g, a, e ?? "")
522
522
  }, null, 8, [
523
523
  "model-value",
524
524
  "invalid",
525
525
  "loading",
526
526
  "onUpdate:modelValue"
527
- ]), A(U, null, {
527
+ ]), A(se, null, {
528
528
  default: y(() => [
529
529
  E((o(), p(f, {
530
530
  text: "",
531
531
  rounded: "",
532
532
  severity: "secondary",
533
- disabled: _(j) || !F(n),
533
+ disabled: _(j) || !P(n),
534
534
  class: "border-right-color",
535
- onClick: (e) => H(n)
535
+ onClick: (e) => ae(n)
536
536
  }, {
537
- icon: y(() => [A(R, {
537
+ icon: y(() => [A(z, {
538
538
  width: "100%",
539
539
  height: "100%"
540
540
  })]),
@@ -549,11 +549,11 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
549
549
  text: "",
550
550
  rounded: "",
551
551
  severity: "secondary",
552
- disabled: _(j) || !_(bt)(n),
552
+ disabled: _(j) || !_(Y)(n),
553
553
  class: "border-right-color",
554
- onClick: (e) => se(n)
554
+ onClick: (e) => H(n)
555
555
  }, {
556
- icon: y(() => [A(ae, {
556
+ icon: y(() => [A(oe, {
557
557
  width: "100%",
558
558
  height: "100%"
559
559
  })]),
@@ -570,7 +570,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
570
570
  rounded: "",
571
571
  severity: "danger",
572
572
  disabled: _(j),
573
- onClick: t((e) => L(g, a), ["prevent"])
573
+ onClick: t((e) => I(g, a), ["prevent"])
574
574
  }, {
575
575
  icon: y(() => [A(d, {
576
576
  width: "100%",
@@ -584,7 +584,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
584
584
  _: 2
585
585
  }, 1024),
586
586
  A(e, { name: "fade" }, {
587
- default: y(() => [A(_(V), {
587
+ default: y(() => [A(_(B), {
588
588
  name: `sources[${g}].urls[${a}]`,
589
589
  class: "cui-input-error"
590
590
  }, null, 8, ["name"])]),
@@ -596,7 +596,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
596
596
  size: "small",
597
597
  class: "cui-input-hint"
598
598
  }, {
599
- default: y(() => [D(s(_(bt)(n) ? r.$t("components.form.hint.source_detected_protocol", { protocol: _(bt)(n) }) : r.$t("components.form.hint.source_url")), 1)]),
599
+ default: y(() => [D(s(_(Y)(n) ? r.$t("components.form.hint.source_detected_protocol", { protocol: _(Y)(n) }) : r.$t("components.form.hint.source_url")), 1)]),
600
600
  _: 2
601
601
  }, 1024)
602
602
  ]),
@@ -607,7 +607,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
607
607
  loading: _(j),
608
608
  label: r.$t("components.form.button.add_source"),
609
609
  class: "ml-auto cui-button-medium",
610
- onClick: (e) => re(g)
610
+ onClick: (e) => F(g)
611
611
  }, null, 8, [
612
612
  "loading",
613
613
  "label",
@@ -623,16 +623,16 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
623
623
  }, 8, ["value"])]);
624
624
  };
625
625
  }
626
- }), Yt = { class: "flex flex-col gap-2 w-full" }, Xt = {
626
+ }), Jt = { class: "flex flex-col gap-2 w-full" }, Yt = {
627
627
  for: "roomName",
628
628
  class: "cui-label"
629
- }, Zt = /* @__PURE__ */ O({
629
+ }, Xt = /* @__PURE__ */ O({
630
630
  __name: "CreateRoom",
631
631
  setup(e, { expose: t }) {
632
632
  let n = k("");
633
633
  return t({ onConfirm: async () => n.value.trim() || null }), (e, t) => {
634
634
  let r = J;
635
- return o(), x("div", Yt, [T("label", Xt, s(e.$t("components.form.label.name")), 1), A(r, {
635
+ return o(), x("div", Jt, [T("label", Yt, s(e.$t("components.form.label.name")), 1), A(r, {
636
636
  id: "roomName",
637
637
  modelValue: _(n),
638
638
  "onUpdate:modelValue": t[0] ||= (e) => g(n) ? n.value = e : null,
@@ -645,7 +645,7 @@ var Ct = { class: "flex flex-col gap-6" }, wt = { class: "flex gap-2 items-cente
645
645
  });
646
646
  //#endregion
647
647
  //#region src/components/CuiCameraDetailsFields/rooms.ts
648
- function Qt(e, t) {
648
+ function Zt(e, t) {
649
649
  let n = e?.rooms ?? [], r = [...e?.levels ?? []].sort((e, t) => e.order - t.order), i = (e) => ({
650
650
  label: e.name === "Default" ? t("components.form.label.room_default") : e.name,
651
651
  value: e.id
@@ -667,46 +667,46 @@ function Qt(e, t) {
667
667
  }
668
668
  //#endregion
669
669
  //#region src/components/CuiCameraDetailsFields/CuiCameraDetailsFields.vue?vue&type=script&setup=true&lang.ts
670
- var $t = { class: "flex flex-col gap-6" }, en = {
670
+ var Qt = { class: "flex flex-col gap-6" }, $t = {
671
671
  for: "name",
672
672
  class: "cui-label"
673
- }, tn = { class: "flex flex-col field-gap" }, nn = {
673
+ }, en = { class: "flex flex-col field-gap" }, tn = {
674
674
  for: "type",
675
675
  class: "cui-label"
676
- }, rn = { class: "flex flex-col field-gap" }, an = {
676
+ }, nn = { class: "flex flex-col field-gap" }, rn = {
677
677
  for: "room",
678
678
  class: "cui-label"
679
- }, on = { class: "flex gap-2" }, sn = { class: "text-color font-normal" }, cn = { class: "flex flex-col gap-6" }, ln = {
679
+ }, an = { class: "flex gap-2" }, on = { class: "text-color font-normal" }, sn = { class: "flex flex-col gap-6" }, cn = {
680
680
  for: "info.manufacturer",
681
681
  class: "cui-label"
682
- }, un = {
682
+ }, ln = {
683
683
  for: "info.model",
684
684
  class: "cui-label"
685
- }, dn = {
685
+ }, un = {
686
686
  for: "info.hardware",
687
687
  class: "cui-label"
688
- }, fn = {
688
+ }, dn = {
689
689
  for: "info.serialNumber",
690
690
  class: "cui-label"
691
- }, pn = {
691
+ }, fn = {
692
692
  for: "info.firmwareVersion",
693
693
  class: "cui-label"
694
- }, mn = {
694
+ }, pn = {
695
695
  for: "info.supportUrl",
696
696
  class: "cui-label"
697
- }, hn = /* @__PURE__ */ O({
697
+ }, mn = /* @__PURE__ */ O({
698
698
  __name: "CuiCameraDetailsFields",
699
699
  props: {
700
700
  form: {},
701
701
  isLoading: { type: Boolean }
702
702
  },
703
703
  setup(t) {
704
- let n = new Ve(), r = t, i = U(), { t: a } = q(), { data: u, isBusy: d } = n.getRoomsQuery(), { mutateAsync: f } = n.createRoomMutation(), h = k(["camera", "doorbell"]), g = v(() => (u.value?.levels.length ?? 0) > 0), b = v(() => Qt(u.value, a));
704
+ let n = new Ve(), r = t, i = de(), { t: a } = K(), { data: u, isBusy: d } = n.getRoomsQuery(), { mutateAsync: f } = n.createRoomMutation(), h = k(["camera", "doorbell"]), g = v(() => (u.value?.levels.length ?? 0) > 0), b = v(() => Zt(u.value, a));
705
705
  function S(e) {
706
706
  r.form.roomId = e;
707
707
  }
708
708
  function C() {
709
- i.openComponentDialog(Zt, {
709
+ i.openComponentDialog(Xt, {
710
710
  data: {
711
711
  title: a("components.dialog.title.create_room"),
712
712
  confirmText: a("components.form.button.add"),
@@ -724,9 +724,9 @@ var $t = { class: "flex flex-col gap-6" }, en = {
724
724
  });
725
725
  }
726
726
  return (n, r) => {
727
- let i = J, a = B, u = te, f = we, v = Ie, w = Se, O = De, k = Te, j = Ee, M = Oe, N = ee;
728
- return o(), x("div", $t, [
729
- A(_(I), {
727
+ let i = J, a = V, u = te, f = Ce, v = Ie, w = q, O = De, k = Te, j = Ee, M = Oe, N = ee;
728
+ return o(), x("div", Qt, [
729
+ A(_(L), {
730
730
  modelValue: t.form.name,
731
731
  "onUpdate:modelValue": r[0] ||= (e) => t.form.name = e,
732
732
  modelModifiers: { trim: !0 },
@@ -735,7 +735,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
735
735
  class: "flex flex-col field-gap"
736
736
  }, {
737
737
  default: y(({ field: r, errors: c }) => [
738
- T("label", en, s(n.$t("components.form.label.name")), 1),
738
+ T("label", $t, s(n.$t("components.form.label.name")), 1),
739
739
  A(a, null, {
740
740
  default: y(() => [A(i, l(r, {
741
741
  invalid: c.length > 0,
@@ -745,7 +745,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
745
745
  _: 2
746
746
  }, 1024),
747
747
  A(e, { name: "fade" }, {
748
- default: y(() => [A(_(V), {
748
+ default: y(() => [A(_(B), {
749
749
  name: "name",
750
750
  class: "cui-input-error"
751
751
  })]),
@@ -764,7 +764,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
764
764
  ]),
765
765
  _: 1
766
766
  }, 8, ["modelValue"]),
767
- T("div", tn, [T("label", nn, s(n.$t("components.form.label.type")), 1), A(a, null, {
767
+ T("div", en, [T("label", tn, s(n.$t("components.form.label.type")), 1), A(a, null, {
768
768
  default: y(() => [A(f, {
769
769
  "model-value": t.form.type,
770
770
  options: _(h),
@@ -778,9 +778,9 @@ var $t = { class: "flex flex-col gap-6" }, en = {
778
778
  ])]),
779
779
  _: 1
780
780
  })]),
781
- T("div", rn, [
782
- T("label", an, s(n.$t("components.form.label.room")), 1),
783
- T("div", on, [A(f, {
781
+ T("div", nn, [
782
+ T("label", rn, s(n.$t("components.form.label.room")), 1),
783
+ T("div", an, [A(f, {
784
784
  "model-value": t.form.roomId,
785
785
  options: _(b),
786
786
  "option-label": "label",
@@ -824,11 +824,11 @@ var $t = { class: "flex flex-col gap-6" }, en = {
824
824
  A(M, null, {
825
825
  default: y(() => [A(j, { value: "branding" }, {
826
826
  default: y(() => [A(O, { class: "px-0 pt-0" }, {
827
- default: y(() => [T("span", sn, s(n.$t("components.camera_options.branding")), 1)]),
827
+ default: y(() => [T("span", on, s(n.$t("components.camera_options.branding")), 1)]),
828
828
  _: 1
829
829
  }), A(k, { pt: { content: { class: "px-0" } } }, {
830
- default: y(() => [T("div", cn, [
831
- A(_(I), {
830
+ default: y(() => [T("div", sn, [
831
+ A(_(L), {
832
832
  modelValue: t.form.info.manufacturer,
833
833
  "onUpdate:modelValue": r[3] ||= (e) => t.form.info.manufacturer = e,
834
834
  modelModifiers: { trim: !0 },
@@ -837,7 +837,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
837
837
  class: "flex flex-col field-gap"
838
838
  }, {
839
839
  default: y(({ field: r, errors: o }) => [
840
- T("label", ln, s(n.$t("components.form.label.manufacturer")), 1),
840
+ T("label", cn, s(n.$t("components.form.label.manufacturer")), 1),
841
841
  A(a, null, {
842
842
  default: y(() => [A(i, l(r, {
843
843
  invalid: o.length > 0,
@@ -847,7 +847,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
847
847
  _: 2
848
848
  }, 1024),
849
849
  A(e, { name: "fade" }, {
850
- default: y(() => [A(_(V), {
850
+ default: y(() => [A(_(B), {
851
851
  name: "info.manufacturer",
852
852
  class: "cui-input-error"
853
853
  })]),
@@ -856,7 +856,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
856
856
  ]),
857
857
  _: 1
858
858
  }, 8, ["modelValue"]),
859
- A(_(I), {
859
+ A(_(L), {
860
860
  modelValue: t.form.info.model,
861
861
  "onUpdate:modelValue": r[4] ||= (e) => t.form.info.model = e,
862
862
  modelModifiers: { trim: !0 },
@@ -865,7 +865,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
865
865
  class: "flex flex-col field-gap"
866
866
  }, {
867
867
  default: y(({ field: r, errors: o }) => [
868
- T("label", un, s(n.$t("components.form.label.model")), 1),
868
+ T("label", ln, s(n.$t("components.form.label.model")), 1),
869
869
  A(a, null, {
870
870
  default: y(() => [A(i, l(r, {
871
871
  invalid: o.length > 0,
@@ -875,7 +875,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
875
875
  _: 2
876
876
  }, 1024),
877
877
  A(e, { name: "fade" }, {
878
- default: y(() => [A(_(V), {
878
+ default: y(() => [A(_(B), {
879
879
  name: "info.model",
880
880
  class: "cui-input-error"
881
881
  })]),
@@ -884,7 +884,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
884
884
  ]),
885
885
  _: 1
886
886
  }, 8, ["modelValue"]),
887
- A(_(I), {
887
+ A(_(L), {
888
888
  modelValue: t.form.info.hardware,
889
889
  "onUpdate:modelValue": r[5] ||= (e) => t.form.info.hardware = e,
890
890
  modelModifiers: { trim: !0 },
@@ -893,7 +893,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
893
893
  class: "flex flex-col field-gap"
894
894
  }, {
895
895
  default: y(({ field: r, errors: o }) => [
896
- T("label", dn, s(n.$t("components.form.label.hardware_version")), 1),
896
+ T("label", un, s(n.$t("components.form.label.hardware_version")), 1),
897
897
  A(a, null, {
898
898
  default: y(() => [A(i, l(r, {
899
899
  invalid: o.length > 0,
@@ -903,7 +903,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
903
903
  _: 2
904
904
  }, 1024),
905
905
  A(e, { name: "fade" }, {
906
- default: y(() => [A(_(V), {
906
+ default: y(() => [A(_(B), {
907
907
  name: "info.hardware",
908
908
  class: "cui-input-error"
909
909
  })]),
@@ -912,7 +912,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
912
912
  ]),
913
913
  _: 1
914
914
  }, 8, ["modelValue"]),
915
- A(_(I), {
915
+ A(_(L), {
916
916
  modelValue: t.form.info.serialNumber,
917
917
  "onUpdate:modelValue": r[6] ||= (e) => t.form.info.serialNumber = e,
918
918
  modelModifiers: { trim: !0 },
@@ -921,7 +921,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
921
921
  class: "flex flex-col field-gap"
922
922
  }, {
923
923
  default: y(({ field: r, errors: o }) => [
924
- T("label", fn, s(n.$t("components.form.label.serial_number")), 1),
924
+ T("label", dn, s(n.$t("components.form.label.serial_number")), 1),
925
925
  A(a, null, {
926
926
  default: y(() => [A(i, l(r, {
927
927
  invalid: o.length > 0,
@@ -931,7 +931,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
931
931
  _: 2
932
932
  }, 1024),
933
933
  A(e, { name: "fade" }, {
934
- default: y(() => [A(_(V), {
934
+ default: y(() => [A(_(B), {
935
935
  name: "info.serialNumber",
936
936
  class: "cui-input-error"
937
937
  })]),
@@ -940,7 +940,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
940
940
  ]),
941
941
  _: 1
942
942
  }, 8, ["modelValue"]),
943
- A(_(I), {
943
+ A(_(L), {
944
944
  modelValue: t.form.info.firmwareVersion,
945
945
  "onUpdate:modelValue": r[7] ||= (e) => t.form.info.firmwareVersion = e,
946
946
  modelModifiers: { trim: !0 },
@@ -949,7 +949,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
949
949
  class: "flex flex-col field-gap"
950
950
  }, {
951
951
  default: y(({ field: r, errors: o }) => [
952
- T("label", pn, s(n.$t("components.form.label.firmware_version")), 1),
952
+ T("label", fn, s(n.$t("components.form.label.firmware_version")), 1),
953
953
  A(a, null, {
954
954
  default: y(() => [A(i, l(r, {
955
955
  invalid: o.length > 0,
@@ -959,7 +959,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
959
959
  _: 2
960
960
  }, 1024),
961
961
  A(e, { name: "fade" }, {
962
- default: y(() => [A(_(V), {
962
+ default: y(() => [A(_(B), {
963
963
  name: "info.firmwareVersion",
964
964
  class: "cui-input-error"
965
965
  })]),
@@ -968,7 +968,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
968
968
  ]),
969
969
  _: 1
970
970
  }, 8, ["modelValue"]),
971
- A(_(I), {
971
+ A(_(L), {
972
972
  modelValue: t.form.info.supportUrl,
973
973
  "onUpdate:modelValue": r[8] ||= (e) => t.form.info.supportUrl = e,
974
974
  modelModifiers: { trim: !0 },
@@ -977,7 +977,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
977
977
  class: "flex flex-col field-gap"
978
978
  }, {
979
979
  default: y(({ field: r, errors: o }) => [
980
- T("label", mn, s(n.$t("components.form.label.support_url")), 1),
980
+ T("label", pn, s(n.$t("components.form.label.support_url")), 1),
981
981
  A(a, null, {
982
982
  default: y(() => [A(i, l(r, {
983
983
  invalid: o.length > 0,
@@ -987,7 +987,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
987
987
  _: 2
988
988
  }, 1024),
989
989
  A(e, { name: "fade" }, {
990
- default: y(() => [A(_(V), {
990
+ default: y(() => [A(_(B), {
991
991
  name: "info.supportUrl",
992
992
  class: "cui-input-error"
993
993
  })]),
@@ -1006,10 +1006,10 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1006
1006
  ]);
1007
1007
  };
1008
1008
  }
1009
- }), gn = RegExp(`^(${he.join("|")})`), _n = W().trim().min(1, "Camera Source is required").regex(gn, "Unsupported protocol — start the URL with a supported one (e.g. rtsp://)"), vn = z({
1009
+ }), hn = RegExp(`^(${ge.join("|")})`), gn = W().trim().min(1, "Camera Source is required").regex(hn, "Unsupported protocol — start the URL with a supported one (e.g. rtsp://)"), _n = z({
1010
1010
  name: W().trim().min(1, "Camera Source Name is required"),
1011
- urls: _n.array(),
1012
- role: ve,
1011
+ urls: gn.array(),
1012
+ role: ye,
1013
1013
  useForSnapshot: F().default(!1),
1014
1014
  hotMode: F().default(!0),
1015
1015
  preload: F().default(!0),
@@ -1019,15 +1019,15 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1019
1019
  handshakeTimeout: P().int().min(1).max(60).nullish(),
1020
1020
  childSourceId: W().trim().nullish(),
1021
1021
  childCameraId: W().trim().nullish(),
1022
- childCameraRole: _e.nullish()
1022
+ childCameraRole: ve.nullish()
1023
1023
  }).strict().transform((e) => e.role === "snapshot" ? {
1024
1024
  ...e,
1025
1025
  useForSnapshot: !1,
1026
1026
  hotMode: !1,
1027
1027
  preload: !1
1028
- } : e), yn = z({
1029
- ...ge.shape,
1030
- sources: vn.array().refine((e) => e.some((e) => e.role === "high-resolution" || e.role === "mid-resolution" || e.role === "low-resolution"), {
1028
+ } : e), vn = z({
1029
+ ..._e.shape,
1030
+ sources: _n.array().refine((e) => e.some((e) => e.role === "high-resolution" || e.role === "mid-resolution" || e.role === "low-resolution"), {
1031
1031
  path: ["sources[].role"],
1032
1032
  message: "One of the roles \"high-resolution\", \"mid-resolution\" or \"low-resolution\" is required"
1033
1033
  }).refine((e) => e.filter((e) => e.useForSnapshot).length <= 1, {
@@ -1039,8 +1039,8 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1039
1039
  }, {
1040
1040
  message: "Each source role can be assigned to only one source",
1041
1041
  path: ["sources"]
1042
- }).superRefine(ye)
1043
- }).strict(), bn = {
1042
+ }).superRefine(be)
1043
+ }).strict(), yn = {
1044
1044
  disabled: !1,
1045
1045
  name: "",
1046
1046
  type: "camera",
@@ -1074,11 +1074,11 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1074
1074
  },
1075
1075
  plugins: [],
1076
1076
  assignments: {}
1077
- }, xn = { class: "card-title" }, Sn = { class: "card-title" }, Cn = { class: "w-full flex items-center justify-center mt-4" }, wn = /* @__PURE__ */ O({
1077
+ }, bn = { class: "card-title" }, xn = { class: "card-title" }, Sn = { class: "w-full flex items-center justify-center mt-4" }, Cn = /* @__PURE__ */ O({
1078
1078
  __name: "AddCamera",
1079
- props: { camera: { default: () => bn } },
1079
+ props: { camera: { default: () => yn } },
1080
1080
  setup(e, { expose: t }) {
1081
- let n = new R(), r = e, a = K(), { t: c } = q(), { mutateAsync: l, isPending: u } = n.createCameraQuery(), { camera: d } = i(r), f = w("formRef"), p = w("sourcesRef"), m = k(H(d.value)), h = v(() => u.value);
1081
+ let n = new ce(), r = e, a = I(), { t: c } = K(), { mutateAsync: l, isPending: u } = n.createCameraQuery(), { camera: d } = i(r), f = w("formRef"), p = w("sourcesRef"), m = k(H(d.value)), h = v(() => u.value);
1082
1082
  async function g() {
1083
1083
  if (!(await f.value?.validate())?.valid) return a.add({
1084
1084
  severity: "error",
@@ -1086,13 +1086,13 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1086
1086
  life: 3e3
1087
1087
  }), null;
1088
1088
  let e = H(m.value), t = {
1089
- ...be(),
1089
+ ...xe(),
1090
1090
  ...e,
1091
1091
  sources: e.sources.map((e) => ({
1092
1092
  ...e,
1093
1093
  muted: e.muted ?? !1,
1094
1094
  backchannelDisabled: e.backchannelDisabled ?? !1,
1095
- urls: e.urls.map(xt).filter(Boolean)
1095
+ urls: e.urls.map(bt).filter(Boolean)
1096
1096
  }))
1097
1097
  };
1098
1098
  await l({ cameraData: t });
@@ -1102,21 +1102,21 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1102
1102
  onSave: g,
1103
1103
  onConfirm: g
1104
1104
  }), (e, t) => {
1105
- let n = hn, r = pe, i = Jt, a = Ne, c = Se;
1106
- return o(), x("div", null, [A(_(L), {
1105
+ let n = mn, r = me, i = qt, a = Ne, c = q;
1106
+ return o(), x("div", null, [A(_(R), {
1107
1107
  ref_key: "formRef",
1108
1108
  ref: f,
1109
1109
  class: "flex flex-col w-full gap-6",
1110
- "validation-schema": _(yn)
1110
+ "validation-schema": _(vn)
1111
1111
  }, {
1112
- default: y(() => [T("div", null, [T("span", xn, s(e.$t("components.dialog.components.new_camera.camera")), 1), A(r, { class: "cui-card" }, {
1112
+ default: y(() => [T("div", null, [T("span", bn, s(e.$t("components.dialog.components.new_camera.camera")), 1), A(r, { class: "cui-card" }, {
1113
1113
  content: y(() => [A(n, {
1114
1114
  form: _(m),
1115
1115
  "is-loading": _(h)
1116
1116
  }, null, 8, ["form", "is-loading"])]),
1117
1117
  _: 1
1118
1118
  })]), T("div", null, [
1119
- T("span", Sn, s(e.$t("components.form.label.sources")), 1),
1119
+ T("span", xn, s(e.$t("components.form.label.sources")), 1),
1120
1120
  A(r, {
1121
1121
  class: "cui-card border-color-inner",
1122
1122
  pt: { body: { class: "pb-0" } }
@@ -1130,7 +1130,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1130
1130
  }, null, 8, ["sources", "is-loading"])]),
1131
1131
  _: 1
1132
1132
  }),
1133
- T("div", Cn, [A(c, {
1133
+ T("div", Sn, [A(c, {
1134
1134
  text: "",
1135
1135
  rounded: "",
1136
1136
  loading: _(h),
@@ -1148,17 +1148,17 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1148
1148
  }, 8, ["validation-schema"])]);
1149
1149
  };
1150
1150
  }
1151
- }), Tn = { class: "card-title" }, En = {
1151
+ }), wn = { class: "card-title" }, Tn = {
1152
1152
  key: 0,
1153
1153
  class: "flex flex-col gap-6"
1154
- }, Dn = { class: "cui-label" }, On = { class: "card-title" }, kn = /* @__PURE__ */ O({
1154
+ }, En = { class: "cui-label" }, Dn = { class: "card-title" }, On = /* @__PURE__ */ O({
1155
1155
  __name: "ConfirmCamera",
1156
1156
  props: {
1157
1157
  draft: {},
1158
1158
  onConfirm: { type: Function }
1159
1159
  },
1160
1160
  setup(e, { expose: t }) {
1161
- let n = z({ name: W().trim().min(1) }).passthrough(), r = e, i = K(), { t: c } = q(), l = w("formRef"), u = k(H(r.draft)), d = k({
1161
+ let n = z({ name: W().trim().min(1) }).passthrough(), r = e, i = I(), { t: c } = K(), l = w("formRef"), u = k(H(r.draft)), d = k({
1162
1162
  name: u.value.name,
1163
1163
  type: u.value.type,
1164
1164
  room: u.value.room,
@@ -1195,7 +1195,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1195
1195
  info: d.value.info,
1196
1196
  sources: d.value.sources.map((e) => ({
1197
1197
  ...e,
1198
- urls: e.urls.map(xt).filter(Boolean)
1198
+ urls: e.urls.map(bt).filter(Boolean)
1199
1199
  }))
1200
1200
  };
1201
1201
  await r.onConfirm(e);
@@ -1214,22 +1214,22 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1214
1214
  isLoading: h,
1215
1215
  onConfirm: g
1216
1216
  }), (e, t) => {
1217
- let r = J, i = B, c = hn, u = pe, f = Jt;
1218
- return o(), x("div", null, [A(_(L), {
1217
+ let r = J, i = V, c = mn, u = me, f = qt;
1218
+ return o(), x("div", null, [A(_(R), {
1219
1219
  ref_key: "formRef",
1220
1220
  ref: l,
1221
1221
  class: "flex flex-col w-full gap-6",
1222
1222
  "validation-schema": _(n)
1223
1223
  }, {
1224
- default: y(() => [T("div", null, [T("span", Tn, s(e.$t("components.dialog.components.new_camera.camera")), 1), A(u, { class: "cui-card" }, {
1224
+ default: y(() => [T("div", null, [T("span", wn, s(e.$t("components.dialog.components.new_camera.camera")), 1), A(u, { class: "cui-card" }, {
1225
1225
  content: y(() => [A(c, {
1226
1226
  form: _(d),
1227
1227
  "is-loading": _(h)
1228
1228
  }, {
1229
- default: y(() => [_(p).length ? (o(), x("div", En, [(o(!0), x(C, null, a(_(p), (e) => (o(), x("div", {
1229
+ default: y(() => [_(p).length ? (o(), x("div", Tn, [(o(!0), x(C, null, a(_(p), (e) => (o(), x("div", {
1230
1230
  key: e.label,
1231
1231
  class: "flex flex-col field-gap"
1232
- }, [T("label", Dn, s(e.label), 1), A(i, null, {
1232
+ }, [T("label", En, s(e.label), 1), A(i, null, {
1233
1233
  default: y(() => [A(r, {
1234
1234
  "model-value": e.value,
1235
1235
  readonly: "",
@@ -1240,7 +1240,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1240
1240
  _: 1
1241
1241
  }, 8, ["form", "is-loading"])]),
1242
1242
  _: 1
1243
- })]), T("div", null, [T("span", On, s(e.$t("components.form.label.sources")), 1), A(u, {
1243
+ })]), T("div", null, [T("span", Dn, s(e.$t("components.form.label.sources")), 1), A(u, {
1244
1244
  class: "cui-card border-color-inner",
1245
1245
  pt: { body: { class: "pb-0" } }
1246
1246
  }, {
@@ -1255,13 +1255,13 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1255
1255
  }, 8, ["validation-schema"])]);
1256
1256
  };
1257
1257
  }
1258
- }), An = { class: "flex flex-col gap-6" }, jn = {
1258
+ }), kn = { class: "flex flex-col gap-6" }, An = {
1259
1259
  key: 0,
1260
1260
  class: "flex flex-col field-gap"
1261
- }, Mn = { class: "cui-label" }, Nn = {
1261
+ }, jn = { class: "cui-label" }, Mn = {
1262
1262
  key: 1,
1263
1263
  class: "text-center py-4"
1264
- }, Pn = { class: "text-muted" }, Fn = /* @__PURE__ */ O({
1264
+ }, Nn = { class: "text-muted" }, Pn = /* @__PURE__ */ O({
1265
1265
  __name: "ConnectionSchema",
1266
1266
  props: {
1267
1267
  camera: {},
@@ -1269,7 +1269,7 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1269
1269
  onConnect: { type: Function }
1270
1270
  },
1271
1271
  setup(e, { expose: t }) {
1272
- let n = e, a = me(), c = K(), { t: l } = q(), u = r("dialogRefProps"), { schema: d } = i(n), f = w("schemaFormRef"), h = k(!1), g = v(() => ({
1272
+ let n = e, a = he(), c = I(), { t: l } = K(), u = r("dialogRefProps"), { schema: d } = i(n), f = w("schemaFormRef"), h = k(!1), g = v(() => ({
1273
1273
  schema: d.value,
1274
1274
  config: {}
1275
1275
  })), y = v(() => !!(u.loading?.value || h.value));
@@ -1303,10 +1303,10 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1303
1303
  onConfirm: b
1304
1304
  }), (t, n) => {
1305
1305
  let r = J, i = Pe;
1306
- return o(), x("div", An, [e.camera.address ? (o(), x("div", jn, [T("label", Mn, s(t.$t("views.devices.address")), 1), A(r, {
1306
+ return o(), x("div", kn, [e.camera.address ? (o(), x("div", An, [T("label", jn, s(t.$t("views.devices.address")), 1), A(r, {
1307
1307
  "model-value": e.camera.address,
1308
1308
  readonly: ""
1309
- }, null, 8, ["model-value"])])) : m("", !0), _(d).length === 0 ? (o(), x("div", Nn, [T("p", Pn, s(t.$t("views.devices.no_settings_required")), 1)])) : (o(), p(i, {
1309
+ }, null, 8, ["model-value"])])) : m("", !0), _(d).length === 0 ? (o(), x("div", Mn, [T("p", Nn, s(t.$t("views.devices.no_settings_required")), 1)])) : (o(), p(i, {
1310
1310
  key: 2,
1311
1311
  ref_key: "schemaFormRef",
1312
1312
  ref: f,
@@ -1315,98 +1315,98 @@ var $t = { class: "flex flex-col gap-6" }, en = {
1315
1315
  }, null, 8, ["schema-form", "loading"]))]);
1316
1316
  };
1317
1317
  }
1318
- }), In = 5e3, Y = j({
1318
+ }), Fn = 5e3, X = j({
1319
1319
  isLoading: !0,
1320
1320
  devices: [],
1321
1321
  isScanning: !1,
1322
1322
  hiddenDevices: [],
1323
1323
  showHidden: !1,
1324
1324
  error: null
1325
- }), Ln = null, X = null, Z = !1, Q = 0, $ = null;
1325
+ }), In = null, Z = null, Q = !1, $ = 0, Ln = null;
1326
1326
  function Rn() {
1327
- Y.isLoading = !0, Y.devices = [], Y.isScanning = !1, Y.hiddenDevices = [], Y.showHidden = !1, Y.error = null;
1327
+ X.isLoading = !0, X.devices = [], X.isScanning = !1, X.hiddenDevices = [], X.showHidden = !1, X.error = null;
1328
1328
  }
1329
1329
  function zn() {
1330
- return X || (Ln = h(!0), Ln.run(() => {
1331
- let e = ue("/cameras");
1332
- X = e, e.onReady(() => {
1330
+ return Z || (In = h(!0), In.run(() => {
1331
+ let e = se("/cameras");
1332
+ Z = e, e.onReady(() => {
1333
1333
  Bn();
1334
1334
  }), b(e.connected, (e, t) => {
1335
- !e && t && (Z = !1);
1335
+ !e && t && (Q = !1);
1336
1336
  }), e.on("cameras:discovered", (e) => {
1337
1337
  for (let t of e.devices) {
1338
- let e = Y.devices.findIndex((e) => e.id === t.id);
1339
- e >= 0 ? Y.devices[e] = t : Y.devices.push(t);
1338
+ let e = X.devices.findIndex((e) => e.id === t.id);
1339
+ e >= 0 ? X.devices[e] = t : X.devices.push(t);
1340
1340
  }
1341
1341
  }), e.on("cameras:scanning", (e) => {
1342
- Y.isScanning = e.isScanning;
1342
+ X.isScanning = e.isScanning;
1343
1343
  }), e.on("cameras:connection-status", (e) => {
1344
- let t = Y.devices.find((t) => t.discoveredId === e.discoveredId);
1345
- t && (e.status === "connecting" ? t.status = "adopting" : e.status === "error" ? (t.status = "error", t.errorMessage = e.errorMessage) : e.status === "connected" && (Y.devices = Y.devices.filter((t) => t.discoveredId !== e.discoveredId)));
1344
+ let t = X.devices.find((t) => t.discoveredId === e.discoveredId);
1345
+ t && (e.status === "connecting" ? t.status = "adopting" : e.status === "error" ? (t.status = "error", t.errorMessage = e.errorMessage) : e.status === "connected" && (X.devices = X.devices.filter((t) => t.discoveredId !== e.discoveredId)));
1346
1346
  }), e.on("cameras:camera-connected", (e) => {
1347
- Y.devices = Y.devices.filter((t) => t.discoveredId !== e.discoveredId);
1347
+ X.devices = X.devices.filter((t) => t.discoveredId !== e.discoveredId);
1348
1348
  }), e.on("cameras:deleted", (e) => {
1349
- Y.devices = Y.devices.filter((t) => t.cameraId !== e.cameraId);
1349
+ X.devices = X.devices.filter((t) => t.cameraId !== e.cameraId);
1350
1350
  });
1351
- }), X);
1351
+ }), Z);
1352
1352
  }
1353
1353
  async function Bn() {
1354
- if (!X || Z) return {
1355
- success: Z,
1356
- devices: Y.devices,
1357
- isScanning: Y.isScanning,
1358
- hiddenDevices: Y.hiddenDevices
1354
+ if (!Z || Q) return {
1355
+ success: Q,
1356
+ devices: X.devices,
1357
+ isScanning: X.isScanning,
1358
+ hiddenDevices: X.hiddenDevices
1359
1359
  };
1360
1360
  try {
1361
- let e = await X.request("cameras:subscribe", {});
1362
- return Z = e.success, e.devices && (Y.devices = e.devices), e.isScanning !== void 0 && (Y.isScanning = e.isScanning), e.hiddenDevices && (Y.hiddenDevices = e.hiddenDevices), Y.isLoading = !1, e;
1361
+ let e = await Z.request("cameras:subscribe", {});
1362
+ return Q = e.success, e.devices && (X.devices = e.devices), e.isScanning !== void 0 && (X.isScanning = e.isScanning), e.hiddenDevices && (X.hiddenDevices = e.hiddenDevices), X.isLoading = !1, e;
1363
1363
  } catch (e) {
1364
- return Y.isLoading = !1, Y.error = e instanceof Error ? e.message : "subscribe failed", { success: !1 };
1364
+ return X.isLoading = !1, X.error = e instanceof Error ? e.message : "subscribe failed", { success: !1 };
1365
1365
  }
1366
1366
  }
1367
1367
  async function Vn() {
1368
- if (!X || !Z) return { success: !0 };
1368
+ if (!Z || !Q) return { success: !0 };
1369
1369
  try {
1370
- let e = await X.request("cameras:unsubscribe", {});
1371
- return Z = !e.success, e;
1370
+ let e = await Z.request("cameras:unsubscribe", {});
1371
+ return Q = !e.success, e;
1372
1372
  } catch {
1373
1373
  return { success: !1 };
1374
1374
  }
1375
1375
  }
1376
1376
  function Hn() {
1377
- Z && Vn(), Ln?.stop(), Ln = null, X = null, Z = !1, Rn();
1377
+ Q && Vn(), In?.stop(), In = null, Z = null, Q = !1, Rn();
1378
1378
  }
1379
1379
  function Un() {
1380
- $ &&= (clearTimeout($), null), Q++;
1380
+ Ln &&= (clearTimeout(Ln), null), $++;
1381
1381
  function e() {
1382
- zn(), X?.connected.value && !Z && Bn();
1382
+ zn(), Z?.connected.value && !Q && Bn();
1383
1383
  }
1384
1384
  function t() {
1385
- Z && Vn();
1385
+ Q && Vn();
1386
1386
  }
1387
1387
  async function n() {
1388
- if (!X?.ready.value) return {
1388
+ if (!Z?.ready.value) return {
1389
1389
  success: !1,
1390
1390
  error: "Not connected"
1391
1391
  };
1392
- Y.devices = [], Y.isScanning = !0;
1392
+ X.devices = [], X.isScanning = !0;
1393
1393
  try {
1394
- let e = await X.request("cameras:rescan", {});
1395
- return e.success || (Y.isScanning = !1), e;
1394
+ let e = await Z.request("cameras:rescan", {});
1395
+ return e.success || (X.isScanning = !1), e;
1396
1396
  } catch (e) {
1397
- return Y.isScanning = !1, {
1397
+ return X.isScanning = !1, {
1398
1398
  success: !1,
1399
1399
  error: e instanceof Error ? e.message : "rescan failed"
1400
1400
  };
1401
1401
  }
1402
1402
  }
1403
1403
  async function r(e) {
1404
- if (!X?.ready.value) return {
1404
+ if (!Z?.ready.value) return {
1405
1405
  success: !1,
1406
1406
  error: "Not connected"
1407
1407
  };
1408
1408
  try {
1409
- return await X.request("cameras:get-schema", { discoveredId: e });
1409
+ return await Z.request("cameras:get-schema", { discoveredId: e });
1410
1410
  } catch (e) {
1411
1411
  return {
1412
1412
  success: !1,
@@ -1415,12 +1415,12 @@ function Un() {
1415
1415
  }
1416
1416
  }
1417
1417
  async function i(e, t) {
1418
- if (!X?.ready.value) return {
1418
+ if (!Z?.ready.value) return {
1419
1419
  success: !1,
1420
1420
  error: "Not connected"
1421
1421
  };
1422
1422
  try {
1423
- return await X.request("cameras:connect", {
1423
+ return await Z.request("cameras:connect", {
1424
1424
  discoveredId: e,
1425
1425
  credentials: t
1426
1426
  });
@@ -1432,8 +1432,8 @@ function Un() {
1432
1432
  }
1433
1433
  }
1434
1434
  async function a(e, t) {
1435
- if (!X?.ready.value) throw Error("Not connected");
1436
- let n = await X.request("cameras:prepare", {
1435
+ if (!Z?.ready.value) throw Error("Not connected");
1436
+ let n = await Z.request("cameras:prepare", {
1437
1437
  discoveredId: e,
1438
1438
  credentials: t
1439
1439
  });
@@ -1441,8 +1441,8 @@ function Un() {
1441
1441
  return n.draft;
1442
1442
  }
1443
1443
  async function o(e, t) {
1444
- if (!X?.ready.value) throw Error("Not connected");
1445
- let n = await X.request("cameras:confirm", {
1444
+ if (!Z?.ready.value) throw Error("Not connected");
1445
+ let n = await Z.request("cameras:confirm", {
1446
1446
  draft: e,
1447
1447
  discoveredId: t
1448
1448
  });
@@ -1453,7 +1453,7 @@ function Un() {
1453
1453
  };
1454
1454
  }
1455
1455
  async function s(e) {
1456
- if (!X?.ready.value) return {
1456
+ if (!Z?.ready.value) return {
1457
1457
  success: !1,
1458
1458
  error: "Not connected"
1459
1459
  };
@@ -1463,8 +1463,8 @@ function Un() {
1463
1463
  model: e.model
1464
1464
  };
1465
1465
  try {
1466
- let e = await X.request("cameras:hide-device", { device: t });
1467
- return e.success && e.hiddenDevices && (Y.hiddenDevices = e.hiddenDevices), e;
1466
+ let e = await Z.request("cameras:hide-device", { device: t });
1467
+ return e.success && e.hiddenDevices && (X.hiddenDevices = e.hiddenDevices), e;
1468
1468
  } catch (e) {
1469
1469
  return {
1470
1470
  success: !1,
@@ -1473,13 +1473,13 @@ function Un() {
1473
1473
  }
1474
1474
  }
1475
1475
  async function c(e) {
1476
- if (!X?.ready.value) return {
1476
+ if (!Z?.ready.value) return {
1477
1477
  success: !1,
1478
1478
  error: "Not connected"
1479
1479
  };
1480
1480
  try {
1481
- let t = await X.request("cameras:unhide-device", { deviceId: e });
1482
- return t.success && t.hiddenDevices && (Y.hiddenDevices = t.hiddenDevices), t;
1481
+ let t = await Z.request("cameras:unhide-device", { deviceId: e });
1482
+ return t.success && t.hiddenDevices && (X.hiddenDevices = t.hiddenDevices), t;
1483
1483
  } catch (e) {
1484
1484
  return {
1485
1485
  success: !1,
@@ -1488,32 +1488,32 @@ function Un() {
1488
1488
  }
1489
1489
  }
1490
1490
  function l() {
1491
- Y.showHidden = !Y.showHidden;
1491
+ X.showHidden = !X.showHidden;
1492
1492
  }
1493
1493
  function u(e) {
1494
- return e.type !== "discovered" || !e.discoveredId ? !1 : Y.hiddenDevices.some((t) => t.id === e.discoveredId);
1494
+ return e.type !== "discovered" || !e.discoveredId ? !1 : X.hiddenDevices.some((t) => t.id === e.discoveredId);
1495
1495
  }
1496
1496
  let d = v(() => {
1497
- let e = new Set(Y.hiddenDevices.map((e) => e.id)), t = (e, t) => e.name.localeCompare(t.name), n = Y.devices.filter((e) => e.type === "camera").sort(t), r = Y.devices.filter((t) => t.type === "discovered" && !e.has(t.discoveredId)).sort(t), i = Y.showHidden ? Y.devices.filter((t) => t.type === "discovered" && e.has(t.discoveredId)).sort(t) : [];
1497
+ let e = new Set(X.hiddenDevices.map((e) => e.id)), t = (e, t) => e.name.localeCompare(t.name), n = X.devices.filter((e) => e.type === "camera").sort(t), r = X.devices.filter((t) => t.type === "discovered" && !e.has(t.discoveredId)).sort(t), i = X.showHidden ? X.devices.filter((t) => t.type === "discovered" && e.has(t.discoveredId)).sort(t) : [];
1498
1498
  return [
1499
1499
  ...n,
1500
1500
  ...r,
1501
1501
  ...i
1502
1502
  ];
1503
1503
  });
1504
- return fe(() => {
1505
- Q--, !(Q > 0) && (Q = 0, $ = setTimeout(() => {
1506
- Q <= 0 && (Hn(), $ = null);
1507
- }, In));
1504
+ return pe(() => {
1505
+ $--, !($ > 0) && ($ = 0, Ln = setTimeout(() => {
1506
+ $ <= 0 && (Hn(), Ln = null);
1507
+ }, Fn));
1508
1508
  }), {
1509
- state: f(Y),
1510
- isConnected: v(() => X?.connected.value ?? !1),
1511
- isLoading: v(() => Y.isLoading),
1512
- devices: v(() => Y.devices),
1513
- isScanning: v(() => Y.isScanning),
1514
- hiddenDevices: v(() => Y.hiddenDevices),
1515
- showHidden: v(() => Y.showHidden),
1516
- error: v(() => Y.error),
1509
+ state: f(X),
1510
+ isConnected: v(() => Z?.connected.value ?? !1),
1511
+ isLoading: v(() => X.isLoading),
1512
+ devices: v(() => X.devices),
1513
+ isScanning: v(() => X.isScanning),
1514
+ hiddenDevices: v(() => X.hiddenDevices),
1515
+ showHidden: v(() => X.showHidden),
1516
+ error: v(() => X.error),
1517
1517
  sortedDevices: d,
1518
1518
  connect: e,
1519
1519
  disconnect: t,
@@ -1556,14 +1556,14 @@ var Wn = { class: "flex flex-col" }, Gn = {
1556
1556
  }, sr = { class: "flex items-center justify-center" }, cr = { class: "flex items-center justify-center" }, lr = {
1557
1557
  key: 1,
1558
1558
  class: "flex flex-col items-center justify-center py-6 gap-2"
1559
- }, ur = { class: "text-muted text-sm" }, dr = { class: "flex flex-wrap items-center gap-2 mt-4" }, fr = /*#__PURE__*/ ae(/* @__PURE__ */ O({
1559
+ }, ur = { class: "text-muted text-sm" }, dr = { class: "flex flex-wrap items-center gap-2 mt-4" }, fr = /*#__PURE__*/ N(/* @__PURE__ */ O({
1560
1560
  __name: "Cameras",
1561
1561
  setup(e) {
1562
- let { t } = q(), r = K(), i = U(), a = de(), { smBreakpoint: c } = ie(), l = Un(), d = {
1562
+ let { t } = K(), r = I(), i = de(), a = ue(), { smBreakpoint: c } = ae(), l = Un(), d = {
1563
1563
  bodyRow: { class: "text-sm text-secondary" },
1564
1564
  column: { columnTitle: { class: "text-sm" } },
1565
1565
  datatable: { class: "z-0" }
1566
- }, f = v(() => oe(void 0, "admin")), h = v(() => l.sortedDevices.value), g = v(() => h.value.filter((e) => e.type === "camera")), b = v(() => h.value.filter((e) => e.type === "discovered")), w = v(() => l.isLoading.value), D = v(() => l.isScanning.value), O = v(() => l.hiddenDevices.value), k = v(() => l.showHidden.value), j = v(() => O.value.length);
1566
+ }, f = v(() => fe(void 0, "admin")), h = v(() => l.sortedDevices.value), g = v(() => h.value.filter((e) => e.type === "camera")), b = v(() => h.value.filter((e) => e.type === "discovered")), w = v(() => l.isLoading.value), D = v(() => l.isScanning.value), O = v(() => l.hiddenDevices.value), k = v(() => l.showHidden.value), j = v(() => O.value.length);
1567
1567
  function te(e) {
1568
1568
  switch (e) {
1569
1569
  case "added": return "green";
@@ -1585,7 +1585,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1585
1585
  function P(e) {
1586
1586
  return l.isHidden(e);
1587
1587
  }
1588
- async function ne(e) {
1588
+ async function F(e) {
1589
1589
  if (!P(e)) {
1590
1590
  if (e.type === "camera") {
1591
1591
  a.open({ cameraName: e.name });
@@ -1604,7 +1604,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1604
1604
  });
1605
1605
  return;
1606
1606
  }
1607
- i.openComponentDialog(Fn, { data: {
1607
+ i.openComponentDialog(Pn, { data: {
1608
1608
  title: `${t("views.devices.connect")}: ${e.name}`,
1609
1609
  confirmText: t("views.devices.connect"),
1610
1610
  contentProps: {
@@ -1618,7 +1618,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1618
1618
  },
1619
1619
  schema: n.schema ?? [],
1620
1620
  onConnect: async (t) => {
1621
- F(await l.prepareDevice(e.discoveredId, t), e.discoveredId);
1621
+ L(await l.prepareDevice(e.discoveredId, t), e.discoveredId);
1622
1622
  }
1623
1623
  }
1624
1624
  } });
@@ -1633,8 +1633,8 @@ var Wn = { class: "flex flex-col" }, Gn = {
1633
1633
  }
1634
1634
  }
1635
1635
  }
1636
- function F(e, n) {
1637
- i.openComponentDialog(kn, { data: {
1636
+ function L(e, n) {
1637
+ i.openComponentDialog(On, { data: {
1638
1638
  title: t("views.devices.confirm_title"),
1639
1639
  confirmText: t("views.devices.confirm"),
1640
1640
  fullscreen: !0,
@@ -1651,7 +1651,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1651
1651
  }
1652
1652
  } });
1653
1653
  }
1654
- async function I() {
1654
+ async function R() {
1655
1655
  try {
1656
1656
  let e = await l.forceRescan();
1657
1657
  e.success ? r.add({
@@ -1674,14 +1674,14 @@ var Wn = { class: "flex flex-col" }, Gn = {
1674
1674
  });
1675
1675
  }
1676
1676
  }
1677
- function L() {
1678
- i.openComponentDialog(wn, { data: {
1677
+ function z() {
1678
+ i.openComponentDialog(Cn, { data: {
1679
1679
  title: t("components.dialog.components.new_camera.add_camera"),
1680
1680
  fullscreen: !0,
1681
1681
  contentProps: {}
1682
1682
  } });
1683
1683
  }
1684
- async function R(e, n) {
1684
+ async function re(e, n) {
1685
1685
  e.stopPropagation();
1686
1686
  try {
1687
1687
  let e = await l.hideDevice(n);
@@ -1705,7 +1705,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1705
1705
  });
1706
1706
  }
1707
1707
  }
1708
- async function z(e, n) {
1708
+ async function B(e, n) {
1709
1709
  e.stopPropagation();
1710
1710
  try {
1711
1711
  let e = await l.unhideDevice(n.discoveredId);
@@ -1729,10 +1729,10 @@ var Wn = { class: "flex flex-col" }, Gn = {
1729
1729
  });
1730
1730
  }
1731
1731
  }
1732
- function ae() {
1732
+ function V() {
1733
1733
  l.toggleShowHidden();
1734
1734
  }
1735
- function B(e) {
1735
+ function H(e) {
1736
1736
  return P(e) ? "opacity-50 cursor-not-allowed" : "";
1737
1737
  }
1738
1738
  return M(() => {
@@ -1740,7 +1740,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1740
1740
  }), n(() => {
1741
1741
  f.value && l.unsubscribe();
1742
1742
  }), (e, t) => {
1743
- let n = Fe, r = pe, i = re, a = le, l = Se, v = xe, O = Ae, M = ke, F = je, ie = se, V = Re, H = ce, U = ee;
1743
+ let n = Fe, r = me, i = ie, a = oe, l = q, v = Se, O = Ae, M = ke, I = je, L = ne, ae = Re, se = le, U = ee;
1744
1744
  return o(), x("div", Wn, [
1745
1745
  _(c) ? m("", !0) : (o(), x("h1", Gn, s(e.$t(`views.${String(e.$route.name).toLowerCase()}.title`)), 1)),
1746
1746
  _(f) ? (o(), x(C, { key: 2 }, [
@@ -1756,16 +1756,16 @@ var Wn = { class: "flex flex-col" }, Gn = {
1756
1756
  severity: "secondary",
1757
1757
  label: e.$t("views.devices.rescan"),
1758
1758
  loading: _(D),
1759
- onClick: I
1759
+ onClick: R
1760
1760
  }, null, 8, ["label", "loading"])
1761
1761
  ])) : m("", !0),
1762
1762
  !_(w) && _(g).length ? (o(), x("div", $n, [T("span", er, s(e.$t("views.devices.status_adopted_cameras")), 1), A(r, { class: "cui-card" }, {
1763
- content: y(() => [A(F, {
1763
+ content: y(() => [A(I, {
1764
1764
  value: _(g),
1765
1765
  "striped-rows": "",
1766
1766
  pt: d,
1767
1767
  class: "w-full",
1768
- onRowClick: t[0] ||= (e) => ne(e.data)
1768
+ onRowClick: t[0] ||= (e) => F(e.data)
1769
1769
  }, {
1770
1770
  default: y(() => [
1771
1771
  A(O, {
@@ -1823,12 +1823,12 @@ var Wn = { class: "flex flex-col" }, Gn = {
1823
1823
  key: 3,
1824
1824
  class: u(["flex min-h-0 flex-col", { "mt-6": _(g).length }])
1825
1825
  }, [T("span", ar, s(e.$t("views.devices.status_discovered")), 1), A(r, { class: "cui-card" }, {
1826
- content: y(() => [_(b).length ? (o(), x("div", or, [A(F, {
1826
+ content: y(() => [_(b).length ? (o(), x("div", or, [A(I, {
1827
1827
  value: _(b),
1828
1828
  "striped-rows": "",
1829
1829
  pt: d,
1830
1830
  class: "w-full",
1831
- onRowClick: t[1] ||= (e) => ne(e.data)
1831
+ onRowClick: t[1] ||= (e) => F(e.data)
1832
1832
  }, {
1833
1833
  default: y(() => [
1834
1834
  A(O, {
@@ -1845,7 +1845,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1845
1845
  "header-class": "p-2",
1846
1846
  class: "p-2 w-full min-w-[200px] max-w-0"
1847
1847
  }, {
1848
- body: y(({ data: t }) => [T("div", { class: u(["font-bold text-color truncate", B(t)]) }, s(t.name), 3), T("div", { class: u(["text-xs text-muted truncate", B(t)]) }, s(t.manufacturer || e.$t("views.devices.unknown")) + " · " + s(t.model || e.$t("views.devices.unknown")), 3)]),
1848
+ body: y(({ data: t }) => [T("div", { class: u(["font-bold text-color truncate", H(t)]) }, s(t.name), 3), T("div", { class: u(["text-xs text-muted truncate", H(t)]) }, s(t.manufacturer || e.$t("views.devices.unknown")) + " · " + s(t.model || e.$t("views.devices.unknown")), 3)]),
1849
1849
  _: 1
1850
1850
  }, 8, ["header"]),
1851
1851
  A(O, {
@@ -1856,7 +1856,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1856
1856
  }, {
1857
1857
  body: y(({ data: e }) => [e.address ? (o(), x("span", {
1858
1858
  key: 0,
1859
- class: u(["text-xs text-muted whitespace-nowrap", B(e)])
1859
+ class: u(["text-xs text-muted whitespace-nowrap", H(e)])
1860
1860
  }, s(e.address), 3)) : m("", !0)]),
1861
1861
  _: 1
1862
1862
  }, 8, ["header"]),
@@ -1868,7 +1868,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1868
1868
  }, {
1869
1869
  body: y(({ data: e }) => [A(M, {
1870
1870
  label: e.provider,
1871
- class: u(["text-xs whitespace-nowrap", B(e)])
1871
+ class: u(["text-xs whitespace-nowrap", H(e)])
1872
1872
  }, null, 8, ["label", "class"])]),
1873
1873
  _: 1
1874
1874
  }, 8, ["header"]),
@@ -1882,7 +1882,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1882
1882
  text: "",
1883
1883
  rounded: "",
1884
1884
  class: "cui-icon-md",
1885
- onClick: (e) => z(e, t)
1885
+ onClick: (e) => B(e, t)
1886
1886
  }, {
1887
1887
  icon: y(() => [A(_(ze), {
1888
1888
  width: "100%",
@@ -1901,7 +1901,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1901
1901
  text: "",
1902
1902
  rounded: "",
1903
1903
  class: "cui-icon-md",
1904
- onClick: (e) => R(e, t)
1904
+ onClick: (e) => re(e, t)
1905
1905
  }, {
1906
1906
  icon: y(() => [A(_(Be), {
1907
1907
  width: "100%",
@@ -1919,12 +1919,12 @@ var Wn = { class: "flex flex-col" }, Gn = {
1919
1919
  })
1920
1920
  ]),
1921
1921
  _: 1
1922
- }, 8, ["value"])])) : (o(), x("div", lr, [_(D) ? (o(), p(ie, {
1922
+ }, 8, ["value"])])) : (o(), x("div", lr, [_(D) ? (o(), p(L, {
1923
1923
  key: 0,
1924
1924
  width: "24px",
1925
1925
  height: "24px",
1926
1926
  class: "text-muted"
1927
- })) : (o(), p(V, {
1927
+ })) : (o(), p(ae, {
1928
1928
  key: 1,
1929
1929
  width: "32px",
1930
1930
  height: "32px",
@@ -1936,14 +1936,14 @@ var Wn = { class: "flex flex-col" }, Gn = {
1936
1936
  severity: "secondary",
1937
1937
  class: "cui-button-medium",
1938
1938
  label: _(k) ? e.$t("views.devices.hide_hidden") : `${e.$t("views.devices.show_hidden")} (${_(j)})`,
1939
- onClick: ae
1939
+ onClick: V
1940
1940
  }, null, 8, ["label"])) : m("", !0),
1941
1941
  A(l, {
1942
1942
  severity: "secondary",
1943
1943
  class: "cui-button-medium",
1944
1944
  label: e.$t("views.devices.rescan"),
1945
1945
  loading: _(D),
1946
- onClick: I
1946
+ onClick: R
1947
1947
  }, null, 8, ["label", "loading"])
1948
1948
  ])]),
1949
1949
  _: 1
@@ -1952,7 +1952,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1952
1952
  content: y(() => [A(n)]),
1953
1953
  _: 1
1954
1954
  })])),
1955
- ("hasPermission" in e ? e.hasPermission : _(oe))(void 0, "admin") ? (o(), p(H, {
1955
+ ("hasPermission" in e ? e.hasPermission : _(fe))(void 0, "admin") ? (o(), p(se, {
1956
1956
  key: 3,
1957
1957
  "tooltip-props": { value: e.$t("views.cameras.add_camera") },
1958
1958
  "button-props": { class: "text-white" },
@@ -1961,7 +1961,7 @@ var Wn = { class: "flex flex-col" }, Gn = {
1961
1961
  width: "30px",
1962
1962
  height: "30px"
1963
1963
  },
1964
- onClick: L
1964
+ onClick: z
1965
1965
  }, null, 8, ["tooltip-props", "icon"])) : m("", !0)
1966
1966
  ]);
1967
1967
  };