@camera.ui/server 2.4.0 → 2.4.1

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 (1424) hide show
  1. package/dist/interface/assets/404-DX4XH2LB.js +1 -0
  2. package/dist/interface/assets/404-DX4XH2LB.js.br +0 -0
  3. package/dist/interface/assets/404-DX4XH2LB.js.gz +0 -0
  4. package/dist/interface/assets/About-TKX85HMQ.js +1 -0
  5. package/dist/interface/assets/About-TKX85HMQ.js.br +0 -0
  6. package/dist/interface/assets/About-TKX85HMQ.js.gz +0 -0
  7. package/dist/interface/assets/Assistant-DoIUDprL.js +1 -0
  8. package/dist/interface/assets/Assistant-DoIUDprL.js.br +0 -0
  9. package/dist/interface/assets/Assistant-DoIUDprL.js.gz +0 -0
  10. package/dist/interface/assets/Automation-txjKQVyV.js +3 -0
  11. package/dist/interface/assets/Automation-txjKQVyV.js.br +0 -0
  12. package/dist/interface/assets/Automation-txjKQVyV.js.gz +0 -0
  13. package/dist/interface/assets/AutomationImport-C64Ut7T_.js +2 -0
  14. package/dist/interface/assets/AutomationImport-C64Ut7T_.js.br +0 -0
  15. package/dist/interface/assets/AutomationImport-C64Ut7T_.js.gz +0 -0
  16. package/dist/interface/assets/AutomationStore-Q01bLhts.js +2 -0
  17. package/dist/interface/assets/AutomationStore-Q01bLhts.js.br +0 -0
  18. package/dist/interface/assets/AutomationStore-Q01bLhts.js.gz +0 -0
  19. package/dist/interface/assets/AutomationStoreDetail-BaoJ9HK2.js +2 -0
  20. package/dist/interface/assets/AutomationStoreDetail-BaoJ9HK2.js.br +0 -0
  21. package/dist/interface/assets/AutomationStoreDetail-BaoJ9HK2.js.gz +0 -0
  22. package/dist/interface/assets/Automations-DrbmawaF.js +2 -0
  23. package/dist/interface/assets/Automations-DrbmawaF.js.br +0 -0
  24. package/dist/interface/assets/Automations-DrbmawaF.js.gz +0 -0
  25. package/dist/interface/assets/BackupRestore-28xfEYA4.js +1 -0
  26. package/dist/interface/assets/BackupRestore-28xfEYA4.js.br +0 -0
  27. package/dist/interface/assets/BackupRestore-28xfEYA4.js.gz +0 -0
  28. package/dist/interface/assets/Camera-BWG1t1eV.js +2 -0
  29. package/dist/interface/assets/Camera-BWG1t1eV.js.br +0 -0
  30. package/dist/interface/assets/Camera-BWG1t1eV.js.gz +0 -0
  31. package/dist/interface/assets/CameraConsole-DTU2a_Ts.js +7 -0
  32. package/dist/interface/assets/CameraConsole-DTU2a_Ts.js.br +0 -0
  33. package/dist/interface/assets/CameraConsole-DTU2a_Ts.js.gz +0 -0
  34. package/dist/interface/assets/Cameras-D_Mile0G.js +651 -0
  35. package/dist/interface/assets/Cameras-D_Mile0G.js.br +0 -0
  36. package/dist/interface/assets/Cameras-D_Mile0G.js.gz +0 -0
  37. package/dist/interface/assets/Camview-O9fMv2IM.js +1 -0
  38. package/dist/interface/assets/Camview-O9fMv2IM.js.br +0 -0
  39. package/dist/interface/assets/Camview-O9fMv2IM.js.gz +0 -0
  40. package/dist/interface/assets/Config-Z5OwrRYV.js +2 -0
  41. package/dist/interface/assets/Config-Z5OwrRYV.js.br +0 -0
  42. package/dist/interface/assets/Config-Z5OwrRYV.js.gz +0 -0
  43. package/dist/interface/assets/ConfigActionAssistant-CQCL2Am2.js +1 -0
  44. package/dist/interface/assets/ConfigActionAssistant-CQCL2Am2.js.br +0 -0
  45. package/dist/interface/assets/ConfigActionAssistant-CQCL2Am2.js.gz +0 -0
  46. package/dist/interface/assets/ConfigActionCameraControl-D_-J3WO0.js +1 -0
  47. package/dist/interface/assets/ConfigActionCameraControl-D_-J3WO0.js.br +0 -0
  48. package/dist/interface/assets/ConfigActionCameraControl-D_-J3WO0.js.gz +0 -0
  49. package/dist/interface/assets/ConfigActionMqtt-C0XsqWGy.js +1 -0
  50. package/dist/interface/assets/ConfigActionMqtt-C0XsqWGy.js.br +0 -0
  51. package/dist/interface/assets/ConfigActionMqtt-C0XsqWGy.js.gz +0 -0
  52. package/dist/interface/assets/ConfigActionNotification-CtiiN-5F.js +1 -0
  53. package/dist/interface/assets/ConfigActionNotification-CtiiN-5F.js.br +0 -0
  54. package/dist/interface/assets/ConfigActionNotification-CtiiN-5F.js.gz +0 -0
  55. package/dist/interface/assets/ConfigActionNotificationControl-DD8Irm7I.js +1 -0
  56. package/dist/interface/assets/ConfigActionNotificationControl-DD8Irm7I.js.br +0 -0
  57. package/dist/interface/assets/ConfigActionNotificationControl-DD8Irm7I.js.gz +0 -0
  58. package/dist/interface/assets/ConfigActionPlugin-CIesNnFQ.js +1 -0
  59. package/dist/interface/assets/ConfigActionPlugin-CIesNnFQ.js.br +0 -0
  60. package/dist/interface/assets/ConfigActionPlugin-CIesNnFQ.js.gz +0 -0
  61. package/dist/interface/assets/ConfigActionSensor-BcYL0qkL.js +1 -0
  62. package/dist/interface/assets/ConfigActionSensor-BcYL0qkL.js.br +0 -0
  63. package/dist/interface/assets/ConfigActionSensor-BcYL0qkL.js.gz +0 -0
  64. package/dist/interface/assets/ConfigActionSnapshot-DJdvQulG.js +1 -0
  65. package/dist/interface/assets/ConfigActionSnapshot-DJdvQulG.js.br +0 -0
  66. package/dist/interface/assets/ConfigActionSnapshot-DJdvQulG.js.gz +0 -0
  67. package/dist/interface/assets/ConfigConditionSensorState-Cwn8aC7y.js +1 -0
  68. package/dist/interface/assets/ConfigConditionSensorState-Cwn8aC7y.js.br +0 -0
  69. package/dist/interface/assets/ConfigConditionSensorState-Cwn8aC7y.js.gz +0 -0
  70. package/dist/interface/assets/ConfigTriggerDetection-D0g5ZMbd.js +1 -0
  71. package/dist/interface/assets/ConfigTriggerDetection-D0g5ZMbd.js.br +0 -0
  72. package/dist/interface/assets/ConfigTriggerDetection-D0g5ZMbd.js.gz +0 -0
  73. package/dist/interface/assets/ConfigTriggerGeofence-eWJC6ILP.js +1 -0
  74. package/dist/interface/assets/ConfigTriggerGeofence-eWJC6ILP.js.br +0 -0
  75. package/dist/interface/assets/ConfigTriggerGeofence-eWJC6ILP.js.gz +0 -0
  76. package/dist/interface/assets/ConfigTriggerMqtt-DiKTbPu6.js +1 -0
  77. package/dist/interface/assets/ConfigTriggerMqtt-DiKTbPu6.js.br +0 -0
  78. package/dist/interface/assets/ConfigTriggerMqtt-DiKTbPu6.js.gz +0 -0
  79. package/dist/interface/assets/ConfigTriggerSensor-CS8gsL0m.js +1 -0
  80. package/dist/interface/assets/ConfigTriggerSensor-CS8gsL0m.js.br +0 -0
  81. package/dist/interface/assets/ConfigTriggerSensor-CS8gsL0m.js.gz +0 -0
  82. package/dist/interface/assets/ConfigTriggerSystem-CmuIY_0y.js +1 -0
  83. package/dist/interface/assets/ConfigTriggerSystem-CmuIY_0y.js.br +0 -0
  84. package/dist/interface/assets/ConfigTriggerSystem-CmuIY_0y.js.gz +0 -0
  85. package/dist/interface/assets/ConfigTriggerWebhook-BMFuGGYj.js +1 -0
  86. package/dist/interface/assets/ConfigTriggerWebhook-BMFuGGYj.js.br +0 -0
  87. package/dist/interface/assets/ConfigTriggerWebhook-BMFuGGYj.js.gz +0 -0
  88. package/dist/interface/assets/Console-BymhygMI.js +1 -0
  89. package/dist/interface/assets/Console-BymhygMI.js.br +0 -0
  90. package/dist/interface/assets/Console-BymhygMI.js.gz +0 -0
  91. package/dist/interface/assets/CuiAssistantConversation-Beennkmh.js +5 -0
  92. package/dist/interface/assets/CuiAssistantConversation-Beennkmh.js.br +0 -0
  93. package/dist/interface/assets/CuiAssistantConversation-Beennkmh.js.gz +0 -0
  94. package/dist/interface/assets/CuiAutomationRunsDialog-BUkNp6wR.js +1 -0
  95. package/dist/interface/assets/CuiAutomationRunsDialog-BUkNp6wR.js.br +0 -0
  96. package/dist/interface/assets/CuiAutomationRunsDialog-BUkNp6wR.js.gz +0 -0
  97. package/dist/interface/assets/CuiBottomSheet-Clh6xrtY.js +1 -0
  98. package/dist/interface/assets/CuiBottomSheet-Clh6xrtY.js.br +1 -0
  99. package/dist/interface/assets/CuiBottomSheet-Clh6xrtY.js.gz +0 -0
  100. package/dist/interface/assets/CuiBottomSheet-DHzBdeKE.js +1 -0
  101. package/dist/interface/assets/CuiBottomSheet-DHzBdeKE.js.br +0 -0
  102. package/dist/interface/assets/CuiBottomSheet-DHzBdeKE.js.gz +0 -0
  103. package/dist/interface/assets/CuiCameraPipCard-DV9NVvdU.js +1 -0
  104. package/dist/interface/assets/CuiCameraPipCard-DV9NVvdU.js.br +0 -0
  105. package/dist/interface/assets/CuiCameraPipCard-DV9NVvdU.js.gz +0 -0
  106. package/dist/interface/assets/CuiCameraRecordings-Dgabyi8C.js +1 -0
  107. package/dist/interface/assets/CuiCameraRecordings-Dgabyi8C.js.br +0 -0
  108. package/dist/interface/assets/CuiCameraRecordings-Dgabyi8C.js.gz +0 -0
  109. package/dist/interface/assets/CuiCameraShares-D-CEbeu7.js +1 -0
  110. package/dist/interface/assets/CuiCameraShares-D-CEbeu7.js.br +0 -0
  111. package/dist/interface/assets/CuiCameraShares-D-CEbeu7.js.gz +0 -0
  112. package/dist/interface/assets/CuiCameraTable-CQmKrbaK.js +1 -0
  113. package/dist/interface/assets/CuiCameraTable-CQmKrbaK.js.br +1 -0
  114. package/dist/interface/assets/CuiCameraTable-CQmKrbaK.js.gz +0 -0
  115. package/dist/interface/assets/CuiCameraTable-DJ6BT3GR.js +2 -0
  116. package/dist/interface/assets/CuiCameraTable-DJ6BT3GR.js.br +0 -0
  117. package/dist/interface/assets/CuiCameraTable-DJ6BT3GR.js.gz +0 -0
  118. package/dist/interface/assets/CuiChartTable-D74cis32.js +1 -0
  119. package/dist/interface/assets/CuiChartTable-D74cis32.js.br +0 -0
  120. package/dist/interface/assets/CuiChartTable-D74cis32.js.gz +0 -0
  121. package/dist/interface/assets/CuiConsole-CEckyUH_.js +5 -0
  122. package/dist/interface/assets/CuiConsole-CEckyUH_.js.br +0 -0
  123. package/dist/interface/assets/CuiConsole-CEckyUH_.js.gz +0 -0
  124. package/dist/interface/assets/CuiDataTable-D2CX_Dae.js +1 -0
  125. package/dist/interface/assets/CuiDataTable-D2CX_Dae.js.br +0 -0
  126. package/dist/interface/assets/CuiDataTable-D2CX_Dae.js.gz +0 -0
  127. package/dist/interface/assets/CuiLightControl-DwC2A1_z.js +1 -0
  128. package/dist/interface/assets/CuiLightControl-DwC2A1_z.js.br +0 -0
  129. package/dist/interface/assets/CuiLightControl-DwC2A1_z.js.gz +0 -0
  130. package/dist/interface/assets/CuiMoveCodeForm-9uLXz6E4.js +1 -0
  131. package/dist/interface/assets/CuiMoveCodeForm-9uLXz6E4.js.br +0 -0
  132. package/dist/interface/assets/CuiMoveCodeForm-9uLXz6E4.js.gz +0 -0
  133. package/dist/interface/assets/CuiPluginCard-7Zaj4gGb.js +2 -0
  134. package/dist/interface/assets/CuiPluginCard-7Zaj4gGb.js.br +0 -0
  135. package/dist/interface/assets/CuiPluginCard-7Zaj4gGb.js.gz +0 -0
  136. package/dist/interface/assets/CuiPluginCategoryChip-NZO3F0dE.js +1 -0
  137. package/dist/interface/assets/CuiPluginCategoryChip-NZO3F0dE.js.br +0 -0
  138. package/dist/interface/assets/CuiPluginCategoryChip-NZO3F0dE.js.gz +0 -0
  139. package/dist/interface/assets/CuiPluginOAuthButton-BtXeLBCE.js +2 -0
  140. package/dist/interface/assets/CuiPluginOAuthButton-BtXeLBCE.js.br +0 -0
  141. package/dist/interface/assets/CuiPluginOAuthButton-BtXeLBCE.js.gz +0 -0
  142. package/dist/interface/assets/CuiPluginTrustBadge-DhTB-x34.js +1 -0
  143. package/dist/interface/assets/CuiPluginTrustBadge-DhTB-x34.js.br +0 -0
  144. package/dist/interface/assets/CuiPluginTrustBadge-DhTB-x34.js.gz +0 -0
  145. package/dist/interface/assets/CuiQRCode-CqGj0s6U.js +1 -0
  146. package/dist/interface/assets/CuiQRCode-CqGj0s6U.js.br +0 -0
  147. package/dist/interface/assets/CuiQRCode-CqGj0s6U.js.gz +0 -0
  148. package/dist/interface/assets/CuiSchema-BTF_3aRE.js +1 -0
  149. package/dist/interface/assets/CuiSchema-BTF_3aRE.js.br +0 -0
  150. package/dist/interface/assets/CuiSchema-BTF_3aRE.js.gz +0 -0
  151. package/dist/interface/assets/CuiTopNavbarItem-BWcrLyui.js +1 -0
  152. package/dist/interface/assets/CuiTopNavbarItem-BWcrLyui.js.br +0 -0
  153. package/dist/interface/assets/CuiTopNavbarItem-BWcrLyui.js.gz +0 -0
  154. package/dist/interface/assets/Faces-CSuw4tlQ.js +1 -0
  155. package/dist/interface/assets/Faces-CSuw4tlQ.js.br +0 -0
  156. package/dist/interface/assets/Faces-CSuw4tlQ.js.gz +0 -0
  157. package/dist/interface/assets/FirstSteps-D8MXHO4s.js +1 -0
  158. package/dist/interface/assets/FirstSteps-D8MXHO4s.js.br +0 -0
  159. package/dist/interface/assets/FirstSteps-D8MXHO4s.js.gz +0 -0
  160. package/dist/interface/assets/Floorplan-CJvf82Yr.js +1 -0
  161. package/dist/interface/assets/Floorplan-CJvf82Yr.js.br +0 -0
  162. package/dist/interface/assets/Floorplan-CJvf82Yr.js.gz +0 -0
  163. package/dist/interface/assets/Instances-CGmnFbAU.js +1 -0
  164. package/dist/interface/assets/Instances-CGmnFbAU.js.br +0 -0
  165. package/dist/interface/assets/Instances-CGmnFbAU.js.gz +0 -0
  166. package/dist/interface/assets/Logs-DzRjFZwp.js +6 -0
  167. package/dist/interface/assets/Logs-DzRjFZwp.js.br +0 -0
  168. package/dist/interface/assets/Logs-DzRjFZwp.js.gz +0 -0
  169. package/dist/interface/assets/Menu-CBDRm_I7.js +1 -0
  170. package/dist/interface/assets/Menu-CBDRm_I7.js.br +0 -0
  171. package/dist/interface/assets/Menu-CBDRm_I7.js.gz +0 -0
  172. package/dist/interface/assets/Metrics-DyvjZEl4.js +12 -0
  173. package/dist/interface/assets/Metrics-DyvjZEl4.js.br +0 -0
  174. package/dist/interface/assets/Metrics-DyvjZEl4.js.gz +0 -0
  175. package/dist/interface/assets/OAuthDeviceFlow-CDjuIKJO.js +1 -0
  176. package/dist/interface/assets/OAuthDeviceFlow-CDjuIKJO.js.br +0 -0
  177. package/dist/interface/assets/OAuthDeviceFlow-CDjuIKJO.js.gz +0 -0
  178. package/dist/interface/assets/Plugin-CXtetRIB.js +1 -0
  179. package/dist/interface/assets/Plugin-CXtetRIB.js.br +0 -0
  180. package/dist/interface/assets/Plugin-CXtetRIB.js.gz +0 -0
  181. package/dist/interface/assets/PluginConsole-6TRc3i3n.js +7 -0
  182. package/dist/interface/assets/PluginConsole-6TRc3i3n.js.br +0 -0
  183. package/dist/interface/assets/PluginConsole-6TRc3i3n.js.gz +0 -0
  184. package/dist/interface/assets/PluginDetail-DBYTEg5y.js +2 -0
  185. package/dist/interface/assets/PluginDetail-DBYTEg5y.js.br +0 -0
  186. package/dist/interface/assets/PluginDetail-DBYTEg5y.js.gz +0 -0
  187. package/dist/interface/assets/PluginSchema-BW_3Fyqe.js +1 -0
  188. package/dist/interface/assets/PluginSchema-BW_3Fyqe.js.br +0 -0
  189. package/dist/interface/assets/PluginSchema-BW_3Fyqe.js.gz +0 -0
  190. package/dist/interface/assets/PluginSearch--ZnY67-0.js +2 -0
  191. package/dist/interface/assets/PluginSearch--ZnY67-0.js.br +0 -0
  192. package/dist/interface/assets/PluginSearch--ZnY67-0.js.gz +0 -0
  193. package/dist/interface/assets/PluginSearch-C53VwojP.js +1 -0
  194. package/dist/interface/assets/PluginSearch-C53VwojP.js.br +0 -0
  195. package/dist/interface/assets/PluginSearch-C53VwojP.js.gz +0 -0
  196. package/dist/interface/assets/PluginUpdateProgress-DwkFjcgH.js +1 -0
  197. package/dist/interface/assets/PluginUpdateProgress-DwkFjcgH.js.br +0 -0
  198. package/dist/interface/assets/PluginUpdateProgress-DwkFjcgH.js.gz +0 -0
  199. package/dist/interface/assets/Plugins-CV1x_hss.js +1 -0
  200. package/dist/interface/assets/Plugins-CV1x_hss.js.br +0 -0
  201. package/dist/interface/assets/Plugins-CV1x_hss.js.gz +0 -0
  202. package/dist/interface/assets/Recordings-BNByf_Or.js +1 -0
  203. package/dist/interface/assets/Recordings-BNByf_Or.js.br +0 -0
  204. package/dist/interface/assets/Recordings-BNByf_Or.js.gz +0 -0
  205. package/dist/interface/assets/SensorEdit-DBpz5jrO.js +1 -0
  206. package/dist/interface/assets/SensorEdit-DBpz5jrO.js.br +0 -0
  207. package/dist/interface/assets/SensorEdit-DBpz5jrO.js.gz +0 -0
  208. package/dist/interface/assets/SensorHistory-DwQQ6nFI.js +1 -0
  209. package/dist/interface/assets/SensorHistory-DwQQ6nFI.js.br +0 -0
  210. package/dist/interface/assets/SensorHistory-DwQQ6nFI.js.gz +0 -0
  211. package/dist/interface/assets/Sensors-DTIZnOsc.js +2 -0
  212. package/dist/interface/assets/Sensors-DTIZnOsc.js.br +0 -0
  213. package/dist/interface/assets/Sensors-DTIZnOsc.js.gz +0 -0
  214. package/dist/interface/assets/Settings-BpmZZZ5X.js +1 -0
  215. package/dist/interface/assets/Settings-BpmZZZ5X.js.br +0 -0
  216. package/dist/interface/assets/Settings-BpmZZZ5X.js.gz +0 -0
  217. package/dist/interface/assets/SettingsAccount-BZvGNzRb.js +1 -0
  218. package/dist/interface/assets/SettingsAccount-BZvGNzRb.js.br +0 -0
  219. package/dist/interface/assets/SettingsAccount-BZvGNzRb.js.gz +0 -0
  220. package/dist/interface/assets/SettingsAccount-jb4-Xc6f.js +1 -0
  221. package/dist/interface/assets/SettingsAccount-jb4-Xc6f.js.br +0 -0
  222. package/dist/interface/assets/SettingsAccount-jb4-Xc6f.js.gz +0 -0
  223. package/dist/interface/assets/SettingsAppearance-B5785pDk.js +1 -0
  224. package/dist/interface/assets/SettingsAppearance-B5785pDk.js.br +0 -0
  225. package/dist/interface/assets/SettingsAppearance-B5785pDk.js.gz +0 -0
  226. package/dist/interface/assets/SettingsAppearance-BxlHCftL.js +1 -0
  227. package/dist/interface/assets/SettingsAppearance-BxlHCftL.js.br +0 -0
  228. package/dist/interface/assets/SettingsAppearance-BxlHCftL.js.gz +0 -0
  229. package/dist/interface/assets/SettingsAssistant-BqvP2AP3.js +1 -0
  230. package/dist/interface/assets/SettingsAssistant-BqvP2AP3.js.br +0 -0
  231. package/dist/interface/assets/SettingsAssistant-BqvP2AP3.js.gz +0 -0
  232. package/dist/interface/assets/SettingsBackup-BJqeVFG4.js +1 -0
  233. package/dist/interface/assets/SettingsBackup-BJqeVFG4.js.br +0 -0
  234. package/dist/interface/assets/SettingsBackup-BJqeVFG4.js.gz +0 -0
  235. package/dist/interface/assets/SettingsList-Dy_mA9K2.js +1 -0
  236. package/dist/interface/assets/SettingsList-Dy_mA9K2.js.br +0 -0
  237. package/dist/interface/assets/SettingsList-Dy_mA9K2.js.gz +0 -0
  238. package/dist/interface/assets/SettingsMqtt-BYvn5IYr.js +1 -0
  239. package/dist/interface/assets/SettingsMqtt-BYvn5IYr.js.br +0 -0
  240. package/dist/interface/assets/SettingsMqtt-BYvn5IYr.js.gz +0 -0
  241. package/dist/interface/assets/SettingsNotifications-BGaX9Ksi.js +1 -0
  242. package/dist/interface/assets/SettingsNotifications-BGaX9Ksi.js.br +0 -0
  243. package/dist/interface/assets/SettingsNotifications-BGaX9Ksi.js.gz +0 -0
  244. package/dist/interface/assets/SettingsRecordings-DYKsAGHM.js +1 -0
  245. package/dist/interface/assets/SettingsRecordings-DYKsAGHM.js.br +0 -0
  246. package/dist/interface/assets/SettingsRecordings-DYKsAGHM.js.gz +0 -0
  247. package/dist/interface/assets/SettingsRemote-Dq65gMYr.js +2 -0
  248. package/dist/interface/assets/SettingsRemote-Dq65gMYr.js.br +0 -0
  249. package/dist/interface/assets/SettingsRemote-Dq65gMYr.js.gz +0 -0
  250. package/dist/interface/assets/SettingsSystem-Ct8hqB0Q.js +2 -0
  251. package/dist/interface/assets/SettingsSystem-Ct8hqB0Q.js.br +0 -0
  252. package/dist/interface/assets/SettingsSystem-Ct8hqB0Q.js.gz +0 -0
  253. package/dist/interface/assets/SettingsUsers-BaY-mpI0.js +1 -0
  254. package/dist/interface/assets/SettingsUsers-BaY-mpI0.js.br +0 -0
  255. package/dist/interface/assets/SettingsUsers-BaY-mpI0.js.gz +0 -0
  256. package/dist/interface/assets/Terminal-BwZVJsrs.js +4 -0
  257. package/dist/interface/assets/Terminal-BwZVJsrs.js.br +0 -0
  258. package/dist/interface/assets/Terminal-BwZVJsrs.js.gz +0 -0
  259. package/dist/interface/assets/Training-Bn0X2TTy.js +1 -0
  260. package/dist/interface/assets/Training-Bn0X2TTy.js.br +0 -0
  261. package/dist/interface/assets/Training-Bn0X2TTy.js.gz +0 -0
  262. package/dist/interface/assets/Updates-C7F84E2k.js +2 -0
  263. package/dist/interface/assets/Updates-C7F84E2k.js.br +0 -0
  264. package/dist/interface/assets/Updates-C7F84E2k.js.gz +0 -0
  265. package/dist/interface/assets/VersionsHandler-DLKfxVjW.js +7 -0
  266. package/dist/interface/assets/VersionsHandler-DLKfxVjW.js.br +0 -0
  267. package/dist/interface/assets/VersionsHandler-DLKfxVjW.js.gz +0 -0
  268. package/dist/interface/assets/VirtualSensorCreate-rTcEcAhh.js +1 -0
  269. package/dist/interface/assets/VirtualSensorCreate-rTcEcAhh.js.br +0 -0
  270. package/dist/interface/assets/VirtualSensorCreate-rTcEcAhh.js.gz +0 -0
  271. package/dist/interface/assets/Workers-BmCpS11X.js +2 -0
  272. package/dist/interface/assets/Workers-BmCpS11X.js.br +0 -0
  273. package/dist/interface/assets/Workers-BmCpS11X.js.gz +0 -0
  274. package/dist/interface/assets/api-BnIHl_ph.js +1 -0
  275. package/dist/interface/assets/api-BnIHl_ph.js.br +2 -0
  276. package/dist/interface/assets/api-BnIHl_ph.js.gz +0 -0
  277. package/dist/interface/assets/api-Cr35WxQ9.js +4 -0
  278. package/dist/interface/assets/api-Cr35WxQ9.js.br +0 -0
  279. package/dist/interface/assets/api-Cr35WxQ9.js.gz +0 -0
  280. package/dist/interface/assets/assistant-D3LA-H2B.js +1 -0
  281. package/dist/interface/assets/assistant-D3LA-H2B.js.br +0 -0
  282. package/dist/interface/assets/assistant-D3LA-H2B.js.gz +0 -0
  283. package/dist/interface/assets/auth-H0IrVJ07.js +1 -0
  284. package/dist/interface/assets/auth-H0IrVJ07.js.br +0 -0
  285. package/dist/interface/assets/auth-H0IrVJ07.js.gz +0 -0
  286. package/dist/interface/assets/automations-DVloYi1F.js +1 -0
  287. package/dist/interface/assets/automations-DVloYi1F.js.br +0 -0
  288. package/dist/interface/assets/automations-DVloYi1F.js.gz +0 -0
  289. package/dist/interface/assets/cloudHandoff-7kajbWnb.js +1 -0
  290. package/dist/interface/assets/cloudHandoff-7kajbWnb.js.br +1 -0
  291. package/dist/interface/assets/cloudHandoff-7kajbWnb.js.gz +0 -0
  292. package/dist/interface/assets/config-CYPq0jKV.js +1 -0
  293. package/dist/interface/assets/config-CYPq0jKV.js.br +0 -0
  294. package/dist/interface/assets/config-CYPq0jKV.js.gz +0 -0
  295. package/dist/interface/assets/main-DkZ5J9f-.js +3 -0
  296. package/dist/interface/assets/main-DkZ5J9f-.js.br +0 -0
  297. package/dist/interface/assets/main-DkZ5J9f-.js.gz +0 -0
  298. package/dist/interface/assets/mqtt-awK-0sPa.js +1 -0
  299. package/dist/interface/assets/mqtt-awK-0sPa.js.br +3 -0
  300. package/dist/interface/assets/mqtt-awK-0sPa.js.gz +0 -0
  301. package/dist/interface/assets/notifications-C3dI-Mb2.js +1 -0
  302. package/dist/interface/assets/notifications-C3dI-Mb2.js.br +0 -0
  303. package/dist/interface/assets/notifications-C3dI-Mb2.js.gz +0 -0
  304. package/dist/interface/assets/plugins-DNe-IpyD.js +1 -0
  305. package/dist/interface/assets/plugins-DNe-IpyD.js.br +0 -0
  306. package/dist/interface/assets/plugins-DNe-IpyD.js.gz +0 -0
  307. package/dist/interface/assets/rooms-aZ-1yqux.js +1 -0
  308. package/dist/interface/assets/rooms-aZ-1yqux.js.br +0 -0
  309. package/dist/interface/assets/rooms-aZ-1yqux.js.gz +0 -0
  310. package/dist/interface/assets/sensorIcons-B2n8mSA1.js +1 -0
  311. package/dist/interface/assets/sensorIcons-B2n8mSA1.js.br +0 -0
  312. package/dist/interface/assets/sensorIcons-B2n8mSA1.js.gz +0 -0
  313. package/dist/interface/assets/sensors-WvDabknx.js +1 -0
  314. package/dist/interface/assets/sensors-WvDabknx.js.br +0 -0
  315. package/dist/interface/assets/sensors-WvDabknx.js.gz +0 -0
  316. package/dist/interface/assets/server-CS00Piad.js +1 -0
  317. package/dist/interface/assets/server-CS00Piad.js.br +0 -0
  318. package/dist/interface/assets/server-CS00Piad.js.gz +0 -0
  319. package/dist/interface/assets/theme-Pa8YlYGw.js +1 -0
  320. package/dist/interface/assets/theme-Pa8YlYGw.js.br +0 -0
  321. package/dist/interface/assets/theme-Pa8YlYGw.js.gz +0 -0
  322. package/dist/interface/assets/types-CVAA-zJR.js +1 -0
  323. package/dist/interface/assets/types-CVAA-zJR.js.br +0 -0
  324. package/dist/interface/assets/types-CVAA-zJR.js.gz +0 -0
  325. package/dist/interface/assets/updates-B_2JKJzB.js +2 -0
  326. package/dist/interface/assets/updates-B_2JKJzB.js.br +0 -0
  327. package/dist/interface/assets/updates-B_2JKJzB.js.gz +0 -0
  328. package/dist/interface/assets/useAppVersion-CuEpmZ_O.js +1 -0
  329. package/dist/interface/assets/useAppVersion-CuEpmZ_O.js.br +0 -0
  330. package/dist/interface/assets/useAppVersion-CuEpmZ_O.js.gz +0 -0
  331. package/dist/interface/assets/useCameraOptions-CRwLXMIc.js +1 -0
  332. package/dist/interface/assets/useCameraOptions-CRwLXMIc.js.br +0 -0
  333. package/dist/interface/assets/useCameraOptions-CRwLXMIc.js.gz +0 -0
  334. package/dist/interface/assets/useKeyboardInset-e2TuYFch.js +1 -0
  335. package/dist/interface/assets/useKeyboardInset-e2TuYFch.js.br +0 -0
  336. package/dist/interface/assets/useKeyboardInset-e2TuYFch.js.gz +0 -0
  337. package/dist/interface/assets/useLogsSocket-DApiCIRx.js +1 -0
  338. package/dist/interface/assets/useLogsSocket-DApiCIRx.js.br +0 -0
  339. package/dist/interface/assets/useLogsSocket-DApiCIRx.js.gz +0 -0
  340. package/dist/interface/assets/useNavLayout-DDcpWBKr.js +1 -0
  341. package/dist/interface/assets/useNavLayout-DDcpWBKr.js.br +0 -0
  342. package/dist/interface/assets/useNavLayout-DDcpWBKr.js.gz +0 -0
  343. package/dist/interface/assets/usePlacementLabel-CeAIoypC.js +1 -0
  344. package/dist/interface/assets/usePlacementLabel-CeAIoypC.js.br +4 -0
  345. package/dist/interface/assets/usePlacementLabel-CeAIoypC.js.gz +0 -0
  346. package/dist/interface/assets/usePlacementSocket-BdUxTN8u.js +1 -0
  347. package/dist/interface/assets/usePlacementSocket-BdUxTN8u.js.br +0 -0
  348. package/dist/interface/assets/usePlacementSocket-BdUxTN8u.js.gz +0 -0
  349. package/dist/interface/assets/usePluginUpdates-CzJHo-c7.js +1 -0
  350. package/dist/interface/assets/usePluginUpdates-CzJHo-c7.js.br +0 -0
  351. package/dist/interface/assets/usePluginUpdates-CzJHo-c7.js.gz +0 -0
  352. package/dist/interface/assets/usePluginsSocket-ClsgHCK0.js +1 -0
  353. package/dist/interface/assets/usePluginsSocket-ClsgHCK0.js.br +0 -0
  354. package/dist/interface/assets/usePluginsSocket-ClsgHCK0.js.gz +0 -0
  355. package/dist/interface/assets/usePushRegistration-CXChru-H.js +2 -0
  356. package/dist/interface/assets/usePushRegistration-CXChru-H.js.br +0 -0
  357. package/dist/interface/assets/usePushRegistration-CXChru-H.js.gz +0 -0
  358. package/dist/interface/assets/useServerRestart-CjwXpwtq.js +1 -0
  359. package/dist/interface/assets/useServerRestart-CjwXpwtq.js.br +0 -0
  360. package/dist/interface/assets/useServerRestart-CjwXpwtq.js.gz +0 -0
  361. package/dist/interface/assets/useTabSwipe-D7mGV0pr.js +1 -0
  362. package/dist/interface/assets/useTabSwipe-D7mGV0pr.js.br +0 -0
  363. package/dist/interface/assets/useTabSwipe-D7mGV0pr.js.gz +0 -0
  364. package/dist/interface/assets/useUpdateChannel-Ba1im3eb.js +1 -0
  365. package/dist/interface/assets/useUpdateChannel-Ba1im3eb.js.br +0 -0
  366. package/dist/interface/assets/useUpdateChannel-Ba1im3eb.js.gz +0 -0
  367. package/dist/interface/assets/useUpdatesSocket-D37pbc6H.js +1 -0
  368. package/dist/interface/assets/useUpdatesSocket-D37pbc6H.js.br +0 -0
  369. package/dist/interface/assets/useUpdatesSocket-D37pbc6H.js.gz +0 -0
  370. package/dist/interface/assets/useUserOptions-CDYyeM93.js +1 -0
  371. package/dist/interface/assets/useUserOptions-CDYyeM93.js.br +0 -0
  372. package/dist/interface/assets/useUserOptions-CDYyeM93.js.gz +0 -0
  373. package/dist/interface/ha/404-BywY4Jvr.js +60 -0
  374. package/dist/interface/ha/404-BywY4Jvr.js.br +0 -0
  375. package/dist/interface/ha/404-BywY4Jvr.js.gz +0 -0
  376. package/dist/interface/ha/About-8PFRh-Sf.js +55 -0
  377. package/dist/interface/ha/About-8PFRh-Sf.js.br +0 -0
  378. package/dist/interface/ha/About-8PFRh-Sf.js.gz +0 -0
  379. package/dist/interface/ha/Assistant-C77OjjFX.js +11071 -0
  380. package/dist/interface/ha/Assistant-C77OjjFX.js.br +0 -0
  381. package/dist/interface/ha/Assistant-C77OjjFX.js.gz +0 -0
  382. package/dist/interface/ha/Automation-BJMHiGPH.js +2009 -0
  383. package/dist/interface/ha/Automation-BJMHiGPH.js.br +0 -0
  384. package/dist/interface/ha/Automation-BJMHiGPH.js.gz +0 -0
  385. package/dist/interface/ha/AutomationImport-BHuK66Kc.js +206 -0
  386. package/dist/interface/ha/AutomationImport-BHuK66Kc.js.br +0 -0
  387. package/dist/interface/ha/AutomationImport-BHuK66Kc.js.gz +0 -0
  388. package/dist/interface/ha/AutomationStore-CGod8A1N.js +336 -0
  389. package/dist/interface/ha/AutomationStore-CGod8A1N.js.br +0 -0
  390. package/dist/interface/ha/AutomationStore-CGod8A1N.js.gz +0 -0
  391. package/dist/interface/ha/AutomationStoreDetail-6I678hDH.js +121 -0
  392. package/dist/interface/ha/AutomationStoreDetail-6I678hDH.js.br +0 -0
  393. package/dist/interface/ha/AutomationStoreDetail-6I678hDH.js.gz +0 -0
  394. package/dist/interface/ha/Automations-9ppBO6CN.js +423 -0
  395. package/dist/interface/ha/Automations-9ppBO6CN.js.br +0 -0
  396. package/dist/interface/ha/Automations-9ppBO6CN.js.gz +0 -0
  397. package/dist/interface/ha/Camera-DjAyDYgY.js +740 -0
  398. package/dist/interface/ha/Camera-DjAyDYgY.js.br +0 -0
  399. package/dist/interface/ha/Camera-DjAyDYgY.js.gz +0 -0
  400. package/dist/interface/ha/CameraConsole-BM5rWzey.js +52 -0
  401. package/dist/interface/ha/CameraConsole-BM5rWzey.js.br +0 -0
  402. package/dist/interface/ha/CameraConsole-BM5rWzey.js.gz +0 -0
  403. package/dist/interface/ha/Cameras-CBRTfWbL.js +1934 -0
  404. package/dist/interface/ha/Cameras-CBRTfWbL.js.br +0 -0
  405. package/dist/interface/ha/Cameras-CBRTfWbL.js.gz +0 -0
  406. package/dist/interface/ha/Camview-B5cIFdGC.js +1368 -0
  407. package/dist/interface/ha/Camview-B5cIFdGC.js.br +0 -0
  408. package/dist/interface/ha/Camview-B5cIFdGC.js.gz +0 -0
  409. package/dist/interface/ha/Config-DhSdVsF7.js +354 -0
  410. package/dist/interface/ha/Config-DhSdVsF7.js.br +0 -0
  411. package/dist/interface/ha/Config-DhSdVsF7.js.gz +0 -0
  412. package/dist/interface/ha/ConfigActionAssistant-Bw4vlUC0.js +182 -0
  413. package/dist/interface/ha/ConfigActionAssistant-Bw4vlUC0.js.br +0 -0
  414. package/dist/interface/ha/ConfigActionAssistant-Bw4vlUC0.js.gz +0 -0
  415. package/dist/interface/ha/ConfigActionCameraControl-RrZvG6KM.js +152 -0
  416. package/dist/interface/ha/ConfigActionCameraControl-RrZvG6KM.js.br +0 -0
  417. package/dist/interface/ha/ConfigActionCameraControl-RrZvG6KM.js.gz +0 -0
  418. package/dist/interface/ha/ConfigActionHttp-CEiCUR_V.js +134 -0
  419. package/dist/interface/ha/ConfigActionHttp-CEiCUR_V.js.br +0 -0
  420. package/dist/interface/ha/ConfigActionHttp-CEiCUR_V.js.gz +0 -0
  421. package/dist/interface/ha/ConfigActionImageInput-BO0wSY56.js +170 -0
  422. package/dist/interface/ha/ConfigActionImageInput-BO0wSY56.js.br +0 -0
  423. package/dist/interface/ha/ConfigActionImageInput-BO0wSY56.js.gz +0 -0
  424. package/dist/interface/ha/ConfigActionMqtt-CCtnhVk9.js +78 -0
  425. package/dist/interface/ha/ConfigActionMqtt-CCtnhVk9.js.br +0 -0
  426. package/dist/interface/ha/ConfigActionMqtt-CCtnhVk9.js.gz +0 -0
  427. package/dist/interface/ha/ConfigActionNotification-70DQpmHo.js +198 -0
  428. package/dist/interface/ha/ConfigActionNotification-70DQpmHo.js.br +0 -0
  429. package/dist/interface/ha/ConfigActionNotification-70DQpmHo.js.gz +0 -0
  430. package/dist/interface/ha/ConfigActionNotificationControl-DK-3aXGI.js +111 -0
  431. package/dist/interface/ha/ConfigActionNotificationControl-DK-3aXGI.js.br +0 -0
  432. package/dist/interface/ha/ConfigActionNotificationControl-DK-3aXGI.js.gz +0 -0
  433. package/dist/interface/ha/ConfigActionOutput-B0ib6a16.js +98 -0
  434. package/dist/interface/ha/ConfigActionOutput-B0ib6a16.js.br +0 -0
  435. package/dist/interface/ha/ConfigActionOutput-B0ib6a16.js.gz +0 -0
  436. package/dist/interface/ha/ConfigActionPlugin-QkF9yHeH.js +171 -0
  437. package/dist/interface/ha/ConfigActionPlugin-QkF9yHeH.js.br +0 -0
  438. package/dist/interface/ha/ConfigActionPlugin-QkF9yHeH.js.gz +0 -0
  439. package/dist/interface/ha/ConfigActionSensor-CE1DOevQ.js +138 -0
  440. package/dist/interface/ha/ConfigActionSensor-CE1DOevQ.js.br +0 -0
  441. package/dist/interface/ha/ConfigActionSensor-CE1DOevQ.js.gz +0 -0
  442. package/dist/interface/ha/ConfigActionSnapshot-B7dlBztR.js +45 -0
  443. package/dist/interface/ha/ConfigActionSnapshot-B7dlBztR.js.br +0 -0
  444. package/dist/interface/ha/ConfigActionSnapshot-B7dlBztR.js.gz +0 -0
  445. package/dist/interface/ha/ConfigActionVariable-DErggfIp.js +88 -0
  446. package/dist/interface/ha/ConfigActionVariable-DErggfIp.js.br +0 -0
  447. package/dist/interface/ha/ConfigActionVariable-DErggfIp.js.gz +0 -0
  448. package/dist/interface/ha/ConfigConditionIfElse-BIeovH2W.js +124 -0
  449. package/dist/interface/ha/ConfigConditionIfElse-BIeovH2W.js.br +0 -0
  450. package/dist/interface/ha/ConfigConditionIfElse-BIeovH2W.js.gz +0 -0
  451. package/dist/interface/ha/ConfigConditionSensorState-CJpeowpG.js +190 -0
  452. package/dist/interface/ha/ConfigConditionSensorState-CJpeowpG.js.br +0 -0
  453. package/dist/interface/ha/ConfigConditionSensorState-CJpeowpG.js.gz +0 -0
  454. package/dist/interface/ha/ConfigConditionSwitch-CBbPCmwW.js +128 -0
  455. package/dist/interface/ha/ConfigConditionSwitch-CBbPCmwW.js.br +0 -0
  456. package/dist/interface/ha/ConfigConditionSwitch-CBbPCmwW.js.gz +0 -0
  457. package/dist/interface/ha/ConfigSensorValueInput-DQ34op2F.js +173 -0
  458. package/dist/interface/ha/ConfigSensorValueInput-DQ34op2F.js.br +0 -0
  459. package/dist/interface/ha/ConfigSensorValueInput-DQ34op2F.js.gz +0 -0
  460. package/dist/interface/ha/ConfigTriggerDetection-DRKhDMwq.js +241 -0
  461. package/dist/interface/ha/ConfigTriggerDetection-DRKhDMwq.js.br +0 -0
  462. package/dist/interface/ha/ConfigTriggerDetection-DRKhDMwq.js.gz +0 -0
  463. package/dist/interface/ha/ConfigTriggerGeofence-qIlay2IL.js +4836 -0
  464. package/dist/interface/ha/ConfigTriggerGeofence-qIlay2IL.js.br +0 -0
  465. package/dist/interface/ha/ConfigTriggerGeofence-qIlay2IL.js.gz +0 -0
  466. package/dist/interface/ha/ConfigTriggerMqtt-v4qtTZky.js +134 -0
  467. package/dist/interface/ha/ConfigTriggerMqtt-v4qtTZky.js.br +0 -0
  468. package/dist/interface/ha/ConfigTriggerMqtt-v4qtTZky.js.gz +0 -0
  469. package/dist/interface/ha/ConfigTriggerSensor-D41IjJmD.js +73 -0
  470. package/dist/interface/ha/ConfigTriggerSensor-D41IjJmD.js.br +0 -0
  471. package/dist/interface/ha/ConfigTriggerSensor-D41IjJmD.js.gz +0 -0
  472. package/dist/interface/ha/ConfigTriggerSystem-r8UntVtC.js +192 -0
  473. package/dist/interface/ha/ConfigTriggerSystem-r8UntVtC.js.br +0 -0
  474. package/dist/interface/ha/ConfigTriggerSystem-r8UntVtC.js.gz +0 -0
  475. package/dist/interface/ha/ConfigTriggerWebhook-BdB-5oa1.js +94 -0
  476. package/dist/interface/ha/ConfigTriggerWebhook-BdB-5oa1.js.br +0 -0
  477. package/dist/interface/ha/ConfigTriggerWebhook-BdB-5oa1.js.gz +0 -0
  478. package/dist/interface/ha/Console--T_nKTS8.js +347 -0
  479. package/dist/interface/ha/Console--T_nKTS8.js.br +0 -0
  480. package/dist/interface/ha/Console--T_nKTS8.js.gz +0 -0
  481. package/dist/interface/ha/CuiAutomationRunsDialog-Cf606jHZ.js +129 -0
  482. package/dist/interface/ha/CuiAutomationRunsDialog-Cf606jHZ.js.br +0 -0
  483. package/dist/interface/ha/CuiAutomationRunsDialog-Cf606jHZ.js.gz +0 -0
  484. package/dist/interface/ha/CuiBottomSheet-CJEhDFzJ.js +270 -0
  485. package/dist/interface/ha/CuiBottomSheet-CJEhDFzJ.js.br +0 -0
  486. package/dist/interface/ha/CuiBottomSheet-CJEhDFzJ.js.gz +0 -0
  487. package/dist/interface/ha/CuiCameraRecordings-CrmTwIX1.js +575 -0
  488. package/dist/interface/ha/CuiCameraRecordings-CrmTwIX1.js.br +0 -0
  489. package/dist/interface/ha/CuiCameraRecordings-CrmTwIX1.js.gz +0 -0
  490. package/dist/interface/ha/CuiCameraShares-Cr1pVgZz.js +120 -0
  491. package/dist/interface/ha/CuiCameraShares-Cr1pVgZz.js.br +0 -0
  492. package/dist/interface/ha/CuiCameraShares-Cr1pVgZz.js.gz +0 -0
  493. package/dist/interface/ha/CuiCameraTable-ZX4L7FCs.js +105 -0
  494. package/dist/interface/ha/CuiCameraTable-ZX4L7FCs.js.br +0 -0
  495. package/dist/interface/ha/CuiCameraTable-ZX4L7FCs.js.gz +0 -0
  496. package/dist/interface/ha/CuiChartTable-BW62b9Qq.js +6797 -0
  497. package/dist/interface/ha/CuiChartTable-BW62b9Qq.js.br +0 -0
  498. package/dist/interface/ha/CuiChartTable-BW62b9Qq.js.gz +0 -0
  499. package/dist/interface/ha/CuiConsole-DiwBwttJ.js +234 -0
  500. package/dist/interface/ha/CuiConsole-DiwBwttJ.js.br +0 -0
  501. package/dist/interface/ha/CuiConsole-DiwBwttJ.js.gz +0 -0
  502. package/dist/interface/ha/CuiDataTable-CV5ePNzg.js +8860 -0
  503. package/dist/interface/ha/CuiDataTable-CV5ePNzg.js.br +0 -0
  504. package/dist/interface/ha/CuiDataTable-CV5ePNzg.js.gz +0 -0
  505. package/dist/interface/ha/CuiMoveCodeForm-BWx1Cq-F.js +89 -0
  506. package/dist/interface/ha/CuiMoveCodeForm-BWx1Cq-F.js.br +0 -0
  507. package/dist/interface/ha/CuiMoveCodeForm-BWx1Cq-F.js.gz +0 -0
  508. package/dist/interface/ha/CuiPluginCard-BGDlbiOg.js +778 -0
  509. package/dist/interface/ha/CuiPluginCard-BGDlbiOg.js.br +0 -0
  510. package/dist/interface/ha/CuiPluginCard-BGDlbiOg.js.gz +0 -0
  511. package/dist/interface/ha/CuiPluginOAuthButton-BIHbzHVh.js +74 -0
  512. package/dist/interface/ha/CuiPluginOAuthButton-BIHbzHVh.js.br +0 -0
  513. package/dist/interface/ha/CuiPluginOAuthButton-BIHbzHVh.js.gz +0 -0
  514. package/dist/interface/ha/CuiPluginTrustBadge-zofcBVHD.js +122 -0
  515. package/dist/interface/ha/CuiPluginTrustBadge-zofcBVHD.js.br +0 -0
  516. package/dist/interface/ha/CuiPluginTrustBadge-zofcBVHD.js.gz +0 -0
  517. package/dist/interface/ha/CuiQRCode-Ci5CO-6f.js +86 -0
  518. package/dist/interface/ha/CuiQRCode-Ci5CO-6f.js.br +0 -0
  519. package/dist/interface/ha/CuiQRCode-Ci5CO-6f.js.gz +0 -0
  520. package/dist/interface/ha/CuiSchema-2zcLy55L.js +952 -0
  521. package/dist/interface/ha/CuiSchema-2zcLy55L.js.br +0 -0
  522. package/dist/interface/ha/CuiSchema-2zcLy55L.js.gz +0 -0
  523. package/dist/interface/ha/CuiTopNavbarItem-B0732iHw.js +141 -0
  524. package/dist/interface/ha/CuiTopNavbarItem-B0732iHw.js.br +0 -0
  525. package/dist/interface/ha/CuiTopNavbarItem-B0732iHw.js.gz +0 -0
  526. package/dist/interface/ha/Faces-B4aKBeyA.js +1659 -0
  527. package/dist/interface/ha/Faces-B4aKBeyA.js.br +0 -0
  528. package/dist/interface/ha/Faces-B4aKBeyA.js.gz +0 -0
  529. package/dist/interface/ha/FirstSteps-Ctp9YBZ6.js +254 -0
  530. package/dist/interface/ha/FirstSteps-Ctp9YBZ6.js.br +0 -0
  531. package/dist/interface/ha/FirstSteps-Ctp9YBZ6.js.gz +0 -0
  532. package/dist/interface/ha/Floorplan-CXzOZKsI.js +3707 -0
  533. package/dist/interface/ha/Floorplan-CXzOZKsI.js.br +0 -0
  534. package/dist/interface/ha/Floorplan-CXzOZKsI.js.gz +0 -0
  535. package/dist/interface/ha/Instances-CNsMxi15.js +670 -0
  536. package/dist/interface/ha/Instances-CNsMxi15.js.br +0 -0
  537. package/dist/interface/ha/Instances-CNsMxi15.js.gz +0 -0
  538. package/dist/interface/ha/Logs-EnUf7xcF.js +417 -0
  539. package/dist/interface/ha/Logs-EnUf7xcF.js.br +0 -0
  540. package/dist/interface/ha/Logs-EnUf7xcF.js.gz +0 -0
  541. package/dist/interface/ha/Menu-DuJ0iKHi.js +159 -0
  542. package/dist/interface/ha/Menu-DuJ0iKHi.js.br +0 -0
  543. package/dist/interface/ha/Menu-DuJ0iKHi.js.gz +0 -0
  544. package/dist/interface/ha/Metrics-CSnvk_qW.js +1484 -0
  545. package/dist/interface/ha/Metrics-CSnvk_qW.js.br +0 -0
  546. package/dist/interface/ha/Metrics-CSnvk_qW.js.gz +0 -0
  547. package/dist/interface/ha/OAuthDeviceFlow-JM34RDhw.js +112 -0
  548. package/dist/interface/ha/OAuthDeviceFlow-JM34RDhw.js.br +0 -0
  549. package/dist/interface/ha/OAuthDeviceFlow-JM34RDhw.js.gz +0 -0
  550. package/dist/interface/ha/Plugin-BIkF3weH.js +1746 -0
  551. package/dist/interface/ha/Plugin-BIkF3weH.js.br +0 -0
  552. package/dist/interface/ha/Plugin-BIkF3weH.js.gz +0 -0
  553. package/dist/interface/ha/PluginConsole-DPO3htV-.js +56 -0
  554. package/dist/interface/ha/PluginConsole-DPO3htV-.js.br +0 -0
  555. package/dist/interface/ha/PluginConsole-DPO3htV-.js.gz +0 -0
  556. package/dist/interface/ha/PluginDetail-Cud7M8Qx.js +804 -0
  557. package/dist/interface/ha/PluginDetail-Cud7M8Qx.js.br +0 -0
  558. package/dist/interface/ha/PluginDetail-Cud7M8Qx.js.gz +0 -0
  559. package/dist/interface/ha/PluginSearch-DpbGVKcN.js +462 -0
  560. package/dist/interface/ha/PluginSearch-DpbGVKcN.js.br +0 -0
  561. package/dist/interface/ha/PluginSearch-DpbGVKcN.js.gz +0 -0
  562. package/dist/interface/ha/PluginUpdateProgress-Cm8b1STp.js +34 -0
  563. package/dist/interface/ha/PluginUpdateProgress-Cm8b1STp.js.br +0 -0
  564. package/dist/interface/ha/PluginUpdateProgress-Cm8b1STp.js.gz +0 -0
  565. package/dist/interface/ha/Plugins-BmQpdq53.js +697 -0
  566. package/dist/interface/ha/Plugins-BmQpdq53.js.br +0 -0
  567. package/dist/interface/ha/Plugins-BmQpdq53.js.gz +0 -0
  568. package/dist/interface/ha/Recordings-DiyffWNR.js +1916 -0
  569. package/dist/interface/ha/Recordings-DiyffWNR.js.br +0 -0
  570. package/dist/interface/ha/Recordings-DiyffWNR.js.gz +0 -0
  571. package/dist/interface/ha/SensorEdit-7ooblzTY.js +1466 -0
  572. package/dist/interface/ha/SensorEdit-7ooblzTY.js.br +0 -0
  573. package/dist/interface/ha/SensorEdit-7ooblzTY.js.gz +0 -0
  574. package/dist/interface/ha/SensorHistory-BL5BX7az.js +54 -0
  575. package/dist/interface/ha/SensorHistory-BL5BX7az.js.br +0 -0
  576. package/dist/interface/ha/SensorHistory-BL5BX7az.js.gz +0 -0
  577. package/dist/interface/ha/Sensors-Cx69JhE8.js +1400 -0
  578. package/dist/interface/ha/Sensors-Cx69JhE8.js.br +0 -0
  579. package/dist/interface/ha/Sensors-Cx69JhE8.js.gz +0 -0
  580. package/dist/interface/ha/Settings-BOPHH2KY.js +218 -0
  581. package/dist/interface/ha/Settings-BOPHH2KY.js.br +0 -0
  582. package/dist/interface/ha/Settings-BOPHH2KY.js.gz +0 -0
  583. package/dist/interface/ha/SettingsAccount-CtLqZVdb.js +968 -0
  584. package/dist/interface/ha/SettingsAccount-CtLqZVdb.js.br +0 -0
  585. package/dist/interface/ha/SettingsAccount-CtLqZVdb.js.gz +0 -0
  586. package/dist/interface/ha/SettingsAppearance-uDWU75lw.js +201 -0
  587. package/dist/interface/ha/SettingsAppearance-uDWU75lw.js.br +0 -0
  588. package/dist/interface/ha/SettingsAppearance-uDWU75lw.js.gz +0 -0
  589. package/dist/interface/ha/SettingsAssistant-DvvdE6OG.js +2134 -0
  590. package/dist/interface/ha/SettingsAssistant-DvvdE6OG.js.br +0 -0
  591. package/dist/interface/ha/SettingsAssistant-DvvdE6OG.js.gz +0 -0
  592. package/dist/interface/ha/SettingsBackup-BmdfMnIU.js +1047 -0
  593. package/dist/interface/ha/SettingsBackup-BmdfMnIU.js.br +0 -0
  594. package/dist/interface/ha/SettingsBackup-BmdfMnIU.js.gz +0 -0
  595. package/dist/interface/ha/SettingsList-Da4qc9Bj.js +40 -0
  596. package/dist/interface/ha/SettingsList-Da4qc9Bj.js.br +0 -0
  597. package/dist/interface/ha/SettingsList-Da4qc9Bj.js.gz +0 -0
  598. package/dist/interface/ha/SettingsMqtt-CxvlT_-F.js +512 -0
  599. package/dist/interface/ha/SettingsMqtt-CxvlT_-F.js.br +0 -0
  600. package/dist/interface/ha/SettingsMqtt-CxvlT_-F.js.gz +0 -0
  601. package/dist/interface/ha/SettingsNotifications-e7seCZzS.js +514 -0
  602. package/dist/interface/ha/SettingsNotifications-e7seCZzS.js.br +0 -0
  603. package/dist/interface/ha/SettingsNotifications-e7seCZzS.js.gz +0 -0
  604. package/dist/interface/ha/SettingsRecordings-DsbNW8h3.js +152 -0
  605. package/dist/interface/ha/SettingsRecordings-DsbNW8h3.js.br +0 -0
  606. package/dist/interface/ha/SettingsRecordings-DsbNW8h3.js.gz +0 -0
  607. package/dist/interface/ha/SettingsRemote-BhOZCRFm.js +1523 -0
  608. package/dist/interface/ha/SettingsRemote-BhOZCRFm.js.br +0 -0
  609. package/dist/interface/ha/SettingsRemote-BhOZCRFm.js.gz +0 -0
  610. package/dist/interface/ha/SettingsSystem-BTjdaej-.js +382 -0
  611. package/dist/interface/ha/SettingsSystem-BTjdaej-.js.br +0 -0
  612. package/dist/interface/ha/SettingsSystem-BTjdaej-.js.gz +0 -0
  613. package/dist/interface/ha/SettingsUsers-66Bn-ZuP.js +370 -0
  614. package/dist/interface/ha/SettingsUsers-66Bn-ZuP.js.br +0 -0
  615. package/dist/interface/ha/SettingsUsers-66Bn-ZuP.js.gz +0 -0
  616. package/dist/interface/ha/Terminal-Gb4DqytJ.js +611 -0
  617. package/dist/interface/ha/Terminal-Gb4DqytJ.js.br +0 -0
  618. package/dist/interface/ha/Terminal-Gb4DqytJ.js.gz +0 -0
  619. package/dist/interface/ha/Training-B0_5KTik.js +1829 -0
  620. package/dist/interface/ha/Training-B0_5KTik.js.br +0 -0
  621. package/dist/interface/ha/Training-B0_5KTik.js.gz +0 -0
  622. package/dist/interface/ha/Updates-BChc7gSL.js +357 -0
  623. package/dist/interface/ha/Updates-BChc7gSL.js.br +0 -0
  624. package/dist/interface/ha/Updates-BChc7gSL.js.gz +0 -0
  625. package/dist/interface/ha/VariableInput-CF0npLOt.js +52 -0
  626. package/dist/interface/ha/VariableInput-CF0npLOt.js.br +2 -0
  627. package/dist/interface/ha/VariableInput-CF0npLOt.js.gz +0 -0
  628. package/dist/interface/ha/VersionsHandler-DpFooo74.js +221 -0
  629. package/dist/interface/ha/VersionsHandler-DpFooo74.js.br +0 -0
  630. package/dist/interface/ha/VersionsHandler-DpFooo74.js.gz +0 -0
  631. package/dist/interface/ha/VirtualSensorCreate-cGwMMnUa.js +102 -0
  632. package/dist/interface/ha/VirtualSensorCreate-cGwMMnUa.js.br +0 -0
  633. package/dist/interface/ha/VirtualSensorCreate-cGwMMnUa.js.gz +0 -0
  634. package/dist/interface/ha/Workers-0BvEZt5t.js +1270 -0
  635. package/dist/interface/ha/Workers-0BvEZt5t.js.br +0 -0
  636. package/dist/interface/ha/Workers-0BvEZt5t.js.gz +0 -0
  637. package/dist/interface/ha/api-BCqn9EdE.js +69075 -0
  638. package/dist/interface/ha/api-BCqn9EdE.js.br +0 -0
  639. package/dist/interface/ha/api-BCqn9EdE.js.gz +0 -0
  640. package/dist/interface/ha/api-BysLRFXx.js +29 -0
  641. package/dist/interface/ha/api-BysLRFXx.js.br +0 -0
  642. package/dist/interface/ha/api-BysLRFXx.js.gz +0 -0
  643. package/dist/interface/ha/assistant-A23QDBcR.js +349 -0
  644. package/dist/interface/ha/assistant-A23QDBcR.js.br +0 -0
  645. package/dist/interface/ha/assistant-A23QDBcR.js.gz +0 -0
  646. package/dist/interface/ha/auth-DhFoGtmO.js +271 -0
  647. package/dist/interface/ha/auth-DhFoGtmO.js.br +0 -0
  648. package/dist/interface/ha/auth-DhFoGtmO.js.gz +0 -0
  649. package/dist/interface/ha/automationBlueprint-DBXBbXBW.js +250 -0
  650. package/dist/interface/ha/automationBlueprint-DBXBbXBW.js.br +0 -0
  651. package/dist/interface/ha/automationBlueprint-DBXBbXBW.js.gz +0 -0
  652. package/dist/interface/ha/cameraui-cards.js +2 -2
  653. package/dist/interface/ha/cards-CHOFxf6N.js +13296 -0
  654. package/dist/interface/ha/cards-CHOFxf6N.js.br +0 -0
  655. package/dist/interface/ha/cards-CHOFxf6N.js.gz +0 -0
  656. package/dist/interface/ha/config-CMdrWwWe.js +116 -0
  657. package/dist/interface/ha/config-CMdrWwWe.js.br +0 -0
  658. package/dist/interface/ha/config-CMdrWwWe.js.gz +0 -0
  659. package/dist/interface/ha/mqtt-mSBMQfvC.js +56 -0
  660. package/dist/interface/ha/mqtt-mSBMQfvC.js.br +0 -0
  661. package/dist/interface/ha/mqtt-mSBMQfvC.js.gz +0 -0
  662. package/dist/interface/ha/notifications-Dm7vixDw.js +159 -0
  663. package/dist/interface/ha/notifications-Dm7vixDw.js.br +0 -0
  664. package/dist/interface/ha/notifications-Dm7vixDw.js.gz +0 -0
  665. package/dist/interface/ha/plugins-kJK_P4Pe.js +592 -0
  666. package/dist/interface/ha/plugins-kJK_P4Pe.js.br +0 -0
  667. package/dist/interface/ha/plugins-kJK_P4Pe.js.gz +0 -0
  668. package/dist/interface/ha/rooms-Bgn_uCWa.js +45 -0
  669. package/dist/interface/ha/rooms-Bgn_uCWa.js.br +0 -0
  670. package/dist/interface/ha/rooms-Bgn_uCWa.js.gz +0 -0
  671. package/dist/interface/ha/server-6F-1q6ok.js +244 -0
  672. package/dist/interface/ha/server-6F-1q6ok.js.br +0 -0
  673. package/dist/interface/ha/server-6F-1q6ok.js.gz +0 -0
  674. package/dist/interface/ha/speeddial-C2PO8aXW.js +941 -0
  675. package/dist/interface/ha/speeddial-C2PO8aXW.js.br +0 -0
  676. package/dist/interface/ha/speeddial-C2PO8aXW.js.gz +0 -0
  677. package/dist/interface/ha/types-DcpmATCY.js +1073 -0
  678. package/dist/interface/ha/types-DcpmATCY.js.br +0 -0
  679. package/dist/interface/ha/types-DcpmATCY.js.gz +0 -0
  680. package/dist/interface/ha/updates-D7suFAEb.js +414 -0
  681. package/dist/interface/ha/updates-D7suFAEb.js.br +0 -0
  682. package/dist/interface/ha/updates-D7suFAEb.js.gz +0 -0
  683. package/dist/interface/ha/useAppVersion-BOHQPGyU.js +22 -0
  684. package/dist/interface/ha/useAppVersion-BOHQPGyU.js.br +0 -0
  685. package/dist/interface/ha/useAppVersion-BOHQPGyU.js.gz +0 -0
  686. package/dist/interface/ha/useKeyboardInset-DqEXi6cU.js +27 -0
  687. package/dist/interface/ha/useKeyboardInset-DqEXi6cU.js.br +0 -0
  688. package/dist/interface/ha/useKeyboardInset-DqEXi6cU.js.gz +0 -0
  689. package/dist/interface/ha/useLogsSocket-BYndIF9P.js +74 -0
  690. package/dist/interface/ha/useLogsSocket-BYndIF9P.js.br +0 -0
  691. package/dist/interface/ha/useLogsSocket-BYndIF9P.js.gz +0 -0
  692. package/dist/interface/ha/useNavLayout-C6BUwrGr.js +125 -0
  693. package/dist/interface/ha/useNavLayout-C6BUwrGr.js.br +0 -0
  694. package/dist/interface/ha/useNavLayout-C6BUwrGr.js.gz +0 -0
  695. package/dist/interface/ha/usePlacementLabel-3Zm9fB6D.js +49 -0
  696. package/dist/interface/ha/usePlacementLabel-3Zm9fB6D.js.br +0 -0
  697. package/dist/interface/ha/usePlacementLabel-3Zm9fB6D.js.gz +0 -0
  698. package/dist/interface/ha/useTabSwipe-geIocKKy.js +45 -0
  699. package/dist/interface/ha/useTabSwipe-geIocKKy.js.br +0 -0
  700. package/dist/interface/ha/useTabSwipe-geIocKKy.js.gz +0 -0
  701. package/dist/interface/ha/useUpdateChannel-Czo47qYZ.js +22 -0
  702. package/dist/interface/ha/useUpdateChannel-Czo47qYZ.js.br +0 -0
  703. package/dist/interface/ha/useUpdateChannel-Czo47qYZ.js.gz +0 -0
  704. package/dist/interface/ha/useUpdatesSocket-JwSk5MXu.js +34 -0
  705. package/dist/interface/ha/useUpdatesSocket-JwSk5MXu.js.br +0 -0
  706. package/dist/interface/ha/useUpdatesSocket-JwSk5MXu.js.gz +0 -0
  707. package/dist/interface/ha/useUserOptions-BVYgtZEC.js +15 -0
  708. package/dist/interface/ha/useUserOptions-BVYgtZEC.js.br +0 -0
  709. package/dist/interface/ha/useUserOptions-BVYgtZEC.js.gz +0 -0
  710. package/dist/interface/index.html +22 -22
  711. package/dist/interface/sw.js +1 -1
  712. package/dist/server/assets/docs.json +1 -1
  713. package/dist/server/package.json +3 -3
  714. package/dist/server/requirements.txt +1 -1
  715. package/npm-shrinkwrap.json +53 -53
  716. package/package.json +3 -3
  717. package/dist/interface/assets/404-BMj79XjT.js +0 -1
  718. package/dist/interface/assets/404-BMj79XjT.js.br +0 -0
  719. package/dist/interface/assets/404-BMj79XjT.js.gz +0 -0
  720. package/dist/interface/assets/About-GuOorOsw.js +0 -1
  721. package/dist/interface/assets/About-GuOorOsw.js.br +0 -5
  722. package/dist/interface/assets/About-GuOorOsw.js.gz +0 -0
  723. package/dist/interface/assets/Assistant-BCmv7r12.js +0 -1
  724. package/dist/interface/assets/Assistant-BCmv7r12.js.br +0 -0
  725. package/dist/interface/assets/Assistant-BCmv7r12.js.gz +0 -0
  726. package/dist/interface/assets/Automation-DiCBllSc.js +0 -3
  727. package/dist/interface/assets/Automation-DiCBllSc.js.br +0 -0
  728. package/dist/interface/assets/Automation-DiCBllSc.js.gz +0 -0
  729. package/dist/interface/assets/AutomationImport-DxbW0MBD.js +0 -2
  730. package/dist/interface/assets/AutomationImport-DxbW0MBD.js.br +0 -0
  731. package/dist/interface/assets/AutomationImport-DxbW0MBD.js.gz +0 -0
  732. package/dist/interface/assets/AutomationStore-D2xJRXIr.js +0 -2
  733. package/dist/interface/assets/AutomationStore-D2xJRXIr.js.br +0 -0
  734. package/dist/interface/assets/AutomationStore-D2xJRXIr.js.gz +0 -0
  735. package/dist/interface/assets/AutomationStoreDetail-6UfqyhXv.js +0 -2
  736. package/dist/interface/assets/AutomationStoreDetail-6UfqyhXv.js.br +0 -0
  737. package/dist/interface/assets/AutomationStoreDetail-6UfqyhXv.js.gz +0 -0
  738. package/dist/interface/assets/Automations-B5D6uMR9.js +0 -2
  739. package/dist/interface/assets/Automations-B5D6uMR9.js.br +0 -0
  740. package/dist/interface/assets/Automations-B5D6uMR9.js.gz +0 -0
  741. package/dist/interface/assets/BackupRestore-CWYSA-p9.js +0 -1
  742. package/dist/interface/assets/BackupRestore-CWYSA-p9.js.br +0 -0
  743. package/dist/interface/assets/BackupRestore-CWYSA-p9.js.gz +0 -0
  744. package/dist/interface/assets/Camera-nAhvtDPM.js +0 -2
  745. package/dist/interface/assets/Camera-nAhvtDPM.js.br +0 -0
  746. package/dist/interface/assets/Camera-nAhvtDPM.js.gz +0 -0
  747. package/dist/interface/assets/CameraConsole-BubkOXIn.js +0 -7
  748. package/dist/interface/assets/CameraConsole-BubkOXIn.js.br +0 -0
  749. package/dist/interface/assets/CameraConsole-BubkOXIn.js.gz +0 -0
  750. package/dist/interface/assets/Cameras-_za6U1fG.js +0 -651
  751. package/dist/interface/assets/Cameras-_za6U1fG.js.br +0 -0
  752. package/dist/interface/assets/Cameras-_za6U1fG.js.gz +0 -0
  753. package/dist/interface/assets/Camview-Dz37ulQ3.js +0 -1
  754. package/dist/interface/assets/Camview-Dz37ulQ3.js.br +0 -0
  755. package/dist/interface/assets/Camview-Dz37ulQ3.js.gz +0 -0
  756. package/dist/interface/assets/Config-DJjqahmx.js +0 -2
  757. package/dist/interface/assets/Config-DJjqahmx.js.br +0 -0
  758. package/dist/interface/assets/Config-DJjqahmx.js.gz +0 -0
  759. package/dist/interface/assets/ConfigActionAssistant-DKrLo3aR.js +0 -1
  760. package/dist/interface/assets/ConfigActionAssistant-DKrLo3aR.js.br +0 -0
  761. package/dist/interface/assets/ConfigActionAssistant-DKrLo3aR.js.gz +0 -0
  762. package/dist/interface/assets/ConfigActionCameraControl-DQJouc3y.js +0 -1
  763. package/dist/interface/assets/ConfigActionCameraControl-DQJouc3y.js.br +0 -0
  764. package/dist/interface/assets/ConfigActionCameraControl-DQJouc3y.js.gz +0 -0
  765. package/dist/interface/assets/ConfigActionMqtt-nS3RS1Gk.js +0 -1
  766. package/dist/interface/assets/ConfigActionMqtt-nS3RS1Gk.js.br +0 -0
  767. package/dist/interface/assets/ConfigActionMqtt-nS3RS1Gk.js.gz +0 -0
  768. package/dist/interface/assets/ConfigActionNotification-CKHAbwQC.js +0 -1
  769. package/dist/interface/assets/ConfigActionNotification-CKHAbwQC.js.br +0 -0
  770. package/dist/interface/assets/ConfigActionNotification-CKHAbwQC.js.gz +0 -0
  771. package/dist/interface/assets/ConfigActionNotificationControl-BnSGHsU1.js +0 -1
  772. package/dist/interface/assets/ConfigActionNotificationControl-BnSGHsU1.js.br +0 -0
  773. package/dist/interface/assets/ConfigActionNotificationControl-BnSGHsU1.js.gz +0 -0
  774. package/dist/interface/assets/ConfigActionPlugin-bh6rI0um.js +0 -1
  775. package/dist/interface/assets/ConfigActionPlugin-bh6rI0um.js.br +0 -0
  776. package/dist/interface/assets/ConfigActionPlugin-bh6rI0um.js.gz +0 -0
  777. package/dist/interface/assets/ConfigActionSensor-O4MJd0M1.js +0 -1
  778. package/dist/interface/assets/ConfigActionSensor-O4MJd0M1.js.br +0 -0
  779. package/dist/interface/assets/ConfigActionSensor-O4MJd0M1.js.gz +0 -0
  780. package/dist/interface/assets/ConfigActionSnapshot-Bv1LvsN5.js +0 -1
  781. package/dist/interface/assets/ConfigActionSnapshot-Bv1LvsN5.js.br +0 -0
  782. package/dist/interface/assets/ConfigActionSnapshot-Bv1LvsN5.js.gz +0 -0
  783. package/dist/interface/assets/ConfigConditionSensorState-BvqEGzvU.js +0 -1
  784. package/dist/interface/assets/ConfigConditionSensorState-BvqEGzvU.js.br +0 -0
  785. package/dist/interface/assets/ConfigConditionSensorState-BvqEGzvU.js.gz +0 -0
  786. package/dist/interface/assets/ConfigTriggerDetection-CIiFBNYv.js +0 -1
  787. package/dist/interface/assets/ConfigTriggerDetection-CIiFBNYv.js.br +0 -0
  788. package/dist/interface/assets/ConfigTriggerDetection-CIiFBNYv.js.gz +0 -0
  789. package/dist/interface/assets/ConfigTriggerGeofence-DthsSDZs.js +0 -1
  790. package/dist/interface/assets/ConfigTriggerGeofence-DthsSDZs.js.br +0 -0
  791. package/dist/interface/assets/ConfigTriggerGeofence-DthsSDZs.js.gz +0 -0
  792. package/dist/interface/assets/ConfigTriggerMqtt-CmERgsUS.js +0 -1
  793. package/dist/interface/assets/ConfigTriggerMqtt-CmERgsUS.js.br +0 -0
  794. package/dist/interface/assets/ConfigTriggerMqtt-CmERgsUS.js.gz +0 -0
  795. package/dist/interface/assets/ConfigTriggerSensor-Cu6yNORc.js +0 -1
  796. package/dist/interface/assets/ConfigTriggerSensor-Cu6yNORc.js.br +0 -0
  797. package/dist/interface/assets/ConfigTriggerSensor-Cu6yNORc.js.gz +0 -0
  798. package/dist/interface/assets/ConfigTriggerSystem-GnAYuh6W.js +0 -1
  799. package/dist/interface/assets/ConfigTriggerSystem-GnAYuh6W.js.br +0 -0
  800. package/dist/interface/assets/ConfigTriggerSystem-GnAYuh6W.js.gz +0 -0
  801. package/dist/interface/assets/ConfigTriggerWebhook-BKLfeJO1.js +0 -1
  802. package/dist/interface/assets/ConfigTriggerWebhook-BKLfeJO1.js.br +0 -0
  803. package/dist/interface/assets/ConfigTriggerWebhook-BKLfeJO1.js.gz +0 -0
  804. package/dist/interface/assets/Console-B2LJUI0g.js +0 -1
  805. package/dist/interface/assets/Console-B2LJUI0g.js.br +0 -0
  806. package/dist/interface/assets/Console-B2LJUI0g.js.gz +0 -0
  807. package/dist/interface/assets/CuiAssistantConversation-CixQUjS9.js +0 -5
  808. package/dist/interface/assets/CuiAssistantConversation-CixQUjS9.js.br +0 -0
  809. package/dist/interface/assets/CuiAssistantConversation-CixQUjS9.js.gz +0 -0
  810. package/dist/interface/assets/CuiAutomationRunsDialog-6uaXrJS5.js +0 -1
  811. package/dist/interface/assets/CuiAutomationRunsDialog-6uaXrJS5.js.br +0 -0
  812. package/dist/interface/assets/CuiAutomationRunsDialog-6uaXrJS5.js.gz +0 -0
  813. package/dist/interface/assets/CuiBottomSheet-CAOO-nWU.js +0 -1
  814. package/dist/interface/assets/CuiBottomSheet-CAOO-nWU.js.br +0 -0
  815. package/dist/interface/assets/CuiBottomSheet-CAOO-nWU.js.gz +0 -0
  816. package/dist/interface/assets/CuiBottomSheet-Cs8U_ja7.js +0 -1
  817. package/dist/interface/assets/CuiBottomSheet-Cs8U_ja7.js.br +0 -1
  818. package/dist/interface/assets/CuiBottomSheet-Cs8U_ja7.js.gz +0 -0
  819. package/dist/interface/assets/CuiCameraPipCard-CIhq8eot.js +0 -1
  820. package/dist/interface/assets/CuiCameraPipCard-CIhq8eot.js.br +0 -0
  821. package/dist/interface/assets/CuiCameraPipCard-CIhq8eot.js.gz +0 -0
  822. package/dist/interface/assets/CuiCameraRecordings-DF_sMli8.js +0 -1
  823. package/dist/interface/assets/CuiCameraRecordings-DF_sMli8.js.br +0 -0
  824. package/dist/interface/assets/CuiCameraRecordings-DF_sMli8.js.gz +0 -0
  825. package/dist/interface/assets/CuiCameraShares-BFYlATKA.js +0 -1
  826. package/dist/interface/assets/CuiCameraShares-BFYlATKA.js.br +0 -0
  827. package/dist/interface/assets/CuiCameraShares-BFYlATKA.js.gz +0 -0
  828. package/dist/interface/assets/CuiCameraTable-Bnkb5yFU.js +0 -2
  829. package/dist/interface/assets/CuiCameraTable-Bnkb5yFU.js.br +0 -0
  830. package/dist/interface/assets/CuiCameraTable-Bnkb5yFU.js.gz +0 -0
  831. package/dist/interface/assets/CuiCameraTable-DFINjvlg.js +0 -1
  832. package/dist/interface/assets/CuiCameraTable-DFINjvlg.js.br +0 -1
  833. package/dist/interface/assets/CuiCameraTable-DFINjvlg.js.gz +0 -0
  834. package/dist/interface/assets/CuiChartTable-CGgKsEsq.js +0 -1
  835. package/dist/interface/assets/CuiChartTable-CGgKsEsq.js.br +0 -0
  836. package/dist/interface/assets/CuiChartTable-CGgKsEsq.js.gz +0 -0
  837. package/dist/interface/assets/CuiConsole-Bfg49Yzx.js +0 -5
  838. package/dist/interface/assets/CuiConsole-Bfg49Yzx.js.br +0 -0
  839. package/dist/interface/assets/CuiConsole-Bfg49Yzx.js.gz +0 -0
  840. package/dist/interface/assets/CuiDataTable-CfRZXOio.js +0 -1
  841. package/dist/interface/assets/CuiDataTable-CfRZXOio.js.br +0 -0
  842. package/dist/interface/assets/CuiDataTable-CfRZXOio.js.gz +0 -0
  843. package/dist/interface/assets/CuiLightControl-DJh1UfRy.js +0 -1
  844. package/dist/interface/assets/CuiLightControl-DJh1UfRy.js.br +0 -0
  845. package/dist/interface/assets/CuiLightControl-DJh1UfRy.js.gz +0 -0
  846. package/dist/interface/assets/CuiMoveCodeForm-Cbcc3Rds.js +0 -1
  847. package/dist/interface/assets/CuiMoveCodeForm-Cbcc3Rds.js.br +0 -0
  848. package/dist/interface/assets/CuiMoveCodeForm-Cbcc3Rds.js.gz +0 -0
  849. package/dist/interface/assets/CuiPluginCard-D5o7bz82.js +0 -2
  850. package/dist/interface/assets/CuiPluginCard-D5o7bz82.js.br +0 -0
  851. package/dist/interface/assets/CuiPluginCard-D5o7bz82.js.gz +0 -0
  852. package/dist/interface/assets/CuiPluginCategoryChip-DMxs_ZwE.js +0 -1
  853. package/dist/interface/assets/CuiPluginCategoryChip-DMxs_ZwE.js.br +0 -0
  854. package/dist/interface/assets/CuiPluginCategoryChip-DMxs_ZwE.js.gz +0 -0
  855. package/dist/interface/assets/CuiPluginOAuthButton-BZ5GiClf.js +0 -2
  856. package/dist/interface/assets/CuiPluginOAuthButton-BZ5GiClf.js.br +0 -0
  857. package/dist/interface/assets/CuiPluginOAuthButton-BZ5GiClf.js.gz +0 -0
  858. package/dist/interface/assets/CuiPluginTrustBadge-CXPARdCH.js +0 -1
  859. package/dist/interface/assets/CuiPluginTrustBadge-CXPARdCH.js.br +0 -0
  860. package/dist/interface/assets/CuiPluginTrustBadge-CXPARdCH.js.gz +0 -0
  861. package/dist/interface/assets/CuiQRCode-UBWUs5tI.js +0 -1
  862. package/dist/interface/assets/CuiQRCode-UBWUs5tI.js.br +0 -0
  863. package/dist/interface/assets/CuiQRCode-UBWUs5tI.js.gz +0 -0
  864. package/dist/interface/assets/CuiSchema-CWj38bGw.js +0 -1
  865. package/dist/interface/assets/CuiSchema-CWj38bGw.js.br +0 -0
  866. package/dist/interface/assets/CuiSchema-CWj38bGw.js.gz +0 -0
  867. package/dist/interface/assets/CuiTopNavbarItem-DVEK1s5d.js +0 -1
  868. package/dist/interface/assets/CuiTopNavbarItem-DVEK1s5d.js.br +0 -0
  869. package/dist/interface/assets/CuiTopNavbarItem-DVEK1s5d.js.gz +0 -0
  870. package/dist/interface/assets/Faces-Bo3AYgKe.js +0 -1
  871. package/dist/interface/assets/Faces-Bo3AYgKe.js.br +0 -0
  872. package/dist/interface/assets/Faces-Bo3AYgKe.js.gz +0 -0
  873. package/dist/interface/assets/FirstSteps-BGR7npQx.js +0 -1
  874. package/dist/interface/assets/FirstSteps-BGR7npQx.js.br +0 -0
  875. package/dist/interface/assets/FirstSteps-BGR7npQx.js.gz +0 -0
  876. package/dist/interface/assets/Floorplan-DEAXLv_l.js +0 -1
  877. package/dist/interface/assets/Floorplan-DEAXLv_l.js.br +0 -0
  878. package/dist/interface/assets/Floorplan-DEAXLv_l.js.gz +0 -0
  879. package/dist/interface/assets/Instances-BWRmmXbE.js +0 -1
  880. package/dist/interface/assets/Instances-BWRmmXbE.js.br +0 -0
  881. package/dist/interface/assets/Instances-BWRmmXbE.js.gz +0 -0
  882. package/dist/interface/assets/Logs-Dk47dJCa.js +0 -6
  883. package/dist/interface/assets/Logs-Dk47dJCa.js.br +0 -0
  884. package/dist/interface/assets/Logs-Dk47dJCa.js.gz +0 -0
  885. package/dist/interface/assets/Menu-ByNNjqJn.js +0 -1
  886. package/dist/interface/assets/Menu-ByNNjqJn.js.br +0 -0
  887. package/dist/interface/assets/Menu-ByNNjqJn.js.gz +0 -0
  888. package/dist/interface/assets/Metrics-dwRXd0D8.js +0 -12
  889. package/dist/interface/assets/Metrics-dwRXd0D8.js.br +0 -0
  890. package/dist/interface/assets/Metrics-dwRXd0D8.js.gz +0 -0
  891. package/dist/interface/assets/OAuthDeviceFlow-DN3VwFHC.js +0 -1
  892. package/dist/interface/assets/OAuthDeviceFlow-DN3VwFHC.js.br +0 -0
  893. package/dist/interface/assets/OAuthDeviceFlow-DN3VwFHC.js.gz +0 -0
  894. package/dist/interface/assets/Plugin-CIH0TF3a.js +0 -1
  895. package/dist/interface/assets/Plugin-CIH0TF3a.js.br +0 -0
  896. package/dist/interface/assets/Plugin-CIH0TF3a.js.gz +0 -0
  897. package/dist/interface/assets/PluginConsole-OUbDe_Qi.js +0 -7
  898. package/dist/interface/assets/PluginConsole-OUbDe_Qi.js.br +0 -0
  899. package/dist/interface/assets/PluginConsole-OUbDe_Qi.js.gz +0 -0
  900. package/dist/interface/assets/PluginDetail-DzDdyA_n.js +0 -2
  901. package/dist/interface/assets/PluginDetail-DzDdyA_n.js.br +0 -0
  902. package/dist/interface/assets/PluginDetail-DzDdyA_n.js.gz +0 -0
  903. package/dist/interface/assets/PluginSchema-CDiNUijO.js +0 -1
  904. package/dist/interface/assets/PluginSchema-CDiNUijO.js.br +0 -0
  905. package/dist/interface/assets/PluginSchema-CDiNUijO.js.gz +0 -0
  906. package/dist/interface/assets/PluginSearch-6nfv0rUZ.js +0 -1
  907. package/dist/interface/assets/PluginSearch-6nfv0rUZ.js.br +0 -1
  908. package/dist/interface/assets/PluginSearch-6nfv0rUZ.js.gz +0 -0
  909. package/dist/interface/assets/PluginSearch-CpjvGZ1K.js +0 -2
  910. package/dist/interface/assets/PluginSearch-CpjvGZ1K.js.br +0 -0
  911. package/dist/interface/assets/PluginSearch-CpjvGZ1K.js.gz +0 -0
  912. package/dist/interface/assets/PluginUpdateProgress-BpxK2MxE.js +0 -1
  913. package/dist/interface/assets/PluginUpdateProgress-BpxK2MxE.js.br +0 -0
  914. package/dist/interface/assets/PluginUpdateProgress-BpxK2MxE.js.gz +0 -0
  915. package/dist/interface/assets/Plugins-DRbDoh8f.js +0 -1
  916. package/dist/interface/assets/Plugins-DRbDoh8f.js.br +0 -0
  917. package/dist/interface/assets/Plugins-DRbDoh8f.js.gz +0 -0
  918. package/dist/interface/assets/Recordings-JmKjg1rv.js +0 -1
  919. package/dist/interface/assets/Recordings-JmKjg1rv.js.br +0 -0
  920. package/dist/interface/assets/Recordings-JmKjg1rv.js.gz +0 -0
  921. package/dist/interface/assets/SensorEdit-5iXuq1hX.js +0 -1
  922. package/dist/interface/assets/SensorEdit-5iXuq1hX.js.br +0 -0
  923. package/dist/interface/assets/SensorEdit-5iXuq1hX.js.gz +0 -0
  924. package/dist/interface/assets/SensorHistory-DvW4ylhc.js +0 -1
  925. package/dist/interface/assets/SensorHistory-DvW4ylhc.js.br +0 -0
  926. package/dist/interface/assets/SensorHistory-DvW4ylhc.js.gz +0 -0
  927. package/dist/interface/assets/Sensors-CJRgHg24.js +0 -2
  928. package/dist/interface/assets/Sensors-CJRgHg24.js.br +0 -0
  929. package/dist/interface/assets/Sensors-CJRgHg24.js.gz +0 -0
  930. package/dist/interface/assets/Settings-gP6KvlhW.js +0 -1
  931. package/dist/interface/assets/Settings-gP6KvlhW.js.br +0 -0
  932. package/dist/interface/assets/Settings-gP6KvlhW.js.gz +0 -0
  933. package/dist/interface/assets/SettingsAccount-DxBaSiP3.js +0 -1
  934. package/dist/interface/assets/SettingsAccount-DxBaSiP3.js.br +0 -0
  935. package/dist/interface/assets/SettingsAccount-DxBaSiP3.js.gz +0 -0
  936. package/dist/interface/assets/SettingsAccount-UyW8Rdbu.js +0 -1
  937. package/dist/interface/assets/SettingsAccount-UyW8Rdbu.js.br +0 -0
  938. package/dist/interface/assets/SettingsAccount-UyW8Rdbu.js.gz +0 -0
  939. package/dist/interface/assets/SettingsAppearance-CklnBo48.js +0 -1
  940. package/dist/interface/assets/SettingsAppearance-CklnBo48.js.br +0 -0
  941. package/dist/interface/assets/SettingsAppearance-CklnBo48.js.gz +0 -0
  942. package/dist/interface/assets/SettingsAppearance-CyRil5A6.js +0 -1
  943. package/dist/interface/assets/SettingsAppearance-CyRil5A6.js.br +0 -0
  944. package/dist/interface/assets/SettingsAppearance-CyRil5A6.js.gz +0 -0
  945. package/dist/interface/assets/SettingsAssistant-BpoC9nuP.js +0 -1
  946. package/dist/interface/assets/SettingsAssistant-BpoC9nuP.js.br +0 -0
  947. package/dist/interface/assets/SettingsAssistant-BpoC9nuP.js.gz +0 -0
  948. package/dist/interface/assets/SettingsBackup-qF_Tg4EV.js +0 -1
  949. package/dist/interface/assets/SettingsBackup-qF_Tg4EV.js.br +0 -0
  950. package/dist/interface/assets/SettingsBackup-qF_Tg4EV.js.gz +0 -0
  951. package/dist/interface/assets/SettingsList-DVIZe748.js +0 -1
  952. package/dist/interface/assets/SettingsList-DVIZe748.js.br +0 -0
  953. package/dist/interface/assets/SettingsList-DVIZe748.js.gz +0 -0
  954. package/dist/interface/assets/SettingsMqtt-B-vy3STG.js +0 -1
  955. package/dist/interface/assets/SettingsMqtt-B-vy3STG.js.br +0 -0
  956. package/dist/interface/assets/SettingsMqtt-B-vy3STG.js.gz +0 -0
  957. package/dist/interface/assets/SettingsNotifications-DxkB07uF.js +0 -1
  958. package/dist/interface/assets/SettingsNotifications-DxkB07uF.js.br +0 -0
  959. package/dist/interface/assets/SettingsNotifications-DxkB07uF.js.gz +0 -0
  960. package/dist/interface/assets/SettingsRecordings-yoLYy5Ye.js +0 -1
  961. package/dist/interface/assets/SettingsRecordings-yoLYy5Ye.js.br +0 -0
  962. package/dist/interface/assets/SettingsRecordings-yoLYy5Ye.js.gz +0 -0
  963. package/dist/interface/assets/SettingsRemote-Bl6CSoS0.js +0 -2
  964. package/dist/interface/assets/SettingsRemote-Bl6CSoS0.js.br +0 -0
  965. package/dist/interface/assets/SettingsRemote-Bl6CSoS0.js.gz +0 -0
  966. package/dist/interface/assets/SettingsSystem-CSXyXTlu.js +0 -2
  967. package/dist/interface/assets/SettingsSystem-CSXyXTlu.js.br +0 -0
  968. package/dist/interface/assets/SettingsSystem-CSXyXTlu.js.gz +0 -0
  969. package/dist/interface/assets/SettingsUsers-BWGACbPP.js +0 -1
  970. package/dist/interface/assets/SettingsUsers-BWGACbPP.js.br +0 -0
  971. package/dist/interface/assets/SettingsUsers-BWGACbPP.js.gz +0 -0
  972. package/dist/interface/assets/Terminal-B6u7U9CX.js +0 -4
  973. package/dist/interface/assets/Terminal-B6u7U9CX.js.br +0 -0
  974. package/dist/interface/assets/Terminal-B6u7U9CX.js.gz +0 -0
  975. package/dist/interface/assets/Training-Cn7kcb1P.js +0 -1
  976. package/dist/interface/assets/Training-Cn7kcb1P.js.br +0 -0
  977. package/dist/interface/assets/Training-Cn7kcb1P.js.gz +0 -0
  978. package/dist/interface/assets/Updates-BtcOsKwD.js +0 -2
  979. package/dist/interface/assets/Updates-BtcOsKwD.js.br +0 -0
  980. package/dist/interface/assets/Updates-BtcOsKwD.js.gz +0 -0
  981. package/dist/interface/assets/VersionsHandler-B11ImKTw.js +0 -7
  982. package/dist/interface/assets/VersionsHandler-B11ImKTw.js.br +0 -0
  983. package/dist/interface/assets/VersionsHandler-B11ImKTw.js.gz +0 -0
  984. package/dist/interface/assets/VirtualSensorCreate-Bk6dDT3N.js +0 -1
  985. package/dist/interface/assets/VirtualSensorCreate-Bk6dDT3N.js.br +0 -0
  986. package/dist/interface/assets/VirtualSensorCreate-Bk6dDT3N.js.gz +0 -0
  987. package/dist/interface/assets/Workers-BVY0gIZ6.js +0 -2
  988. package/dist/interface/assets/Workers-BVY0gIZ6.js.br +0 -0
  989. package/dist/interface/assets/Workers-BVY0gIZ6.js.gz +0 -0
  990. package/dist/interface/assets/api-CQ3LkXuk.js +0 -4
  991. package/dist/interface/assets/api-CQ3LkXuk.js.br +0 -0
  992. package/dist/interface/assets/api-CQ3LkXuk.js.gz +0 -0
  993. package/dist/interface/assets/api-D5pj1z4u.js +0 -1
  994. package/dist/interface/assets/api-D5pj1z4u.js.br +0 -2
  995. package/dist/interface/assets/api-D5pj1z4u.js.gz +0 -0
  996. package/dist/interface/assets/assistant-Ak1qQkQD.js +0 -1
  997. package/dist/interface/assets/assistant-Ak1qQkQD.js.br +0 -0
  998. package/dist/interface/assets/assistant-Ak1qQkQD.js.gz +0 -0
  999. package/dist/interface/assets/auth-C5r5IkMf.js +0 -1
  1000. package/dist/interface/assets/auth-C5r5IkMf.js.br +0 -0
  1001. package/dist/interface/assets/auth-C5r5IkMf.js.gz +0 -0
  1002. package/dist/interface/assets/automations-DCanZA4l.js +0 -1
  1003. package/dist/interface/assets/automations-DCanZA4l.js.br +0 -0
  1004. package/dist/interface/assets/automations-DCanZA4l.js.gz +0 -0
  1005. package/dist/interface/assets/cloudHandoff-gh1JjFoB.js +0 -1
  1006. package/dist/interface/assets/cloudHandoff-gh1JjFoB.js.br +0 -1
  1007. package/dist/interface/assets/cloudHandoff-gh1JjFoB.js.gz +0 -0
  1008. package/dist/interface/assets/config-CaeB2xoR.js +0 -1
  1009. package/dist/interface/assets/config-CaeB2xoR.js.br +0 -0
  1010. package/dist/interface/assets/config-CaeB2xoR.js.gz +0 -0
  1011. package/dist/interface/assets/main-81DFrOv-.js +0 -3
  1012. package/dist/interface/assets/main-81DFrOv-.js.br +0 -0
  1013. package/dist/interface/assets/main-81DFrOv-.js.gz +0 -0
  1014. package/dist/interface/assets/mqtt-dxw2twZb.js +0 -1
  1015. package/dist/interface/assets/mqtt-dxw2twZb.js.br +0 -0
  1016. package/dist/interface/assets/mqtt-dxw2twZb.js.gz +0 -0
  1017. package/dist/interface/assets/notifications-wddGMkjM.js +0 -1
  1018. package/dist/interface/assets/notifications-wddGMkjM.js.br +0 -0
  1019. package/dist/interface/assets/notifications-wddGMkjM.js.gz +0 -0
  1020. package/dist/interface/assets/plugins-BtRZhMzq.js +0 -1
  1021. package/dist/interface/assets/plugins-BtRZhMzq.js.br +0 -0
  1022. package/dist/interface/assets/plugins-BtRZhMzq.js.gz +0 -0
  1023. package/dist/interface/assets/rooms-BdUbpVQC.js +0 -1
  1024. package/dist/interface/assets/rooms-BdUbpVQC.js.br +0 -0
  1025. package/dist/interface/assets/rooms-BdUbpVQC.js.gz +0 -0
  1026. package/dist/interface/assets/sensorIcons-BqRrUC21.js +0 -1
  1027. package/dist/interface/assets/sensorIcons-BqRrUC21.js.br +0 -0
  1028. package/dist/interface/assets/sensorIcons-BqRrUC21.js.gz +0 -0
  1029. package/dist/interface/assets/sensors-vvTTj4i4.js +0 -1
  1030. package/dist/interface/assets/sensors-vvTTj4i4.js.br +0 -0
  1031. package/dist/interface/assets/sensors-vvTTj4i4.js.gz +0 -0
  1032. package/dist/interface/assets/server-tY100hue.js +0 -1
  1033. package/dist/interface/assets/server-tY100hue.js.br +0 -0
  1034. package/dist/interface/assets/server-tY100hue.js.gz +0 -0
  1035. package/dist/interface/assets/theme-BstpTBPu.js +0 -1
  1036. package/dist/interface/assets/theme-BstpTBPu.js.br +0 -0
  1037. package/dist/interface/assets/theme-BstpTBPu.js.gz +0 -0
  1038. package/dist/interface/assets/types-DY8IfyYP.js +0 -1
  1039. package/dist/interface/assets/types-DY8IfyYP.js.br +0 -0
  1040. package/dist/interface/assets/types-DY8IfyYP.js.gz +0 -0
  1041. package/dist/interface/assets/updates-Cy0UvDur.js +0 -2
  1042. package/dist/interface/assets/updates-Cy0UvDur.js.br +0 -0
  1043. package/dist/interface/assets/updates-Cy0UvDur.js.gz +0 -0
  1044. package/dist/interface/assets/useAppVersion-BDm52JIU.js +0 -1
  1045. package/dist/interface/assets/useAppVersion-BDm52JIU.js.br +0 -0
  1046. package/dist/interface/assets/useAppVersion-BDm52JIU.js.gz +0 -0
  1047. package/dist/interface/assets/useCameraOptions-qvQUXrOM.js +0 -1
  1048. package/dist/interface/assets/useCameraOptions-qvQUXrOM.js.br +0 -0
  1049. package/dist/interface/assets/useCameraOptions-qvQUXrOM.js.gz +0 -0
  1050. package/dist/interface/assets/useKeyboardInset-CQKU4-0b.js +0 -1
  1051. package/dist/interface/assets/useKeyboardInset-CQKU4-0b.js.br +0 -0
  1052. package/dist/interface/assets/useKeyboardInset-CQKU4-0b.js.gz +0 -0
  1053. package/dist/interface/assets/useLogsSocket-DW6j2kMx.js +0 -1
  1054. package/dist/interface/assets/useLogsSocket-DW6j2kMx.js.br +0 -0
  1055. package/dist/interface/assets/useLogsSocket-DW6j2kMx.js.gz +0 -0
  1056. package/dist/interface/assets/useNavLayout-Dst4SfJr.js +0 -1
  1057. package/dist/interface/assets/useNavLayout-Dst4SfJr.js.br +0 -0
  1058. package/dist/interface/assets/useNavLayout-Dst4SfJr.js.gz +0 -0
  1059. package/dist/interface/assets/usePlacementLabel-C2Prw5hU.js +0 -1
  1060. package/dist/interface/assets/usePlacementLabel-C2Prw5hU.js.br +0 -0
  1061. package/dist/interface/assets/usePlacementLabel-C2Prw5hU.js.gz +0 -0
  1062. package/dist/interface/assets/usePlacementSocket-xLhwFZgQ.js +0 -1
  1063. package/dist/interface/assets/usePlacementSocket-xLhwFZgQ.js.br +0 -0
  1064. package/dist/interface/assets/usePlacementSocket-xLhwFZgQ.js.gz +0 -0
  1065. package/dist/interface/assets/usePluginUpdates-9mTaq1uR.js +0 -1
  1066. package/dist/interface/assets/usePluginUpdates-9mTaq1uR.js.br +0 -0
  1067. package/dist/interface/assets/usePluginUpdates-9mTaq1uR.js.gz +0 -0
  1068. package/dist/interface/assets/usePluginsSocket-TdmWm307.js +0 -1
  1069. package/dist/interface/assets/usePluginsSocket-TdmWm307.js.br +0 -0
  1070. package/dist/interface/assets/usePluginsSocket-TdmWm307.js.gz +0 -0
  1071. package/dist/interface/assets/usePushRegistration-Bbf8WqlP.js +0 -2
  1072. package/dist/interface/assets/usePushRegistration-Bbf8WqlP.js.br +0 -0
  1073. package/dist/interface/assets/usePushRegistration-Bbf8WqlP.js.gz +0 -0
  1074. package/dist/interface/assets/useServerRestart-BqYQ-1Fg.js +0 -1
  1075. package/dist/interface/assets/useServerRestart-BqYQ-1Fg.js.br +0 -0
  1076. package/dist/interface/assets/useServerRestart-BqYQ-1Fg.js.gz +0 -0
  1077. package/dist/interface/assets/useTabSwipe-kd6jHGXB.js +0 -1
  1078. package/dist/interface/assets/useTabSwipe-kd6jHGXB.js.br +0 -0
  1079. package/dist/interface/assets/useTabSwipe-kd6jHGXB.js.gz +0 -0
  1080. package/dist/interface/assets/useUpdateChannel-Dfk91JvX.js +0 -1
  1081. package/dist/interface/assets/useUpdateChannel-Dfk91JvX.js.br +0 -0
  1082. package/dist/interface/assets/useUpdateChannel-Dfk91JvX.js.gz +0 -0
  1083. package/dist/interface/assets/useUpdatesSocket-fqaXJCdb.js +0 -1
  1084. package/dist/interface/assets/useUpdatesSocket-fqaXJCdb.js.br +0 -0
  1085. package/dist/interface/assets/useUpdatesSocket-fqaXJCdb.js.gz +0 -0
  1086. package/dist/interface/assets/useUserOptions-DyE_X9iJ.js +0 -1
  1087. package/dist/interface/assets/useUserOptions-DyE_X9iJ.js.br +0 -0
  1088. package/dist/interface/assets/useUserOptions-DyE_X9iJ.js.gz +0 -0
  1089. package/dist/interface/ha/404-GEJ7Ktz6.js +0 -60
  1090. package/dist/interface/ha/404-GEJ7Ktz6.js.br +0 -0
  1091. package/dist/interface/ha/404-GEJ7Ktz6.js.gz +0 -0
  1092. package/dist/interface/ha/About-DCpvPgLH.js +0 -55
  1093. package/dist/interface/ha/About-DCpvPgLH.js.br +0 -0
  1094. package/dist/interface/ha/About-DCpvPgLH.js.gz +0 -0
  1095. package/dist/interface/ha/Assistant-DW7Ji5Rq.js +0 -11071
  1096. package/dist/interface/ha/Assistant-DW7Ji5Rq.js.br +0 -0
  1097. package/dist/interface/ha/Assistant-DW7Ji5Rq.js.gz +0 -0
  1098. package/dist/interface/ha/Automation-igwD7Gn1.js +0 -2009
  1099. package/dist/interface/ha/Automation-igwD7Gn1.js.br +0 -0
  1100. package/dist/interface/ha/Automation-igwD7Gn1.js.gz +0 -0
  1101. package/dist/interface/ha/AutomationImport-ClhpDYCk.js +0 -206
  1102. package/dist/interface/ha/AutomationImport-ClhpDYCk.js.br +0 -0
  1103. package/dist/interface/ha/AutomationImport-ClhpDYCk.js.gz +0 -0
  1104. package/dist/interface/ha/AutomationStore-Cow2m1WS.js +0 -336
  1105. package/dist/interface/ha/AutomationStore-Cow2m1WS.js.br +0 -0
  1106. package/dist/interface/ha/AutomationStore-Cow2m1WS.js.gz +0 -0
  1107. package/dist/interface/ha/AutomationStoreDetail-DbgmNVZA.js +0 -121
  1108. package/dist/interface/ha/AutomationStoreDetail-DbgmNVZA.js.br +0 -0
  1109. package/dist/interface/ha/AutomationStoreDetail-DbgmNVZA.js.gz +0 -0
  1110. package/dist/interface/ha/Automations-DMoaF0m5.js +0 -423
  1111. package/dist/interface/ha/Automations-DMoaF0m5.js.br +0 -0
  1112. package/dist/interface/ha/Automations-DMoaF0m5.js.gz +0 -0
  1113. package/dist/interface/ha/Camera-CMJ5iJAs.js +0 -740
  1114. package/dist/interface/ha/Camera-CMJ5iJAs.js.br +0 -0
  1115. package/dist/interface/ha/Camera-CMJ5iJAs.js.gz +0 -0
  1116. package/dist/interface/ha/CameraConsole-DOG0ivnD.js +0 -52
  1117. package/dist/interface/ha/CameraConsole-DOG0ivnD.js.br +0 -0
  1118. package/dist/interface/ha/CameraConsole-DOG0ivnD.js.gz +0 -0
  1119. package/dist/interface/ha/Cameras-CTvWFekL.js +0 -1934
  1120. package/dist/interface/ha/Cameras-CTvWFekL.js.br +0 -0
  1121. package/dist/interface/ha/Cameras-CTvWFekL.js.gz +0 -0
  1122. package/dist/interface/ha/Camview-DhjdhCR6.js +0 -1368
  1123. package/dist/interface/ha/Camview-DhjdhCR6.js.br +0 -0
  1124. package/dist/interface/ha/Camview-DhjdhCR6.js.gz +0 -0
  1125. package/dist/interface/ha/Config-DvpZ-GkT.js +0 -354
  1126. package/dist/interface/ha/Config-DvpZ-GkT.js.br +0 -0
  1127. package/dist/interface/ha/Config-DvpZ-GkT.js.gz +0 -0
  1128. package/dist/interface/ha/ConfigActionAssistant-CYdWIg9z.js +0 -182
  1129. package/dist/interface/ha/ConfigActionAssistant-CYdWIg9z.js.br +0 -0
  1130. package/dist/interface/ha/ConfigActionAssistant-CYdWIg9z.js.gz +0 -0
  1131. package/dist/interface/ha/ConfigActionCameraControl-CxBJelQl.js +0 -152
  1132. package/dist/interface/ha/ConfigActionCameraControl-CxBJelQl.js.br +0 -0
  1133. package/dist/interface/ha/ConfigActionCameraControl-CxBJelQl.js.gz +0 -0
  1134. package/dist/interface/ha/ConfigActionHttp-B6gQwkvP.js +0 -134
  1135. package/dist/interface/ha/ConfigActionHttp-B6gQwkvP.js.br +0 -0
  1136. package/dist/interface/ha/ConfigActionHttp-B6gQwkvP.js.gz +0 -0
  1137. package/dist/interface/ha/ConfigActionImageInput-DJVauVUw.js +0 -170
  1138. package/dist/interface/ha/ConfigActionImageInput-DJVauVUw.js.br +0 -0
  1139. package/dist/interface/ha/ConfigActionImageInput-DJVauVUw.js.gz +0 -0
  1140. package/dist/interface/ha/ConfigActionMqtt-BUa-HrP3.js +0 -78
  1141. package/dist/interface/ha/ConfigActionMqtt-BUa-HrP3.js.br +0 -0
  1142. package/dist/interface/ha/ConfigActionMqtt-BUa-HrP3.js.gz +0 -0
  1143. package/dist/interface/ha/ConfigActionNotification-CHJDWRRJ.js +0 -198
  1144. package/dist/interface/ha/ConfigActionNotification-CHJDWRRJ.js.br +0 -0
  1145. package/dist/interface/ha/ConfigActionNotification-CHJDWRRJ.js.gz +0 -0
  1146. package/dist/interface/ha/ConfigActionNotificationControl-BKMaUQZT.js +0 -111
  1147. package/dist/interface/ha/ConfigActionNotificationControl-BKMaUQZT.js.br +0 -0
  1148. package/dist/interface/ha/ConfigActionNotificationControl-BKMaUQZT.js.gz +0 -0
  1149. package/dist/interface/ha/ConfigActionOutput-cEels_Xm.js +0 -98
  1150. package/dist/interface/ha/ConfigActionOutput-cEels_Xm.js.br +0 -0
  1151. package/dist/interface/ha/ConfigActionOutput-cEels_Xm.js.gz +0 -0
  1152. package/dist/interface/ha/ConfigActionPlugin-B-x3ZGbV.js +0 -171
  1153. package/dist/interface/ha/ConfigActionPlugin-B-x3ZGbV.js.br +0 -0
  1154. package/dist/interface/ha/ConfigActionPlugin-B-x3ZGbV.js.gz +0 -0
  1155. package/dist/interface/ha/ConfigActionSensor-2N2FUkVu.js +0 -138
  1156. package/dist/interface/ha/ConfigActionSensor-2N2FUkVu.js.br +0 -0
  1157. package/dist/interface/ha/ConfigActionSensor-2N2FUkVu.js.gz +0 -0
  1158. package/dist/interface/ha/ConfigActionSnapshot-DfNDWDx9.js +0 -45
  1159. package/dist/interface/ha/ConfigActionSnapshot-DfNDWDx9.js.br +0 -0
  1160. package/dist/interface/ha/ConfigActionSnapshot-DfNDWDx9.js.gz +0 -0
  1161. package/dist/interface/ha/ConfigActionVariable-v0e-sIMS.js +0 -88
  1162. package/dist/interface/ha/ConfigActionVariable-v0e-sIMS.js.br +0 -0
  1163. package/dist/interface/ha/ConfigActionVariable-v0e-sIMS.js.gz +0 -0
  1164. package/dist/interface/ha/ConfigConditionIfElse-C0WandPI.js +0 -124
  1165. package/dist/interface/ha/ConfigConditionIfElse-C0WandPI.js.br +0 -0
  1166. package/dist/interface/ha/ConfigConditionIfElse-C0WandPI.js.gz +0 -0
  1167. package/dist/interface/ha/ConfigConditionSensorState-BeLtrLOX.js +0 -190
  1168. package/dist/interface/ha/ConfigConditionSensorState-BeLtrLOX.js.br +0 -0
  1169. package/dist/interface/ha/ConfigConditionSensorState-BeLtrLOX.js.gz +0 -0
  1170. package/dist/interface/ha/ConfigConditionSwitch-B-M1Vqkg.js +0 -128
  1171. package/dist/interface/ha/ConfigConditionSwitch-B-M1Vqkg.js.br +0 -0
  1172. package/dist/interface/ha/ConfigConditionSwitch-B-M1Vqkg.js.gz +0 -0
  1173. package/dist/interface/ha/ConfigSensorValueInput-DtZnPmIW.js +0 -173
  1174. package/dist/interface/ha/ConfigSensorValueInput-DtZnPmIW.js.br +0 -0
  1175. package/dist/interface/ha/ConfigSensorValueInput-DtZnPmIW.js.gz +0 -0
  1176. package/dist/interface/ha/ConfigTriggerDetection-CgOWAkNy.js +0 -241
  1177. package/dist/interface/ha/ConfigTriggerDetection-CgOWAkNy.js.br +0 -0
  1178. package/dist/interface/ha/ConfigTriggerDetection-CgOWAkNy.js.gz +0 -0
  1179. package/dist/interface/ha/ConfigTriggerGeofence-BPRYWDZy.js +0 -4836
  1180. package/dist/interface/ha/ConfigTriggerGeofence-BPRYWDZy.js.br +0 -0
  1181. package/dist/interface/ha/ConfigTriggerGeofence-BPRYWDZy.js.gz +0 -0
  1182. package/dist/interface/ha/ConfigTriggerMqtt-DPUaal2K.js +0 -134
  1183. package/dist/interface/ha/ConfigTriggerMqtt-DPUaal2K.js.br +0 -0
  1184. package/dist/interface/ha/ConfigTriggerMqtt-DPUaal2K.js.gz +0 -0
  1185. package/dist/interface/ha/ConfigTriggerSensor-DJRM2X3t.js +0 -73
  1186. package/dist/interface/ha/ConfigTriggerSensor-DJRM2X3t.js.br +0 -0
  1187. package/dist/interface/ha/ConfigTriggerSensor-DJRM2X3t.js.gz +0 -0
  1188. package/dist/interface/ha/ConfigTriggerSystem-Df7sI0VY.js +0 -192
  1189. package/dist/interface/ha/ConfigTriggerSystem-Df7sI0VY.js.br +0 -0
  1190. package/dist/interface/ha/ConfigTriggerSystem-Df7sI0VY.js.gz +0 -0
  1191. package/dist/interface/ha/ConfigTriggerWebhook-W9NUmjTn.js +0 -94
  1192. package/dist/interface/ha/ConfigTriggerWebhook-W9NUmjTn.js.br +0 -0
  1193. package/dist/interface/ha/ConfigTriggerWebhook-W9NUmjTn.js.gz +0 -0
  1194. package/dist/interface/ha/Console-BwA46zsU.js +0 -347
  1195. package/dist/interface/ha/Console-BwA46zsU.js.br +0 -0
  1196. package/dist/interface/ha/Console-BwA46zsU.js.gz +0 -0
  1197. package/dist/interface/ha/CuiAutomationRunsDialog-B07r5tMe.js +0 -129
  1198. package/dist/interface/ha/CuiAutomationRunsDialog-B07r5tMe.js.br +0 -0
  1199. package/dist/interface/ha/CuiAutomationRunsDialog-B07r5tMe.js.gz +0 -0
  1200. package/dist/interface/ha/CuiBottomSheet-B5uQgEqB.js +0 -270
  1201. package/dist/interface/ha/CuiBottomSheet-B5uQgEqB.js.br +0 -0
  1202. package/dist/interface/ha/CuiBottomSheet-B5uQgEqB.js.gz +0 -0
  1203. package/dist/interface/ha/CuiCameraRecordings-xoThi8Kj.js +0 -575
  1204. package/dist/interface/ha/CuiCameraRecordings-xoThi8Kj.js.br +0 -0
  1205. package/dist/interface/ha/CuiCameraRecordings-xoThi8Kj.js.gz +0 -0
  1206. package/dist/interface/ha/CuiCameraShares-BzvAMAbb.js +0 -120
  1207. package/dist/interface/ha/CuiCameraShares-BzvAMAbb.js.br +0 -0
  1208. package/dist/interface/ha/CuiCameraShares-BzvAMAbb.js.gz +0 -0
  1209. package/dist/interface/ha/CuiCameraTable-BIgtm8mF.js +0 -105
  1210. package/dist/interface/ha/CuiCameraTable-BIgtm8mF.js.br +0 -0
  1211. package/dist/interface/ha/CuiCameraTable-BIgtm8mF.js.gz +0 -0
  1212. package/dist/interface/ha/CuiChartTable-DNcdhXqp.js +0 -6797
  1213. package/dist/interface/ha/CuiChartTable-DNcdhXqp.js.br +0 -0
  1214. package/dist/interface/ha/CuiChartTable-DNcdhXqp.js.gz +0 -0
  1215. package/dist/interface/ha/CuiConsole-CpD0nhAD.js +0 -234
  1216. package/dist/interface/ha/CuiConsole-CpD0nhAD.js.br +0 -0
  1217. package/dist/interface/ha/CuiConsole-CpD0nhAD.js.gz +0 -0
  1218. package/dist/interface/ha/CuiDataTable-CTRZF9Ia.js +0 -8860
  1219. package/dist/interface/ha/CuiDataTable-CTRZF9Ia.js.br +0 -0
  1220. package/dist/interface/ha/CuiDataTable-CTRZF9Ia.js.gz +0 -0
  1221. package/dist/interface/ha/CuiMoveCodeForm-B0MKxC53.js +0 -89
  1222. package/dist/interface/ha/CuiMoveCodeForm-B0MKxC53.js.br +0 -0
  1223. package/dist/interface/ha/CuiMoveCodeForm-B0MKxC53.js.gz +0 -0
  1224. package/dist/interface/ha/CuiPluginCard-CHZ4DaRv.js +0 -778
  1225. package/dist/interface/ha/CuiPluginCard-CHZ4DaRv.js.br +0 -0
  1226. package/dist/interface/ha/CuiPluginCard-CHZ4DaRv.js.gz +0 -0
  1227. package/dist/interface/ha/CuiPluginOAuthButton-uZT2viFR.js +0 -74
  1228. package/dist/interface/ha/CuiPluginOAuthButton-uZT2viFR.js.br +0 -0
  1229. package/dist/interface/ha/CuiPluginOAuthButton-uZT2viFR.js.gz +0 -0
  1230. package/dist/interface/ha/CuiPluginTrustBadge-1MhUw5es.js +0 -122
  1231. package/dist/interface/ha/CuiPluginTrustBadge-1MhUw5es.js.br +0 -0
  1232. package/dist/interface/ha/CuiPluginTrustBadge-1MhUw5es.js.gz +0 -0
  1233. package/dist/interface/ha/CuiQRCode-Grr7tjGw.js +0 -86
  1234. package/dist/interface/ha/CuiQRCode-Grr7tjGw.js.br +0 -0
  1235. package/dist/interface/ha/CuiQRCode-Grr7tjGw.js.gz +0 -0
  1236. package/dist/interface/ha/CuiSchema-BHm9vNRI.js +0 -952
  1237. package/dist/interface/ha/CuiSchema-BHm9vNRI.js.br +0 -0
  1238. package/dist/interface/ha/CuiSchema-BHm9vNRI.js.gz +0 -0
  1239. package/dist/interface/ha/CuiTopNavbarItem-KI3ljdF5.js +0 -141
  1240. package/dist/interface/ha/CuiTopNavbarItem-KI3ljdF5.js.br +0 -0
  1241. package/dist/interface/ha/CuiTopNavbarItem-KI3ljdF5.js.gz +0 -0
  1242. package/dist/interface/ha/Faces-Qjkjd__-.js +0 -1659
  1243. package/dist/interface/ha/Faces-Qjkjd__-.js.br +0 -0
  1244. package/dist/interface/ha/Faces-Qjkjd__-.js.gz +0 -0
  1245. package/dist/interface/ha/FirstSteps-CMPZcVGm.js +0 -254
  1246. package/dist/interface/ha/FirstSteps-CMPZcVGm.js.br +0 -0
  1247. package/dist/interface/ha/FirstSteps-CMPZcVGm.js.gz +0 -0
  1248. package/dist/interface/ha/Floorplan-CrozNTqV.js +0 -3707
  1249. package/dist/interface/ha/Floorplan-CrozNTqV.js.br +0 -0
  1250. package/dist/interface/ha/Floorplan-CrozNTqV.js.gz +0 -0
  1251. package/dist/interface/ha/Instances-DBwRzClE.js +0 -670
  1252. package/dist/interface/ha/Instances-DBwRzClE.js.br +0 -0
  1253. package/dist/interface/ha/Instances-DBwRzClE.js.gz +0 -0
  1254. package/dist/interface/ha/Logs-Ua7xzSrk.js +0 -417
  1255. package/dist/interface/ha/Logs-Ua7xzSrk.js.br +0 -0
  1256. package/dist/interface/ha/Logs-Ua7xzSrk.js.gz +0 -0
  1257. package/dist/interface/ha/Menu-BUIjRr5o.js +0 -159
  1258. package/dist/interface/ha/Menu-BUIjRr5o.js.br +0 -0
  1259. package/dist/interface/ha/Menu-BUIjRr5o.js.gz +0 -0
  1260. package/dist/interface/ha/Metrics-BHEKh6IC.js +0 -1484
  1261. package/dist/interface/ha/Metrics-BHEKh6IC.js.br +0 -0
  1262. package/dist/interface/ha/Metrics-BHEKh6IC.js.gz +0 -0
  1263. package/dist/interface/ha/OAuthDeviceFlow-C_bEkfff.js +0 -112
  1264. package/dist/interface/ha/OAuthDeviceFlow-C_bEkfff.js.br +0 -9
  1265. package/dist/interface/ha/OAuthDeviceFlow-C_bEkfff.js.gz +0 -0
  1266. package/dist/interface/ha/Plugin-CVxXmLva.js +0 -1746
  1267. package/dist/interface/ha/Plugin-CVxXmLva.js.br +0 -0
  1268. package/dist/interface/ha/Plugin-CVxXmLva.js.gz +0 -0
  1269. package/dist/interface/ha/PluginConsole-ChOzllUF.js +0 -56
  1270. package/dist/interface/ha/PluginConsole-ChOzllUF.js.br +0 -0
  1271. package/dist/interface/ha/PluginConsole-ChOzllUF.js.gz +0 -0
  1272. package/dist/interface/ha/PluginDetail-DkM9ow6C.js +0 -804
  1273. package/dist/interface/ha/PluginDetail-DkM9ow6C.js.br +0 -0
  1274. package/dist/interface/ha/PluginDetail-DkM9ow6C.js.gz +0 -0
  1275. package/dist/interface/ha/PluginSearch-CSCTK5iK.js +0 -462
  1276. package/dist/interface/ha/PluginSearch-CSCTK5iK.js.br +0 -0
  1277. package/dist/interface/ha/PluginSearch-CSCTK5iK.js.gz +0 -0
  1278. package/dist/interface/ha/PluginUpdateProgress-DaRg6gt1.js +0 -34
  1279. package/dist/interface/ha/PluginUpdateProgress-DaRg6gt1.js.br +0 -0
  1280. package/dist/interface/ha/PluginUpdateProgress-DaRg6gt1.js.gz +0 -0
  1281. package/dist/interface/ha/Plugins-BmIKxTQu.js +0 -697
  1282. package/dist/interface/ha/Plugins-BmIKxTQu.js.br +0 -0
  1283. package/dist/interface/ha/Plugins-BmIKxTQu.js.gz +0 -0
  1284. package/dist/interface/ha/Recordings-CU6D4Een.js +0 -1916
  1285. package/dist/interface/ha/Recordings-CU6D4Een.js.br +0 -0
  1286. package/dist/interface/ha/Recordings-CU6D4Een.js.gz +0 -0
  1287. package/dist/interface/ha/SensorEdit-BOQCEFrt.js +0 -1466
  1288. package/dist/interface/ha/SensorEdit-BOQCEFrt.js.br +0 -0
  1289. package/dist/interface/ha/SensorEdit-BOQCEFrt.js.gz +0 -0
  1290. package/dist/interface/ha/SensorHistory-Bslkq7Kj.js +0 -54
  1291. package/dist/interface/ha/SensorHistory-Bslkq7Kj.js.br +0 -0
  1292. package/dist/interface/ha/SensorHistory-Bslkq7Kj.js.gz +0 -0
  1293. package/dist/interface/ha/Sensors-uoK_jFo8.js +0 -1400
  1294. package/dist/interface/ha/Sensors-uoK_jFo8.js.br +0 -0
  1295. package/dist/interface/ha/Sensors-uoK_jFo8.js.gz +0 -0
  1296. package/dist/interface/ha/Settings-3vjjQ3o3.js +0 -218
  1297. package/dist/interface/ha/Settings-3vjjQ3o3.js.br +0 -0
  1298. package/dist/interface/ha/Settings-3vjjQ3o3.js.gz +0 -0
  1299. package/dist/interface/ha/SettingsAccount-DYU_xa5v.js +0 -968
  1300. package/dist/interface/ha/SettingsAccount-DYU_xa5v.js.br +0 -0
  1301. package/dist/interface/ha/SettingsAccount-DYU_xa5v.js.gz +0 -0
  1302. package/dist/interface/ha/SettingsAppearance-CpgnJYLf.js +0 -201
  1303. package/dist/interface/ha/SettingsAppearance-CpgnJYLf.js.br +0 -0
  1304. package/dist/interface/ha/SettingsAppearance-CpgnJYLf.js.gz +0 -0
  1305. package/dist/interface/ha/SettingsAssistant-CXrllafp.js +0 -2134
  1306. package/dist/interface/ha/SettingsAssistant-CXrllafp.js.br +0 -0
  1307. package/dist/interface/ha/SettingsAssistant-CXrllafp.js.gz +0 -0
  1308. package/dist/interface/ha/SettingsBackup-BbEfaQ1e.js +0 -1047
  1309. package/dist/interface/ha/SettingsBackup-BbEfaQ1e.js.br +0 -0
  1310. package/dist/interface/ha/SettingsBackup-BbEfaQ1e.js.gz +0 -0
  1311. package/dist/interface/ha/SettingsList-Dieayk1W.js +0 -40
  1312. package/dist/interface/ha/SettingsList-Dieayk1W.js.br +0 -0
  1313. package/dist/interface/ha/SettingsList-Dieayk1W.js.gz +0 -0
  1314. package/dist/interface/ha/SettingsMqtt-DagskW76.js +0 -512
  1315. package/dist/interface/ha/SettingsMqtt-DagskW76.js.br +0 -0
  1316. package/dist/interface/ha/SettingsMqtt-DagskW76.js.gz +0 -0
  1317. package/dist/interface/ha/SettingsNotifications-B3bcsE4m.js +0 -514
  1318. package/dist/interface/ha/SettingsNotifications-B3bcsE4m.js.br +0 -0
  1319. package/dist/interface/ha/SettingsNotifications-B3bcsE4m.js.gz +0 -0
  1320. package/dist/interface/ha/SettingsRecordings-UqTgc63f.js +0 -152
  1321. package/dist/interface/ha/SettingsRecordings-UqTgc63f.js.br +0 -0
  1322. package/dist/interface/ha/SettingsRecordings-UqTgc63f.js.gz +0 -0
  1323. package/dist/interface/ha/SettingsRemote-Biy7URGf.js +0 -1523
  1324. package/dist/interface/ha/SettingsRemote-Biy7URGf.js.br +0 -0
  1325. package/dist/interface/ha/SettingsRemote-Biy7URGf.js.gz +0 -0
  1326. package/dist/interface/ha/SettingsSystem-6geFXXRq.js +0 -382
  1327. package/dist/interface/ha/SettingsSystem-6geFXXRq.js.br +0 -0
  1328. package/dist/interface/ha/SettingsSystem-6geFXXRq.js.gz +0 -0
  1329. package/dist/interface/ha/SettingsUsers-BXUZX3Dv.js +0 -370
  1330. package/dist/interface/ha/SettingsUsers-BXUZX3Dv.js.br +0 -0
  1331. package/dist/interface/ha/SettingsUsers-BXUZX3Dv.js.gz +0 -0
  1332. package/dist/interface/ha/Terminal-CAsT_c5K.js +0 -611
  1333. package/dist/interface/ha/Terminal-CAsT_c5K.js.br +0 -0
  1334. package/dist/interface/ha/Terminal-CAsT_c5K.js.gz +0 -0
  1335. package/dist/interface/ha/Training-Cs-X3tTu.js +0 -1829
  1336. package/dist/interface/ha/Training-Cs-X3tTu.js.br +0 -0
  1337. package/dist/interface/ha/Training-Cs-X3tTu.js.gz +0 -0
  1338. package/dist/interface/ha/Updates-BRwFnbJd.js +0 -357
  1339. package/dist/interface/ha/Updates-BRwFnbJd.js.br +0 -0
  1340. package/dist/interface/ha/Updates-BRwFnbJd.js.gz +0 -0
  1341. package/dist/interface/ha/VariableInput-q03fAY9F.js +0 -52
  1342. package/dist/interface/ha/VariableInput-q03fAY9F.js.br +0 -0
  1343. package/dist/interface/ha/VariableInput-q03fAY9F.js.gz +0 -0
  1344. package/dist/interface/ha/VersionsHandler-DDk482uv.js +0 -221
  1345. package/dist/interface/ha/VersionsHandler-DDk482uv.js.br +0 -0
  1346. package/dist/interface/ha/VersionsHandler-DDk482uv.js.gz +0 -0
  1347. package/dist/interface/ha/VirtualSensorCreate-CdxwTlbd.js +0 -102
  1348. package/dist/interface/ha/VirtualSensorCreate-CdxwTlbd.js.br +0 -0
  1349. package/dist/interface/ha/VirtualSensorCreate-CdxwTlbd.js.gz +0 -0
  1350. package/dist/interface/ha/Workers-D4MZqg97.js +0 -1270
  1351. package/dist/interface/ha/Workers-D4MZqg97.js.br +0 -0
  1352. package/dist/interface/ha/Workers-D4MZqg97.js.gz +0 -0
  1353. package/dist/interface/ha/api-CNQ6bAly.js +0 -29
  1354. package/dist/interface/ha/api-CNQ6bAly.js.br +0 -0
  1355. package/dist/interface/ha/api-CNQ6bAly.js.gz +0 -0
  1356. package/dist/interface/ha/api-xWofDMK3.js +0 -69075
  1357. package/dist/interface/ha/api-xWofDMK3.js.br +0 -0
  1358. package/dist/interface/ha/api-xWofDMK3.js.gz +0 -0
  1359. package/dist/interface/ha/assistant-Dwelc7yC.js +0 -349
  1360. package/dist/interface/ha/assistant-Dwelc7yC.js.br +0 -0
  1361. package/dist/interface/ha/assistant-Dwelc7yC.js.gz +0 -0
  1362. package/dist/interface/ha/auth-CUnSYAeS.js +0 -271
  1363. package/dist/interface/ha/auth-CUnSYAeS.js.br +0 -0
  1364. package/dist/interface/ha/auth-CUnSYAeS.js.gz +0 -0
  1365. package/dist/interface/ha/automationBlueprint-ZizU2N5n.js +0 -250
  1366. package/dist/interface/ha/automationBlueprint-ZizU2N5n.js.br +0 -0
  1367. package/dist/interface/ha/automationBlueprint-ZizU2N5n.js.gz +0 -0
  1368. package/dist/interface/ha/cards-DZEFY6FW.js +0 -13296
  1369. package/dist/interface/ha/cards-DZEFY6FW.js.br +0 -0
  1370. package/dist/interface/ha/cards-DZEFY6FW.js.gz +0 -0
  1371. package/dist/interface/ha/config-nCVNp-au.js +0 -116
  1372. package/dist/interface/ha/config-nCVNp-au.js.br +0 -0
  1373. package/dist/interface/ha/config-nCVNp-au.js.gz +0 -0
  1374. package/dist/interface/ha/mqtt-D_nDqDyk.js +0 -56
  1375. package/dist/interface/ha/mqtt-D_nDqDyk.js.br +0 -3
  1376. package/dist/interface/ha/mqtt-D_nDqDyk.js.gz +0 -0
  1377. package/dist/interface/ha/notifications-BTJTCdXR.js +0 -159
  1378. package/dist/interface/ha/notifications-BTJTCdXR.js.br +0 -0
  1379. package/dist/interface/ha/notifications-BTJTCdXR.js.gz +0 -0
  1380. package/dist/interface/ha/plugins-C7XSgstR.js +0 -592
  1381. package/dist/interface/ha/plugins-C7XSgstR.js.br +0 -0
  1382. package/dist/interface/ha/plugins-C7XSgstR.js.gz +0 -0
  1383. package/dist/interface/ha/rooms-La0MdVF7.js +0 -45
  1384. package/dist/interface/ha/rooms-La0MdVF7.js.br +0 -0
  1385. package/dist/interface/ha/rooms-La0MdVF7.js.gz +0 -0
  1386. package/dist/interface/ha/server-CElgG4N0.js +0 -244
  1387. package/dist/interface/ha/server-CElgG4N0.js.br +0 -0
  1388. package/dist/interface/ha/server-CElgG4N0.js.gz +0 -0
  1389. package/dist/interface/ha/speeddial-C70QgR0r.js +0 -941
  1390. package/dist/interface/ha/speeddial-C70QgR0r.js.br +0 -0
  1391. package/dist/interface/ha/speeddial-C70QgR0r.js.gz +0 -0
  1392. package/dist/interface/ha/types-zKLgkZPc.js +0 -1073
  1393. package/dist/interface/ha/types-zKLgkZPc.js.br +0 -0
  1394. package/dist/interface/ha/types-zKLgkZPc.js.gz +0 -0
  1395. package/dist/interface/ha/updates-b6EERiem.js +0 -414
  1396. package/dist/interface/ha/updates-b6EERiem.js.br +0 -0
  1397. package/dist/interface/ha/updates-b6EERiem.js.gz +0 -0
  1398. package/dist/interface/ha/useAppVersion-DwqaMEI5.js +0 -22
  1399. package/dist/interface/ha/useAppVersion-DwqaMEI5.js.br +0 -0
  1400. package/dist/interface/ha/useAppVersion-DwqaMEI5.js.gz +0 -0
  1401. package/dist/interface/ha/useKeyboardInset-Crl1GPan.js +0 -27
  1402. package/dist/interface/ha/useKeyboardInset-Crl1GPan.js.br +0 -0
  1403. package/dist/interface/ha/useKeyboardInset-Crl1GPan.js.gz +0 -0
  1404. package/dist/interface/ha/useLogsSocket-BfmhLRN4.js +0 -74
  1405. package/dist/interface/ha/useLogsSocket-BfmhLRN4.js.br +0 -0
  1406. package/dist/interface/ha/useLogsSocket-BfmhLRN4.js.gz +0 -0
  1407. package/dist/interface/ha/useNavLayout-ue6sHO61.js +0 -125
  1408. package/dist/interface/ha/useNavLayout-ue6sHO61.js.br +0 -0
  1409. package/dist/interface/ha/useNavLayout-ue6sHO61.js.gz +0 -0
  1410. package/dist/interface/ha/usePlacementLabel-DZMzFDB5.js +0 -49
  1411. package/dist/interface/ha/usePlacementLabel-DZMzFDB5.js.br +0 -0
  1412. package/dist/interface/ha/usePlacementLabel-DZMzFDB5.js.gz +0 -0
  1413. package/dist/interface/ha/useTabSwipe-CZHGpGVQ.js +0 -45
  1414. package/dist/interface/ha/useTabSwipe-CZHGpGVQ.js.br +0 -0
  1415. package/dist/interface/ha/useTabSwipe-CZHGpGVQ.js.gz +0 -0
  1416. package/dist/interface/ha/useUpdateChannel-Rn843zLL.js +0 -22
  1417. package/dist/interface/ha/useUpdateChannel-Rn843zLL.js.br +0 -0
  1418. package/dist/interface/ha/useUpdateChannel-Rn843zLL.js.gz +0 -0
  1419. package/dist/interface/ha/useUpdatesSocket-CGOVegyc.js +0 -34
  1420. package/dist/interface/ha/useUpdatesSocket-CGOVegyc.js.br +0 -0
  1421. package/dist/interface/ha/useUpdatesSocket-CGOVegyc.js.gz +0 -0
  1422. package/dist/interface/ha/useUserOptions-ydSmcJA8.js +0 -15
  1423. package/dist/interface/ha/useUserOptions-ydSmcJA8.js.br +0 -0
  1424. package/dist/interface/ha/useUserOptions-ydSmcJA8.js.gz +0 -0
@@ -0,0 +1,1934 @@
1
+ import { c as e, m as t } from "./ripple-CGl9oC16.js";
2
+ import { B as n, D as r, G as i, H as a, J as o, K as s, Kt as c, M as l, Ot as u, St as d, Xt as f, Yt as p, bt as m, d as h, f as g, ft as _, gt as v, jt as y, l as b, lt as x, ot as S, p as C, r as w, rt as T, u as E, ut as D, v as O, vt as k, x as A, xt as j, y as M, z as N } from "./runtime-core.esm-bundler-CrWKbcD2.js";
3
+ import { t as ee } from "./message-CZC3zWwJ.js";
4
+ import { $i as P, At as te, Bi as ne, F, Gi as I, Gn as L, I as R, Jr as re, Lt as ie, N as z, P as ae, Rt as oe, Zn as B, a as V, ai as se, ci as H, cr as ce, h as le, ii as U, ir as ue, ni as de, y as fe } from "./api-BCqn9EdE.js";
5
+ import { N as pe } from "./protocol-BB4jdtUC-CGK3LRf3.js";
6
+ import { l as me, n as W, r as he, s as ge, t as G } from "./vee-validate-DWIY1QrX.js";
7
+ import { $ as _e, et as ve, it as ye, nt as be, rt as xe, tt as Se } from "./pinia-BBBIELZl.js";
8
+ import { n as K } from "./vue-i18n-DzDRu5NH.js";
9
+ import { t as Ce } from "./CuiButton-CGAd8xvo.js";
10
+ import { r as we } from "./button-D9sS6H0w.js";
11
+ import { t as q } from "./inputtext-DfgvQQt_.js";
12
+ import { t as Te } from "./select-Ba_XFods.js";
13
+ import { t as Ee } from "./close-BYhywzVJ.js";
14
+ import { i as De, n as Oe, r as ke, t as Ae } from "./accordion-w3Av_-S6.js";
15
+ import { t as je } from "./chip-C18QAhDf.js";
16
+ import { i as Me, t as Ne } from "./CuiDataTable-CV5ePNzg.js";
17
+ import { t as Pe } from "./CuiToggleRow-4GA_eZL4.js";
18
+ import { n as Fe, r as Ie, t as Le } from "./CuiSchema-2zcLy55L.js";
19
+ import { t as Re } from "./CuiCameraTable-ZX4L7FCs.js";
20
+ import { r as ze } from "./cards-CHOFxf6N.js";
21
+ import { t as Be } from "./plus-CVdkLDRi.js";
22
+ import { t as Ve } from "./radar-DBZ9BFoE.js";
23
+ import { n as He, t as Ue } from "./eye-off-Bp9pn9q3.js";
24
+ import { t as We } from "./rooms-Bgn_uCWa.js";
25
+ //#region ~icons/material-symbols/camera-rounded
26
+ var Ge = {
27
+ viewBox: "0 0 24 24",
28
+ width: "1.2em",
29
+ height: "1.2em"
30
+ };
31
+ function Ke(e, t) {
32
+ return a(), C("svg", Ge, [...t[0] ||= [E("path", {
33
+ fill: "currentColor",
34
+ d: "M12.5 9q-.275 0-.425-.25t0-.5L15 3.175q.2-.325.5-.387t.65.112q1.725.775 3.05 2.162T21.25 8.2q.125.325-.038.563T20.7 9zm-3.575 1.225l-3-5.2q-.2-.325-.1-.65t.4-.525Q7.425 3 8.888 2.5T12 2q.375 0 .825.038t.75.087q.35.05.463.3t-.063.55L9.8 10.225q-.15.25-.437.25t-.438-.25M2.85 14q-.275 0-.5-.187t-.275-.463t-.062-.6T2 12q0-1.575.513-3.137T4.1 5.9q.275-.35.638-.35t.562.375l4.2 7.325q.15.25-.012.5T9.05 14zm5 7.1q-1.65-.8-3.025-2.175T2.75 15.8q-.125-.325.05-.562T3.325 15h8.15q.275 0 .425.25t0 .5l-2.875 5.025q-.2.325-.5.425t-.675-.1M12 22q-.35 0-.788-.038t-.762-.087q-.35-.05-.475-.3t.05-.55l4.125-7.2q.15-.25.5-.25t.5.25l2.95 5.125q.175.275.113.6t-.413.6q-1.15.85-2.687 1.35T12 22m6.775-3.875l-4.25-7.375q-.15-.25.013-.5t.437-.25h6.175q.275 0 .5.188t.275.462t.062.6T22 12q0 1.575-.513 3.163T19.9 18.125q-.2.275-.575.288t-.55-.288"
35
+ }, null, -1)]]);
36
+ }
37
+ var qe = k({
38
+ name: "material-symbols-camera-rounded",
39
+ render: Ke
40
+ }), Je = "#### Source: Bubble\n\nOther names: [ESeeCloud](http://www.eseecloud.com/), [dvr163](http://help.dvr163.com/).\n\n- you can skip `username`, `password`, `port`, `ch` and `stream` if they are default\n- setup separate streams for different channels and streams\n\n```yaml\nstreams:\n camera1: bubble://username:password@192.168.1.123:34567/bubble/live?ch=0&stream=0\n```\n\n_Source: [Go2Rtc Bubble](https://github.com/seydx/go2rtc#source-bubble)_\n", Ye = "#### Source: CUI\n\nThis source can be used to stream dynamically generated, go2rtc compatible, URLs. The source is just a placeholder for a `https://` URL.\n\n```yaml\nstreams:\n camera1: cui://192.168.1.123:34567/some-identifier-if-you-want\n```\n\nThe URL will be changed to `https://192.168.1.123:34567/some-identifier-if-you-want` and the response must be like this:\n\n```json\n{\n {\n \"streamUrl\": \"rtsp://192.168.1.1:554/stream\",\n }\n}\n```\n\nGo2rtc will then use the `streamUrl` to stream the video. The `streamUrl` can be any URL that is compatible with go2rtc. The response must be a valid JSON object with the `streamUrl` key.\n", Xe = "#### Source: Doorbird\n\n[Doorbird](https://www.doorbird.com/) proprietary camera protocol with **two way audio** support.\n\n```yaml\nstreams:\n video-audio:\n - rtsp://user:pass@123.123.123.123:554/mpeg/media.amp\n - doorbird://user:pass@123.123.123.123?media=audio\n two-way:\n - rtsp://user:pass@123.123.123.123:554/mpeg/media.amp\n - doorbird://user:pass@123.123.123.123?media=audio\n - doorbird://user:pass@123.123.123.123\n mjpeg-video:\n - doorbird://user:pass@123.123.123.123?media=video\n```\n\n_Source: [Go2Rtc Tuya](https://github.com/seydx/go2rtc#source-doorbird)_\n", Ze = "#### Source: DVRIP\n\nOther names: DVR-IP, NetSurveillance, Sofia protocol (NETsurveillance ActiveX plugin XMeye SDK).\n\n- you can skip `username`, `password`, `port`, `channel` and `subtype` if they are default\n- setup separate streams for different channels\n- use `subtype=0` for Main stream, and `subtype=1` for Extra1 stream\n- only the TCP protocol is supported\n\n```yaml\nstreams:\n only_stream: dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n only_tts: dvrip://username:password@192.168.1.123:34567?backchannel=1\n two_way_audio:\n - dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n - dvrip://username:password@192.168.1.123:34567?backchannel=1\n```\n\n_Source: [Go2Rtc DVRIP](https://github.com/seydx/go2rtc#source-dvrip)_\n", Qe = "#### Source: Echo\n\nSome sources may have a dynamic link. And you will need to get it using a bash or python script. Your script should echo a link to the source. RTSP, FFmpeg or any of the [supported sources](https://github.com/seydx/go2rtc#module-streams).\n\n**Docker** and **Hass Add-on** users has preinstalled `python3`, `curl`, `jq`.\nCheck examples in [wiki](https://github.com/seydx/go2rtc/wiki/Source-Echo-examples).\n\n```yaml\nstreams:\n apple_hls: echo:python3 hls.py https://developer.apple.com/streaming/examples/basic-stream-osx-ios5.html\n```\n\n_Source: [Go2Rtc Echo](https://github.com/seydx/go2rtc#source-echo)_\n", $e = "#### Source: Exec\n\nExec source can run any external application and expect data from it. Two transports are supported - **pipe** and **RTSP**.\n\nIf you want to use **RTSP** transport - the command must contain the `{output}` argument in any place. On launch, it will be replaced by the local address of the RTSP server.\n\n**pipe** reads data from app stdout in different formats: **MJPEG**, **H.264/H.265 bitstream**, **MPEG-TS**. Also pipe can write data to app stdin in two formats: **PCMA** and **PCM/48000**.\n\nThe source can be used with:\n\n- [FFmpeg](https://ffmpeg.org/) - go2rtc ffmpeg source just a shortcut to exec source\n- [FFplay](https://ffmpeg.org/ffplay.html) - play audio on your server\n- [GStreamer](https://gstreamer.freedesktop.org/)\n- [Raspberry Pi Cameras](https://www.raspberrypi.com/documentation/computers/camera_software.html)\n- any your own software\n\n```yaml\nstreams:\n stream: exec:ffmpeg -re -i /media/BigBuckBunny.mp4 -c copy -rtsp_transport tcp -f rtsp {output}\n picam_h264: exec:libcamera-vid -t 0 --inline -o -\n picam_mjpeg: exec:libcamera-vid -t 0 --codec mjpeg -o -\n pi5cam_h264: exec:libcamera-vid -t 0 --libav-format h264 -o -\n canon: exec:gphoto2 --capture-movie --stdout#killsignal=2#killtimeout=5\n play_pcma: exec:ffplay -fflags nobuffer -f alaw -ar 8000 -i -#backchannel=1\n play_pcm48k: exec:ffplay -fflags nobuffer -f s16be -ar 48000 -i -#backchannel=1\n```\n\n_Source: [Go2Rtc Exec](https://github.com/seydx/go2rtc#source-exec)_\n", et = "#### Source: Expr\n\n[Expr](https://github.com/antonmedv/expr) - expression language and expression evaluation for Go.\n\n- [language definition](https://expr.medv.io/docs/Language-Definition) - takes best from JS, Python, Jinja2 syntax\n- your expression should return a link of any supported source\n- expression supports multiple operation, but:\n - all operations must be separated by a semicolon\n - all operations, except the last one, must declare a new variable (`let s = \"abc\";`)\n - the last operation should return a string\n- go2rtc supports additional functions:\n - `fetch` - JS-like HTTP requests\n - `match` - JS-like RegExp queries\n\n## Examples\n\n**Two way audio for Dahua VTO**\n\n```yaml\nstreams:\n dahua_vto: |\n expr: let host = \"admin:password@192.168.1.123\";\n fetch(\"http://\"+host+\"/cgi-bin/configManager.cgi?action=setConfig&Encode[0].MainFormat[0].Audio.Compression=G.711A&Encode[0].MainFormat[0].Audio.Frequency=8000\").ok\n ? \"rtsp://\"+host+\"/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif\" : \"\"\n```\n\n**dom.ru**\n\nYou can get credentials via:\n\n- https://github.com/alexmorbo/domru (file `/share/domru/accounts`)\n- https://github.com/ad/domru\n\n```yaml\nstreams:\n dom_ru: |\n expr: let camera = \"99999999\"; let token = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"; let operator = 99;\n fetch(\"https://myhome.novotelecom.ru/rest/v1/forpost/cameras/\"+camera+\"/video\", {\n headers: {Authorization: \"Bearer \"+token, Operator: operator}\n }).json().data.URL\n```\n\n**Parse HLS files from Apple**\n\nSame example in two languages - python and expr.\n\n```yaml\nstreams:\n example_python: |\n echo:python -c 'from urllib.request import urlopen; import re\n\n # url1 = \"https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8\"\n html1 = urlopen(\"https://developer.apple.com/streaming/examples/basic-stream-osx-ios5.html\").read().decode(\"utf-8\")\n url1 = re.search(r\"https.+?m3u8\", html1)[0]\n\n # url2 = \"gear1/prog_index.m3u8\"\n html2 = urlopen(url1).read().decode(\"utf-8\")\n url2 = re.search(r\"^[a-z0-1/_]+\\.m3u8$\", html2, flags=re.MULTILINE)[0]\n\n # url3 = \"https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/gear1/prog_index.m3u8\"\n url3 = url1[:url1.rindex(\"/\")+1] + url2\n\n print(\"ffmpeg:\" + url3 + \"#video=copy\")'\n\n example_expr: |\n expr:\n\n let html1 = fetch(\"https://developer.apple.com/streaming/examples/basic-stream-osx-ios5.html\").text;\n let url1 = match(html1, \"https.+?m3u8\")[0];\n\n let html2 = fetch(url1).text;\n let url2 = match(html2, \"^[a-z0-1/_]+\\\\.m3u8$\", \"m\")[0];\n\n let url3 = url1[:lastIndexOf(url1, \"/\")+1] + url2;\n\n \"ffmpeg:\" + url3 + \"#video=copy\"\n```\n\n## Comparsion\n\n| expr | python | js |\n| ---------------------------- | -------------------------- | ------------------------------ |\n| let x = 1; | x = 1 | let x = 1 |\n| {a: 1, b: 2} | {\"a\": 1, \"b\": 2} | {a: 1, b: 2} |\n| let r = fetch(url, {method}) | r = request(method, url) | r = await fetch(url, {method}) |\n| r.ok | r.ok | r.ok |\n| r.status | r.status_code | r.status |\n| r.text | r.text | await r.text() |\n| r.json() | r.json() | await r.json() |\n| r.headers | r.headers | r.headers |\n| let m = match(text, \"abc\") | m = re.search(\"abc\", text) | let m = text.match(/abc/) |\n\n_Source: [Go2Rtc Expr](https://github.com/seydx/go2rtc#source-expr)_\n", tt = "#### Source: FFmpeg\n\nYou can get any stream or file or device via FFmpeg and push it to go2rtc. The app will automatically start FFmpeg with the proper arguments when someone starts watching the stream.\n\n- FFmpeg preistalled for **Docker** and **Hass Add-on** users\n- **Hass Add-on** users can target files from [/media](https://www.home-assistant.io/more-info/local-media/setup-media/) folder\n\nFormat: `ffmpeg:{input}#{param1}#{param2}#{param3}`. Examples:\n\n```yaml\nstreams:\n # [FILE] all tracks will be copied without transcoding codecs\n file1: ffmpeg:/media/BigBuckBunny.mp4\n\n # [FILE] video will be transcoded to H264, audio will be skipped\n file2: ffmpeg:/media/BigBuckBunny.mp4#video=h264\n\n # [FILE] video will be copied, audio will be transcoded to pcmu\n file3: ffmpeg:/media/BigBuckBunny.mp4#video=copy#audio=pcmu\n\n # [HLS] video will be copied, audio will be skipped\n hls: ffmpeg:https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/gear5/prog_index.m3u8#video=copy\n\n # [MJPEG] video will be transcoded to H264\n mjpeg: ffmpeg:http://185.97.122.128/cgi-bin/faststream.jpg#video=h264\n\n # [RTSP] video with rotation, should be transcoded, so select H264\n rotate: ffmpeg:rtsp://rtsp:12345678@192.168.1.123/av_stream/ch0#video=h264#rotate=90\n```\n\nAll trascoding formats has [built-in templates](https://github.com/seydx/go2rtc/blob/master/internal/ffmpeg/ffmpeg.go): `h264`, `h265`, `opus`, `pcmu`, `pcmu/16000`, `pcmu/48000`, `pcma`, `pcma/16000`, `pcma/48000`, `aac`, `aac/16000`.\n\nBut you can override them via YAML config. You can also add your own formats to config and use them with source params.\n\n```yaml\nffmpeg:\n bin: ffmpeg # path to ffmpeg binary\n h264: '-codec:v libx264 -g:v 30 -preset:v superfast -tune:v zerolatency -profile:v main -level:v 4.1'\n mycodec: '-any args that supported by ffmpeg...'\n myinput: '-fflags nobuffer -flags low_delay -timeout 5000000 -i {input}'\n myraw: '-ss 00:00:20'\n```\n\n- You can use go2rtc stream name as ffmpeg input (ex. `ffmpeg:camera1#video=h264`)\n- You can use `video` and `audio` params multiple times (ex. `#video=copy#audio=copy#audio=pcmu`)\n- You can use `rotate` param with `90`, `180`, `270` or `-90` values, important with transcoding (ex. `#video=h264#rotate=90`)\n- You can use `width` and/or `height` params, important with transcoding (ex. `#video=h264#width=1280`)\n- You can use `drawtext` to add a timestamp (ex. `drawtext=x=2:y=2:fontsize=12:fontcolor=white:box=1:boxcolor=black`)\n - This will greatly increase the CPU of the server, even with hardware acceleration\n- You can use `raw` param for any additional FFmpeg arguments (ex. `#raw=-vf transpose=1`)\n- You can use `input` param to override default input template (ex. `#input=rtsp/udp` will change RTSP transport from TCP to UDP+TCP)\n - You can use raw input value (ex. `#input=-timeout 5000000 -i {input}`)\n - You can add your own input templates\n\nRead more about [hardware acceleration](https://github.com/seydx/go2rtc/wiki/Hardware-acceleration).\n\n**PS.** It is recommended to check the available hardware in the WebUI add page.\n\n<hr>\n\n#### Source: FFmpeg Device\n\nYou can get video from any USB-camera or Webcam as RTSP or WebRTC stream. This is part of FFmpeg integration.\n\n- check available devices in Web interface\n- `video_size` and `framerate` must be supported by your camera!\n- for Linux supported only video for now\n- for macOS you can stream Facetime camera or whole Desktop!\n- for macOS important to set right framerate\n\nFormat: `ffmpeg:device?{input-params}#{param1}#{param2}#{param3}`\n\n```yaml\nstreams:\n linux_usbcam: ffmpeg:device?video=0&video_size=1280x720#video=h264\n windows_webcam: ffmpeg:device?video=0#video=h264\n macos_facetime: ffmpeg:device?video=0&audio=1&video_size=1280x720&framerate=30#video=h264#audio=pcma\n```\n\n**PS.** It is recommended to check the available devices in the WebUI add page.\n\n_Source: [Go2Rtc FFmpeg](https://github.com/seydx/go2rtc#source-ffmpeg) & [Go2Rtc FFmpeg Device](https://github.com/seydx/go2rtc#source-ffmpeg-device)_\n", nt = "#### Source: GoPro\n\nSupported models: HERO9, HERO10, HERO11, HERO12. \nSupported OS: Linux, Mac, Windows, [HassOS](https://www.home-assistant.io/installation/)\n\nThe other camera models have different APIs. I will try to add them in the next versions.\n\n## Config\n\n- USB-connected cameras create a new network interface in the system\n- Linux users do not need to install anything\n- Windows users should install the [network driver](https://community.gopro.com/s/article/GoPro-Webcam)\n- if the camera is detected but the stream does not start - you need to disable firewall\n\n1. Discover camera address: WebUI > Add > GoPro\n2. Add camera to config\n\n```yaml\nstreams:\n hero12: gopro://172.20.100.51\n```\n\n## Useful links\n\n- https://gopro.github.io/OpenGoPro/\n\n_Source: [Go2Rtc Hass](https://github.com/seydx/go2rtc#source-hass)_\n", rt = "#### Source: Hass\n\nSupport import camera links from [Home Assistant](https://www.home-assistant.io/) config files:\n\n- [Generic Camera](https://www.home-assistant.io/integrations/generic/), setup via GUI\n- [HomeKit Camera](https://www.home-assistant.io/integrations/homekit_controller/)\n- [ONVIF](https://www.home-assistant.io/integrations/onvif/)\n- [Roborock](https://github.com/humbertogontijo/homeassistant-roborock) vacuums with camera\n\n```yaml\nhass:\n config: '/config' # skip this setting if you Hass Add-on user\n\nstreams:\n generic_camera: hass:Camera1 # Settings > Integrations > Integration Name\n aqara_g3: hass:Camera-Hub-G3-AB12\n```\n\n**WebRTC Cameras**\n\nAny cameras in WebRTC format are supported. But at the moment Home Assistant only supports some [Nest](https://www.home-assistant.io/integrations/nest/) cameras in this fomat.\n\nThe Nest API only allows you to get a link to a stream for 5 minutes. So every 5 minutes the stream will be reconnected.\n\n```yaml\nstreams:\n # link to Home Assistant Supervised\n hass-webrtc1: hass://supervisor?entity_id=camera.nest_doorbell\n # link to external Hass with Long-Lived Access Tokens\n hass-webrtc2: hass://192.168.1.123:8123?entity_id=camera.nest_doorbell&token=eyXYZ...\n```\n\n_Source: [Go2Rtc Hass](https://github.com/seydx/go2rtc#source-hass)_\n", it = "#### Source: HomeKit\n\n**Important:**\n\n- You can use HomeKit Cameras **without Apple devices** (iPhone, iPad, etc.), it's just a yet another protocol\n- HomeKit device can be paired with only one ecosystem. So, if you have paired it to an iPhone (Apple Home) - you can't pair it with Home Assistant or go2rtc. Or if you have paired it to go2rtc - you can't pair it with iPhone\n- HomeKit device should be in same network with working [mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) between device and go2rtc\n\ngo2rtc support import paired HomeKit devices from [Home Assistant](#source-hass). So you can use HomeKit camera with Hass and go2rtc simultaneously. If you using Hass, I recommend pairing devices with it, it will give you more options.\n\nYou can pair device with go2rtc on the HomeKit page. If you can't see your devices - reload the page. Also try reboot your HomeKit device (power off). If you still can't see it - you have a problems with mDNS.\n\nIf you see a device but it does not have a pair button - it is paired to some ecosystem (Apple Home, Home Assistant etc). You need to delete device from that ecosystem, and it will be available for pairing. If you cannot unpair device, you will have to reset it.\n\n**Important:**\n\n- HomeKit audio uses very non-standard **AAC-ELD** codec with very non-standard params and specification violation\n- Audio can't be played in `VLC` and probably any other player\n- Audio should be transcoded for using with MSE, WebRTC, etc.\n\nRecommended settings for using HomeKit Camera with WebRTC, MSE, MP4, RTSP:\n\n```\nstreams:\n aqara_g3:\n - hass:Camera-Hub-G3-AB12\n - ffmpeg:aqara_g3#audio=aac#audio=opus\n```\n\nRTSP link with \"normal\" audio for any player: `rtsp://192.168.1.123:8554/aqara_g3?video&audio=aac`\n\n**This source is in active development!** Tested only with [Aqara Camera Hub G3](https://www.aqara.com/eu/product/camera-hub-g3) (both EU and CN versions).\n\n_Source: [Go2Rtc HomeKit](https://github.com/seydx/go2rtc#source-homekit)_\n", at = "#### Source: HTTP\n\nSupport Content-Type:\n\n- **HTTP-FLV** (`video/x-flv`) - same as RTMP, but over HTTP\n- **HTTP-JPEG** (`image/jpeg`) - camera snapshot link, can be converted by go2rtc to MJPEG stream\n- **HTTP-MJPEG** (`multipart/x`) - simple MJPEG stream over HTTP\n- **MPEG-TS** (`video/mpeg`) - legacy [streaming format](https://en.wikipedia.org/wiki/MPEG_transport_stream)\n\nSource also support HTTP and TCP streams with autodetection for different formats: **MJPEG**, **H.264/H.265 bitstream**, **MPEG-TS**.\n\n```yaml\nstreams:\n # [HTTP-FLV] stream in video/x-flv format\n http_flv: http://192.168.1.123:20880/api/camera/stream/780900131155/657617\n\n # [JPEG] snapshots from Dahua camera, will be converted to MJPEG stream\n dahua_snap: http://admin:password@192.168.1.123/cgi-bin/snapshot.cgi?channel=1\n\n # [MJPEG] stream will be proxied without modification\n http_mjpeg: https://mjpeg.sanford.io/count.mjpeg\n\n # [MJPEG or H.264/H.265 bitstream or MPEG-TS]\n tcp_magic: tcp://192.168.1.123:12345\n\n # Add custom header\n custom_header: 'https://mjpeg.sanford.io/count.mjpeg#header=Authorization: Bearer XXX'\n```\n\n**PS.** Dahua camera has bug: if you select MJPEG codec for RTSP second stream - snapshot won't work.\n\n_Source: [Go2Rtc Http](https://github.com/seydx/go2rtc#source-http)_\n", ot = "#### Source: ISAPI\n\nThis source type support only backchannel audio for Hikvision ISAPI protocol. So it should be used as second source in addition to the RTSP protocol.\n\n```yaml\nstreams:\n hikvision1:\n - rtsp://admin:password@192.168.1.123:554/Streaming/Channels/101\n - isapi://admin:password@192.168.1.123:80/\n```\n\n_Source: [Go2Rtc Isapi](https://github.com/seydx/go2rtc#source-isapi)_\n", st = "#### Source: Ivideon\n\nSupport public cameras from service [Ivideon](https://tv.ivideon.com/).\n\n```yaml\nstreams:\n quailcam: ivideon:100-tu5dkUPct39cTp9oNEN2B6/0\n```\n\n_Source: [Go2Rtc Ivideon](https://github.com/seydx/go2rtc#source-ivideon)_\n", ct = "#### Source: Kasa\n\n[TP-Link Kasa](https://www.kasasmart.com/) non-standard protocol [more info](https://medium.com/@hu3vjeen/reverse-engineering-tp-link-kc100-bac4641bf1cd).\n\n- `username` - urlsafe email, `alex@gmail.com` -> `alex%40gmail.com`\n- `password` - base64password, `secret1` -> `c2VjcmV0MQ==`\n\n```yaml\nstreams:\n kc401: kasa://username:password@192.168.1.123:19443/https/stream/mixed\n```\n\nTested: KD110, KC200, KC401, KC420WS, EC71.\n\n_Source: [Go2Rtc Kasa](https://github.com/seydx/go2rtc#source-kasa)_\n", lt = "#### Source: Nest\n\nCurrently only WebRTC cameras are supported.\n\nFor simplicity, it is recommended to connect the Nest/WebRTC camera to the [Home Assistant](#source-hass). But if you can somehow get the below parameters - Nest/WebRTC source will work without Hass.\n\n```yaml\nstreams:\n nest-doorbell: nest:?client_id=***&client_secret=***&refresh_token=***&project_id=***&device_id=***\n```\n\n_Source: [Go2Rtc Nest](https://github.com/seydx/go2rtc#source-nest)_\n", ut = "#### Source: ONVIF\n\nThe source is not very useful if you already know RTSP and snapshot links for your camera. But it can be useful if you don't.\n\n**WebUI > Add** webpage support ONVIF autodiscovery. Your server must be on the same subnet as the camera. If you use docker, you must use \"network host\".\n\n```yaml\nstreams:\n dahua1: onvif://admin:password@192.168.1.123\n reolink1: onvif://admin:password@192.168.1.123:8000\n tapo1: onvif://admin:password@192.168.1.123:2020\n```\n\n_Source: [Go2Rtc Onvif](https://github.com/seydx/go2rtc#source-onvif)_\n", dt = "#### Source: Ring\n\nThis source type support Ring cameras with [two way audio](#two-way-audio) support. If you have a `refresh_token` and `device_id` - you can use it in `go2rtc.yaml` config file. Otherwise, you can use the go2rtc interface and add your ring account (WebUI > Add > Ring). Once added, it will list all your Ring cameras.\n\n```yaml\nstreams:\n ring: ring:?device_id=XXX&refresh_token=XXX\n ring_snapshot: ring:?device_id=XXX&refresh_token=XXX&snapshot\n```\n\n_Source: [Go2Rtc Ring](https://github.com/seydx/go2rtc#source-ring)_\n", ft = "#### Source: Roborock\n\nThis source type support Roborock vacuums with cameras. Known working models:\n\n- Roborock S6 MaxV - only video (the vacuum has no microphone)\n- Roborock S7 MaxV - video and two way audio\n- Roborock Qrevo MaxV - video and two way audio\n\nSource support load Roborock credentials from Home Assistant [custom integration](https://github.com/humbertogontijo/homeassistant-roborock) or the [core integration](https://www.home-assistant.io/integrations/roborock). Otherwise, you need to log in to your Roborock account (MiHome account is not supported). Go to: go2rtc WebUI > Add webpage. Copy `roborock://...` source for your vacuum and paste it to `go2rtc.yaml` config.\n\nIf you have graphic pin for your vacuum - add it as numeric pin (lines: 123, 456, 789) to the end of the roborock-link.\n\n_Source: [Go2Rtc Roborock](https://github.com/seydx/go2rtc#source-roborock)_\n", pt = "#### Source: RTMP\n\nYou can get stream from RTMP server, for example [Nginx with nginx-rtmp-module](https://github.com/arut/nginx-rtmp-module).\n\n```yaml\nstreams:\n rtmp_stream: rtmp://192.168.1.123/live/camera1\n```\n\n_Source: [Go2Rtc RTMP](https://github.com/seydx/go2rtc#source-rtmp)_\n", mt = "#### Source: RTSP\n\n```yaml\nstreams:\n sonoff_camera: rtsp://rtsp:12345678@192.168.1.123/av_stream/ch0\n dahua_camera:\n - rtsp://admin:password@192.168.1.123/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif\n - rtsp://admin:password@192.168.1.123/cam/realmonitor?channel=1&subtype=1\n amcrest_doorbell:\n - rtsp://username:password@192.168.1.123:554/cam/realmonitor?channel=1&subtype=0#backchannel=0\n unifi_camera: rtspx://192.168.1.123:7441/fD6ouM72bWoFijxK\n glichy_camera: ffmpeg:rtsp://username:password@192.168.1.123/live/ch00_1\n```\n\n**Recommendations**\n\n- **Amcrest Doorbell** users may want to disable two way audio, because with an active stream you won't have a call button working. You need to add `#backchannel=0` to the end of your RTSP link in YAML config file\n- **Dahua Doorbell** users may want to change backchannel [audio codec](https://github.com/AlexxIT/go2rtc/issues/52)\n- **Reolink** users may want NOT to use RTSP protocol at all, some camera models have a very awful unusable stream implementation\n- **Ubiquiti UniFi** users may want to disable HTTPS verification. Use `rtspx://` prefix instead of `rtsps://`. And don't use `?enableSrtp` [suffix](https://github.com/AlexxIT/go2rtc/issues/81)\n- **TP-Link Tapo** users may skip login and password, because go2rtc support login [without them](https://drmnsamoliu.github.io/video.html)\n- If your camera has two RTSP links - you can add both of them as sources. This is useful when streams has different codecs, as example AAC audio with main stream and PCMU/PCMA audio with second stream\n- If the stream from your camera is glitchy, try using [ffmpeg source](#source-ffmpeg). It will not add CPU load if you won't use transcoding\n- If the stream from your camera is very glitchy, try to use transcoding with [ffmpeg source](#source-ffmpeg)\n\n**Other options**\n\nFormat: `rtsp...#{param1}#{param2}#{param3}`\n\n- Ignore audio - `#media=video` or ignore video - `#media=audio`\n- Ignore two way audio API `#backchannel=0` - important for some glitchy cameras\n- Use WebSocket transport `#transport=ws...`\n\n**RTSP over WebSocket**\n\n```yaml\nstreams:\n # WebSocket with authorization, RTSP - without\n axis-rtsp-ws: rtsp://192.168.1.123:4567/axis-media/media.amp?overview=0&camera=1&resolution=1280x720&videoframeskipmode=empty&Axis-Orig-Sw=true#transport=ws://user:pass@192.168.1.123:4567/rtsp-over-websocket\n # WebSocket without authorization, RTSP - with\n dahua-rtsp-ws: rtsp://user:pass@192.168.1.123/cam/realmonitor?channel=1&subtype=1&proto=Private3#transport=ws://192.168.1.123/rtspoverwebsocket\n```\n\n_Source: [Go2Rtc RTSP](https://github.com/seydx/go2rtc#source-rtsp)_\n", ht = "#### Source: Tapo\n\n[TP-Link Tapo](https://www.tapo.com/) proprietary camera protocol with **two way audio** support.\n\n- stream quality is the same as [RTSP protocol](https://www.tapo.com/en/faq/34/)\n- use the **cloud password**, this is not the RTSP password! you do not need to add a login!\n- you can also use UPPERCASE MD5 hash from your cloud password with `admin` username\n- some new camera firmwares requires SHA256 instead of MD5\n\n```yaml\nstreams:\n # cloud password without username\n camera1: tapo://cloud-password@192.168.1.123\n # admin username and UPPERCASE MD5 cloud-password hash\n camera2: tapo://admin:UPPERCASE-MD5@192.168.1.123\n # admin username and UPPERCASE SHA256 cloud-password hash\n camera3: tapo://admin:UPPERCASE-SHA256@192.168.1.123\n```\n\n```bash\necho -n \"cloud password\" | md5 | awk '{print toupper($0)}'\necho -n \"cloud password\" | shasum -a 256 | awk '{print toupper($0)}'\n```\n\n_Source: [Go2Rtc Tapo](https://github.com/seydx/go2rtc#source-tapo)_\n", gt = "#### Source: Tuya\n\n[Tuya](https://www.tuya.com/) proprietary camera protocol with **two way audio** support. Go2rtc supports `Tuya Smart API` and `Tuya Cloud API`.\n\n**Tuya Smart API (recommended)**:\n\n- Cameras can be discovered through the go2rtc web interface via Tuya Smart account (Add > Tuya > Select region and fill in email and password > Login).\n- **Smart Life accounts are not supported**, you need to create a Tuya Smart account. If the cameras are already added to the Smart Life app, you need to remove them and add them again to the Tuya Smart app.\n\n**Tuya Cloud API**:\n\n- Requires setting up a cloud project in the Tuya Developer Platform.\n- Obtain `device_id`, `client_id`, `client_secret`, and `uid` from [Tuya IoT Platform](https://iot.tuya.com/). [Here's a guide](https://xzetsubou.github.io/hass-localtuya/cloud_api/).\n- Please ensure that you have subscribed to the `IoT Video Live Stream` service (Free Trial) in the Tuya Developer Platform, otherwise the stream will not work (Tuya Developer Platform > Service API > Authorize > IoT Video Live Stream).\n\n**Configuring the stream:**\n\n- Use `resolution` parameter to select the stream (not all cameras support `hd` stream through WebRTC even if the camera has it):\n - `hd` - HD stream (default)\n - `sd` - SD stream\n\n```yaml\nstreams:\n # Tuya Smart API: WebRTC main stream (use Add > Tuya to discover the URL)\n tuya_main:\n - tuya://protect-us.ismartlife.me?device_id=XXX&email=XXX&password=XXX\n\n # Tuya Smart API: WebRTC sub stream (use Add > Tuya to discover the URL)\n tuya_sub:\n - tuya://protect-us.ismartlife.me?device_id=XXX&email=XXX&password=XXX&resolution=sd\n\n # Tuya Cloud API: WebRTC main stream\n tuya_webrtc:\n - tuya://openapi.tuyaus.com?device_id=XXX&uid=XXX&client_id=XXX&client_secret=XXX\n\n # Tuya Cloud API: WebRTC sub stream\n tuya_webrtc_sd:\n - tuya://openapi.tuyaus.com?device_id=XXX&uid=XXX&client_id=XXX&client_secret=XXX&resolution=sd\n```\n\n_Source: [Go2Rtc Tuya](https://github.com/seydx/go2rtc#source-tuya)_\n", _t = "#### Source: WebRTC\n\nThis source type support four connection formats.\n\n**whep**\n\n[WebRTC/WHEP](https://datatracker.ietf.org/doc/draft-murillo-whep/) - is replaced by [WebRTC/WISH](https://datatracker.ietf.org/doc/charter-ietf-wish/02/) standard for WebRTC video/audio viewers. But it may already be supported in some third-party software. It is supported in go2rtc.\n\n**go2rtc**\n\nThis format is only supported in go2rtc. Unlike WHEP it supports asynchronous WebRTC connection and two way audio.\n\n**openipc**\n\nSupport connection to [OpenIPC](https://openipc.org/) cameras.\n\n**wyze**\n\nSupports connection to [Wyze](https://www.wyze.com/) cameras, using WebRTC protocol. You can use [docker-wyze-bridge](https://github.com/mrlt8/docker-wyze-bridge) project to get connection credentials.\n\n**kinesis**\n\nSupports [Amazon Kinesis Video Streams](https://aws.amazon.com/kinesis/video-streams/), using WebRTC protocol. You need to specify signalling WebSocket URL with all credentials in query params, `client_id` and `ice_servers` list in [JSON format](https://developer.mozilla.org/en-US/docs/Web/API/RTCIceServer).\n\n```yaml\nstreams:\n webrtc-whep: webrtc:http://192.168.1.123:1984/api/webrtc?src=camera1\n webrtc-go2rtc: webrtc:ws://192.168.1.123:1984/api/ws?src=camera1\n webrtc-openipc: webrtc:ws://192.168.1.123/webrtc_ws#format=openipc#ice_servers=[{\"urls\":\"stun:stun.kinesisvideo.eu-north-1.amazonaws.com:443\"}]\n webrtc-wyze: webrtc:http://192.168.1.123:5000/signaling/camera1?kvs#format=wyze\n webrtc-kinesis: webrtc:wss://...amazonaws.com/?...#format=kinesis#client_id=...#ice_servers=[{...},{...}]\n```\n\n**PS.** For `kinesis` sources you can use [echo](#source-echo) to get connection params using `bash`/`python` or any other script language.\n\n_Source: [Go2Rtc WebRTC](https://github.com/seydx/go2rtc#source-webrtc)_\n", vt = "#### Source: WebTorrent\n\nThis source can get a stream from another go2rtc via [WebTorrent](#module-webtorrent) protocol.\n\n```yaml\nstreams:\n webtorrent1: webtorrent:?share=huofssuxaty00izc&pwd=k3l2j9djeg8v8r7e\n```\n\n_Source: [Go2Rtc Webtorrent](https://github.com/seydx/go2rtc#source-webtorrent)_\n", yt = "#### Source: Wyze\n\nThis source allows you to stream from [Wyze](https://wyze.com/) cameras using native P2P protocol without the Wyze app or SDK.\n\n**Important:**\n\n1. **Requires Wyze account**. You need to login once via the WebUI to load your cameras.\n2. **Requires firmware with DTLS**. Only cameras with DTLS-enabled firmware are supported.\n3. Internet access is only needed when loading cameras from your account. After that, all streaming is local P2P.\n4. Connection to the camera is local only (direct P2P to camera IP).\n\n**Features:**\n\n- H.264 and H.265 video codec support\n- AAC, G.711, PCM, and Opus audio codec support\n- Two-way audio (intercom) support\n- Resolution switching (HD/SD)\n\n## Setup\n\n1. Get your API Key from [Wyze Developer Portal](https://support.wyze.com/hc/en-us/articles/16129834216731)\n2. Go to go2rtc WebUI > Add > Wyze\n3. Enter your API ID, API Key, email, and password\n4. Select cameras to add - stream URLs are generated automatically\n\n**Example Config**\n\n```yaml\nwyze:\n user@email.com:\n api_id: 'your-api-id'\n api_key: 'your-api-key'\n password: 'yourpassword' # or MD5 triple-hash with \"md5:\" prefix\n\nstreams:\n wyze_cam: wyze://192.168.1.123?uid=WYZEUID1234567890AB&enr=xxx&mac=AABBCCDDEEFF&model=HL_CAM4&dtls=true\n```\n\n## Stream URL Format\n\nThe stream URL is automatically generated when you add cameras via the WebUI:\n\n```\nwyze://[IP]?uid=[P2P_ID]&enr=[ENR]&mac=[MAC]&model=[MODEL]&subtype=[hd|sd]&dtls=true\n```\n\n| Parameter | Description |\n| --------- | ----------------------------------------------- |\n| `IP` | Camera's local IP address |\n| `uid` | P2P identifier (20 chars) |\n| `enr` | Encryption key for DTLS |\n| `mac` | Device MAC address |\n| `model` | Camera model (e.g., HL_CAM4) |\n| `dtls` | Enable DTLS encryption (default: true) |\n| `subtype` | Camera resolution: `hd` or `sd` (default: `hd`) |\n\n## Configuration\n\n### Resolution\n\nYou can change the camera's resolution using the `subtype` parameter:\n\n```yaml\nstreams:\n wyze_hd: wyze://...&subtype=hd\n wyze_sd: wyze://...&subtype=sd\n```\n\n### Two-Way Audio\n\nTwo-way audio (intercom) is supported automatically. When a consumer sends audio to the stream, it will be transmitted to the camera's speaker.\n", bt = "#### Source: Xiaomi\n\nThis source allows you to view cameras from the [Xiaomi Mi Home](https://home.mi.com/) ecosystem.\n\n**Important:**\n\n1. **Not all cameras are supported**. There are several P2P protocol vendors in the Xiaomi ecosystem.\n Currently, the **CS2** vendor is supported. However, the **TUTK** vendor is not supported.\n2. Each time you connect to the camera, you need internet access to obtain encryption keys.\n3. Connection to the camera is local only.\n\n**Features:**\n\n- Multiple Xiaomi accounts supported\n- Cameras from multiple regions are supported for a single account\n- Two-way audio is supported\n- Cameras with multiple lenses are supported\n\n## Setup\n\n1. Goto go2rtc WebUI > Add > Xiaomi > Login with username and password\n2. Receive verification code by email or phone if required.\n3. Complete the captcha if required.\n4. If everything is OK, your account will be added and you can load cameras from it.\n\n**Example**\n\n```yaml\nxiaomi:\n 1234567890: V1:***\n\nstreams:\n xiaomi1: xiaomi://1234567890:cn@192.168.1.123?did=9876543210&model=isa.camera.hlc7\n```\n\n## Configuration\n\nYou can change camera's quality: `subtype=hd/sd/auto`\n\n```yaml\nstreams:\n xiaomi1: xiaomi://***&subtype=sd\n```\n\nYou can use second channel for Dual cameras: `channel=1`\n\n```yaml\nstreams:\n xiaomi1: xiaomi://***&channel=1\n```\n", xt = "# Yandex\n\nSource for receiving stream from new [Yandex IP camera](https://alice.yandex.ru/smart-home/security/ipcamera).\n\n## Get Yandex token\n\n1. Install HomeAssistant integration [YandexStation](https://github.com/AlexxIT/YandexStation).\n2. Copy token from HomeAssistant config folder: `/config/.storage/core.config_entries`, key: `\"x_token\"`.\n\n## Get device ID\n\n1. Open this link in any browser: https://iot.quasar.yandex.ru/m/v3/user/devices\n2. Copy ID of your camera, key: `\"id\"`.\n\n## Config examples\n\n```yaml\nstreams:\n yandex_stream: yandex:?x_token=XXXX&device_id=XXXX\n yandex_snapshot: yandex:?x_token=XXXX&device_id=XXXX&snapshot\n yandex_snapshot_custom_size: yandex:?x_token=XXXX&device_id=XXXX&snapshot=h=540\n```\n\n_Source: [Go2Rtc Yandex](https://github.com/AlexxIT/go2rtc/tree/master/internal/yandex)_\n", St = [
41
+ "nest:",
42
+ "ring:",
43
+ "yandex:",
44
+ "webtorrent:"
45
+ ];
46
+ function Ct(e) {
47
+ let t = e.trim(), n;
48
+ for (let e of _e) t.startsWith(e) && (!n || e.length > n.length) && (n = e);
49
+ return n;
50
+ }
51
+ function wt(e) {
52
+ let t = e.trim();
53
+ if (!t) return "";
54
+ for (let e of St) if (t.startsWith(e)) {
55
+ let n = t.slice(e.length);
56
+ return n && !n.startsWith("?") ? `${e}?${n}` : t;
57
+ }
58
+ return t;
59
+ }
60
+ function Tt(e) {
61
+ return e.startsWith("cui://") && e.includes("/api/cameras/streams/");
62
+ }
63
+ //#endregion
64
+ //#region src/components/CuiCameraSources/CuiCameraSources.vue?vue&type=script&setup=true&lang.ts
65
+ var Et = { class: "flex flex-col gap-6" }, Dt = { class: "flex gap-2 items-center w-full" }, Ot = { class: "flex gap-2 items-center w-full" }, kt = { class: "text-color text-sm" }, At = { class: "flex flex-col gap-6" }, jt = ["for"], Mt = ["for"], Nt = { class: "w-full flex flex-col gap-2" }, Pt = { class: "flex flex-col gap-6" }, Ft = { class: "flex flex-col field-gap" }, It = ["for"], Lt = {
66
+ key: 0,
67
+ class: "w-full flex flex-row gap-2"
68
+ }, Rt = "rtsp://user:pass@192.168.1.50:554/stream", zt = /* @__PURE__ */ A({
69
+ __name: "CuiCameraSources",
70
+ props: {
71
+ sources: {},
72
+ isLoading: { type: Boolean },
73
+ allowAddRemoveSources: {
74
+ type: Boolean,
75
+ default: !1
76
+ }
77
+ },
78
+ setup(n, { expose: r }) {
79
+ let s = new L(), u = n, p = B(), { t: m } = K(), { mutateAsync: _, isPending: S } = s.previewCameraQuery(), T = /* #__PURE__ */ Object.assign({
80
+ "../../markdowns/bubble.md": Je,
81
+ "../../markdowns/cui.md": Ye,
82
+ "../../markdowns/doorbird.md": Xe,
83
+ "../../markdowns/dvrip.md": Ze,
84
+ "../../markdowns/echo.md": Qe,
85
+ "../../markdowns/exec.md": $e,
86
+ "../../markdowns/expr.md": et,
87
+ "../../markdowns/ffmpeg.md": tt,
88
+ "../../markdowns/gopro.md": nt,
89
+ "../../markdowns/hass.md": rt,
90
+ "../../markdowns/homekit.md": it,
91
+ "../../markdowns/http.md": at,
92
+ "../../markdowns/isapi.md": ot,
93
+ "../../markdowns/ivideon.md": st,
94
+ "../../markdowns/kasa.md": ct,
95
+ "../../markdowns/nest.md": lt,
96
+ "../../markdowns/onvif.md": ut,
97
+ "../../markdowns/ring.md": dt,
98
+ "../../markdowns/roborock.md": ft,
99
+ "../../markdowns/rtmp.md": pt,
100
+ "../../markdowns/rtsp.md": mt,
101
+ "../../markdowns/tapo.md": ht,
102
+ "../../markdowns/tuya.md": gt,
103
+ "../../markdowns/webrtc.md": _t,
104
+ "../../markdowns/webtorrent.md": vt,
105
+ "../../markdowns/wyze.md": yt,
106
+ "../../markdowns/xiaomi.md": bt,
107
+ "../../markdowns/yandex.md": xt
108
+ }), k = d([
109
+ "high-resolution",
110
+ "mid-resolution",
111
+ "low-resolution",
112
+ "snapshot"
113
+ ]), A = d(u.sources.map((e, t) => t)), j = b(() => u.isLoading || S.value);
114
+ function N(e) {
115
+ return e.urls.some(Tt);
116
+ }
117
+ function P(e) {
118
+ let t = Ct(e);
119
+ if (!t) return;
120
+ let n = t.replace(/[:/]+$/, "");
121
+ return T[`../../markdowns/${n}.md`];
122
+ }
123
+ function te(e) {
124
+ return !!P(e);
125
+ }
126
+ function ne(e) {
127
+ u.sources[e].urls.push("");
128
+ }
129
+ function F(e, t) {
130
+ u.sources[e].urls.splice(t, 1);
131
+ }
132
+ function I(e, t, n) {
133
+ u.sources[e].urls[t] = n;
134
+ }
135
+ function R(e, t) {
136
+ e.role = t, t === "snapshot" && (e.useForSnapshot = !1, e.hotMode = !1, e.preload = !1);
137
+ }
138
+ function re() {
139
+ u.sources.push({
140
+ _id: fe(8),
141
+ name: "",
142
+ role: null,
143
+ urls: [""],
144
+ useForSnapshot: !1,
145
+ hotMode: !0,
146
+ preload: !0,
147
+ muted: !1
148
+ }), A.value = [u.sources.length];
149
+ }
150
+ function z(e) {
151
+ u.sources.splice(e, 1);
152
+ }
153
+ function ae(e) {
154
+ let t = P(e);
155
+ t && p.openTextDialog({ data: {
156
+ title: m("components.dialog.title.information"),
157
+ hideConfirmButton: !0,
158
+ contentText: t,
159
+ markdown: !0
160
+ } });
161
+ }
162
+ async function V(e) {
163
+ let t = wt(e);
164
+ if (t) try {
165
+ let e = await _({ cameraData: { url: t } });
166
+ p.openImageDialog({ data: {
167
+ title: m("components.dialog.title.preview"),
168
+ src: `data:image/jpeg;base64,${e}`,
169
+ hideConfirmButton: !0
170
+ } });
171
+ } catch {}
172
+ }
173
+ return r({ newSource: re }), (r, s) => {
174
+ let u = je, d = Ee, p = Ce, m = ke, _ = q, b = oe, S = ee, T = Te, P = ue, L = Pe, re = Fe, B = qe, se = ie, H = De, ce = Oe, le = Ae, U = o("tooltip");
175
+ return a(), C("div", Et, [M(le, {
176
+ value: y(A),
177
+ "onUpdate:value": s[0] ||= (e) => v(A) ? A.value = e : null,
178
+ multiple: ""
179
+ }, {
180
+ default: x(() => [(a(!0), C(w, null, i(n.sources, (o, s) => (a(), h(ce, {
181
+ key: o._id,
182
+ value: s,
183
+ class: c({ "border-b-0": s === n.sources.length - 1 })
184
+ }, {
185
+ default: x(() => [M(m, { class: c({
186
+ "px-0 pt-0": s === 0,
187
+ "px-0": s !== 0,
188
+ "pb-5": s === n.sources.length - 1
189
+ }) }, {
190
+ default: x(() => [E("div", Dt, [E("div", Ot, [E("span", kt, f(r.$t("components.dialog.components.new_camera.source") + ": "), 1), M(u, {
191
+ class: "text-color text-xs border-[1px] bg-primary-500/20 border-primary-500/30 py-2 px-3 rounded-full overflow-hidden",
192
+ label: o.name === "" ? r.$t("components.dialog.components.new_camera.unknown") : o.name
193
+ }, null, 8, ["label"])]), n.allowAddRemoveSources && n.sources.length > 1 ? (a(), h(p, {
194
+ key: 0,
195
+ text: "",
196
+ rounded: "",
197
+ severity: "danger",
198
+ class: "cui-icon-md ml-auto mr-2",
199
+ loading: y(j),
200
+ onClick: (e) => z(s)
201
+ }, {
202
+ icon: x(() => [M(d, {
203
+ width: "100%",
204
+ height: "100%"
205
+ })]),
206
+ _: 1
207
+ }, 8, ["loading", "onClick"])) : g("", !0)])]),
208
+ _: 2
209
+ }, 1032, ["class"]), M(H, { pt: { content: { class: {
210
+ "px-0": !0,
211
+ "pb-5": s === n.sources.length - 1
212
+ } } } }, {
213
+ default: x(() => [E("div", At, [
214
+ M(y(W), {
215
+ modelValue: o.name,
216
+ "onUpdate:modelValue": (e) => o.name = e,
217
+ modelModifiers: { trim: !0 },
218
+ name: `sources[${s}].name`,
219
+ as: "div",
220
+ class: "flex flex-col field-gap"
221
+ }, {
222
+ default: x(({ field: t, errors: n }) => [
223
+ E("label", {
224
+ for: `sources[${s}].name`,
225
+ class: "cui-label"
226
+ }, f(r.$t("components.form.label.source_name")), 9, jt),
227
+ M(b, null, {
228
+ default: x(() => [M(_, l({ ref_for: !0 }, t, {
229
+ invalid: n.length > 0,
230
+ loading: y(j),
231
+ type: "text"
232
+ }), null, 16, ["invalid", "loading"])]),
233
+ _: 2
234
+ }, 1024),
235
+ M(e, { name: "fade" }, {
236
+ default: x(() => [M(y(G), {
237
+ name: `sources[${s}].name`,
238
+ class: "cui-input-error"
239
+ }, null, 8, ["name"])]),
240
+ _: 2
241
+ }, 1024),
242
+ n.length ? g("", !0) : (a(), h(S, {
243
+ key: 0,
244
+ severity: "secondary",
245
+ variant: "simple",
246
+ size: "small",
247
+ class: "cui-input-hint"
248
+ }, {
249
+ default: x(() => [O(f(r.$t("components.form.hint.source_name")), 1)]),
250
+ _: 1
251
+ }))
252
+ ]),
253
+ _: 2
254
+ }, 1032, [
255
+ "modelValue",
256
+ "onUpdate:modelValue",
257
+ "name"
258
+ ]),
259
+ M(y(W), {
260
+ "model-value": o.role,
261
+ name: `sources[${s}].role`,
262
+ as: "div",
263
+ class: "flex flex-col field-gap"
264
+ }, {
265
+ default: x(({ errors: t }) => [
266
+ E("label", {
267
+ for: `sources[${s}].role`,
268
+ class: "cui-label"
269
+ }, f(r.$t("components.form.label.source_role")), 9, Mt),
270
+ M(b, null, {
271
+ default: x(() => [M(T, {
272
+ "model-value": o.role,
273
+ options: y(k).filter((e) => !n.sources.some((t) => t.role === e && t._id !== o._id)),
274
+ invalid: t.length > 0,
275
+ loading: y(j),
276
+ onValueChange: (e) => R(o, e)
277
+ }, null, 8, [
278
+ "model-value",
279
+ "options",
280
+ "invalid",
281
+ "loading",
282
+ "onValueChange"
283
+ ])]),
284
+ _: 2
285
+ }, 1024),
286
+ M(e, { name: "fade" }, {
287
+ default: x(() => [M(y(G), {
288
+ name: `sources[${s}].role`,
289
+ class: "cui-input-error"
290
+ }, null, 8, ["name"])]),
291
+ _: 2
292
+ }, 1024),
293
+ t.length ? g("", !0) : (a(), h(S, {
294
+ key: 0,
295
+ severity: "secondary",
296
+ variant: "simple",
297
+ size: "small",
298
+ class: "cui-input-hint"
299
+ }, {
300
+ default: x(() => [O(f(r.$t("components.form.hint.source_role")), 1)]),
301
+ _: 1
302
+ }))
303
+ ]),
304
+ _: 2
305
+ }, 1032, ["model-value", "name"]),
306
+ E("div", Nt, [
307
+ o.role !== "snapshot" && n.sources.length > 1 ? (a(), h(y(W), {
308
+ key: 0,
309
+ "model-value": o.useForSnapshot,
310
+ value: !0,
311
+ "unchecked-value": !1,
312
+ type: "checkbox",
313
+ name: `sources[${s}].useForSnapshot`
314
+ }, {
315
+ default: x(({ field: e, errors: t }) => [M(L, {
316
+ label: r.$t("components.form.label.use_for_snapshot"),
317
+ hint: r.$t("components.form.hint.use_for_snapshot"),
318
+ "label-for": `sources[${s}].useForSnapshot`,
319
+ "error-name": `sources[${s}].useForSnapshot`
320
+ }, {
321
+ default: x(() => [M(P, l({ "model-value": o.useForSnapshot }, { ref_for: !0 }, e, {
322
+ invalid: t.length > 0,
323
+ loading: y(j),
324
+ disabled: n.sources.some((e) => (e.useForSnapshot || e.role === "snapshot") && e._id !== o._id),
325
+ onValueChange: (e) => o.useForSnapshot = e
326
+ }), null, 16, [
327
+ "model-value",
328
+ "invalid",
329
+ "loading",
330
+ "disabled",
331
+ "onValueChange"
332
+ ])]),
333
+ _: 2
334
+ }, 1032, [
335
+ "label",
336
+ "hint",
337
+ "label-for",
338
+ "error-name"
339
+ ])]),
340
+ _: 2
341
+ }, 1032, ["model-value", "name"])) : g("", !0),
342
+ o.role === "snapshot" ? g("", !0) : (a(), h(y(W), {
343
+ key: 1,
344
+ "model-value": o.hotMode,
345
+ value: !0,
346
+ "unchecked-value": !1,
347
+ type: "checkbox",
348
+ name: `sources[${s}].hotMode`
349
+ }, {
350
+ default: x(({ field: e, errors: t }) => [M(L, {
351
+ label: r.$t("components.form.label.hot_mode"),
352
+ hint: r.$t("components.form.hint.hot_mode"),
353
+ "label-for": `sources[${s}].hotMode`,
354
+ "error-name": `sources[${s}].hotMode`
355
+ }, {
356
+ default: x(() => [M(P, l({ "model-value": o.hotMode }, { ref_for: !0 }, e, {
357
+ invalid: t.length > 0,
358
+ loading: y(j),
359
+ onValueChange: (e) => o.hotMode = e
360
+ }), null, 16, [
361
+ "model-value",
362
+ "invalid",
363
+ "loading",
364
+ "onValueChange"
365
+ ])]),
366
+ _: 2
367
+ }, 1032, [
368
+ "label",
369
+ "hint",
370
+ "label-for",
371
+ "error-name"
372
+ ])]),
373
+ _: 2
374
+ }, 1032, ["model-value", "name"])),
375
+ o.role === "snapshot" ? g("", !0) : (a(), h(y(W), {
376
+ key: 2,
377
+ "model-value": o.preload,
378
+ value: !0,
379
+ "unchecked-value": !1,
380
+ type: "checkbox",
381
+ name: `sources[${s}].preload`
382
+ }, {
383
+ default: x(({ field: e, errors: t }) => [M(L, {
384
+ label: r.$t("components.form.label.preload"),
385
+ hint: r.$t("components.form.hint.preload"),
386
+ "label-for": `sources[${s}].preload`,
387
+ "error-name": `sources[${s}].preload`
388
+ }, {
389
+ default: x(() => [M(P, l({ "model-value": o.preload }, { ref_for: !0 }, e, {
390
+ invalid: t.length > 0,
391
+ loading: y(j),
392
+ onValueChange: (e) => o.preload = e
393
+ }), null, 16, [
394
+ "model-value",
395
+ "invalid",
396
+ "loading",
397
+ "onValueChange"
398
+ ])]),
399
+ _: 2
400
+ }, 1032, [
401
+ "label",
402
+ "hint",
403
+ "label-for",
404
+ "error-name"
405
+ ])]),
406
+ _: 2
407
+ }, 1032, ["model-value", "name"])),
408
+ o.role === "snapshot" ? g("", !0) : (a(), h(y(W), {
409
+ key: 3,
410
+ "model-value": o.muted,
411
+ value: !0,
412
+ "unchecked-value": !1,
413
+ type: "checkbox",
414
+ name: `sources[${s}].muted`
415
+ }, {
416
+ default: x(({ field: e, errors: t }) => [M(L, {
417
+ label: r.$t("components.form.label.muted"),
418
+ hint: r.$t("components.form.hint.muted"),
419
+ "label-for": `sources[${s}].muted`,
420
+ "error-name": `sources[${s}].muted`
421
+ }, {
422
+ default: x(() => [M(P, l({ "model-value": o.muted }, { ref_for: !0 }, e, {
423
+ invalid: t.length > 0,
424
+ loading: y(j),
425
+ onValueChange: (e) => o.muted = e
426
+ }), null, 16, [
427
+ "model-value",
428
+ "invalid",
429
+ "loading",
430
+ "onValueChange"
431
+ ])]),
432
+ _: 2
433
+ }, 1032, [
434
+ "label",
435
+ "hint",
436
+ "label-for",
437
+ "error-name"
438
+ ])]),
439
+ _: 2
440
+ }, 1032, ["model-value", "name"]))
441
+ ]),
442
+ E("div", Pt, [
443
+ E("div", Ft, [E("label", {
444
+ for: `sources[${s}].urls[]`,
445
+ class: "cui-label"
446
+ }, f(r.$t("components.form.label.sources")), 9, It), M(S, {
447
+ severity: "secondary",
448
+ variant: "simple",
449
+ size: "small",
450
+ class: "cui-input-hint"
451
+ }, {
452
+ default: x(() => [O(f(N(o) ? r.$t("views.devices.managed_source_hint") : r.$t("components.form.hint.source_urls")), 1)]),
453
+ _: 2
454
+ }, 1024)]),
455
+ (a(!0), C(w, null, i(o.urls, (n, i) => (a(), C(w, { key: i }, [y(Tt)(n) ? (a(), C("div", Lt, [M(b, null, {
456
+ default: x(() => [M(_, {
457
+ "model-value": n,
458
+ readonly: "",
459
+ loading: y(j),
460
+ type: "text"
461
+ }, null, 8, ["model-value", "loading"])]),
462
+ _: 2
463
+ }, 1024)])) : (a(), h(y(W), {
464
+ key: 1,
465
+ "model-value": n,
466
+ name: `sources[${s}].urls[${i}]`,
467
+ as: "div",
468
+ class: "flex flex-col field-gap w-full"
469
+ }, {
470
+ default: x(({ errors: c }) => [
471
+ M(b, null, {
472
+ default: x(() => [M(_, {
473
+ "model-value": n,
474
+ invalid: c.length > 0,
475
+ loading: y(j),
476
+ type: "text",
477
+ placeholder: Rt,
478
+ "onUpdate:modelValue": (e) => I(s, i, e ?? "")
479
+ }, null, 8, [
480
+ "model-value",
481
+ "invalid",
482
+ "loading",
483
+ "onUpdate:modelValue"
484
+ ]), M(se, null, {
485
+ default: x(() => [
486
+ D((a(), h(p, {
487
+ text: "",
488
+ rounded: "",
489
+ severity: "secondary",
490
+ disabled: y(j) || !te(n),
491
+ class: "border-right-color",
492
+ onClick: (e) => ae(n)
493
+ }, {
494
+ icon: x(() => [M(re, {
495
+ width: "100%",
496
+ height: "100%"
497
+ })]),
498
+ _: 1
499
+ }, 8, ["disabled", "onClick"])), [[
500
+ U,
501
+ { value: r.$t("components.dialog.components.new_camera.protocol_info") },
502
+ void 0,
503
+ { top: !0 }
504
+ ]]),
505
+ D((a(), h(p, {
506
+ text: "",
507
+ rounded: "",
508
+ severity: "secondary",
509
+ disabled: y(j) || !y(Ct)(n),
510
+ class: "border-right-color",
511
+ onClick: (e) => V(n)
512
+ }, {
513
+ icon: x(() => [M(B, {
514
+ width: "100%",
515
+ height: "100%"
516
+ })]),
517
+ _: 1
518
+ }, 8, ["disabled", "onClick"])), [[
519
+ U,
520
+ { value: r.$t("components.dialog.components.new_camera.test_source") },
521
+ void 0,
522
+ { top: !0 }
523
+ ]]),
524
+ o.urls.length > 1 ? (a(), h(p, {
525
+ key: 0,
526
+ text: "",
527
+ rounded: "",
528
+ severity: "danger",
529
+ disabled: y(j),
530
+ onClick: t((e) => F(s, i), ["prevent"])
531
+ }, {
532
+ icon: x(() => [M(d, {
533
+ width: "100%",
534
+ height: "100%"
535
+ })]),
536
+ _: 1
537
+ }, 8, ["disabled", "onClick"])) : g("", !0)
538
+ ]),
539
+ _: 2
540
+ }, 1024)]),
541
+ _: 2
542
+ }, 1024),
543
+ M(e, { name: "fade" }, {
544
+ default: x(() => [M(y(G), {
545
+ name: `sources[${s}].urls[${i}]`,
546
+ class: "cui-input-error"
547
+ }, null, 8, ["name"])]),
548
+ _: 2
549
+ }, 1024),
550
+ M(S, {
551
+ severity: "secondary",
552
+ variant: "simple",
553
+ size: "small",
554
+ class: "cui-input-hint"
555
+ }, {
556
+ default: x(() => [O(f(y(Ct)(n) ? r.$t("components.form.hint.source_detected_protocol", { protocol: y(Ct)(n) }) : r.$t("components.form.hint.source_url")), 1)]),
557
+ _: 2
558
+ }, 1024)
559
+ ]),
560
+ _: 2
561
+ }, 1032, ["model-value", "name"]))], 64))), 128)),
562
+ N(o) ? g("", !0) : (a(), h(p, {
563
+ key: 0,
564
+ loading: y(j),
565
+ label: r.$t("components.form.button.add_source"),
566
+ class: "ml-auto cui-button-medium",
567
+ onClick: (e) => ne(s)
568
+ }, null, 8, [
569
+ "loading",
570
+ "label",
571
+ "onClick"
572
+ ]))
573
+ ])
574
+ ])]),
575
+ _: 2
576
+ }, 1032, ["pt"])]),
577
+ _: 2
578
+ }, 1032, ["value", "class"]))), 128))]),
579
+ _: 1
580
+ }, 8, ["value"])]);
581
+ };
582
+ }
583
+ }), Bt = { class: "flex flex-col gap-2 w-full" }, Vt = {
584
+ for: "roomName",
585
+ class: "cui-label"
586
+ }, Ht = /* @__PURE__ */ A({
587
+ __name: "CreateRoom",
588
+ setup(e, { expose: t }) {
589
+ let n = d("");
590
+ return t({ onConfirm: async () => n.value.trim() || null }), (e, t) => {
591
+ let r = q;
592
+ return a(), C("div", Bt, [E("label", Vt, f(e.$t("components.form.label.name")), 1), M(r, {
593
+ id: "roomName",
594
+ modelValue: y(n),
595
+ "onUpdate:modelValue": t[0] ||= (e) => v(n) ? n.value = e : null,
596
+ class: "w-full",
597
+ placeholder: e.$t("components.form.hint.room_select"),
598
+ autofocus: ""
599
+ }, null, 8, ["modelValue", "placeholder"])]);
600
+ };
601
+ }
602
+ });
603
+ //#endregion
604
+ //#region src/components/CuiCameraDetailsFields/rooms.ts
605
+ function Ut(e, t) {
606
+ let n = e?.rooms ?? [], r = [...e?.levels ?? []].sort((e, t) => e.order - t.order), i = (e) => ({
607
+ label: e.name === "Default" ? t("components.form.label.room_default") : e.name,
608
+ value: e.id
609
+ });
610
+ if (!r.length) return n.map(i).sort((e, t) => e.label.localeCompare(t.label));
611
+ let a = [];
612
+ for (let e of r) {
613
+ let t = n.filter((t) => t.levelId === e.id).map(i);
614
+ t.length && a.push({
615
+ label: e.name,
616
+ items: t
617
+ });
618
+ }
619
+ let o = n.filter((e) => !e.levelId).map(i);
620
+ return o.length && a.push({
621
+ label: t("components.form.label.room_no_level"),
622
+ items: o
623
+ }), a;
624
+ }
625
+ //#endregion
626
+ //#region src/components/CuiCameraDetailsFields/CuiCameraDetailsFields.vue?vue&type=script&setup=true&lang.ts
627
+ var Wt = { class: "flex flex-col gap-6" }, Gt = {
628
+ for: "name",
629
+ class: "cui-label"
630
+ }, Kt = { class: "flex flex-col field-gap" }, qt = {
631
+ for: "type",
632
+ class: "cui-label"
633
+ }, Jt = { class: "flex flex-col field-gap" }, Yt = {
634
+ for: "room",
635
+ class: "cui-label"
636
+ }, Xt = { class: "flex gap-2" }, Zt = { class: "text-color font-normal" }, Qt = { class: "flex flex-col gap-6" }, $t = {
637
+ for: "info.manufacturer",
638
+ class: "cui-label"
639
+ }, en = {
640
+ for: "info.model",
641
+ class: "cui-label"
642
+ }, tn = {
643
+ for: "info.hardware",
644
+ class: "cui-label"
645
+ }, nn = {
646
+ for: "info.serialNumber",
647
+ class: "cui-label"
648
+ }, rn = {
649
+ for: "info.firmwareVersion",
650
+ class: "cui-label"
651
+ }, an = {
652
+ for: "info.supportUrl",
653
+ class: "cui-label"
654
+ }, on = /* @__PURE__ */ A({
655
+ __name: "CuiCameraDetailsFields",
656
+ props: {
657
+ form: {},
658
+ isLoading: { type: Boolean }
659
+ },
660
+ setup(t) {
661
+ let n = new We(), r = t, i = B(), { t: c } = K(), { data: u, isBusy: p } = n.getRoomsQuery(), { mutateAsync: m } = n.createRoomMutation(), _ = d(["camera", "doorbell"]), v = b(() => (u.value?.levels.length ?? 0) > 0), S = b(() => Ut(u.value, c));
662
+ function w(e) {
663
+ r.form.roomId = e;
664
+ }
665
+ function T() {
666
+ i.openComponentDialog(Ht, {
667
+ data: {
668
+ title: c("components.dialog.title.create_room"),
669
+ confirmText: c("components.form.button.add"),
670
+ contentProps: {}
671
+ },
672
+ onConfirm: async (e) => {
673
+ e && w((await m({
674
+ name: e,
675
+ levelId: null,
676
+ outdoor: !1,
677
+ publicSpace: !1,
678
+ note: ""
679
+ })).id);
680
+ }
681
+ });
682
+ }
683
+ return (n, r) => {
684
+ let i = q, c = oe, u = ee, d = Te, m = ze, b = Ce, k = ke, A = De, j = Oe, N = Ae, P = o("tooltip");
685
+ return a(), C("div", Wt, [
686
+ M(y(W), {
687
+ modelValue: t.form.name,
688
+ "onUpdate:modelValue": r[0] ||= (e) => t.form.name = e,
689
+ modelModifiers: { trim: !0 },
690
+ name: "name",
691
+ as: "div",
692
+ class: "flex flex-col field-gap"
693
+ }, {
694
+ default: x(({ field: r, errors: o }) => [
695
+ E("label", Gt, f(n.$t("components.form.label.name")), 1),
696
+ M(c, null, {
697
+ default: x(() => [M(i, l(r, {
698
+ invalid: o.length > 0,
699
+ loading: t.isLoading,
700
+ type: "text"
701
+ }), null, 16, ["invalid", "loading"])]),
702
+ _: 2
703
+ }, 1024),
704
+ M(e, { name: "fade" }, {
705
+ default: x(() => [M(y(G), {
706
+ name: "name",
707
+ class: "cui-input-error"
708
+ })]),
709
+ _: 1
710
+ }),
711
+ o.length ? g("", !0) : (a(), h(u, {
712
+ key: 0,
713
+ severity: "secondary",
714
+ variant: "simple",
715
+ size: "small",
716
+ class: "cui-input-hint"
717
+ }, {
718
+ default: x(() => [O(f(n.$t("components.form.hint.camera_name")), 1)]),
719
+ _: 1
720
+ }))
721
+ ]),
722
+ _: 1
723
+ }, 8, ["modelValue"]),
724
+ E("div", Kt, [E("label", qt, f(n.$t("components.form.label.type")), 1), M(c, null, {
725
+ default: x(() => [M(d, {
726
+ "model-value": t.form.type,
727
+ options: y(_),
728
+ loading: t.isLoading,
729
+ type: "text",
730
+ onValueChange: r[1] ||= (e) => t.form.type = e
731
+ }, null, 8, [
732
+ "model-value",
733
+ "options",
734
+ "loading"
735
+ ])]),
736
+ _: 1
737
+ })]),
738
+ E("div", Jt, [
739
+ E("label", Yt, f(n.$t("components.form.label.room")), 1),
740
+ E("div", Xt, [M(d, {
741
+ "model-value": t.form.roomId,
742
+ options: y(S),
743
+ "option-label": "label",
744
+ "option-value": "value",
745
+ "option-group-label": y(v) ? "label" : void 0,
746
+ "option-group-children": y(v) ? "items" : void 0,
747
+ loading: y(p),
748
+ class: "w-full",
749
+ "onUpdate:modelValue": r[2] ||= (e) => w(e)
750
+ }, null, 8, [
751
+ "model-value",
752
+ "options",
753
+ "option-group-label",
754
+ "option-group-children",
755
+ "loading"
756
+ ]), D((a(), h(b, {
757
+ severity: "secondary",
758
+ outlined: "",
759
+ class: "shrink-0 h-[42px] w-[42px] p-0",
760
+ onClick: T
761
+ }, {
762
+ icon: x(() => [M(m, { class: "w-4 h-4" })]),
763
+ _: 1
764
+ })), [[
765
+ P,
766
+ n.$t("components.form.button.create_room"),
767
+ void 0,
768
+ { top: !0 }
769
+ ]])]),
770
+ M(u, {
771
+ severity: "secondary",
772
+ variant: "simple",
773
+ size: "small",
774
+ class: "cui-input-hint"
775
+ }, {
776
+ default: x(() => [O(f(n.$t("components.form.hint.room")), 1)]),
777
+ _: 1
778
+ })
779
+ ]),
780
+ s(n.$slots, "default"),
781
+ M(N, null, {
782
+ default: x(() => [M(j, { value: "branding" }, {
783
+ default: x(() => [M(k, { class: "px-0 pt-0" }, {
784
+ default: x(() => [E("span", Zt, f(n.$t("components.camera_options.branding")), 1)]),
785
+ _: 1
786
+ }), M(A, { pt: { content: { class: "px-0" } } }, {
787
+ default: x(() => [E("div", Qt, [
788
+ M(y(W), {
789
+ modelValue: t.form.info.manufacturer,
790
+ "onUpdate:modelValue": r[3] ||= (e) => t.form.info.manufacturer = e,
791
+ modelModifiers: { trim: !0 },
792
+ name: "info.manufacturer",
793
+ as: "div",
794
+ class: "flex flex-col field-gap"
795
+ }, {
796
+ default: x(({ field: r, errors: a }) => [
797
+ E("label", $t, f(n.$t("components.form.label.manufacturer")), 1),
798
+ M(c, null, {
799
+ default: x(() => [M(i, l(r, {
800
+ invalid: a.length > 0,
801
+ loading: t.isLoading,
802
+ type: "text"
803
+ }), null, 16, ["invalid", "loading"])]),
804
+ _: 2
805
+ }, 1024),
806
+ M(e, { name: "fade" }, {
807
+ default: x(() => [M(y(G), {
808
+ name: "info.manufacturer",
809
+ class: "cui-input-error"
810
+ })]),
811
+ _: 1
812
+ })
813
+ ]),
814
+ _: 1
815
+ }, 8, ["modelValue"]),
816
+ M(y(W), {
817
+ modelValue: t.form.info.model,
818
+ "onUpdate:modelValue": r[4] ||= (e) => t.form.info.model = e,
819
+ modelModifiers: { trim: !0 },
820
+ name: "info.model",
821
+ as: "div",
822
+ class: "flex flex-col field-gap"
823
+ }, {
824
+ default: x(({ field: r, errors: a }) => [
825
+ E("label", en, f(n.$t("components.form.label.model")), 1),
826
+ M(c, null, {
827
+ default: x(() => [M(i, l(r, {
828
+ invalid: a.length > 0,
829
+ loading: t.isLoading,
830
+ type: "text"
831
+ }), null, 16, ["invalid", "loading"])]),
832
+ _: 2
833
+ }, 1024),
834
+ M(e, { name: "fade" }, {
835
+ default: x(() => [M(y(G), {
836
+ name: "info.model",
837
+ class: "cui-input-error"
838
+ })]),
839
+ _: 1
840
+ })
841
+ ]),
842
+ _: 1
843
+ }, 8, ["modelValue"]),
844
+ M(y(W), {
845
+ modelValue: t.form.info.hardware,
846
+ "onUpdate:modelValue": r[5] ||= (e) => t.form.info.hardware = e,
847
+ modelModifiers: { trim: !0 },
848
+ name: "info.hardware",
849
+ as: "div",
850
+ class: "flex flex-col field-gap"
851
+ }, {
852
+ default: x(({ field: r, errors: a }) => [
853
+ E("label", tn, f(n.$t("components.form.label.hardware_version")), 1),
854
+ M(c, null, {
855
+ default: x(() => [M(i, l(r, {
856
+ invalid: a.length > 0,
857
+ loading: t.isLoading,
858
+ type: "text"
859
+ }), null, 16, ["invalid", "loading"])]),
860
+ _: 2
861
+ }, 1024),
862
+ M(e, { name: "fade" }, {
863
+ default: x(() => [M(y(G), {
864
+ name: "info.hardware",
865
+ class: "cui-input-error"
866
+ })]),
867
+ _: 1
868
+ })
869
+ ]),
870
+ _: 1
871
+ }, 8, ["modelValue"]),
872
+ M(y(W), {
873
+ modelValue: t.form.info.serialNumber,
874
+ "onUpdate:modelValue": r[6] ||= (e) => t.form.info.serialNumber = e,
875
+ modelModifiers: { trim: !0 },
876
+ name: "info.serialNumber",
877
+ as: "div",
878
+ class: "flex flex-col field-gap"
879
+ }, {
880
+ default: x(({ field: r, errors: a }) => [
881
+ E("label", nn, f(n.$t("components.form.label.serial_number")), 1),
882
+ M(c, null, {
883
+ default: x(() => [M(i, l(r, {
884
+ invalid: a.length > 0,
885
+ loading: t.isLoading,
886
+ type: "text"
887
+ }), null, 16, ["invalid", "loading"])]),
888
+ _: 2
889
+ }, 1024),
890
+ M(e, { name: "fade" }, {
891
+ default: x(() => [M(y(G), {
892
+ name: "info.serialNumber",
893
+ class: "cui-input-error"
894
+ })]),
895
+ _: 1
896
+ })
897
+ ]),
898
+ _: 1
899
+ }, 8, ["modelValue"]),
900
+ M(y(W), {
901
+ modelValue: t.form.info.firmwareVersion,
902
+ "onUpdate:modelValue": r[7] ||= (e) => t.form.info.firmwareVersion = e,
903
+ modelModifiers: { trim: !0 },
904
+ name: "info.firmwareVersion",
905
+ as: "div",
906
+ class: "flex flex-col field-gap"
907
+ }, {
908
+ default: x(({ field: r, errors: a }) => [
909
+ E("label", rn, f(n.$t("components.form.label.firmware_version")), 1),
910
+ M(c, null, {
911
+ default: x(() => [M(i, l(r, {
912
+ invalid: a.length > 0,
913
+ loading: t.isLoading,
914
+ type: "text"
915
+ }), null, 16, ["invalid", "loading"])]),
916
+ _: 2
917
+ }, 1024),
918
+ M(e, { name: "fade" }, {
919
+ default: x(() => [M(y(G), {
920
+ name: "info.firmwareVersion",
921
+ class: "cui-input-error"
922
+ })]),
923
+ _: 1
924
+ })
925
+ ]),
926
+ _: 1
927
+ }, 8, ["modelValue"]),
928
+ M(y(W), {
929
+ modelValue: t.form.info.supportUrl,
930
+ "onUpdate:modelValue": r[8] ||= (e) => t.form.info.supportUrl = e,
931
+ modelModifiers: { trim: !0 },
932
+ name: "info.supportUrl",
933
+ as: "div",
934
+ class: "flex flex-col field-gap"
935
+ }, {
936
+ default: x(({ field: r, errors: a }) => [
937
+ E("label", an, f(n.$t("components.form.label.support_url")), 1),
938
+ M(c, null, {
939
+ default: x(() => [M(i, l(r, {
940
+ invalid: a.length > 0,
941
+ loading: t.isLoading,
942
+ type: "text"
943
+ }), null, 16, ["invalid", "loading"])]),
944
+ _: 2
945
+ }, 1024),
946
+ M(e, { name: "fade" }, {
947
+ default: x(() => [M(y(G), {
948
+ name: "info.supportUrl",
949
+ class: "cui-input-error"
950
+ })]),
951
+ _: 1
952
+ })
953
+ ]),
954
+ _: 1
955
+ }, 8, ["modelValue"])
956
+ ])]),
957
+ _: 1
958
+ })]),
959
+ _: 1
960
+ })]),
961
+ _: 1
962
+ })
963
+ ]);
964
+ };
965
+ }
966
+ }), sn = RegExp(`^(${_e.join("|")})`), cn = R().trim().min(1, "Camera Source is required").regex(sn, "Unsupported protocol — start the URL with a supported one (e.g. rtsp://)"), ln = F({
967
+ name: R().trim().min(1, "Camera Source Name is required"),
968
+ urls: cn.array(),
969
+ role: be,
970
+ useForSnapshot: z().default(!1),
971
+ hotMode: z().default(!0),
972
+ preload: z().default(!0),
973
+ muted: z().default(!1),
974
+ backchannelDisabled: z().default(!1),
975
+ timeout: ae().int().min(5).max(120).nullish(),
976
+ handshakeTimeout: ae().int().min(1).max(60).nullish(),
977
+ childSourceId: R().trim().nullish(),
978
+ childCameraId: R().trim().nullish(),
979
+ childCameraRole: ye.nullish()
980
+ }).strict().transform((e) => e.role === "snapshot" ? {
981
+ ...e,
982
+ useForSnapshot: !1,
983
+ hotMode: !1,
984
+ preload: !1
985
+ } : e), un = F({
986
+ ...ve.shape,
987
+ sources: ln.array().refine((e) => e.some((e) => e.role === "high-resolution" || e.role === "mid-resolution" || e.role === "low-resolution"), {
988
+ path: ["sources[].role"],
989
+ message: "One of the roles \"high-resolution\", \"mid-resolution\" or \"low-resolution\" is required"
990
+ }).refine((e) => e.filter((e) => e.useForSnapshot).length <= 1, {
991
+ message: "Only one source can be used for snapshot",
992
+ path: ["sources"]
993
+ }).refine((e) => {
994
+ let t = e.map((e) => e.role).filter(Boolean);
995
+ return new Set(t).size === t.length;
996
+ }, {
997
+ message: "Each source role can be assigned to only one source",
998
+ path: ["sources"]
999
+ }).superRefine(xe)
1000
+ }).strict(), dn = {
1001
+ disabled: !1,
1002
+ name: "",
1003
+ type: "camera",
1004
+ room: "Default",
1005
+ roomId: null,
1006
+ info: {
1007
+ manufacturer: "",
1008
+ model: "",
1009
+ hardware: "",
1010
+ serialNumber: "",
1011
+ firmwareVersion: "",
1012
+ supportUrl: ""
1013
+ },
1014
+ sources: [{
1015
+ _id: fe(8),
1016
+ name: "",
1017
+ role: "high-resolution",
1018
+ urls: [""],
1019
+ useForSnapshot: !1,
1020
+ hotMode: !0,
1021
+ preload: !0,
1022
+ muted: !1,
1023
+ backchannelDisabled: !1
1024
+ }],
1025
+ interfaceSettings: {
1026
+ streamingMode: "auto",
1027
+ streamingSource: "high-resolution",
1028
+ playbackSource: "auto",
1029
+ activityMode: "always-on",
1030
+ aspectRatio: "16:9"
1031
+ },
1032
+ plugins: [],
1033
+ assignments: {}
1034
+ }, fn = { class: "card-title" }, pn = { class: "card-title" }, mn = { class: "w-full flex items-center justify-center mt-4" }, hn = /* @__PURE__ */ A({
1035
+ __name: "AddCamera",
1036
+ props: { camera: { default: () => dn } },
1037
+ setup(e, { expose: t }) {
1038
+ let n = new L(), r = e, i = P(), { t: o } = K(), { mutateAsync: s, isPending: c } = n.createCameraQuery(), { camera: l } = u(r), p = T("formRef"), m = T("sourcesRef"), h = d(V(l.value)), g = b(() => c.value);
1039
+ async function _() {
1040
+ if (!(await p.value?.validate())?.valid) return i.add({
1041
+ severity: "error",
1042
+ detail: o("components.toast.validation_failed"),
1043
+ life: 3e3
1044
+ }), null;
1045
+ let e = V(h.value), t = {
1046
+ ...Se(),
1047
+ ...e,
1048
+ sources: e.sources.map((e) => ({
1049
+ ...e,
1050
+ muted: e.muted ?? !1,
1051
+ backchannelDisabled: e.backchannelDisabled ?? !1,
1052
+ urls: e.urls.map(wt).filter(Boolean)
1053
+ }))
1054
+ };
1055
+ await s({ cameraData: t });
1056
+ }
1057
+ return t({
1058
+ isLoading: g,
1059
+ onSave: _,
1060
+ onConfirm: _
1061
+ }), (e, t) => {
1062
+ let n = on, r = ge, i = zt, o = Ie, s = Ce;
1063
+ return a(), C("div", null, [M(y(he), {
1064
+ ref_key: "formRef",
1065
+ ref: p,
1066
+ class: "flex flex-col w-full gap-6",
1067
+ "validation-schema": y(un)
1068
+ }, {
1069
+ default: x(() => [E("div", null, [E("span", fn, f(e.$t("components.dialog.components.new_camera.camera")), 1), M(r, { class: "cui-card" }, {
1070
+ content: x(() => [M(n, {
1071
+ form: y(h),
1072
+ "is-loading": y(g)
1073
+ }, null, 8, ["form", "is-loading"])]),
1074
+ _: 1
1075
+ })]), E("div", null, [
1076
+ E("span", pn, f(e.$t("components.form.label.sources")), 1),
1077
+ M(r, {
1078
+ class: "cui-card border-color-inner",
1079
+ pt: { body: { class: "pb-0" } }
1080
+ }, {
1081
+ content: x(() => [M(i, {
1082
+ ref_key: "sourcesRef",
1083
+ ref: m,
1084
+ sources: y(h).sources,
1085
+ "is-loading": y(g),
1086
+ "allow-add-remove-sources": !0
1087
+ }, null, 8, ["sources", "is-loading"])]),
1088
+ _: 1
1089
+ }),
1090
+ E("div", mn, [M(s, {
1091
+ text: "",
1092
+ rounded: "",
1093
+ loading: y(g),
1094
+ class: "cui-icon-2xl",
1095
+ onClick: t[0] ||= (e) => y(m)?.newSource()
1096
+ }, {
1097
+ icon: x(() => [M(o, {
1098
+ width: "100%",
1099
+ height: "100%"
1100
+ })]),
1101
+ _: 1
1102
+ }, 8, ["loading"])])
1103
+ ])]),
1104
+ _: 1
1105
+ }, 8, ["validation-schema"])]);
1106
+ };
1107
+ }
1108
+ }), gn = { class: "card-title" }, _n = {
1109
+ key: 0,
1110
+ class: "flex flex-col gap-6"
1111
+ }, vn = { class: "cui-label" }, yn = { class: "card-title" }, bn = /* @__PURE__ */ A({
1112
+ __name: "ConfirmCamera",
1113
+ props: {
1114
+ draft: {},
1115
+ onConfirm: { type: Function }
1116
+ },
1117
+ setup(e, { expose: t }) {
1118
+ let n = F({ name: R().trim().min(1) }).passthrough(), r = e, o = P(), { t: s } = K(), c = T("formRef"), l = d(V(r.draft)), u = d({
1119
+ name: l.value.name,
1120
+ type: l.value.type,
1121
+ room: l.value.room,
1122
+ roomId: l.value.roomId,
1123
+ info: l.value.info,
1124
+ sources: l.value.sources.map((e) => ({
1125
+ ...e,
1126
+ urls: [...e.urls]
1127
+ }))
1128
+ }), p = d(!1), m = b(() => {
1129
+ let e = [];
1130
+ return l.value.pluginInfo?.name && e.push({
1131
+ label: s("views.devices.plugin"),
1132
+ value: l.value.pluginInfo.name
1133
+ }), l.value.nativeId && e.push({
1134
+ label: s("views.devices.native_id"),
1135
+ value: l.value.nativeId
1136
+ }), e;
1137
+ }), h = b(() => p.value);
1138
+ async function _() {
1139
+ if (!(await c.value?.validate())?.valid) return o.add({
1140
+ severity: "error",
1141
+ detail: s("components.toast.validation_failed"),
1142
+ life: 3e3
1143
+ }), null;
1144
+ p.value = !0;
1145
+ try {
1146
+ let e = {
1147
+ ...l.value,
1148
+ name: u.value.name,
1149
+ type: u.value.type,
1150
+ room: u.value.room,
1151
+ roomId: u.value.roomId,
1152
+ info: u.value.info,
1153
+ sources: u.value.sources.map((e) => ({
1154
+ ...e,
1155
+ urls: e.urls.map(wt).filter(Boolean)
1156
+ }))
1157
+ };
1158
+ await r.onConfirm(e);
1159
+ } catch (e) {
1160
+ return o.add({
1161
+ severity: "error",
1162
+ summary: s("views.devices.confirm_title"),
1163
+ detail: e,
1164
+ life: 3e3
1165
+ }), null;
1166
+ } finally {
1167
+ p.value = !1;
1168
+ }
1169
+ }
1170
+ return t({
1171
+ isLoading: h,
1172
+ onConfirm: _
1173
+ }), (e, t) => {
1174
+ let r = q, o = oe, s = on, l = ge, d = zt;
1175
+ return a(), C("div", null, [M(y(he), {
1176
+ ref_key: "formRef",
1177
+ ref: c,
1178
+ class: "flex flex-col w-full gap-6",
1179
+ "validation-schema": y(n)
1180
+ }, {
1181
+ default: x(() => [E("div", null, [E("span", gn, f(e.$t("components.dialog.components.new_camera.camera")), 1), M(l, { class: "cui-card" }, {
1182
+ content: x(() => [M(s, {
1183
+ form: y(u),
1184
+ "is-loading": y(h)
1185
+ }, {
1186
+ default: x(() => [y(m).length ? (a(), C("div", _n, [(a(!0), C(w, null, i(y(m), (e) => (a(), C("div", {
1187
+ key: e.label,
1188
+ class: "flex flex-col field-gap"
1189
+ }, [E("label", vn, f(e.label), 1), M(o, null, {
1190
+ default: x(() => [M(r, {
1191
+ "model-value": e.value,
1192
+ readonly: "",
1193
+ type: "text"
1194
+ }, null, 8, ["model-value"])]),
1195
+ _: 2
1196
+ }, 1024)]))), 128))])) : g("", !0)]),
1197
+ _: 1
1198
+ }, 8, ["form", "is-loading"])]),
1199
+ _: 1
1200
+ })]), E("div", null, [E("span", yn, f(e.$t("components.form.label.sources")), 1), M(l, {
1201
+ class: "cui-card border-color-inner",
1202
+ pt: { body: { class: "pb-0" } }
1203
+ }, {
1204
+ content: x(() => [M(d, {
1205
+ sources: y(u).sources,
1206
+ "is-loading": y(h),
1207
+ "allow-add-remove-sources": !0
1208
+ }, null, 8, ["sources", "is-loading"])]),
1209
+ _: 1
1210
+ })])]),
1211
+ _: 1
1212
+ }, 8, ["validation-schema"])]);
1213
+ };
1214
+ }
1215
+ }), xn = { class: "flex flex-col gap-6" }, Sn = {
1216
+ key: 0,
1217
+ class: "flex flex-col field-gap"
1218
+ }, Cn = { class: "cui-label" }, wn = {
1219
+ key: 1,
1220
+ class: "text-center py-4"
1221
+ }, Tn = { class: "text-muted" }, En = /* @__PURE__ */ A({
1222
+ __name: "ConnectionSchema",
1223
+ props: {
1224
+ camera: {},
1225
+ schema: {},
1226
+ onConnect: { type: Function }
1227
+ },
1228
+ setup(e, { expose: t }) {
1229
+ let n = e, i = me(), o = P(), { t: s } = K(), c = r("dialogRefProps"), { schema: l } = u(n), p = T("schemaFormRef"), m = d(!1), _ = b(() => ({
1230
+ schema: l.value,
1231
+ config: {}
1232
+ })), v = b(() => !!(c.loading?.value || m.value));
1233
+ async function x() {
1234
+ m.value = !0;
1235
+ try {
1236
+ let e = {};
1237
+ if (l.value.length > 0) {
1238
+ let t = await p.value?.validate();
1239
+ if (!t?.valid) return i.error("Validation failed", t), o.add({
1240
+ severity: "error",
1241
+ detail: s("components.toast.validation_failed"),
1242
+ life: 3e3
1243
+ }), null;
1244
+ e = t.values ?? {};
1245
+ }
1246
+ await n.onConnect(e);
1247
+ } catch (e) {
1248
+ return o.add({
1249
+ severity: "error",
1250
+ summary: s("views.devices.connect"),
1251
+ detail: e,
1252
+ life: 3e3
1253
+ }), null;
1254
+ } finally {
1255
+ m.value = !1;
1256
+ }
1257
+ }
1258
+ return t({
1259
+ isLoading: v,
1260
+ onConfirm: x
1261
+ }), (t, n) => {
1262
+ let r = q, i = Le;
1263
+ return a(), C("div", xn, [e.camera.address ? (a(), C("div", Sn, [E("label", Cn, f(t.$t("views.devices.address")), 1), M(r, {
1264
+ "model-value": e.camera.address,
1265
+ readonly: ""
1266
+ }, null, 8, ["model-value"])])) : g("", !0), y(l).length === 0 ? (a(), C("div", wn, [E("p", Tn, f(t.$t("views.devices.no_settings_required")), 1)])) : (a(), h(i, {
1267
+ key: 2,
1268
+ ref_key: "schemaFormRef",
1269
+ ref: p,
1270
+ "schema-form": y(_),
1271
+ loading: y(v)
1272
+ }, null, 8, ["schema-form", "loading"]))]);
1273
+ };
1274
+ }
1275
+ }), Dn = 5e3, J = m({
1276
+ isLoading: !0,
1277
+ devices: [],
1278
+ isScanning: !1,
1279
+ hiddenDevices: [],
1280
+ showHidden: !1,
1281
+ error: null
1282
+ }), On = null, Y = null, X = !1, Z = null, Q = 0, $ = null;
1283
+ function kn() {
1284
+ J.isLoading = !0, J.devices = [], J.isScanning = !1, J.hiddenDevices = [], J.showHidden = !1, J.error = null;
1285
+ }
1286
+ function An() {
1287
+ return Y || (On = _(!0), On.run(() => {
1288
+ let e = I("/cameras");
1289
+ Y = e, e.onReady(() => {
1290
+ jn();
1291
+ }), S(e.connected, (e, t) => {
1292
+ !e && t && (X = !1, Z = null);
1293
+ }), e.on("cameras:discovered", (e) => {
1294
+ for (let t of e.devices) {
1295
+ let e = J.devices.findIndex((e) => e.id === t.id);
1296
+ e >= 0 ? J.devices[e] = t : J.devices.push(t);
1297
+ }
1298
+ }), e.on("cameras:scanning", (e) => {
1299
+ J.isScanning = e.isScanning;
1300
+ }), e.on("cameras:connection-status", (e) => {
1301
+ let t = J.devices.find((t) => t.discoveredId === e.discoveredId);
1302
+ t && (e.status === "connecting" ? t.status = "adopting" : e.status === "error" ? (t.status = "error", t.errorMessage = e.errorMessage) : e.status === "connected" && (J.devices = J.devices.filter((t) => t.discoveredId !== e.discoveredId)));
1303
+ }), e.on("cameras:camera-connected", (e) => {
1304
+ J.devices = J.devices.filter((t) => t.discoveredId !== e.discoveredId);
1305
+ }), e.on("cameras:deleted", (e) => {
1306
+ J.devices = J.devices.filter((t) => t.cameraId !== e.cameraId);
1307
+ });
1308
+ }), Y);
1309
+ }
1310
+ async function jn() {
1311
+ if (!Y || X) return {
1312
+ success: X,
1313
+ devices: J.devices,
1314
+ isScanning: J.isScanning,
1315
+ hiddenDevices: J.hiddenDevices
1316
+ };
1317
+ if (!Z) {
1318
+ let e = Mn(Y).finally(() => {
1319
+ Z === e && (Z = null);
1320
+ });
1321
+ Z = e;
1322
+ }
1323
+ return Z;
1324
+ }
1325
+ async function Mn(e) {
1326
+ try {
1327
+ let t = await e.request("cameras:subscribe", {});
1328
+ return X = t.success, t.devices && (J.devices = t.devices), t.isScanning !== void 0 && (J.isScanning = t.isScanning), t.hiddenDevices && (J.hiddenDevices = t.hiddenDevices), J.isLoading = !1, t;
1329
+ } catch (e) {
1330
+ return J.isLoading = !1, J.error = e instanceof Error ? e.message : "subscribe failed", { success: !1 };
1331
+ }
1332
+ }
1333
+ async function Nn() {
1334
+ if (!Y || !X) return { success: !0 };
1335
+ try {
1336
+ let e = await Y.request("cameras:unsubscribe", {});
1337
+ return X = !e.success, e;
1338
+ } catch {
1339
+ return { success: !1 };
1340
+ }
1341
+ }
1342
+ function Pn() {
1343
+ X && Nn(), On?.stop(), On = null, Y = null, X = !1, Z = null, kn();
1344
+ }
1345
+ function Fn() {
1346
+ $ &&= (clearTimeout($), null), Q++;
1347
+ function e() {
1348
+ An(), Y?.connected.value && !X && jn();
1349
+ }
1350
+ function t() {
1351
+ X && Nn();
1352
+ }
1353
+ async function n() {
1354
+ if (!Y?.ready.value) return {
1355
+ success: !1,
1356
+ error: "Not connected"
1357
+ };
1358
+ J.devices = [], J.isScanning = !0;
1359
+ try {
1360
+ let e = await Y.request("cameras:rescan", {});
1361
+ return e.success || (J.isScanning = !1), e;
1362
+ } catch (e) {
1363
+ return J.isScanning = !1, {
1364
+ success: !1,
1365
+ error: e instanceof Error ? e.message : "rescan failed"
1366
+ };
1367
+ }
1368
+ }
1369
+ async function r(e) {
1370
+ if (!Y?.ready.value) return {
1371
+ success: !1,
1372
+ error: "Not connected"
1373
+ };
1374
+ try {
1375
+ return await Y.request("cameras:get-schema", { discoveredId: e });
1376
+ } catch (e) {
1377
+ return {
1378
+ success: !1,
1379
+ error: e instanceof Error ? e.message : "get-schema failed"
1380
+ };
1381
+ }
1382
+ }
1383
+ async function i(e, t) {
1384
+ if (!Y?.ready.value) return {
1385
+ success: !1,
1386
+ error: "Not connected"
1387
+ };
1388
+ try {
1389
+ return await Y.request("cameras:connect", {
1390
+ discoveredId: e,
1391
+ credentials: t
1392
+ });
1393
+ } catch (e) {
1394
+ return {
1395
+ success: !1,
1396
+ error: e instanceof Error ? e.message : "connect failed"
1397
+ };
1398
+ }
1399
+ }
1400
+ async function a(e, t) {
1401
+ if (!Y?.ready.value) throw Error("Not connected");
1402
+ let n = await Y.request("cameras:prepare", {
1403
+ discoveredId: e,
1404
+ credentials: t
1405
+ });
1406
+ if (!n.success || !n.draft) throw Error(n.error ?? "prepare failed");
1407
+ return n.draft;
1408
+ }
1409
+ async function o(e, t) {
1410
+ if (!Y?.ready.value) throw Error("Not connected");
1411
+ let n = await Y.request("cameras:confirm", {
1412
+ draft: e,
1413
+ discoveredId: t
1414
+ });
1415
+ if (!n.success || !n.cameraId || !n.cameraName) throw Error(n.error ?? "confirm failed");
1416
+ return {
1417
+ cameraId: n.cameraId,
1418
+ cameraName: n.cameraName
1419
+ };
1420
+ }
1421
+ async function s(e) {
1422
+ if (!Y?.ready.value) return {
1423
+ success: !1,
1424
+ error: "Not connected"
1425
+ };
1426
+ let t = {
1427
+ id: e.discoveredId,
1428
+ name: e.name,
1429
+ model: e.model
1430
+ };
1431
+ try {
1432
+ let e = await Y.request("cameras:hide-device", { device: t });
1433
+ return e.success && e.hiddenDevices && (J.hiddenDevices = e.hiddenDevices), e;
1434
+ } catch (e) {
1435
+ return {
1436
+ success: !1,
1437
+ error: e instanceof Error ? e.message : "hide-device failed"
1438
+ };
1439
+ }
1440
+ }
1441
+ async function c(e) {
1442
+ if (!Y?.ready.value) return {
1443
+ success: !1,
1444
+ error: "Not connected"
1445
+ };
1446
+ try {
1447
+ let t = await Y.request("cameras:unhide-device", { deviceId: e });
1448
+ return t.success && t.hiddenDevices && (J.hiddenDevices = t.hiddenDevices), t;
1449
+ } catch (e) {
1450
+ return {
1451
+ success: !1,
1452
+ error: e instanceof Error ? e.message : "unhide-device failed"
1453
+ };
1454
+ }
1455
+ }
1456
+ function l() {
1457
+ J.showHidden = !J.showHidden;
1458
+ }
1459
+ function u(e) {
1460
+ return e.type !== "discovered" || !e.discoveredId ? !1 : J.hiddenDevices.some((t) => t.id === e.discoveredId);
1461
+ }
1462
+ let d = b(() => {
1463
+ let e = new Set(J.hiddenDevices.map((e) => e.id)), t = (e, t) => e.name.localeCompare(t.name), n = J.devices.filter((e) => e.type === "camera").sort(t), r = J.devices.filter((t) => t.type === "discovered" && !e.has(t.discoveredId)).sort(t), i = J.showHidden ? J.devices.filter((t) => t.type === "discovered" && e.has(t.discoveredId)).sort(t) : [];
1464
+ return [
1465
+ ...n,
1466
+ ...r,
1467
+ ...i
1468
+ ];
1469
+ });
1470
+ return pe(() => {
1471
+ Q--, !(Q > 0) && (Q = 0, $ = setTimeout(() => {
1472
+ Q <= 0 && (Pn(), $ = null);
1473
+ }, Dn));
1474
+ }), {
1475
+ state: j(J),
1476
+ isConnected: b(() => Y?.connected.value ?? !1),
1477
+ isLoading: b(() => J.isLoading),
1478
+ devices: b(() => J.devices),
1479
+ isScanning: b(() => J.isScanning),
1480
+ hiddenDevices: b(() => J.hiddenDevices),
1481
+ showHidden: b(() => J.showHidden),
1482
+ error: b(() => J.error),
1483
+ sortedDevices: d,
1484
+ connect: e,
1485
+ disconnect: t,
1486
+ subscribe: jn,
1487
+ unsubscribe: Nn,
1488
+ forceRescan: n,
1489
+ getConnectionSchema: r,
1490
+ connectDevice: i,
1491
+ prepareDevice: a,
1492
+ confirmDevice: o,
1493
+ hideDevice: s,
1494
+ unhideDevice: c,
1495
+ toggleShowHidden: l,
1496
+ isHidden: u
1497
+ };
1498
+ }
1499
+ //#endregion
1500
+ //#region src/views/Cameras.vue?vue&type=script&setup=true&lang.ts
1501
+ var In = { class: "flex flex-col" }, Ln = {
1502
+ key: 0,
1503
+ class: "page-title"
1504
+ }, Rn = {
1505
+ key: 1,
1506
+ class: "flex min-h-0 flex-col"
1507
+ }, zn = {
1508
+ key: 0,
1509
+ class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4"
1510
+ }, Bn = {
1511
+ key: 1,
1512
+ class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-16"
1513
+ }, Vn = { class: "w-16 h-16 rounded-full bg-primary-500/10 flex items-center justify-center" }, Hn = { class: "flex flex-col items-center gap-1 max-w-[400px] text-center" }, Un = { class: "text-color font-semibold text-base" }, Wn = { class: "text-muted text-sm" }, Gn = {
1514
+ key: 2,
1515
+ class: "flex min-h-0 flex-col"
1516
+ }, Kn = { class: "card-title" }, qn = { class: "flex items-center justify-center" }, Jn = { class: "font-bold text-color truncate" }, Yn = { class: "text-xs text-muted truncate" }, Xn = {
1517
+ key: 0,
1518
+ class: "text-xs text-red-500 truncate"
1519
+ }, Zn = { class: "card-title" }, Qn = {
1520
+ key: 0,
1521
+ class: "flex flex-col gap-6"
1522
+ }, $n = { class: "flex items-center justify-center" }, er = { class: "flex items-center justify-center" }, tr = {
1523
+ key: 1,
1524
+ class: "flex flex-col items-center justify-center py-6 gap-2"
1525
+ }, nr = { class: "text-muted text-sm" }, rr = { class: "flex flex-wrap items-center gap-2 mt-4" }, ir = /*#__PURE__*/ U(/* @__PURE__ */ A({
1526
+ __name: "Cameras",
1527
+ setup(e) {
1528
+ let { t } = K(), r = P(), i = B(), s = te(), { smBreakpoint: l } = H(), u = Fn(), d = {
1529
+ bodyRow: { class: "text-sm text-secondary" },
1530
+ column: { columnTitle: { class: "text-sm" } },
1531
+ datatable: { class: "z-0" }
1532
+ }, m = b(() => re(void 0, "admin")), _ = b(() => u.sortedDevices.value), v = b((e) => le(e, _.value.filter((e) => e.type === "camera"), (e) => e.id)), S = b((e) => le(e, _.value.filter((e) => e.type === "discovered"), (e) => e.id)), T = b(() => u.isLoading.value), O = b(() => u.isScanning.value), k = b(() => u.hiddenDevices.value), A = b(() => u.showHidden.value), j = b(() => k.value.length);
1533
+ function ee(e) {
1534
+ switch (e) {
1535
+ case "added": return "green";
1536
+ case "discovered": return "orange";
1537
+ case "adopting": return "orange";
1538
+ case "error": return "red";
1539
+ default: return "gray";
1540
+ }
1541
+ }
1542
+ function F(e) {
1543
+ switch (e) {
1544
+ case "added": return t("views.devices.status_added");
1545
+ case "discovered": return t("views.devices.status_discovered");
1546
+ case "adopting": return t("views.devices.status_adopting");
1547
+ case "error": return t("views.devices.status_error");
1548
+ default: return t("views.devices.status_unknown");
1549
+ }
1550
+ }
1551
+ function I(e) {
1552
+ return u.isHidden(e);
1553
+ }
1554
+ async function L(e) {
1555
+ if (!I(e)) {
1556
+ if (e.type === "camera") s.open({ cameraName: e.name });
1557
+ else if (e.type === "discovered" && e.discoveredId) {
1558
+ if (e.status === "adopting") return;
1559
+ try {
1560
+ let n = await u.getConnectionSchema(e.discoveredId);
1561
+ if (!n.success) {
1562
+ r.add({
1563
+ severity: "error",
1564
+ summary: t("views.devices.connect"),
1565
+ detail: n.error,
1566
+ life: 3e3
1567
+ });
1568
+ return;
1569
+ }
1570
+ i.openComponentDialog(En, { data: {
1571
+ title: `${t("views.devices.connect")}: ${e.name}`,
1572
+ confirmText: t("views.devices.connect"),
1573
+ contentProps: {
1574
+ camera: {
1575
+ id: e.discoveredId,
1576
+ name: e.name,
1577
+ model: e.model,
1578
+ address: e.address,
1579
+ provider: e.provider,
1580
+ connectionStatus: "idle"
1581
+ },
1582
+ schema: n.schema ?? [],
1583
+ onConnect: async (t) => {
1584
+ R(await u.prepareDevice(e.discoveredId, t), e.discoveredId);
1585
+ }
1586
+ }
1587
+ } });
1588
+ } catch (e) {
1589
+ r.add({
1590
+ severity: "error",
1591
+ summary: t("views.devices.connect"),
1592
+ detail: e,
1593
+ life: 3e3
1594
+ });
1595
+ }
1596
+ }
1597
+ }
1598
+ }
1599
+ function R(e, n) {
1600
+ i.openComponentDialog(bn, { data: {
1601
+ title: t("views.devices.confirm_title"),
1602
+ confirmText: t("views.devices.confirm"),
1603
+ fullscreen: !0,
1604
+ contentProps: {
1605
+ draft: e,
1606
+ onConfirm: async (e) => {
1607
+ await u.confirmDevice(e, n), r.add({
1608
+ severity: "success",
1609
+ summary: t("views.devices.connect"),
1610
+ detail: t("components.toast.camera_added"),
1611
+ life: 3e3
1612
+ });
1613
+ }
1614
+ }
1615
+ } });
1616
+ }
1617
+ async function ie() {
1618
+ try {
1619
+ let e = await u.forceRescan();
1620
+ e.success ? r.add({
1621
+ severity: "success",
1622
+ summary: t("views.devices.rescan"),
1623
+ detail: t("views.devices.rescan_success"),
1624
+ life: 3e3
1625
+ }) : r.add({
1626
+ severity: "error",
1627
+ summary: t("views.devices.rescan"),
1628
+ detail: e.error,
1629
+ life: 3e3
1630
+ });
1631
+ } catch (e) {
1632
+ r.add({
1633
+ severity: "error",
1634
+ summary: t("views.devices.rescan"),
1635
+ detail: e,
1636
+ life: 3e3
1637
+ });
1638
+ }
1639
+ }
1640
+ function z() {
1641
+ i.openComponentDialog(hn, { data: {
1642
+ title: t("components.dialog.components.new_camera.add_camera"),
1643
+ fullscreen: !0,
1644
+ contentProps: {}
1645
+ } });
1646
+ }
1647
+ async function ae(e, n) {
1648
+ e.stopPropagation();
1649
+ try {
1650
+ let e = await u.hideDevice(n);
1651
+ e.success ? r.add({
1652
+ severity: "success",
1653
+ summary: t("views.devices.hide"),
1654
+ detail: t("views.devices.device_hidden"),
1655
+ life: 3e3
1656
+ }) : r.add({
1657
+ severity: "error",
1658
+ summary: t("views.devices.hide"),
1659
+ detail: e.error,
1660
+ life: 3e3
1661
+ });
1662
+ } catch (e) {
1663
+ r.add({
1664
+ severity: "error",
1665
+ summary: t("views.devices.hide"),
1666
+ detail: e,
1667
+ life: 3e3
1668
+ });
1669
+ }
1670
+ }
1671
+ async function oe(e, n) {
1672
+ e.stopPropagation();
1673
+ try {
1674
+ let e = await u.unhideDevice(n.discoveredId);
1675
+ e.success ? r.add({
1676
+ severity: "success",
1677
+ summary: t("views.devices.unhide"),
1678
+ detail: t("views.devices.device_unhidden"),
1679
+ life: 3e3
1680
+ }) : r.add({
1681
+ severity: "error",
1682
+ summary: t("views.devices.unhide"),
1683
+ detail: e.error,
1684
+ life: 3e3
1685
+ });
1686
+ } catch (e) {
1687
+ r.add({
1688
+ severity: "error",
1689
+ summary: t("views.devices.unhide"),
1690
+ detail: e,
1691
+ life: 3e3
1692
+ });
1693
+ }
1694
+ }
1695
+ function V() {
1696
+ u.toggleShowHidden();
1697
+ }
1698
+ function U(e) {
1699
+ return I(e) ? "opacity-50 cursor-not-allowed" : "";
1700
+ }
1701
+ return N(() => {
1702
+ m.value && u.connect();
1703
+ }), n(() => {
1704
+ m.value && u.unsubscribe();
1705
+ }), (e, t) => {
1706
+ let n = Re, r = ge, i = de, s = ne, u = Ce, b = we, k = Me, N = je, P = Ne, te = ce, R = Ve, B = se, H = o("tooltip");
1707
+ return a(), C("div", In, [
1708
+ y(l) ? g("", !0) : (a(), C("h1", Ln, f(e.$t(`views.${String(e.$route.name).toLowerCase()}.title`)), 1)),
1709
+ y(m) ? (a(), C(w, { key: 2 }, [
1710
+ y(T) ? (a(), C("div", zn, [M(i, {
1711
+ "stroke-width": "5",
1712
+ class: "w-[30px] h-[30px]"
1713
+ })])) : g("", !0),
1714
+ !y(T) && !y(_).length ? (a(), C("div", Bn, [
1715
+ E("div", Vn, [M(s, { class: "w-8 h-8 text-primary-500" })]),
1716
+ E("div", Hn, [E("span", Un, f(y(O) ? e.$t("views.devices.scanning") : e.$t("views.devices.no_devices")), 1), E("span", Wn, f(y(O) ? e.$t("views.devices.scanning_hint") : e.$t("views.devices.no_devices_hint")), 1)]),
1717
+ M(u, {
1718
+ class: "cui-button-medium mt-2",
1719
+ severity: "secondary",
1720
+ label: e.$t("views.devices.rescan"),
1721
+ loading: y(O),
1722
+ onClick: ie
1723
+ }, null, 8, ["label", "loading"])
1724
+ ])) : g("", !0),
1725
+ !y(T) && y(v).length ? (a(), C("div", Gn, [E("span", Kn, f(e.$t("views.devices.status_adopted_cameras")), 1), M(r, { class: "cui-card" }, {
1726
+ content: x(() => [M(P, {
1727
+ value: y(v),
1728
+ "striped-rows": "",
1729
+ pt: d,
1730
+ class: "w-full",
1731
+ onRowClick: t[0] ||= (e) => L(e.data)
1732
+ }, {
1733
+ default: x(() => [
1734
+ M(k, {
1735
+ header: "",
1736
+ "header-class": "p-2 pl-4 w-5 max-w-5",
1737
+ class: "p-2 pl-4 w-5 max-w-5"
1738
+ }, {
1739
+ body: x(({ data: e }) => [E("div", qn, [D(M(b, { style: p({ background: ee(e.status) }) }, null, 8, ["style"]), [[H, { value: F(e.status) }]])])]),
1740
+ _: 1
1741
+ }),
1742
+ M(k, {
1743
+ field: "name",
1744
+ header: e.$t("views.devices.name"),
1745
+ "header-class": "p-2",
1746
+ class: "p-2 w-full min-w-[200px] max-w-0"
1747
+ }, {
1748
+ body: x(({ data: t }) => [
1749
+ E("div", Jn, f(t.name), 1),
1750
+ E("div", Yn, f(t.manufacturer || e.$t("views.devices.unknown")) + " · " + f(t.model || e.$t("views.devices.unknown")), 1),
1751
+ t.errorMessage ? (a(), C("div", Xn, f(t.errorMessage), 1)) : g("", !0)
1752
+ ]),
1753
+ _: 1
1754
+ }, 8, ["header"]),
1755
+ M(k, {
1756
+ field: "room",
1757
+ header: e.$t("components.form.label.room"),
1758
+ "header-class": "p-2 whitespace-nowrap",
1759
+ class: "p-2 whitespace-nowrap"
1760
+ }, {
1761
+ body: x(({ data: t }) => [t.room ? (a(), h(N, {
1762
+ key: 0,
1763
+ label: t.room === "Default" ? e.$t("components.form.label.room_default") : t.room,
1764
+ class: "text-xs whitespace-nowrap"
1765
+ }, null, 8, ["label"])) : g("", !0)]),
1766
+ _: 1
1767
+ }, 8, ["header"]),
1768
+ M(k, {
1769
+ field: "provider",
1770
+ header: e.$t("views.devices.provider"),
1771
+ "header-class": "p-2 pr-4 whitespace-nowrap",
1772
+ class: "p-2 pr-4 whitespace-nowrap"
1773
+ }, {
1774
+ body: x(({ data: e }) => [M(N, {
1775
+ label: e.provider,
1776
+ class: "text-xs whitespace-nowrap"
1777
+ }, null, 8, ["label"])]),
1778
+ _: 1
1779
+ }, 8, ["header"])
1780
+ ]),
1781
+ _: 1
1782
+ }, 8, ["value"])]),
1783
+ _: 1
1784
+ })])) : g("", !0),
1785
+ !y(T) && y(_).length ? (a(), C("div", {
1786
+ key: 3,
1787
+ class: c(["flex min-h-0 flex-col", { "mt-6": y(v).length }])
1788
+ }, [E("span", Zn, f(e.$t("views.devices.status_discovered")), 1), M(r, { class: "cui-card" }, {
1789
+ content: x(() => [y(S).length ? (a(), C("div", Qn, [M(P, {
1790
+ value: y(S),
1791
+ "striped-rows": "",
1792
+ pt: d,
1793
+ class: "w-full",
1794
+ onRowClick: t[1] ||= (e) => L(e.data)
1795
+ }, {
1796
+ default: x(() => [
1797
+ M(k, {
1798
+ header: "",
1799
+ "header-class": "p-2 pl-4 w-5 max-w-5",
1800
+ class: "p-2 pl-4 w-5 max-w-5"
1801
+ }, {
1802
+ body: x(({ data: e }) => [E("div", $n, [D(M(b, { style: p({ background: ee(e.status) }) }, null, 8, ["style"]), [[H, { value: F(e.status) }]])])]),
1803
+ _: 1
1804
+ }),
1805
+ M(k, {
1806
+ field: "name",
1807
+ header: e.$t("views.devices.name"),
1808
+ "header-class": "p-2",
1809
+ class: "p-2 w-full min-w-[200px] max-w-0"
1810
+ }, {
1811
+ body: x(({ data: t }) => [E("div", { class: c(["font-bold text-color truncate", U(t)]) }, f(t.name), 3), E("div", { class: c(["text-xs text-muted truncate", U(t)]) }, f(t.manufacturer || e.$t("views.devices.unknown")) + " · " + f(t.model || e.$t("views.devices.unknown")), 3)]),
1812
+ _: 1
1813
+ }, 8, ["header"]),
1814
+ M(k, {
1815
+ field: "address",
1816
+ header: e.$t("views.devices.address"),
1817
+ "header-class": "p-2 whitespace-nowrap",
1818
+ class: "p-2 whitespace-nowrap"
1819
+ }, {
1820
+ body: x(({ data: e }) => [e.address ? (a(), C("span", {
1821
+ key: 0,
1822
+ class: c(["text-xs text-muted whitespace-nowrap", U(e)])
1823
+ }, f(e.address), 3)) : g("", !0)]),
1824
+ _: 1
1825
+ }, 8, ["header"]),
1826
+ M(k, {
1827
+ field: "provider",
1828
+ header: e.$t("views.devices.provider"),
1829
+ "header-class": "p-2 whitespace-nowrap",
1830
+ class: "p-2 whitespace-nowrap"
1831
+ }, {
1832
+ body: x(({ data: e }) => [M(N, {
1833
+ label: e.provider,
1834
+ class: c(["text-xs whitespace-nowrap", U(e)])
1835
+ }, null, 8, ["label", "class"])]),
1836
+ _: 1
1837
+ }, 8, ["header"]),
1838
+ M(k, {
1839
+ header: "",
1840
+ "header-class": "p-2 pr-4 w-12",
1841
+ class: "p-2 pr-4 w-12"
1842
+ }, {
1843
+ body: x(({ data: t }) => [E("div", er, [I(t) ? D((a(), h(u, {
1844
+ key: 1,
1845
+ text: "",
1846
+ rounded: "",
1847
+ class: "cui-icon-md",
1848
+ onClick: (e) => oe(e, t)
1849
+ }, {
1850
+ icon: x(() => [M(y(He), {
1851
+ width: "100%",
1852
+ height: "100%",
1853
+ class: "text-muted"
1854
+ })]),
1855
+ _: 1
1856
+ }, 8, ["onClick"])), [[
1857
+ H,
1858
+ { value: e.$t("views.devices.unhide") },
1859
+ void 0,
1860
+ { left: !0 }
1861
+ ]]) : D((a(), h(u, {
1862
+ key: 0,
1863
+ severity: "secondary",
1864
+ text: "",
1865
+ rounded: "",
1866
+ class: "cui-icon-md",
1867
+ onClick: (e) => ae(e, t)
1868
+ }, {
1869
+ icon: x(() => [M(y(Ue), {
1870
+ width: "100%",
1871
+ height: "100%",
1872
+ class: "text-muted"
1873
+ })]),
1874
+ _: 1
1875
+ }, 8, ["onClick"])), [[
1876
+ H,
1877
+ { value: e.$t("views.devices.hide") },
1878
+ void 0,
1879
+ { left: !0 }
1880
+ ]])])]),
1881
+ _: 1
1882
+ })
1883
+ ]),
1884
+ _: 1
1885
+ }, 8, ["value"])])) : (a(), C("div", tr, [y(O) ? (a(), h(te, {
1886
+ key: 0,
1887
+ width: "24px",
1888
+ height: "24px",
1889
+ class: "text-muted"
1890
+ })) : (a(), h(R, {
1891
+ key: 1,
1892
+ width: "32px",
1893
+ height: "32px",
1894
+ class: "text-muted"
1895
+ })), E("span", nr, f(y(O) ? e.$t("views.devices.scanning") : e.$t("views.devices.no_discovered")), 1)])), E("div", rr, [
1896
+ t[2] ||= E("div", { class: "ml-auto" }, null, -1),
1897
+ y(j) > 0 ? (a(), h(u, {
1898
+ key: 0,
1899
+ severity: "secondary",
1900
+ class: "cui-button-medium",
1901
+ label: y(A) ? e.$t("views.devices.hide_hidden") : `${e.$t("views.devices.show_hidden")} (${y(j)})`,
1902
+ onClick: V
1903
+ }, null, 8, ["label"])) : g("", !0),
1904
+ M(u, {
1905
+ severity: "secondary",
1906
+ class: "cui-button-medium",
1907
+ label: e.$t("views.devices.rescan"),
1908
+ loading: y(O),
1909
+ onClick: ie
1910
+ }, null, 8, ["label", "loading"])
1911
+ ])]),
1912
+ _: 1
1913
+ })], 2)) : g("", !0)
1914
+ ], 64)) : (a(), C("div", Rn, [M(r, { class: "cui-card" }, {
1915
+ content: x(() => [M(n)]),
1916
+ _: 1
1917
+ })])),
1918
+ ("hasPermission" in e ? e.hasPermission : y(re))(void 0, "admin") ? (a(), h(B, {
1919
+ key: 3,
1920
+ "tooltip-props": { value: e.$t("views.cameras.add_camera") },
1921
+ "button-props": { class: "text-white" },
1922
+ icon: y(Be),
1923
+ "icon-props": {
1924
+ width: "30px",
1925
+ height: "30px"
1926
+ },
1927
+ onClick: z
1928
+ }, null, 8, ["tooltip-props", "icon"])) : g("", !0)
1929
+ ]);
1930
+ };
1931
+ }
1932
+ }), [["__scopeId", "data-v-3b6b373b"]]);
1933
+ //#endregion
1934
+ export { ir as default };