@camera.ui/server 2.1.11 → 2.1.13

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 (644) hide show
  1. package/dist/interface/assets/{404-B4_ZWIGx.js → 404-CVkDpT0X.js} +1 -1
  2. package/dist/interface/assets/{About-Cd8Ipr7a.js → About-CUgIR2xi.js} +1 -1
  3. package/dist/interface/assets/Automation-BYRKp0AC.js +3 -0
  4. package/dist/interface/assets/{AutomationImport-BTkkRikE.js → AutomationImport-L_OzZZgi.js} +2 -2
  5. package/dist/interface/assets/{AutomationStore-VdGEOwci.js → AutomationStore-DaNQqJoT.js} +2 -2
  6. package/dist/interface/assets/AutomationStoreDetail-Seor4Ohh.js +2 -0
  7. package/dist/interface/assets/Automations-BMQIkpUa.js +2 -0
  8. package/dist/interface/assets/Camera-3umh2Xjc.js +2 -0
  9. package/dist/interface/assets/{CameraConsole-KqRFGZzT.js → CameraConsole-BLlgkKDp.js} +2 -2
  10. package/dist/interface/assets/Cameras-DvK8E1Vk.js +651 -0
  11. package/dist/interface/assets/{Camview-Lp3QU0de.css → Camview-DIEa8IRE.css} +1 -1
  12. package/dist/interface/assets/Camview-DSO2lWxT.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-Dd4Ec7bt.js → CertificateUpload-BsnlaxRS.js} +1 -1
  14. package/dist/interface/assets/{Config-Db-Eh4Lf.js → Config-BXj83-No.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionCameraControl-CbG-HEuU.js → ConfigActionCameraControl-BGfvT6ME.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-BoGIhNHr.js → ConfigActionDelay-D10_C6yo.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-DyPo2XvQ.js → ConfigActionHttp-DL4jh9Wz.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-C9aYztb6.js → ConfigActionImageInput-DVvMUzrT.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-kQz9Y9OZ.js → ConfigActionMqtt-BqK3q4cC.js} +1 -1
  20. package/dist/interface/assets/ConfigActionNotification-D_H5Q68D.js +1 -0
  21. package/dist/interface/assets/{ConfigActionNotificationControl-DEOv_FGO.js → ConfigActionNotificationControl-BnTJl4dr.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-CGtG-8PF.js → ConfigActionOutput-udY95_rH.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-C8v0CWrz.js → ConfigActionPlugin-C51LrkZb.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSensor-CESXnRuQ.js → ConfigActionSensor-B2tFf8x6.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSnapshot-TVhjeFKP.js → ConfigActionSnapshot-BzmeByH3.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-DwRFwopb.js → ConfigActionVariable-BagC3lj5.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-CmtoYTUU.js → ConfigConditionIfElse-CQOZJ19Y.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-3B9Sjxdb.js → ConfigConditionSensorState-SGYpkNP5.js} +1 -1
  29. package/dist/interface/assets/ConfigConditionSwitch-BXR6xUN8.js +1 -0
  30. package/dist/interface/assets/{ConfigConditionTime-Djq2yOCr.js → ConfigConditionTime-BrEhw1R9.js} +1 -1
  31. package/dist/interface/assets/{ConfigSensorValueInput-DZ7r71aU.js → ConfigSensorValueInput-DezTWtbA.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerDetection-B62txb4H.js → ConfigTriggerDetection-xo0imE_3.js} +1 -1
  33. package/dist/interface/assets/ConfigTriggerGeofence-BmJpP4Ew.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-nrYy4xBP.js → ConfigTriggerManual-CmAdnZQK.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-CK8FEVxs.js → ConfigTriggerMqtt-F19dhVm1.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-DN3Tl7f4.js → ConfigTriggerSchedule-BGci3Aed.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-DBXrlYyS.js → ConfigTriggerSensor-DSEDGB2X.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-QFLNb9GC.js → ConfigTriggerSystem-DPy8Zir4.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-46mdJk6X.js → ConfigTriggerWebhook-Dv0Kmwg8.js} +1 -1
  40. package/dist/interface/assets/Console-Cuh-Vc4u.js +1 -0
  41. package/dist/interface/assets/{CuiAutomationRunsDialog-BvtQfpTx.js → CuiAutomationRunsDialog-B1UeVC6Q.js} +1 -1
  42. package/dist/interface/assets/{CuiBottomSheet-UiJcO4M3.js → CuiBottomSheet-BjkDE7_9.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-C9G-NoMU.js +1 -0
  44. package/dist/interface/assets/CuiCameraPipCard-nrln9zp-.js +1 -0
  45. package/dist/interface/assets/CuiCameraRecordings-B7BhgPpP.css +1 -0
  46. package/dist/interface/assets/CuiCameraRecordings-HKwhFpea.js +1 -0
  47. package/dist/interface/assets/{CuiCameraShares-46_p-wPD.js → CuiCameraShares-D-fhJCro.js} +1 -1
  48. package/dist/interface/assets/{CuiCameraTable-BXm5THd1.js → CuiCameraTable-BTVfK-HY.js} +2 -2
  49. package/dist/interface/assets/CuiCameraTable-DGg4_c_u.js +1 -0
  50. package/dist/interface/assets/{CuiChartTable-ByHWgFTc.js → CuiChartTable-DAUYP-EW.js} +1 -1
  51. package/dist/interface/assets/{CuiConsole-BOyrbC0a.js → CuiConsole-C7aZj4wK.js} +2 -2
  52. package/dist/interface/assets/{CuiDataTable-BDyku8Vr.js → CuiDataTable-1B8aaZQO.js} +1 -1
  53. package/dist/interface/assets/CuiLightControl-CSA1PYc8.js +1 -0
  54. package/dist/interface/assets/{CuiList-D1d-S_-K.js → CuiList-D-hOSNou.js} +1 -1
  55. package/dist/interface/assets/CuiMarkdownContent-D2bWw1GN.js +1 -0
  56. package/dist/interface/assets/{CuiMarkdownContent-bAQw35id.js → CuiMarkdownContent-gJ8gvmYA.js} +1 -1
  57. package/dist/interface/assets/CuiPluginCard-D1Hkyiy4.js +2 -0
  58. package/dist/interface/assets/{CuiPluginCategoryChip-CCnZkkL5.js → CuiPluginCategoryChip-qnn-HD6g.js} +1 -1
  59. package/dist/interface/assets/{CuiPluginOAuthButton-CTKbdFZJ.js → CuiPluginOAuthButton-CXextmBv.js} +2 -2
  60. package/dist/interface/assets/{CuiPluginTrustBadge-B_1b1iYf.js → CuiPluginTrustBadge-C-8MN2Qc.js} +1 -1
  61. package/dist/interface/assets/{CuiQRCode-B0CF6e-5.js → CuiQRCode-D1qmU4qU.js} +1 -1
  62. package/dist/interface/assets/CuiSchema-DnHOpBg4.js +1 -0
  63. package/dist/interface/assets/{CuiTopNavbarItem-Bs4iRb31.js → CuiTopNavbarItem-Csb3O1-n.js} +1 -1
  64. package/dist/interface/assets/Faces-C0QpQxuF.js +1 -0
  65. package/dist/interface/assets/FirstSteps-BqZQovY7.js +1 -0
  66. package/dist/interface/assets/{Floorplan-Da5gt435.css → Floorplan-Bxhdg4C2.css} +1 -1
  67. package/dist/interface/assets/Floorplan-CW-W5ZkV.js +1 -0
  68. package/dist/interface/assets/Instances-VSkiqKKf.js +1 -0
  69. package/dist/interface/assets/{Logs-Bnq3wEXS.js → Logs-DQFS2AUi.js} +2 -2
  70. package/dist/interface/assets/{Menu-M1PaPt5e.js → Menu-COvvZ_vz.js} +1 -1
  71. package/dist/interface/assets/Metrics-cvbQzChA.js +9 -0
  72. package/dist/interface/assets/OAuthDeviceFlow-3ZC2QCAs.js +1 -0
  73. package/dist/interface/assets/Plugin-DjQd3Y9J.js +1 -0
  74. package/dist/interface/assets/{PluginConsole-f5xf7P3Y.js → PluginConsole-BaUkghQD.js} +2 -2
  75. package/dist/interface/assets/PluginDetail-Ofj1hk2q.js +2 -0
  76. package/dist/interface/assets/{PluginSchema-DMjDPtOB.js → PluginSchema-f-ER7hlx.js} +1 -1
  77. package/dist/interface/assets/PluginSearch-Ce3S1HDv.js +1 -0
  78. package/dist/interface/assets/PluginSearch-D5eQsj5p.js +2 -0
  79. package/dist/interface/assets/{PluginUpdateProgress-FVY9RtmB.js → PluginUpdateProgress-BfYNLvVX.js} +1 -1
  80. package/dist/interface/assets/Plugins-DtDN9z0k.js +1 -0
  81. package/dist/interface/assets/Recordings-CQGnTZFt.js +1 -0
  82. package/dist/interface/assets/SensorEdit-BZtiJyoI.js +1 -0
  83. package/dist/interface/assets/{SensorHistory-5nCWisih.js → SensorHistory-BFkT3teu.js} +1 -1
  84. package/dist/interface/assets/{Sensors-BsLHVGqk.css → Sensors-CaKl4PQY.css} +1 -1
  85. package/dist/interface/assets/Sensors-DSR-AUqb.js +2 -0
  86. package/dist/interface/assets/{Settings-DsxjHlTb.js → Settings-DV3JZFjc.js} +1 -1
  87. package/dist/interface/assets/SettingsAccount-Cd5JPsv2.js +1 -0
  88. package/dist/interface/assets/SettingsAccount-D4ib7Asi.js +1 -0
  89. package/dist/interface/assets/SettingsAppearance-BYsQmdyo.js +1 -0
  90. package/dist/interface/assets/{SettingsAppearance-Dc5qomCw.js → SettingsAppearance-CC6StMAi.js} +1 -1
  91. package/dist/interface/assets/{SettingsBackup-xZ6fRlMp.js → SettingsBackup-BcVFCbhB.js} +1 -1
  92. package/dist/interface/assets/{SettingsList-M3eOiLIi.js → SettingsList-04HiM3OT.js} +1 -1
  93. package/dist/interface/assets/SettingsMqtt-XaJdsYPn.js +1 -0
  94. package/dist/interface/assets/SettingsNotifications-CUoYMHwr.js +1 -0
  95. package/dist/interface/assets/{SettingsPermissions-g6ppqzcI.js → SettingsPermissions-gFDNSlTh.js} +1 -1
  96. package/dist/interface/assets/SettingsRecordings-Bw64UZWe.js +1 -0
  97. package/dist/interface/assets/SettingsRemote-BnFW-uT-.js +2 -0
  98. package/dist/interface/assets/{SettingsSystem-EaqPKfS_.js → SettingsSystem-Cdjg5GNY.js} +2 -2
  99. package/dist/interface/assets/{SettingsUsers-B3m7YHzN.js → SettingsUsers-DphPL78H.js} +1 -1
  100. package/dist/interface/assets/{Terminal-BXQKgvte.js → Terminal-CrNjqzTs.js} +2 -2
  101. package/dist/interface/assets/{Updates-Difs3xzH.js → Updates-V5B9LSD-.js} +2 -2
  102. package/dist/interface/assets/{VariableInput-DNlqv5NS.js → VariableInput-n0TxKRqq.js} +1 -1
  103. package/dist/interface/assets/{VariableSuggestions-cR1Q4nfD.js → VariableSuggestions-C4LmaCAo.js} +1 -1
  104. package/dist/interface/assets/{VersionsHandler-BHyZgGCP.js → VersionsHandler-BPocJcb0.js} +2 -2
  105. package/dist/interface/assets/{VirtualSensorCreate-CSzlXcHk.js → VirtualSensorCreate-BPvbrzGS.js} +1 -1
  106. package/dist/interface/assets/Workers-DEvQNzUi.js +2 -0
  107. package/dist/interface/assets/{lightbulb-outline-BtraGBwO.js → alert-outline-DtiCgufF.js} +1 -1
  108. package/dist/interface/assets/{api-Bpl4Sd0_.js → api-BXmkXIE8.js} +1 -1
  109. package/dist/interface/assets/api-DO5wBndX.css +2 -0
  110. package/dist/interface/assets/api-x8zXlvtm.js +4 -0
  111. package/dist/interface/assets/{auth-O2tHbgZf.js → auth-BKJnreuu.js} +1 -1
  112. package/dist/interface/assets/{automations-C3f5HUy2.js → automations-CVuIXlAQ.js} +1 -1
  113. package/dist/interface/assets/cameraSources-C3cl6FVD.js +1 -0
  114. package/dist/interface/assets/cloudHandoff-BZvvihwX.js +1 -0
  115. package/dist/interface/assets/{config-BIxANITl.js → config-Sw94rZxF.js} +1 -1
  116. package/dist/interface/assets/{flowSchema-Cu_f8mZr.js → flowSchema-BOrDqdeG.js} +1 -1
  117. package/dist/interface/assets/{intercomService-JoKcW49f.js → intercomService-CfCIMUlA.js} +1 -1
  118. package/dist/interface/assets/main-Jl93jEZK.js +3 -0
  119. package/dist/interface/assets/{main-BF8Mg561.css → main-Qqk3RyYP.css} +1 -1
  120. package/dist/interface/assets/{mqtt-D_ToI2JF.js → mqtt-BaCMJJk_.js} +1 -1
  121. package/dist/interface/assets/nodeDefinitions-a8iyp3yk.js +1 -0
  122. package/dist/interface/assets/{notifications-BZCPhbuG.js → notifications-l-x8vA4D.js} +1 -1
  123. package/dist/interface/assets/{plugins-DXYT--j6.js → plugins-GA9v-eQx.js} +1 -1
  124. package/dist/interface/assets/{rooms-BXXhWbYq.js → rooms-DX7PBdpP.js} +1 -1
  125. package/dist/interface/assets/sensorIcons-BTgouEmX.js +1 -0
  126. package/dist/interface/assets/{sensors-ud0INKWh.js → sensors-LJkBCaMk.js} +1 -1
  127. package/dist/interface/assets/{server-_f9tZajz.js → server-dOx3q8o1.js} +1 -1
  128. package/dist/interface/assets/theme-DgrclY58.js +1 -0
  129. package/dist/interface/assets/types-CSWXRySW.js +1 -0
  130. package/dist/interface/assets/{types-CCCcoJBr.js → types-D19FOdYo.js} +1 -1
  131. package/dist/interface/assets/types-Yq0FH8fa.js +1 -0
  132. package/dist/interface/assets/ungrouped-B_u9a5wm.js +1 -0
  133. package/dist/interface/assets/{ungrouped-uv64nr5n.css → ungrouped-DTYy_Pud.css} +1 -1
  134. package/dist/interface/assets/{updates-i-Ukebxe.js → updates-BVN6uGXy.js} +1 -1
  135. package/dist/interface/assets/{useAppVersion-DY0h_lct.js → useAppVersion-BUDIkitU.js} +1 -1
  136. package/dist/interface/assets/useBackupRestore-CnSZNCC8.js +1 -0
  137. package/dist/interface/assets/{useCameraOptions-C-rXBi8d.js → useCameraOptions-Cgb4eV2d.js} +1 -1
  138. package/dist/interface/assets/{useLogsSocket-Bigb4u3j.js → useLogsSocket-CGKtL049.js} +1 -1
  139. package/dist/interface/assets/{useNavLayout-C9FWniNC.js → useNavLayout-Dcngcb73.js} +1 -1
  140. package/dist/interface/assets/{usePermissions-C_4RPiE4.js → usePermissions-zJF4LCPm.js} +1 -1
  141. package/dist/interface/assets/{usePluginUpdates-CQwLK3om.js → usePluginUpdates-DP--lRxm.js} +1 -1
  142. package/dist/interface/assets/{usePushRegistration-sYPibp5s.js → usePushRegistration-BhPBp28J.js} +1 -1
  143. package/dist/interface/assets/{useServerRestart-B0Cfu10q.js → useServerRestart-BpCDYbPH.js} +1 -1
  144. package/dist/interface/assets/{useStreamStatus-BLXdLAvK.js → useStreamStatus-BoVMk6KT.js} +1 -1
  145. package/dist/interface/assets/{useTabSwipe-C3qfclkm.js → useTabSwipe--t-Qqa31.js} +1 -1
  146. package/dist/interface/assets/{useUpdateChannel-DvO5NQPE.js → useUpdateChannel-DAuhU-__.js} +1 -1
  147. package/dist/interface/assets/{useUpdatesSocket-C6wTDGIg.js → useUpdatesSocket-C-j3b3tU.js} +1 -1
  148. package/dist/interface/assets/{useUserOptions-B9T46skV.js → useUserOptions-CcLVC73O.js} +1 -1
  149. package/dist/interface/assets/vendor-cameraui-phsC2Mmi.js +2326 -0
  150. package/dist/interface/assets/vendor-core-C0ZWoGJD.js +1 -0
  151. package/dist/interface/assets/{vendor-markdown-pUmink8s.js → vendor-markdown-aj6qAoLx.js} +3 -3
  152. package/dist/interface/assets/{vendor-primevue-CvHDsVi_.js → vendor-primevue-nPess0JU.js} +76 -76
  153. package/dist/interface/assets/vendor-zod-CJ7LAMqQ.js +99 -0
  154. package/dist/interface/ha/404-PedrGUiq.js +60 -0
  155. package/dist/interface/ha/About-l5fkBqG7.js +55 -0
  156. package/dist/interface/ha/Automation-CaSlGjT4.js +2015 -0
  157. package/dist/interface/ha/AutomationImport-BNavtjDq.js +206 -0
  158. package/dist/interface/ha/AutomationStore-BVSW8TVt.js +335 -0
  159. package/dist/interface/ha/AutomationStoreDetail-DHZwlpz0.js +122 -0
  160. package/dist/interface/ha/Automations-CZ2jvH6d.js +437 -0
  161. package/dist/interface/ha/Camera-CggUrrPm.js +625 -0
  162. package/dist/interface/ha/CameraConsole-DpzF48TF.js +52 -0
  163. package/dist/interface/ha/Cameras-K-kQF5tG.js +1970 -0
  164. package/dist/interface/ha/Camview-zJVP7JwZ.js +1337 -0
  165. package/dist/interface/ha/CertificateUpload-DbBQ87OT.js +117 -0
  166. package/dist/interface/ha/Config-Bsud2DYI.js +356 -0
  167. package/dist/interface/ha/ConfigActionCameraControl-Czkfw_NO.js +152 -0
  168. package/dist/interface/ha/ConfigActionDelay-BHug57u7.js +61 -0
  169. package/dist/interface/ha/ConfigActionHttp-LfbxbfgG.js +134 -0
  170. package/dist/interface/ha/ConfigActionImageInput-Ce2GJzCm.js +171 -0
  171. package/dist/interface/ha/ConfigActionMqtt-KmCGcNZb.js +81 -0
  172. package/dist/interface/ha/ConfigActionNotification-DUMY_3IT.js +199 -0
  173. package/dist/interface/ha/ConfigActionNotificationControl-B9Z2i5WR.js +111 -0
  174. package/dist/interface/ha/ConfigActionOutput-CX-ZQjcs.js +98 -0
  175. package/dist/interface/ha/ConfigActionPlugin-y5PuPwdk.js +172 -0
  176. package/dist/interface/ha/ConfigActionSensor-CC39Rpxi.js +139 -0
  177. package/dist/interface/ha/ConfigActionSnapshot-CWyhx6rk.js +48 -0
  178. package/dist/interface/ha/ConfigActionVariable-BNRLCthd.js +88 -0
  179. package/dist/interface/ha/ConfigConditionIfElse-BayS5_Dr.js +124 -0
  180. package/dist/interface/ha/ConfigConditionSensorState-DLXNqL-R.js +192 -0
  181. package/dist/interface/ha/ConfigConditionSwitch-BBesQgWi.js +128 -0
  182. package/dist/interface/ha/ConfigConditionTime-aD8mk2aa.js +95 -0
  183. package/dist/interface/ha/ConfigSensorValueInput-5JzesEuD.js +169 -0
  184. package/dist/interface/ha/ConfigTriggerDetection--BcjPuyh.js +241 -0
  185. package/dist/interface/ha/ConfigTriggerGeofence-BZi5a2Yv.js +4896 -0
  186. package/dist/interface/ha/ConfigTriggerManual-ConxhgNx.js +14 -0
  187. package/dist/interface/ha/ConfigTriggerMqtt-B6C9injX.js +134 -0
  188. package/dist/interface/ha/ConfigTriggerSchedule-Vv5iNKL3.js +72 -0
  189. package/dist/interface/ha/ConfigTriggerSensor-beixHfSD.js +73 -0
  190. package/dist/interface/ha/ConfigTriggerSystem-BHDpn485.js +188 -0
  191. package/dist/interface/ha/ConfigTriggerWebhook-D9cuCU_p.js +94 -0
  192. package/dist/interface/ha/Console-CbQnrt6X.js +348 -0
  193. package/dist/interface/ha/CuiAutomationRunsDialog-CckgCRNS.js +130 -0
  194. package/dist/interface/ha/CuiBottomSheet-juhGdTsO.js +270 -0
  195. package/dist/interface/ha/CuiCameraRecordings-CLzZiXhk.js +552 -0
  196. package/dist/interface/ha/CuiCameraShares-Dzx1jZGE.js +121 -0
  197. package/dist/interface/ha/CuiCameraTable-ug0ik9N-.js +153 -0
  198. package/dist/interface/ha/CuiChartTable-7EnAA-WG.js +6784 -0
  199. package/dist/interface/ha/CuiConsole-DOnyBSL7.js +244 -0
  200. package/dist/interface/ha/CuiDataTable-Cx9GBqsV.js +8725 -0
  201. package/dist/interface/ha/CuiList-C45psxFZ.js +57 -0
  202. package/dist/interface/ha/CuiMarkdownContent-D7sCtnNQ.js +4716 -0
  203. package/dist/interface/ha/CuiPluginCard-ChLIfOms.js +769 -0
  204. package/dist/interface/ha/CuiPluginOAuthButton-B6vPOEx2.js +105 -0
  205. package/dist/interface/ha/CuiPluginTrustBadge-BvPV93D0.js +123 -0
  206. package/dist/interface/ha/CuiQRCode-Djr3z54t.js +86 -0
  207. package/dist/interface/ha/CuiSchema-dl7TXv-k.js +963 -0
  208. package/dist/interface/ha/CuiTopNavbarItem-BXoda5eM.js +141 -0
  209. package/dist/interface/ha/Faces-DnqWMGWW.js +1281 -0
  210. package/dist/interface/ha/FirstSteps-CFawb017.js +251 -0
  211. package/dist/interface/ha/Floorplan-Mv-Ootly.js +3677 -0
  212. package/dist/interface/ha/Instances-DJjZ3btI.js +680 -0
  213. package/dist/interface/ha/Logs-CLFhW1xq.js +418 -0
  214. package/dist/interface/ha/Menu-D7QTRqMJ.js +161 -0
  215. package/dist/interface/ha/Metrics-CCvFtezL.js +1330 -0
  216. package/dist/interface/ha/OAuthDeviceFlow-4YupTNsK.js +112 -0
  217. package/dist/interface/ha/Plugin-BHU0yhBa.js +1404 -0
  218. package/dist/interface/ha/PluginConsole-CNrLuFQM.js +56 -0
  219. package/dist/interface/ha/PluginDetail-Bm3X-xN4.js +230 -0
  220. package/dist/interface/ha/PluginSearch-C0be8cYD.js +475 -0
  221. package/dist/interface/ha/PluginUpdateProgress-DVvgYMLG.js +34 -0
  222. package/dist/interface/ha/Plugins-R-uz0Se-.js +705 -0
  223. package/dist/interface/ha/Recordings-DAwbihs8.js +1463 -0
  224. package/dist/interface/ha/SensorEdit-BxE1cRLR.js +1460 -0
  225. package/dist/interface/ha/SensorHistory-DUGlH2pU.js +54 -0
  226. package/dist/interface/ha/Sensors-Cax5RlPH.js +1358 -0
  227. package/dist/interface/ha/Settings-DKtlCoyz.js +218 -0
  228. package/dist/interface/ha/SettingsAccount-2e_Vjpev.js +970 -0
  229. package/dist/interface/ha/SettingsAppearance-DCm60FhX.js +220 -0
  230. package/dist/interface/ha/SettingsBackup-CiM_nNWt.js +556 -0
  231. package/dist/interface/ha/SettingsList-D4D3cmLo.js +40 -0
  232. package/dist/interface/ha/SettingsMqtt-CID4L0PD.js +526 -0
  233. package/dist/interface/ha/SettingsNotifications-DGJkhm8T.js +529 -0
  234. package/dist/interface/ha/SettingsPermissions-Cd0rtgli.js +84 -0
  235. package/dist/interface/ha/SettingsRecordings-pR4L0wgy.js +151 -0
  236. package/dist/interface/ha/SettingsRemote-CYg-LSQK.js +1810 -0
  237. package/dist/interface/ha/SettingsSystem-BeYJN1Ut.js +376 -0
  238. package/dist/interface/ha/SettingsUsers-F4CZggSR.js +379 -0
  239. package/dist/interface/ha/Terminal-iQahUx9P.js +631 -0
  240. package/dist/interface/ha/Updates-ClQ77p-o.js +356 -0
  241. package/dist/interface/ha/VariableInput-BOHBmNff.js +52 -0
  242. package/dist/interface/ha/VariableSuggestions-BE06z6SW.js +201 -0
  243. package/dist/interface/ha/VersionsHandler-Cx9u0oj8.js +211 -0
  244. package/dist/interface/ha/VirtualSensorCreate-CvSzLo4N.js +101 -0
  245. package/dist/interface/ha/Workers-CEJtdSu-.js +765 -0
  246. package/dist/interface/ha/accordion-BT2wHwK8.js +577 -0
  247. package/dist/interface/ha/account-B1xL2wxD.js +19 -0
  248. package/dist/interface/ha/ace-Dh61T4RV.js +13238 -0
  249. package/dist/interface/ha/ace.config-HyzcNHkM.js +1429 -0
  250. package/dist/interface/ha/alert-circle-CLRn5GAd.js +19 -0
  251. package/dist/interface/ha/alert-outline-CGTMAqXf.js +75 -0
  252. package/dist/interface/ha/api-BmNBy1ay.js +29 -0
  253. package/dist/interface/ha/api-CWJkvtnM.js +60866 -0
  254. package/dist/interface/ha/arrow-left-DkvcResi.js +19 -0
  255. package/dist/interface/ha/auth-X6tkVYJs.js +271 -0
  256. package/dist/interface/ha/autocomplete-L_jK3s3m.js +1373 -0
  257. package/dist/interface/ha/automationBlueprint-D1TiCF7R.js +249 -0
  258. package/dist/interface/ha/back-filled-Cxzg5vQg.js +20 -0
  259. package/dist/interface/ha/base-D_LAf3cS.js +26 -0
  260. package/dist/interface/ha/base-c1lsE5TW.js +125 -0
  261. package/dist/interface/ha/bell-ring-xrXdzNHW.js +19 -0
  262. package/dist/interface/ha/brain-DyOOk3m3.js +19 -0
  263. package/dist/interface/ha/browser-Bxx7joo_.js +1227 -0
  264. package/dist/interface/ha/browserconfig.xml +11 -0
  265. package/dist/interface/ha/button-BlYuI0Q7.js +406 -0
  266. package/dist/interface/ha/cameraui-cards.js +190 -0
  267. package/dist/interface/ha/cards-CNOyNWMA.js +13316 -0
  268. package/dist/interface/ha/cctv-Bz6BH0ns.js +19 -0
  269. package/dist/interface/ha/check-circle-D_wDxrLs.js +19 -0
  270. package/dist/interface/ha/chevron-down-P5MtUhJO.js +19 -0
  271. package/dist/interface/ha/chip-DxGABeun.js +149 -0
  272. package/dist/interface/ha/clock-outline-JxApewmA.js +19 -0
  273. package/dist/interface/ha/close-Eq3txTBS.js +19 -0
  274. package/dist/interface/ha/close-circle-C2nTtN_-.js +19 -0
  275. package/dist/interface/ha/config-E4Jkelkr.js +116 -0
  276. package/dist/interface/ha/content-copy-DpPXKtKE.js +19 -0
  277. package/dist/interface/ha/copy-C48Ur26H.js +22 -0
  278. package/dist/interface/ha/datepicker-BuvKhBWJ.js +3236 -0
  279. package/dist/interface/ha/definitions-E-sY7Cxg.js +23 -0
  280. package/dist/interface/ha/delete-D-m8mqly.js +19 -0
  281. package/dist/interface/ha/dist-B7lgvbyI.js +279 -0
  282. package/dist/interface/ha/dist-Ca9_5rzq.js +3457 -0
  283. package/dist/interface/ha/divider-jkWvVbPJ.js +110 -0
  284. package/dist/interface/ha/download-Cnr7IQKX.js +19 -0
  285. package/dist/interface/ha/esm-1sIZN4t7.js +6 -0
  286. package/dist/interface/ha/esm-6hnPZcZr.js +15 -0
  287. package/dist/interface/ha/esm-B72ViJ7F.js +5 -0
  288. package/dist/interface/ha/esm-BGlkcEes.js +156 -0
  289. package/dist/interface/ha/esm-BKPZuThK.js +5 -0
  290. package/dist/interface/ha/esm-BMx7MsZ_.js +15 -0
  291. package/dist/interface/ha/esm-CChFtwcx.js +21 -0
  292. package/dist/interface/ha/esm-CMTmAdHP.js +5 -0
  293. package/dist/interface/ha/esm-CkoEL9YX.js +7 -0
  294. package/dist/interface/ha/esm-CvxDASXR.js +23 -0
  295. package/dist/interface/ha/esm-Demxl4zQ.js +5 -0
  296. package/dist/interface/ha/esm-DiBhi9zp.js +5 -0
  297. package/dist/interface/ha/esm-XFPB9fYb.js +15 -0
  298. package/dist/interface/ha/eventLabels-B4C1_4vT.js +42 -0
  299. package/dist/interface/ha/eye-off-AdumIw0H.js +33 -0
  300. package/dist/interface/ha/eye-off-outline-DO3xfiua.js +19 -0
  301. package/dist/interface/ha/fonts/InterVariable.woff2 +0 -0
  302. package/dist/interface/ha/history-BoZc8mgf.js +19 -0
  303. package/dist/interface/ha/home-am0tRTsk.js +19 -0
  304. package/dist/interface/ha/information-outline-DIdNxPCN.js +19 -0
  305. package/dist/interface/ha/inputicon-6-vaPLbw.js +324 -0
  306. package/dist/interface/ha/inputnumber-B1Buq8Nc.js +1033 -0
  307. package/dist/interface/ha/inputtext-DGIESrd0.js +257 -0
  308. package/dist/interface/ha/intercomService-jB2mTgsn.js +1406 -0
  309. package/dist/interface/ha/message-C8U_kMBA.js +244 -0
  310. package/dist/interface/ha/minus-DKa9TXat.js +19 -0
  311. package/dist/interface/ha/minus-QyTgaT70.js +46 -0
  312. package/dist/interface/ha/mqtt-BmDCmG9h.js +56 -0
  313. package/dist/interface/ha/multiselect-BbgV_fPx.js +1492 -0
  314. package/dist/interface/ha/native-BaNeloQn.js +35 -0
  315. package/dist/interface/ha/native-C8PbNqsJ.js +29 -0
  316. package/dist/interface/ha/notifications-B51yvrGL.js +159 -0
  317. package/dist/interface/ha/og-share.png +0 -0
  318. package/dist/interface/ha/pencil-outline-BqfTDXIh.js +19 -0
  319. package/dist/interface/ha/pinia-3D39Do4a.js +6934 -0
  320. package/dist/interface/ha/platformLabels-C3d1PLg-.js +27 -0
  321. package/dist/interface/ha/plugin-DAGqBiG_.js +38 -0
  322. package/dist/interface/ha/plugins-dkWbXWVM.js +592 -0
  323. package/dist/interface/ha/plus-CNdrByQb.js +46 -0
  324. package/dist/interface/ha/plus-d_caPq5l.js +19 -0
  325. package/dist/interface/ha/progressbar-CIoPoMSe.js +95 -0
  326. package/dist/interface/ha/protocol-BB4jdtUC-K1r3LFCq.js +706 -0
  327. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1136x640.png +0 -0
  328. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1334x750.png +0 -0
  329. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1792x828.png +0 -0
  330. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2048x1536.png +0 -0
  331. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2160x1620.png +0 -0
  332. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2208x1242.png +0 -0
  333. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2224x1668.png +0 -0
  334. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2388x1668.png +0 -0
  335. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2436x1125.png +0 -0
  336. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2532x1170.png +0 -0
  337. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2556x1179.png +0 -0
  338. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2688x1242.png +0 -0
  339. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2732x2048.png +0 -0
  340. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2778x1284.png +0 -0
  341. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2796x1290.png +0 -0
  342. package/dist/interface/ha/pwa/apple-splash-landscape-light-1136x640.png +0 -0
  343. package/dist/interface/ha/pwa/apple-splash-landscape-light-1334x750.png +0 -0
  344. package/dist/interface/ha/pwa/apple-splash-landscape-light-1792x828.png +0 -0
  345. package/dist/interface/ha/pwa/apple-splash-landscape-light-2048x1536.png +0 -0
  346. package/dist/interface/ha/pwa/apple-splash-landscape-light-2160x1620.png +0 -0
  347. package/dist/interface/ha/pwa/apple-splash-landscape-light-2208x1242.png +0 -0
  348. package/dist/interface/ha/pwa/apple-splash-landscape-light-2224x1668.png +0 -0
  349. package/dist/interface/ha/pwa/apple-splash-landscape-light-2388x1668.png +0 -0
  350. package/dist/interface/ha/pwa/apple-splash-landscape-light-2436x1125.png +0 -0
  351. package/dist/interface/ha/pwa/apple-splash-landscape-light-2532x1170.png +0 -0
  352. package/dist/interface/ha/pwa/apple-splash-landscape-light-2556x1179.png +0 -0
  353. package/dist/interface/ha/pwa/apple-splash-landscape-light-2688x1242.png +0 -0
  354. package/dist/interface/ha/pwa/apple-splash-landscape-light-2732x2048.png +0 -0
  355. package/dist/interface/ha/pwa/apple-splash-landscape-light-2778x1284.png +0 -0
  356. package/dist/interface/ha/pwa/apple-splash-landscape-light-2796x1290.png +0 -0
  357. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1125x2436.png +0 -0
  358. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1170x2532.png +0 -0
  359. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1179x2556.png +0 -0
  360. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1242x2208.png +0 -0
  361. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1242x2688.png +0 -0
  362. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1284x2778.png +0 -0
  363. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1290x2796.png +0 -0
  364. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1536x2048.png +0 -0
  365. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1620x2160.png +0 -0
  366. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1668x2224.png +0 -0
  367. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1668x2388.png +0 -0
  368. package/dist/interface/ha/pwa/apple-splash-portrait-dark-2048x2732.png +0 -0
  369. package/dist/interface/ha/pwa/apple-splash-portrait-dark-640x1136.png +0 -0
  370. package/dist/interface/ha/pwa/apple-splash-portrait-dark-750x1334.png +0 -0
  371. package/dist/interface/ha/pwa/apple-splash-portrait-dark-828x1792.png +0 -0
  372. package/dist/interface/ha/pwa/apple-splash-portrait-light-1125x2436.png +0 -0
  373. package/dist/interface/ha/pwa/apple-splash-portrait-light-1170x2532.png +0 -0
  374. package/dist/interface/ha/pwa/apple-splash-portrait-light-1179x2556.png +0 -0
  375. package/dist/interface/ha/pwa/apple-splash-portrait-light-1242x2208.png +0 -0
  376. package/dist/interface/ha/pwa/apple-splash-portrait-light-1242x2688.png +0 -0
  377. package/dist/interface/ha/pwa/apple-splash-portrait-light-1284x2778.png +0 -0
  378. package/dist/interface/ha/pwa/apple-splash-portrait-light-1290x2796.png +0 -0
  379. package/dist/interface/ha/pwa/apple-splash-portrait-light-1536x2048.png +0 -0
  380. package/dist/interface/ha/pwa/apple-splash-portrait-light-1620x2160.png +0 -0
  381. package/dist/interface/ha/pwa/apple-splash-portrait-light-1668x2224.png +0 -0
  382. package/dist/interface/ha/pwa/apple-splash-portrait-light-1668x2388.png +0 -0
  383. package/dist/interface/ha/pwa/apple-splash-portrait-light-2048x2732.png +0 -0
  384. package/dist/interface/ha/pwa/apple-splash-portrait-light-640x1136.png +0 -0
  385. package/dist/interface/ha/pwa/apple-splash-portrait-light-750x1334.png +0 -0
  386. package/dist/interface/ha/pwa/apple-splash-portrait-light-828x1792.png +0 -0
  387. package/dist/interface/ha/pwa/apple-touch-icon-180x180.png +0 -0
  388. package/dist/interface/ha/pwa/favicon-16.ico +0 -0
  389. package/dist/interface/ha/pwa/favicon-32.ico +0 -0
  390. package/dist/interface/ha/pwa/favicon-48.ico +0 -0
  391. package/dist/interface/ha/pwa/favicon-64.ico +0 -0
  392. package/dist/interface/ha/pwa/logo.svg +1 -0
  393. package/dist/interface/ha/pwa/maskable-icon-1240x600.png +0 -0
  394. package/dist/interface/ha/pwa/maskable-icon-512x512.png +0 -0
  395. package/dist/interface/ha/pwa/maskable-icon-620x300.png +0 -0
  396. package/dist/interface/ha/pwa/pwa-1024x1024.png +0 -0
  397. package/dist/interface/ha/pwa/pwa-120x120.png +0 -0
  398. package/dist/interface/ha/pwa/pwa-144x144.png +0 -0
  399. package/dist/interface/ha/pwa/pwa-152x152.png +0 -0
  400. package/dist/interface/ha/pwa/pwa-167x167.png +0 -0
  401. package/dist/interface/ha/pwa/pwa-180x180.png +0 -0
  402. package/dist/interface/ha/pwa/pwa-192x192.png +0 -0
  403. package/dist/interface/ha/pwa/pwa-24x24.png +0 -0
  404. package/dist/interface/ha/pwa/pwa-300x300.png +0 -0
  405. package/dist/interface/ha/pwa/pwa-36x36.png +0 -0
  406. package/dist/interface/ha/pwa/pwa-48x48.png +0 -0
  407. package/dist/interface/ha/pwa/pwa-50x50.png +0 -0
  408. package/dist/interface/ha/pwa/pwa-64x64.png +0 -0
  409. package/dist/interface/ha/pwa/pwa-72x72.png +0 -0
  410. package/dist/interface/ha/pwa/pwa-88x88.png +0 -0
  411. package/dist/interface/ha/pwa/pwa-96x96.png +0 -0
  412. package/dist/interface/ha/radar-C7lI26j4.js +19 -0
  413. package/dist/interface/ha/refresh-BIhepekY.js +19 -0
  414. package/dist/interface/ha/ring-resize-VS4MSeBv.js +16 -0
  415. package/dist/interface/ha/ripple-BilzxWfY.js +2928 -0
  416. package/dist/interface/ha/robots.txt +2 -0
  417. package/dist/interface/ha/rolldown-runtime-CEFd7nDs.js +30 -0
  418. package/dist/interface/ha/rooms-B-FUXQ1p.js +45 -0
  419. package/dist/interface/ha/round-alt-arrow-left-bold-CWEg-ZLF.js +37 -0
  420. package/dist/interface/ha/runtime-core.esm-bundler-D8slQ3BU.js +3295 -0
  421. package/dist/interface/ha/search-CoOsbgeb.js +19 -0
  422. package/dist/interface/ha/select-DjWkRqsI.js +1382 -0
  423. package/dist/interface/ha/server-CKJKoFfg.js +239 -0
  424. package/dist/interface/ha/settings-EKkSQLzv.js +22 -0
  425. package/dist/interface/ha/source-branch-CZwSOrQA.js +19 -0
  426. package/dist/interface/ha/speeddial-Dv9txWte.js +682 -0
  427. package/dist/interface/ha/spinner-D6iUldg9.js +46 -0
  428. package/dist/interface/ha/synapse-CGrlyQDE.js +35 -0
  429. package/dist/interface/ha/tag-CXgC9OZ6.js +95 -0
  430. package/dist/interface/ha/textarea-DvLkfUX7.js +130 -0
  431. package/dist/interface/ha/tooltip-BIrD_hC8.js +277 -0
  432. package/dist/interface/ha/trash-2-C4zSCZfs.js +23 -0
  433. package/dist/interface/ha/trash-can-outline-DCqsCOd2.js +19 -0
  434. package/dist/interface/ha/trash-fill-BPsrwR8X.js +21 -0
  435. package/dist/interface/ha/types-C7MzwoQR.js +28 -0
  436. package/dist/interface/ha/types-J_J0HKlK.js +1032 -0
  437. package/dist/interface/ha/ungrouped-BpaM88Y-.js +1116 -0
  438. package/dist/interface/ha/updates-BdVmkKAa.js +341 -0
  439. package/dist/interface/ha/upload-2xJkVPZE.js +19 -0
  440. package/dist/interface/ha/upload-wQHBRZX_.js +23 -0
  441. package/dist/interface/ha/useAppVersion-DzDaOsKc.js +22 -0
  442. package/dist/interface/ha/useLogsSocket-CWUE-KXV.js +59 -0
  443. package/dist/interface/ha/useNavLayout-BqpyvD2F.js +125 -0
  444. package/dist/interface/ha/usePermissions-BIUeW4ef.js +72 -0
  445. package/dist/interface/ha/useServerRestart-0c4gA1fG.js +23 -0
  446. package/dist/interface/ha/useTabSwipe-C8LdKw23.js +45 -0
  447. package/dist/interface/ha/useUpdateChannel-CHVLthZB.js +22 -0
  448. package/dist/interface/ha/useUpdatesSocket-CaxEs511.js +34 -0
  449. package/dist/interface/ha/useUserOptions-Rk_71WAK.js +15 -0
  450. package/dist/interface/ha/utils-DYtBrGDz.js +7 -0
  451. package/dist/interface/ha/virtualscroller-s_gNqN5p.js +996 -0
  452. package/dist/interface/ha/vue-flow-background-B0Vu4-8M.js +6840 -0
  453. package/dist/interface/ha/vue-i18n-Dcb07o5U.js +2409 -0
  454. package/dist/interface/ha/web-0Kyq65na.js +78 -0
  455. package/dist/interface/ha/web-B7Dt2zZN.js +340 -0
  456. package/dist/interface/ha/web-BNdrPSpb.js +102 -0
  457. package/dist/interface/ha/web-BPBZBCtX.js +8 -0
  458. package/dist/interface/ha/web-BjKL51lK-qwJdIpM1.js +221 -0
  459. package/dist/interface/ha/web-C01i9qI1.js +57 -0
  460. package/dist/interface/ha/web-CH3JeXWa.js +211 -0
  461. package/dist/interface/ha/web-Cpm1-DVe.js +33 -0
  462. package/dist/interface/ha/web-DqRMXrnx.js +31 -0
  463. package/dist/interface/ha/web-DtVT7WYt.js +17 -0
  464. package/dist/interface/ha/web-DxJQZCiR.js +59 -0
  465. package/dist/interface/ha/web-I7Urp4AE.js +46 -0
  466. package/dist/interface/ha/web-aSaPk7kr.js +57 -0
  467. package/dist/interface/ha/web-pMey9p3Y.js +79 -0
  468. package/dist/interface/ha/xterm-B6xA6E5i.js +14833 -0
  469. package/dist/interface/ha/zoom-in-CNVB9H3D.js +41 -0
  470. package/dist/interface/index.html +29 -29
  471. package/dist/interface/sw.js +1 -1
  472. package/dist/server/package.json +10 -10
  473. package/dist/server/requirements.txt +3 -3
  474. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +9 -6
  475. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +2 -2
  476. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +4 -2
  477. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
  478. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +4 -3
  479. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/__init__.py +6 -0
  480. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +17 -6
  481. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +24 -70
  482. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +46 -19
  483. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +2 -0
  484. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +65 -8
  485. package/dist/server/src/api/database/index.d.ts +1 -1
  486. package/dist/server/src/api/database/index.js +4 -32
  487. package/dist/server/src/api/database/index.js.map +1 -1
  488. package/dist/server/src/api/database/migrations/v2-1-17.d.ts +3 -0
  489. package/dist/server/src/api/database/migrations/v2-1-17.js +14 -0
  490. package/dist/server/src/api/database/migrations/v2-1-17.js.map +1 -0
  491. package/dist/server/src/api/database/migrations/v2-1-18.d.ts +3 -0
  492. package/dist/server/src/api/database/migrations/v2-1-18.js +24 -0
  493. package/dist/server/src/api/database/migrations/v2-1-18.js.map +1 -0
  494. package/dist/server/src/api/database/record-schemas.d.ts +1 -0
  495. package/dist/server/src/api/database/types.d.ts +4 -3
  496. package/dist/server/src/api/schemas/cameras.schema.d.ts +53 -15
  497. package/dist/server/src/api/schemas/cameras.schema.js +5 -1
  498. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  499. package/dist/server/src/api/schemas/users.schema.d.ts +7 -0
  500. package/dist/server/src/api/schemas/users.schema.js +1 -1
  501. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  502. package/dist/server/src/api/services/cameras.service.js +14 -21
  503. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  504. package/dist/server/src/api/services/sensors.service.d.ts +3 -3
  505. package/dist/server/src/api/services/sensors.service.js +3 -24
  506. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  507. package/dist/server/src/api/services/server.service.js +1 -1
  508. package/dist/server/src/api/services/server.service.js.map +1 -1
  509. package/dist/server/src/api/utils/cert.js +18 -8
  510. package/dist/server/src/api/utils/cert.js.map +1 -1
  511. package/dist/server/src/api/utils/regex.d.ts +2 -0
  512. package/dist/server/src/api/utils/regex.js +2 -0
  513. package/dist/server/src/api/utils/regex.js.map +1 -1
  514. package/dist/server/src/api/websocket/nsp/sensors.d.ts +3 -1
  515. package/dist/server/src/api/websocket/nsp/sensors.js +13 -3
  516. package/dist/server/src/api/websocket/nsp/sensors.js.map +1 -1
  517. package/dist/server/src/camera/decoder/debug/detection-record.d.ts +3 -1
  518. package/dist/server/src/camera/decoder/debug/detection-record.js +6 -2
  519. package/dist/server/src/camera/decoder/debug/detection-record.js.map +1 -1
  520. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +2 -0
  521. package/dist/server/src/camera/decoder/detection-coordinator.js +44 -25
  522. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  523. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +3 -1
  524. package/dist/server/src/camera/decoder/detection-pipeline.js +3 -22
  525. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  526. package/dist/server/src/camera/decoder/event-manager.d.ts +4 -3
  527. package/dist/server/src/camera/decoder/event-manager.js +17 -5
  528. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  529. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +3 -0
  530. package/dist/server/src/camera/decoder/event-thumbnailer.js +13 -8
  531. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  532. package/dist/server/src/camera/decoder/event-trace.d.ts +58 -0
  533. package/dist/server/src/camera/decoder/event-trace.js +118 -0
  534. package/dist/server/src/camera/decoder/event-trace.js.map +1 -0
  535. package/dist/server/src/camera/decoder/nvr-sink.d.ts +2 -0
  536. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  537. package/dist/server/src/camera/decoder/reconnect-backoff.js +1 -1
  538. package/dist/server/src/camera/decoder/reconnect-backoff.js.map +1 -1
  539. package/dist/server/src/camera/decoder/sources/analysis-source.d.ts +1 -0
  540. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +7 -1
  541. package/dist/server/src/camera/decoder/sources/buffered-source.js +27 -15
  542. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  543. package/dist/server/src/camera/decoder/sources/frame-handle.d.ts +2 -1
  544. package/dist/server/src/camera/decoder/sources/frame-handle.js +5 -3
  545. package/dist/server/src/camera/decoder/sources/frame-handle.js.map +1 -1
  546. package/dist/server/src/camera/decoder/sources/frame-source.d.ts +1 -0
  547. package/dist/server/src/camera/decoder/sources/frame-source.js +7 -2
  548. package/dist/server/src/camera/decoder/sources/frame-source.js.map +1 -1
  549. package/dist/server/src/camera/decoder/sources/rtp-index.d.ts +9 -0
  550. package/dist/server/src/camera/decoder/sources/rtp-index.js +24 -0
  551. package/dist/server/src/camera/decoder/sources/rtp-index.js.map +1 -0
  552. package/dist/server/src/camera/decoder/worker.js +1 -0
  553. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  554. package/dist/server/src/camera/streaming/rtp-session.js +12 -9
  555. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  556. package/dist/server/src/go2rtc/types.d.ts +1 -1
  557. package/dist/server/src/go2rtc/types.js +1 -1
  558. package/dist/server/src/go2rtc/types.js.map +1 -1
  559. package/dist/server/src/plugins/runtime/node/child.js +1 -0
  560. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  561. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +3 -0
  562. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  563. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.d.ts +2 -5
  564. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +95 -24
  565. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  566. package/dist/server/src/plugins/runtime/python/child.py +1 -0
  567. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +9 -0
  568. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -1
  569. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +185 -88
  570. package/dist/server/src/plugins/runtime/python/typings.py +18 -0
  571. package/dist/server/src/rpc/interfaces/sensor.d.ts +19 -4
  572. package/dist/server/src/sensors/discovery.d.ts +1 -1
  573. package/dist/server/src/sensors/discovery.js +12 -21
  574. package/dist/server/src/sensors/discovery.js.map +1 -1
  575. package/dist/server/src/sensors/registry.d.ts +6 -2
  576. package/dist/server/src/sensors/registry.js +75 -6
  577. package/dist/server/src/sensors/registry.js.map +1 -1
  578. package/dist/server/src/services/config/defaults.js +1 -1
  579. package/dist/server/src/services/config/defaults.js.map +1 -1
  580. package/dist/server/src/services/config/index.js +4 -6
  581. package/dist/server/src/services/config/index.js.map +1 -1
  582. package/dist/server/src/utils/camera.d.ts +12 -2
  583. package/dist/server/src/utils/camera.js +27 -1
  584. package/dist/server/src/utils/camera.js.map +1 -1
  585. package/dist/server/src/workers/pairing.js +17 -8
  586. package/dist/server/src/workers/pairing.js.map +1 -1
  587. package/package.json +10 -10
  588. package/dist/interface/assets/Automation-COZFDnKK.js +0 -3
  589. package/dist/interface/assets/AutomationStoreDetail-BQ2fER7x.js +0 -2
  590. package/dist/interface/assets/Automations-QmfGIQXO.js +0 -2
  591. package/dist/interface/assets/Camera-g95slrO0.js +0 -2
  592. package/dist/interface/assets/Cameras-BO4SDgY0.js +0 -652
  593. package/dist/interface/assets/Camview-yzOY3cnD.js +0 -1
  594. package/dist/interface/assets/ConfigActionNotification-CbhQpAqn.js +0 -1
  595. package/dist/interface/assets/ConfigConditionSwitch-CA-tuT-G.js +0 -1
  596. package/dist/interface/assets/ConfigTriggerGeofence-sbEglk8c.js +0 -1
  597. package/dist/interface/assets/Console-B78qXoaH.js +0 -1
  598. package/dist/interface/assets/CuiBottomSheet-BjkvcU8T.js +0 -1
  599. package/dist/interface/assets/CuiCameraPipCard-BOky075i.js +0 -1
  600. package/dist/interface/assets/CuiCameraRecordings-BzbwSK8-.css +0 -1
  601. package/dist/interface/assets/CuiCameraRecordings-DIBgpGaS.js +0 -1
  602. package/dist/interface/assets/CuiCameraTable-DwRywA0z.js +0 -1
  603. package/dist/interface/assets/CuiLightControl-CsK2cn7L.js +0 -1
  604. package/dist/interface/assets/CuiMarkdownContent-CckAX6Ci.js +0 -1
  605. package/dist/interface/assets/CuiPluginCard-C-1ZhHi8.js +0 -2
  606. package/dist/interface/assets/CuiSchema-CxRd72K7.js +0 -1
  607. package/dist/interface/assets/Faces-kl1hwT5M.js +0 -1
  608. package/dist/interface/assets/FirstSteps-BYGvfH-S.js +0 -1
  609. package/dist/interface/assets/Floorplan-DNd9aQv3.js +0 -1
  610. package/dist/interface/assets/Instances-aZApGeHu.js +0 -1
  611. package/dist/interface/assets/Metrics-D5UHs6wj.js +0 -9
  612. package/dist/interface/assets/OAuthDeviceFlow-o2Irbs3_.js +0 -1
  613. package/dist/interface/assets/Plugin-CEpSsNQA.js +0 -1
  614. package/dist/interface/assets/PluginDetail-Ca-NJcL1.js +0 -2
  615. package/dist/interface/assets/PluginSearch-DurGrb4n.js +0 -1
  616. package/dist/interface/assets/PluginSearch-Tmg5vCQF.js +0 -2
  617. package/dist/interface/assets/Plugins-ocuSdXhB.js +0 -1
  618. package/dist/interface/assets/Recordings-CtSj2RuO.js +0 -1
  619. package/dist/interface/assets/SensorEdit-CcD4LvZr.js +0 -1
  620. package/dist/interface/assets/Sensors-CWjmo27p.js +0 -2
  621. package/dist/interface/assets/SettingsAccount-DQm9vFIT.js +0 -1
  622. package/dist/interface/assets/SettingsAccount-DekJwq5r.js +0 -1
  623. package/dist/interface/assets/SettingsAppearance-B7mm_vGf.js +0 -1
  624. package/dist/interface/assets/SettingsMqtt-D8grttey.js +0 -1
  625. package/dist/interface/assets/SettingsNotifications-BtFyN8J3.js +0 -1
  626. package/dist/interface/assets/SettingsRecordings-DVEsPab-.js +0 -1
  627. package/dist/interface/assets/SettingsRemote-Dqs-d-Xk.js +0 -2
  628. package/dist/interface/assets/Workers-L7PPidAd.js +0 -2
  629. package/dist/interface/assets/alert-outline-KxFvd3i6.js +0 -1
  630. package/dist/interface/assets/api-CEbDxsSY.css +0 -2
  631. package/dist/interface/assets/api-ou2-S3Z9.js +0 -2
  632. package/dist/interface/assets/cameras.schema-BzSBpeUl.js +0 -1
  633. package/dist/interface/assets/cloudHandoff-ChRx5fsr.js +0 -1
  634. package/dist/interface/assets/main-CT2dZ3bR.js +0 -3
  635. package/dist/interface/assets/nodeDefinitions-D6zhuw60.js +0 -1
  636. package/dist/interface/assets/sensorIcons-tORVN7ay.js +0 -1
  637. package/dist/interface/assets/theme-t4dIArYy.js +0 -1
  638. package/dist/interface/assets/types-D889aM6c.js +0 -1
  639. package/dist/interface/assets/types-Dg1X10xd.js +0 -1
  640. package/dist/interface/assets/ungrouped-Pn6rAXZt.js +0 -1
  641. package/dist/interface/assets/useBackupRestore-BcAR3KYA.js +0 -1
  642. package/dist/interface/assets/vendor-cameraui-OySaGjmo.js +0 -2326
  643. package/dist/interface/assets/vendor-core-BZ52eUwC.js +0 -1
  644. package/dist/interface/assets/vendor-zod-B0ZFM2Pr.js +0 -127
@@ -0,0 +1,1460 @@
1
+ import { A as e, Dt as t, G as n, H as r, Jt as i, Wt as a, Y as o, _t as s, d as c, f as l, gt as u, kt as d, l as f, lt as p, p as m, qt as h, r as g, u as _, v, x as y, xt as b, y as x } from "./runtime-core.esm-bundler-D8slQ3BU.js";
2
+ import { t as S } from "./message-C8U_kMBA.js";
3
+ import { Bt as C, Gt as w, Ht as T, Kt as E, Ut as D, Vt as O, Wr as k, Wt as A, Xt as j, an as ee, cn as M, dr as te, en as ne, er as N, in as re, kn as P, ln as ie, nn as ae, on as oe, rn as se, sn as F, tn as ce, un as le, vr as I, zt as ue } from "./api-CWJkvtnM.js";
4
+ import { L } from "./protocol-BB4jdtUC-K1r3LFCq.js";
5
+ import { n as R } from "./vue-i18n-Dcb07o5U.js";
6
+ import { $ as z, B as de, H as fe, J as pe, Q as me, U as B, V, W as H, X as U, Y as W, Z as he, a as ge, at as G, c as _e, d as ve, et as K, f as ye, ft as q, h as be, i as xe, it as Se, l as Ce, m as we, n as Te, o as Ee, p as De, r as Oe, s as ke, st as Ae, u as je, v as Me } from "./dist-Ca9_5rzq.js";
7
+ import { n as Ne } from "./alert-outline-CGTMAqXf.js";
8
+ import { t as J } from "./button-BlYuI0Q7.js";
9
+ import { t as Pe } from "./inputtext-DGIESrd0.js";
10
+ import { t as Fe } from "./chip-DxGABeun.js";
11
+ import { t as Ie } from "./multiselect-BbgV_fPx.js";
12
+ import { t as Le } from "./bell-ring-xrXdzNHW.js";
13
+ import { t as Re } from "./home-am0tRTsk.js";
14
+ import { i as ze, r as Y } from "./Sensors-Cax5RlPH.js";
15
+ //#region src/components/CuiMeasurementInfo/types.ts
16
+ var Be = {
17
+ disabled: !1,
18
+ size: "medium"
19
+ }, Ve = { class: "cui-measurement-info__header" }, He = { class: "cui-measurement-info__icon" }, Ue = { class: "cui-measurement-info__info" }, We = {
20
+ key: 0,
21
+ class: "cui-measurement-info__label"
22
+ }, Ge = { class: "cui-measurement-info__value" }, Ke = /*#__PURE__*/ I(/* @__PURE__ */ y({
23
+ __name: "CuiMeasurementInfo",
24
+ props: /*@__PURE__*/ e({
25
+ type: {},
26
+ unit: {},
27
+ current: {},
28
+ label: {},
29
+ disabled: { type: Boolean },
30
+ size: {}
31
+ }, Be),
32
+ setup(e) {
33
+ let { type: n } = t(e), s = f(() => Y(n.value));
34
+ return (t, n) => (r(), m("div", { class: a(["cui-measurement-info", [`cui-measurement-info--${e.size}`, { "cui-measurement-info--disabled": e.disabled }]]) }, [_("div", Ve, [_("div", He, [(r(), c(o(d(s)), { class: "cui-measurement-info__icon-svg" }))]), _("div", Ue, [e.label ? (r(), m("span", We, i(e.label), 1)) : l("", !0), _("span", Ge, i(e.current == null ? "--" : `${e.current} ${e.unit}`), 1)])])], 2));
35
+ }
36
+ }), [["__scopeId", "data-v-3344cbd6"]]), qe = {
37
+ detected: !1,
38
+ disabled: !1,
39
+ size: "medium"
40
+ }, Je = { class: "cui-binary-sensor__header" }, Ye = { class: "cui-binary-sensor__icon" }, Xe = { class: "cui-binary-sensor__info" }, Ze = {
41
+ key: 0,
42
+ class: "cui-binary-sensor__label"
43
+ }, Qe = /*#__PURE__*/ I(/* @__PURE__ */ y({
44
+ __name: "CuiBinarySensor",
45
+ props: /*@__PURE__*/ e({
46
+ type: {},
47
+ detected: { type: Boolean },
48
+ label: {},
49
+ disabled: { type: Boolean },
50
+ size: {}
51
+ }, qe),
52
+ setup(e) {
53
+ let n = e, { t: s } = R(), { type: u, detected: p } = t(n), g = f(() => Y(u.value)), v = f(() => ({
54
+ color: "rgb(239, 68, 68)",
55
+ filter: "drop-shadow(0 0 6px rgba(239, 68, 68, 0.5))"
56
+ })), y = f(() => ({ color: "var(--text-secondary-color)" })), b = f(() => p.value ? "cui-binary-sensor__status--detected" : "cui-binary-sensor__status--clear"), x = f(() => p.value ? "cui-binary-sensor__indicator--detected" : "cui-binary-sensor__indicator--clear");
57
+ return (t, n) => (r(), m("div", { class: a(["cui-binary-sensor", [`cui-binary-sensor--${e.size}`, {
58
+ "cui-binary-sensor--disabled": e.disabled,
59
+ "cui-binary-sensor--clear": !d(p),
60
+ "cui-binary-sensor--detected": d(p)
61
+ }]]) }, [_("div", Je, [
62
+ _("div", Ye, [(r(), c(o(d(g)), {
63
+ class: "cui-binary-sensor__icon-svg",
64
+ style: h(d(p) ? d(v) : d(y))
65
+ }, null, 8, ["style"]))]),
66
+ _("div", Xe, [e.label ? (r(), m("span", Ze, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-binary-sensor__status", d(b)]) }, i(d(p) ? d(s)("components.binary_sensor.detected") : d(s)("components.binary_sensor.clear")), 3)]),
67
+ _("div", { class: a(["cui-binary-sensor__indicator", d(x)]) }, null, 2)
68
+ ])], 2));
69
+ }
70
+ }), [["__scopeId", "data-v-c89ce8e7"]]), $e = {
71
+ viewBox: "0 0 24 24",
72
+ width: "1.2em",
73
+ height: "1.2em"
74
+ };
75
+ function et(e, t) {
76
+ return r(), m("svg", $e, [...t[0] ||= [_("path", {
77
+ fill: "none",
78
+ stroke: "currentColor",
79
+ "stroke-linecap": "round",
80
+ "stroke-linejoin": "round",
81
+ "stroke-width": "2",
82
+ d: "M10 17h.01M10 7v6m4-7h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2m8-4v-4M6 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2"
83
+ }, null, -1)]]);
84
+ }
85
+ var tt = s({
86
+ name: "lucide-battery-warning",
87
+ render: et
88
+ }), nt = {
89
+ viewBox: "0 0 24 24",
90
+ width: "1.2em",
91
+ height: "1.2em"
92
+ };
93
+ function rt(e, t) {
94
+ return r(), m("svg", nt, [...t[0] ||= [_("g", {
95
+ fill: "none",
96
+ stroke: "currentColor",
97
+ "stroke-linecap": "round",
98
+ "stroke-linejoin": "round",
99
+ "stroke-width": "2"
100
+ }, [_("path", { d: "M22 14v-4M6 14v-4" }), _("rect", {
101
+ width: "16",
102
+ height: "12",
103
+ x: "2",
104
+ y: "6",
105
+ rx: "2"
106
+ })], -1)]]);
107
+ }
108
+ var it = s({
109
+ name: "lucide-battery-low",
110
+ render: rt
111
+ }), at = {
112
+ viewBox: "0 0 24 24",
113
+ width: "1.2em",
114
+ height: "1.2em"
115
+ };
116
+ function ot(e, t) {
117
+ return r(), m("svg", at, [...t[0] ||= [_("g", {
118
+ fill: "none",
119
+ stroke: "currentColor",
120
+ "stroke-linecap": "round",
121
+ "stroke-linejoin": "round",
122
+ "stroke-width": "2"
123
+ }, [_("path", { d: "M10 14v-4m12 4v-4M6 14v-4" }), _("rect", {
124
+ width: "16",
125
+ height: "12",
126
+ x: "2",
127
+ y: "6",
128
+ rx: "2"
129
+ })], -1)]]);
130
+ }
131
+ var st = s({
132
+ name: "lucide-battery-medium",
133
+ render: ot
134
+ }), ct = {
135
+ viewBox: "0 0 24 24",
136
+ width: "1.2em",
137
+ height: "1.2em"
138
+ };
139
+ function lt(e, t) {
140
+ return r(), m("svg", ct, [...t[0] ||= [_("g", {
141
+ fill: "none",
142
+ stroke: "currentColor",
143
+ "stroke-linecap": "round",
144
+ "stroke-linejoin": "round",
145
+ "stroke-width": "2"
146
+ }, [_("path", { d: "M10 10v4m4-4v4m8 0v-4M6 10v4" }), _("rect", {
147
+ width: "16",
148
+ height: "12",
149
+ x: "2",
150
+ y: "6",
151
+ rx: "2"
152
+ })], -1)]]);
153
+ }
154
+ var ut = s({
155
+ name: "lucide-battery-full",
156
+ render: lt
157
+ }), dt = {
158
+ viewBox: "0 0 24 24",
159
+ width: "1.2em",
160
+ height: "1.2em"
161
+ };
162
+ function ft(e, t) {
163
+ return r(), m("svg", dt, [...t[0] ||= [_("path", {
164
+ fill: "none",
165
+ stroke: "currentColor",
166
+ "stroke-linecap": "round",
167
+ "stroke-linejoin": "round",
168
+ "stroke-width": "2",
169
+ d: "m11 7l-3 5h4l-3 5m5.856-11H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.935M22 14v-4M5.14 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.936"
170
+ }, null, -1)]]);
171
+ }
172
+ var pt = s({
173
+ name: "lucide-battery-charging",
174
+ render: ft
175
+ }), mt = { class: "cui-battery-info__header" }, ht = { class: "cui-battery-info__icon" }, gt = { class: "cui-battery-info__info" }, _t = {
176
+ key: 0,
177
+ class: "cui-battery-info__label"
178
+ }, vt = { class: "cui-battery-info__bar" }, yt = /*#__PURE__*/ I(/* @__PURE__ */ y({
179
+ __name: "CuiBatteryInfo",
180
+ props: {
181
+ level: { default: 100 },
182
+ charging: { default: "NOT_CHARGING" },
183
+ low: {
184
+ type: Boolean,
185
+ default: !1
186
+ },
187
+ label: {},
188
+ disabled: {
189
+ type: Boolean,
190
+ default: !1
191
+ },
192
+ size: { default: "medium" }
193
+ },
194
+ setup(e) {
195
+ let n = e, { t: o } = R(), { level: s, label: u, disabled: p, size: g, charging: v, low: y } = t(n), b = f(() => v.value === "CHARGING"), x = f(() => v.value === "FULL" || s.value === 100), S = f(() => y.value || s.value <= 20), C = f(() => v.value === "CHARGING" ? o("components.battery_info.charging") : v.value === "FULL" ? o("components.battery_info.fully_charged") : v.value === "NOT_CHARGEABLE" ? o("components.battery_info.not_chargeable") : s.value <= 10 ? o("components.battery_info.critically_low") : s.value <= 20 ? o("components.battery_info.low") : o("components.battery_info.ready")), w = f(() => b.value ? "cui-battery-info__status--charging" : x.value ? "cui-battery-info__status--full" : s.value <= 10 ? "cui-battery-info__status--critical" : S.value ? "cui-battery-info__status--low" : ""), T = f(() => b.value ? "cui-battery-info__level--charging" : x.value ? "cui-battery-info__level--full" : s.value <= 10 ? "cui-battery-info__level--critical" : S.value ? "cui-battery-info__level--low" : ""), E = f(() => ({
196
+ color: "rgb(59, 130, 246)",
197
+ filter: "drop-shadow(0 0 6px rgba(59, 130, 246, 0.5))"
198
+ })), D = f(() => ({
199
+ color: "rgb(34, 197, 94)",
200
+ filter: "drop-shadow(0 0 6px rgba(34, 197, 94, 0.5))"
201
+ })), O = f(() => ({ color: "rgb(34, 197, 94)" })), k = f(() => ({ color: "rgb(234, 179, 8)" })), A = f(() => ({
202
+ color: "rgb(239, 68, 68)",
203
+ filter: "drop-shadow(0 0 6px rgba(239, 68, 68, 0.5))"
204
+ })), j = f(() => {
205
+ let e = "rgb(34, 197, 94)";
206
+ return b.value ? e = "rgb(59, 130, 246)" : s.value <= 10 ? e = "rgb(239, 68, 68)" : s.value <= 20 && (e = "rgb(234, 179, 8)"), {
207
+ width: `${s.value}%`,
208
+ backgroundColor: e
209
+ };
210
+ });
211
+ return (e, t) => {
212
+ let n = pt, o = ut, f = st, v = it, y = tt;
213
+ return r(), m("div", { class: a(["cui-battery-info", [`cui-battery-info--${d(g)}`, {
214
+ "cui-battery-info--disabled": d(p),
215
+ "cui-battery-info--low": d(S),
216
+ "cui-battery-info--charging": d(b)
217
+ }]]) }, [_("div", mt, [
218
+ _("div", ht, [d(b) ? (r(), c(n, {
219
+ key: 0,
220
+ class: "cui-battery-info__icon-svg",
221
+ style: h(d(E))
222
+ }, null, 8, ["style"])) : d(s) >= 90 ? (r(), c(o, {
223
+ key: 1,
224
+ class: "cui-battery-info__icon-svg",
225
+ style: h(d(D))
226
+ }, null, 8, ["style"])) : d(s) >= 50 ? (r(), c(f, {
227
+ key: 2,
228
+ class: "cui-battery-info__icon-svg",
229
+ style: h(d(O))
230
+ }, null, 8, ["style"])) : d(s) >= 20 ? (r(), c(v, {
231
+ key: 3,
232
+ class: "cui-battery-info__icon-svg",
233
+ style: h(d(k))
234
+ }, null, 8, ["style"])) : (r(), c(y, {
235
+ key: 4,
236
+ class: "cui-battery-info__icon-svg cui-battery-info__icon-svg--critical",
237
+ style: h(d(A))
238
+ }, null, 8, ["style"]))]),
239
+ _("div", gt, [d(u) ? (r(), m("span", _t, i(d(u)), 1)) : l("", !0), _("span", { class: a(["cui-battery-info__status", d(w)]) }, i(d(C)), 3)]),
240
+ _("div", { class: a(["cui-battery-info__level", d(T)]) }, i(d(s)) + "%", 3)
241
+ ]), _("div", vt, [_("div", {
242
+ class: "cui-battery-info__bar-fill",
243
+ style: h(d(j))
244
+ }, null, 4)])], 2);
245
+ };
246
+ }
247
+ }), [["__scopeId", "data-v-c181f3d4"]]), bt = { class: "cui-humidity-info__header" }, xt = { class: "cui-humidity-info__icon" }, St = { class: "cui-humidity-info__info" }, Ct = {
248
+ key: 0,
249
+ class: "cui-humidity-info__label"
250
+ }, wt = /*#__PURE__*/ I(/* @__PURE__ */ y({
251
+ __name: "CuiHumidityInfo",
252
+ props: {
253
+ current: {},
254
+ label: {},
255
+ disabled: {
256
+ type: Boolean,
257
+ default: !1
258
+ },
259
+ size: { default: "medium" }
260
+ },
261
+ setup(e) {
262
+ let { label: n, current: o, disabled: s, size: c } = t(e), u = f(() => o.value == null ? "rgb(156, 163, 175)" : o.value < 30 ? "rgb(251, 146, 60)" : o.value <= 60 ? "rgb(34, 197, 94)" : "rgb(59, 130, 246)"), p = f(() => ({
263
+ color: u.value,
264
+ filter: `drop-shadow(0 0 6px ${u.value.replace("rgb", "rgba").replace(")", ", 0.5)")})`
265
+ })), g = f(() => ({ color: u.value }));
266
+ return (e, t) => {
267
+ let f = ae;
268
+ return r(), m("div", { class: a(["cui-humidity-info", [`cui-humidity-info--${d(c)}`, { "cui-humidity-info--disabled": d(s) }]]) }, [_("div", bt, [
269
+ _("div", xt, [x(f, {
270
+ class: "cui-humidity-info__icon-svg",
271
+ style: h(d(p))
272
+ }, null, 8, ["style"])]),
273
+ _("div", St, [d(n) ? (r(), m("span", Ct, i(d(n)), 1)) : l("", !0), _("span", {
274
+ class: "cui-humidity-info__status",
275
+ style: h({ color: d(u) })
276
+ }, i(d(o) == null ? "--" : `${d(o)}%`), 5)]),
277
+ _("div", {
278
+ class: "cui-humidity-info__value",
279
+ style: h(d(g))
280
+ }, i(d(o) == null ? "--" : `${d(o)}%`), 5)
281
+ ])], 2);
282
+ };
283
+ }
284
+ }), [["__scopeId", "data-v-1f41d794"]]), Tt = { class: "cui-temperature-info__header" }, Et = { class: "cui-temperature-info__icon" }, Dt = { class: "cui-temperature-info__info" }, Ot = {
285
+ key: 0,
286
+ class: "cui-temperature-info__label"
287
+ }, kt = /*#__PURE__*/ I(/* @__PURE__ */ y({
288
+ __name: "CuiTemperatureInfo",
289
+ props: {
290
+ current: {},
291
+ label: {},
292
+ disabled: {
293
+ type: Boolean,
294
+ default: !1
295
+ },
296
+ size: { default: "medium" }
297
+ },
298
+ setup(e) {
299
+ let { label: n, current: o, disabled: s, size: c } = t(e), u = f(() => o.value == null ? "rgb(156, 163, 175)" : o.value < 5 ? "rgb(59, 130, 246)" : o.value < 15 ? "rgb(6, 182, 212)" : o.value < 25 ? "rgb(34, 197, 94)" : o.value < 35 ? "rgb(251, 146, 60)" : "rgb(239, 68, 68)"), p = f(() => ({
300
+ color: u.value,
301
+ filter: `drop-shadow(0 0 6px ${u.value.replace("rgb", "rgba").replace(")", ", 0.5)")})`
302
+ })), g = f(() => ({ color: u.value }));
303
+ return (e, t) => {
304
+ let f = ce;
305
+ return r(), m("div", { class: a(["cui-temperature-info", [`cui-temperature-info--${d(c)}`, { "cui-temperature-info--disabled": d(s) }]]) }, [_("div", Tt, [
306
+ _("div", Et, [x(f, {
307
+ class: "cui-temperature-info__icon-svg",
308
+ style: h(d(p))
309
+ }, null, 8, ["style"])]),
310
+ _("div", Dt, [d(n) ? (r(), m("span", Ot, i(d(n)), 1)) : l("", !0), _("span", {
311
+ class: "cui-temperature-info__status",
312
+ style: h({ color: d(u) })
313
+ }, i(d(o) == null ? "--" : `${d(o)}°C`), 5)]),
314
+ _("div", {
315
+ class: "cui-temperature-info__value",
316
+ style: h(d(g))
317
+ }, i(d(o) == null ? "--" : `${d(o)}°C`), 5)
318
+ ])], 2);
319
+ };
320
+ }
321
+ }), [["__scopeId", "data-v-0edddec9"]]), At = {
322
+ detected: !1,
323
+ disabled: !1,
324
+ size: "medium"
325
+ }, jt = { class: "cui-leak-sensor__header" }, Mt = { class: "cui-leak-sensor__icon" }, Nt = { class: "cui-leak-sensor__info" }, Pt = {
326
+ key: 0,
327
+ class: "cui-leak-sensor__label"
328
+ }, Ft = /*#__PURE__*/ I(/* @__PURE__ */ y({
329
+ __name: "CuiLeakSensor",
330
+ props: /*@__PURE__*/ e({
331
+ detected: { type: Boolean },
332
+ label: {},
333
+ disabled: { type: Boolean },
334
+ size: {}
335
+ }, At),
336
+ setup(e) {
337
+ let n = e, { t: o } = R(), { detected: s } = t(n), u = f(() => ({
338
+ color: "rgb(59, 130, 246)",
339
+ filter: "drop-shadow(0 0 6px rgba(59, 130, 246, 0.5))"
340
+ })), p = f(() => ({ color: "var(--text-secondary-color)" })), g = f(() => s.value ? "cui-leak-sensor__status--detected" : "cui-leak-sensor__status--clear"), v = f(() => s.value ? "cui-leak-sensor__indicator--detected" : "cui-leak-sensor__indicator--clear");
341
+ return (t, n) => {
342
+ let f = ee, y = ue;
343
+ return r(), m("div", { class: a(["cui-leak-sensor", [`cui-leak-sensor--${e.size}`, {
344
+ "cui-leak-sensor--disabled": e.disabled,
345
+ "cui-leak-sensor--clear": !d(s),
346
+ "cui-leak-sensor--detected": d(s)
347
+ }]]) }, [_("div", jt, [
348
+ _("div", Mt, [d(s) ? (r(), c(f, {
349
+ key: 0,
350
+ class: "cui-leak-sensor__icon-svg",
351
+ style: h(d(u))
352
+ }, null, 8, ["style"])) : (r(), c(y, {
353
+ key: 1,
354
+ class: "cui-leak-sensor__icon-svg",
355
+ style: h(d(p))
356
+ }, null, 8, ["style"]))]),
357
+ _("div", Nt, [e.label ? (r(), m("span", Pt, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-leak-sensor__status", d(g)]) }, i(d(s) ? d(o)("components.leak_sensor.detected") : d(o)("components.leak_sensor.clear")), 3)]),
358
+ _("div", { class: a(["cui-leak-sensor__indicator", d(v)]) }, null, 2)
359
+ ])], 2);
360
+ };
361
+ }
362
+ }), [["__scopeId", "data-v-14a46a3f"]]), It = {
363
+ detected: !1,
364
+ disabled: !1,
365
+ size: "medium"
366
+ }, Lt = { class: "cui-smoke-sensor__header" }, Rt = { class: "cui-smoke-sensor__icon" }, zt = { class: "cui-smoke-sensor__info" }, Bt = {
367
+ key: 0,
368
+ class: "cui-smoke-sensor__label"
369
+ }, Vt = /*#__PURE__*/ I(/* @__PURE__ */ y({
370
+ __name: "CuiSmokeSensor",
371
+ props: /*@__PURE__*/ e({
372
+ detected: { type: Boolean },
373
+ label: {},
374
+ disabled: { type: Boolean },
375
+ size: {}
376
+ }, It),
377
+ setup(e) {
378
+ let n = e, { t: o } = R(), { detected: s } = t(n), u = f(() => ({
379
+ color: "rgb(239, 68, 68)",
380
+ filter: "drop-shadow(0 0 6px rgba(239, 68, 68, 0.5))"
381
+ })), p = f(() => ({ color: "var(--text-secondary-color)" })), g = f(() => s.value ? "cui-smoke-sensor__status--detected" : "cui-smoke-sensor__status--clear"), v = f(() => s.value ? "cui-smoke-sensor__indicator--detected" : "cui-smoke-sensor__indicator--clear");
382
+ return (t, n) => {
383
+ let f = re, y = C;
384
+ return r(), m("div", { class: a(["cui-smoke-sensor", [`cui-smoke-sensor--${e.size}`, {
385
+ "cui-smoke-sensor--disabled": e.disabled,
386
+ "cui-smoke-sensor--clear": !d(s),
387
+ "cui-smoke-sensor--detected": d(s)
388
+ }]]) }, [_("div", Lt, [
389
+ _("div", Rt, [d(s) ? (r(), c(f, {
390
+ key: 0,
391
+ class: "cui-smoke-sensor__icon-svg",
392
+ style: h(d(u))
393
+ }, null, 8, ["style"])) : (r(), c(y, {
394
+ key: 1,
395
+ class: "cui-smoke-sensor__icon-svg",
396
+ style: h(d(p))
397
+ }, null, 8, ["style"]))]),
398
+ _("div", zt, [e.label ? (r(), m("span", Bt, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-smoke-sensor__status", d(g)]) }, i(d(s) ? d(o)("components.smoke_sensor.detected") : d(o)("components.smoke_sensor.clear")), 3)]),
399
+ _("div", { class: a(["cui-smoke-sensor__indicator", d(v)]) }, null, 2)
400
+ ])], 2);
401
+ };
402
+ }
403
+ }), [["__scopeId", "data-v-4db50b68"]]), Ht = {
404
+ detected: !1,
405
+ disabled: !1,
406
+ size: "medium"
407
+ }, Ut = { class: "cui-occupancy-sensor__header" }, Wt = { class: "cui-occupancy-sensor__icon" }, Gt = { class: "cui-occupancy-sensor__info" }, Kt = {
408
+ key: 0,
409
+ class: "cui-occupancy-sensor__label"
410
+ }, qt = /*#__PURE__*/ I(/* @__PURE__ */ y({
411
+ __name: "CuiOccupancySensor",
412
+ props: /*@__PURE__*/ e({
413
+ detected: { type: Boolean },
414
+ label: {},
415
+ disabled: { type: Boolean },
416
+ size: {}
417
+ }, Ht),
418
+ setup(e) {
419
+ let n = e, { t: o } = R(), { detected: s } = t(n), u = f(() => ({
420
+ color: "rgb(34, 197, 94)",
421
+ filter: "drop-shadow(0 0 6px rgba(34, 197, 94, 0.5))"
422
+ })), p = f(() => ({ color: "var(--text-secondary-color)" })), g = f(() => s.value ? "cui-occupancy-sensor__status--occupied" : "cui-occupancy-sensor__status--empty"), v = f(() => s.value ? "cui-occupancy-sensor__indicator--occupied" : "cui-occupancy-sensor__indicator--empty");
423
+ return (t, n) => {
424
+ let f = se, y = T;
425
+ return r(), m("div", { class: a(["cui-occupancy-sensor", [`cui-occupancy-sensor--${e.size}`, {
426
+ "cui-occupancy-sensor--disabled": e.disabled,
427
+ "cui-occupancy-sensor--empty": !d(s),
428
+ "cui-occupancy-sensor--occupied": d(s)
429
+ }]]) }, [_("div", Ut, [
430
+ _("div", Wt, [d(s) ? (r(), c(f, {
431
+ key: 0,
432
+ class: "cui-occupancy-sensor__icon-svg",
433
+ style: h(d(u))
434
+ }, null, 8, ["style"])) : (r(), c(y, {
435
+ key: 1,
436
+ class: "cui-occupancy-sensor__icon-svg",
437
+ style: h(d(p))
438
+ }, null, 8, ["style"]))]),
439
+ _("div", Gt, [e.label ? (r(), m("span", Kt, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-occupancy-sensor__status", d(g)]) }, i(d(s) ? d(o)("components.occupancy_sensor.occupied") : d(o)("components.occupancy_sensor.empty")), 3)]),
440
+ _("div", { class: a(["cui-occupancy-sensor__indicator", d(v)]) }, null, 2)
441
+ ])], 2);
442
+ };
443
+ }
444
+ }), [["__scopeId", "data-v-8ca5a1ce"]]), Jt = {
445
+ detected: !1,
446
+ disabled: !1,
447
+ size: "medium"
448
+ }, Yt = { class: "cui-contact-sensor__header" }, Xt = { class: "cui-contact-sensor__icon" }, Zt = { class: "cui-contact-sensor__info" }, Qt = {
449
+ key: 0,
450
+ class: "cui-contact-sensor__label"
451
+ }, $t = /*#__PURE__*/ I(/* @__PURE__ */ y({
452
+ __name: "CuiContactSensor",
453
+ props: /*@__PURE__*/ e({
454
+ detected: { type: Boolean },
455
+ label: {},
456
+ disabled: { type: Boolean },
457
+ size: {}
458
+ }, Jt),
459
+ setup(e) {
460
+ let n = e, { t: o } = R(), { detected: s } = t(n), u = f(() => ({
461
+ color: "rgb(34, 197, 94)",
462
+ filter: "drop-shadow(0 0 6px rgba(34, 197, 94, 0.5))"
463
+ })), p = f(() => ({
464
+ color: "rgb(251, 146, 60)",
465
+ filter: "drop-shadow(0 0 8px rgba(251, 146, 60, 0.6))"
466
+ })), g = f(() => s.value ? "cui-contact-sensor__status--closed" : "cui-contact-sensor__status--open"), v = f(() => s.value ? "cui-contact-sensor__indicator--closed" : "cui-contact-sensor__indicator--open");
467
+ return (t, n) => {
468
+ let f = ne, y = E;
469
+ return r(), m("div", { class: a(["cui-contact-sensor", [`cui-contact-sensor--${e.size}`, {
470
+ "cui-contact-sensor--disabled": e.disabled,
471
+ "cui-contact-sensor--open": !d(s),
472
+ "cui-contact-sensor--closed": d(s)
473
+ }]]) }, [_("div", Yt, [
474
+ _("div", Xt, [d(s) ? (r(), c(f, {
475
+ key: 0,
476
+ class: "cui-contact-sensor__icon-svg",
477
+ style: h(d(u))
478
+ }, null, 8, ["style"])) : (r(), c(y, {
479
+ key: 1,
480
+ class: "cui-contact-sensor__icon-svg",
481
+ style: h(d(p))
482
+ }, null, 8, ["style"]))]),
483
+ _("div", Zt, [e.label ? (r(), m("span", Qt, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-contact-sensor__status", d(g)]) }, i(d(s) ? d(o)("components.contact_sensor.closed") : d(o)("components.contact_sensor.open")), 3)]),
484
+ _("div", { class: a(["cui-contact-sensor__indicator", d(v)]) }, null, 2)
485
+ ])], 2);
486
+ };
487
+ }
488
+ }), [["__scopeId", "data-v-0cc50676"]]), en = {
489
+ ring: !1,
490
+ disabled: !1,
491
+ size: "medium"
492
+ }, tn = { class: "cui-doorbell__header" }, nn = { class: "cui-doorbell__icon" }, rn = { class: "cui-doorbell__info" }, an = {
493
+ key: 0,
494
+ class: "cui-doorbell__label"
495
+ }, on = /*#__PURE__*/ I(/* @__PURE__ */ y({
496
+ __name: "CuiDoorbellTrigger",
497
+ props: /*@__PURE__*/ e({
498
+ ring: { type: Boolean },
499
+ label: {},
500
+ disabled: { type: Boolean },
501
+ size: {}
502
+ }, en),
503
+ emits: ["update:ring", "trigger"],
504
+ setup(e, { emit: n }) {
505
+ let o = e, s = n, { t: u } = R(), { ring: g } = t(o), v = f(() => g.value), y = f(() => ({
506
+ color: "rgb(234, 179, 8)",
507
+ filter: "drop-shadow(0 0 10px rgba(234, 179, 8, 0.8))"
508
+ }));
509
+ function b() {
510
+ s("update:ring", !0), s("trigger"), setTimeout(() => {
511
+ s("update:ring", !1);
512
+ }, 2e3);
513
+ }
514
+ return (t, n) => {
515
+ let o = le, s = Le, f = J;
516
+ return r(), m("div", { class: a(["cui-doorbell", [`cui-doorbell--${e.size}`, {
517
+ "cui-doorbell--disabled": e.disabled,
518
+ "cui-doorbell--ringing": d(v)
519
+ }]]) }, [_("div", tn, [
520
+ _("div", nn, [d(v) ? (r(), c(o, {
521
+ key: 0,
522
+ class: "cui-doorbell__icon-svg cui-doorbell__icon-svg--ringing",
523
+ style: h(d(y))
524
+ }, null, 8, ["style"])) : (r(), c(o, {
525
+ key: 1,
526
+ class: "cui-doorbell__icon-svg"
527
+ }))]),
528
+ _("div", rn, [e.label ? (r(), m("span", an, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-doorbell__status", { "cui-doorbell__status--ringing": d(v) }]) }, i(d(v) ? d(u)("components.doorbell_trigger.ringing") : d(u)("components.doorbell_trigger.ready")), 3)]),
529
+ x(f, {
530
+ disabled: e.disabled || d(v),
531
+ size: "small",
532
+ severity: "warn",
533
+ class: "cui-doorbell__button",
534
+ onClick: b
535
+ }, {
536
+ icon: p(() => [x(s, { class: "cui-doorbell__button-icon" })]),
537
+ _: 1
538
+ }, 8, ["disabled"])
539
+ ])], 2);
540
+ };
541
+ }
542
+ }), [["__scopeId", "data-v-b227d18a"]]), sn = {
543
+ viewBox: "0 0 24 24",
544
+ width: "1.2em",
545
+ height: "1.2em"
546
+ };
547
+ function cn(e, t) {
548
+ return r(), m("svg", sn, [...t[0] ||= [_("path", {
549
+ fill: "currentColor",
550
+ d: "M20 9v11h-2v-9H2v9H0V9l10-4zm-3 3H3v2h14zm0 3H3v2h14zm5 0v-5h2v5zm0 4v-2h2v2z"
551
+ }, null, -1)]]);
552
+ }
553
+ var ln = s({
554
+ name: "mdi-garage-alert-variant",
555
+ render: cn
556
+ }), X = /* @__PURE__ */ function(e) {
557
+ return e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e[e.Opening = 2] = "Opening", e[e.Closing = 3] = "Closing", e[e.Stopped = 4] = "Stopped", e;
558
+ }({}), Z = /* @__PURE__ */ function(e) {
559
+ return e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e;
560
+ }({}), un = {
561
+ currentState: 1,
562
+ targetState: 1,
563
+ obstructionDetected: !1,
564
+ disabled: !1,
565
+ size: "medium"
566
+ }, dn = { class: "cui-garage-control__header" }, fn = { class: "cui-garage-control__icon" }, pn = {
567
+ key: 3,
568
+ class: "cui-garage-control__obstruction"
569
+ }, mn = { class: "cui-garage-control__info" }, hn = {
570
+ key: 0,
571
+ class: "cui-garage-control__label"
572
+ }, gn = /*#__PURE__*/ I(/* @__PURE__ */ y({
573
+ __name: "CuiGarageControl",
574
+ props: /*@__PURE__*/ e({
575
+ currentState: {},
576
+ targetState: {},
577
+ obstructionDetected: { type: Boolean },
578
+ label: {},
579
+ disabled: { type: Boolean },
580
+ size: {}
581
+ }, un),
582
+ emits: ["update:targetState"],
583
+ setup(e, { emit: n }) {
584
+ let o = e, s = n, { t: u } = R(), { currentState: p } = t(o), g = f(() => p.value === X.Open || p.value === X.Opening), v = f(() => {
585
+ switch (p.value) {
586
+ case X.Open: return u("components.garage_control.open");
587
+ case X.Closed: return u("components.garage_control.closed");
588
+ case X.Opening: return u("components.garage_control.opening");
589
+ case X.Closing: return u("components.garage_control.closing");
590
+ case X.Stopped: return u("components.garage_control.stopped");
591
+ default: return "";
592
+ }
593
+ }), y = f(() => {
594
+ switch (p.value) {
595
+ case X.Open: return "cui-garage-control__status--open";
596
+ case X.Opening:
597
+ case X.Closing: return "cui-garage-control__status--transitioning";
598
+ case X.Stopped: return "cui-garage-control__status--stopped";
599
+ default: return "";
600
+ }
601
+ }), b = f(() => ({
602
+ color: "rgb(34, 197, 94)",
603
+ filter: "drop-shadow(0 0 8px rgba(34, 197, 94, 0.5))"
604
+ })), S = f(() => ({
605
+ color: "rgb(250, 204, 21)",
606
+ filter: "drop-shadow(0 0 8px rgba(250, 204, 21, 0.5))"
607
+ })), C = f(() => ({ color: "rgb(251, 146, 60)" }));
608
+ function T(e) {
609
+ s("update:targetState", e ? Z.Open : Z.Closed);
610
+ }
611
+ return (t, n) => {
612
+ let o = ln, s = w, u = ie, f = P;
613
+ return r(), m("div", { class: a(["cui-garage-control", [`cui-garage-control--${e.size}`, { "cui-garage-control--disabled": e.disabled }]]) }, [_("div", dn, [
614
+ _("div", fn, [d(p) === d(X).Stopped ? (r(), c(o, {
615
+ key: 0,
616
+ class: "cui-garage-control__icon-svg",
617
+ style: h(d(C))
618
+ }, null, 8, ["style"])) : d(p) === d(X).Open || d(p) === d(X).Opening ? (r(), c(s, {
619
+ key: 1,
620
+ class: "cui-garage-control__icon-svg",
621
+ style: h(d(p) === d(X).Open ? d(b) : d(S))
622
+ }, null, 8, ["style"])) : (r(), c(u, {
623
+ key: 2,
624
+ class: "cui-garage-control__icon-svg",
625
+ style: h(d(p) === d(X).Closing ? d(S) : void 0)
626
+ }, null, 8, ["style"])), e.obstructionDetected ? (r(), m("span", pn)) : l("", !0)]),
627
+ _("div", mn, [e.label ? (r(), m("span", hn, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-garage-control__status", d(y)]) }, i(d(v)), 3)]),
628
+ x(f, {
629
+ "model-value": d(g),
630
+ disabled: e.disabled,
631
+ class: "ml-auto shrink-0",
632
+ "onUpdate:modelValue": T
633
+ }, null, 8, ["model-value", "disabled"])
634
+ ])], 2);
635
+ };
636
+ }
637
+ }), [["__scopeId", "data-v-4c6505c2"]]), _n = {
638
+ viewBox: "0 0 24 24",
639
+ width: "1.2em",
640
+ height: "1.2em"
641
+ };
642
+ function vn(e, t) {
643
+ return r(), m("svg", _n, [...t[0] ||= [_("path", {
644
+ fill: "currentColor",
645
+ d: "m17.75 4.09l-2.53 1.94l.91 3.06l-2.63-1.81l-2.63 1.81l.91-3.06l-2.53-1.94L12.44 4l1.06-3l1.06 3zm3.5 6.91l-1.64 1.25l.59 1.98l-1.7-1.17l-1.7 1.17l.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85c-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14c.4-.4.82-.76 1.27-1.08c.75-.53 1.93.36 1.85 1.19c-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82c-2.81 3.14-2.7 7.96.31 10.98c3.02 3.01 7.84 3.12 10.98.31"
646
+ }, null, -1)]]);
647
+ }
648
+ var yn = s({
649
+ name: "mdi-weather-night",
650
+ render: vn
651
+ }), bn = {
652
+ viewBox: "0 0 24 24",
653
+ width: "1.2em",
654
+ height: "1.2em"
655
+ };
656
+ function xn(e, t) {
657
+ return r(), m("svg", bn, [...t[0] ||= [_("path", {
658
+ fill: "currentColor",
659
+ d: "M13.34 8.17c-.93 0-1.69-.77-1.69-1.7a1.69 1.69 0 0 1 1.69-1.69c.94 0 1.7.76 1.7 1.69s-.76 1.7-1.7 1.7M10.3 19.93l-5.93-1.18l.34-1.7l4.15.85l1.35-6.86l-1.52.6v2.86H7v-3.96l4.4-1.87l.67-.08c.6 0 1.1.34 1.43.85l.86 1.35c.68 1.21 2.03 2.03 3.64 2.03v1.68c-1.86 0-3.56-.83-4.66-2.1l-.5 2.54l1.77 1.69V23h-1.69v-5.1l-1.78-1.69zM21 23h-2V3H6v13.11l-2-.42V1h17zM6 23H4v-3.22l2 .42z"
660
+ }, null, -1)]]);
661
+ }
662
+ var Sn = s({
663
+ name: "mdi-exit-run",
664
+ render: xn
665
+ }), Q = /* @__PURE__ */ function(e) {
666
+ return e[e.StayArm = 0] = "StayArm", e[e.AwayArm = 1] = "AwayArm", e[e.NightArm = 2] = "NightArm", e[e.Disarmed = 3] = "Disarmed", e[e.AlarmTriggered = 4] = "AlarmTriggered", e;
667
+ }({}), Cn = { class: "cui-security-system__header" }, wn = { class: "cui-security-system__icon" }, Tn = { class: "cui-security-system__info" }, En = {
668
+ key: 0,
669
+ class: "cui-security-system__label"
670
+ }, Dn = {
671
+ key: 0,
672
+ class: "cui-security-system__alarm"
673
+ }, On = { class: "cui-security-system__modes" }, kn = ["disabled"], An = ["disabled"], jn = ["disabled"], Mn = ["disabled"], Nn = /*@__PURE__*/ y({
674
+ __name: "CuiSecuritySystem",
675
+ props: {
676
+ currentState: { default: Q.Disarmed },
677
+ targetState: { default: Q.Disarmed },
678
+ label: {},
679
+ disabled: {
680
+ type: Boolean,
681
+ default: !1
682
+ },
683
+ size: { default: "medium" }
684
+ },
685
+ emits: ["update:currentState", "update:targetState"],
686
+ setup(e, { emit: n }) {
687
+ let o = e, s = n, { t: u } = R(), { currentState: p, targetState: g } = t(o), v = f({
688
+ get: () => p.value,
689
+ set: (e) => s("update:currentState", e)
690
+ }), y = f({
691
+ get: () => g.value,
692
+ set: (e) => s("update:targetState", e)
693
+ }), b = f(() => v.value === Q.AlarmTriggered), S = f(() => v.value === Q.StayArm || v.value === Q.AwayArm || v.value === Q.NightArm), C = f(() => !b.value && y.value !== v.value), w = f(() => {
694
+ if (C.value) return y.value === Q.Disarmed ? u("components.security_system.status_disarming") : u("components.security_system.status_arming");
695
+ switch (v.value) {
696
+ case Q.StayArm: return u("components.security_system.status_home_armed");
697
+ case Q.AwayArm: return u("components.security_system.status_away_armed");
698
+ case Q.NightArm: return u("components.security_system.status_night_armed");
699
+ case Q.Disarmed: return u("components.security_system.status_disarmed");
700
+ case Q.AlarmTriggered: return u("components.security_system.status_alarm");
701
+ default: return u("components.security_system.status_unknown");
702
+ }
703
+ }), T = f(() => b.value ? "cui-security-system__status--alarm" : C.value ? "cui-security-system__status--transitioning" : S.value ? "cui-security-system__status--armed" : "cui-security-system__status--disarmed"), E = f(() => ({
704
+ color: "rgb(239, 68, 68)",
705
+ filter: "drop-shadow(0 0 12px rgba(239, 68, 68, 0.8))",
706
+ animation: "pulse 0.5s ease-in-out infinite alternate"
707
+ })), D = f(() => ({
708
+ color: "rgb(34, 197, 94)",
709
+ filter: "drop-shadow(0 0 8px rgba(34, 197, 94, 0.5))"
710
+ }));
711
+ function A(e) {
712
+ y.value = e;
713
+ }
714
+ function ee() {
715
+ v.value = y.value;
716
+ }
717
+ return (t, n) => {
718
+ let o = O, s = k, f = j, p = F, g = J, v = Re, C = Sn, M = yn;
719
+ return r(), m("div", { class: a(["cui-security-system", [`cui-security-system--${e.size}`, { "cui-security-system--disabled": e.disabled }]]) }, [
720
+ _("div", Cn, [_("div", wn, [d(b) ? (r(), c(o, {
721
+ key: 0,
722
+ class: "cui-security-system__icon-svg",
723
+ style: h(d(E))
724
+ }, null, 8, ["style"])) : d(S) ? (r(), c(s, {
725
+ key: 1,
726
+ class: "cui-security-system__icon-svg",
727
+ style: h(d(D))
728
+ }, null, 8, ["style"])) : (r(), c(f, {
729
+ key: 2,
730
+ class: "cui-security-system__icon-svg"
731
+ }))]), _("div", Tn, [e.label ? (r(), m("span", En, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-security-system__status", d(T)]) }, i(d(w)), 3)])]),
732
+ d(b) ? (r(), m("div", Dn, [
733
+ x(p, { class: "cui-security-system__alarm-icon" }),
734
+ _("span", null, i(d(u)("components.security_system.alarm_triggered")), 1),
735
+ x(g, {
736
+ size: "small",
737
+ severity: "danger",
738
+ label: d(u)("components.security_system.reset"),
739
+ onClick: ee
740
+ }, null, 8, ["label"])
741
+ ])) : l("", !0),
742
+ _("div", On, [
743
+ _("button", {
744
+ type: "button",
745
+ class: a(["cui-security-system__mode", { "cui-security-system__mode--active": d(y) === d(Q).Disarmed }]),
746
+ disabled: e.disabled || d(b),
747
+ onClick: n[0] ||= (e) => A(d(Q).Disarmed)
748
+ }, [x(f, { class: "cui-security-system__mode-icon" }), _("span", null, i(d(u)("components.security_system.off")), 1)], 10, kn),
749
+ _("button", {
750
+ type: "button",
751
+ class: a(["cui-security-system__mode", { "cui-security-system__mode--active": d(y) === d(Q).StayArm }]),
752
+ disabled: e.disabled || d(b),
753
+ onClick: n[1] ||= (e) => A(d(Q).StayArm)
754
+ }, [x(v, { class: "cui-security-system__mode-icon" }), _("span", null, i(d(u)("components.security_system.home")), 1)], 10, An),
755
+ _("button", {
756
+ type: "button",
757
+ class: a(["cui-security-system__mode", { "cui-security-system__mode--active": d(y) === d(Q).AwayArm }]),
758
+ disabled: e.disabled || d(b),
759
+ onClick: n[2] ||= (e) => A(d(Q).AwayArm)
760
+ }, [x(C, { class: "cui-security-system__mode-icon" }), _("span", null, i(d(u)("components.security_system.away")), 1)], 10, jn),
761
+ _("button", {
762
+ type: "button",
763
+ class: a(["cui-security-system__mode", { "cui-security-system__mode--active": d(y) === d(Q).NightArm }]),
764
+ disabled: e.disabled || d(b),
765
+ onClick: n[3] ||= (e) => A(d(Q).NightArm)
766
+ }, [x(M, { class: "cui-security-system__mode-icon" }), _("span", null, i(d(u)("components.security_system.night")), 1)], 10, Mn)
767
+ ])
768
+ ], 2);
769
+ };
770
+ }
771
+ }), Pn = /*#__PURE__*/ I(Nn, [["__scopeId", "data-v-67cacde3"]]), Fn = {
772
+ viewBox: "0 0 24 24",
773
+ width: "1.2em",
774
+ height: "1.2em"
775
+ };
776
+ function In(e, t) {
777
+ return r(), m("svg", Fn, [...t[0] ||= [_("path", {
778
+ fill: "currentColor",
779
+ d: "M14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.84-5 6.7v2.07c4-.91 7-4.49 7-8.77s-3-7.86-7-8.77M16.5 12c0-1.77-1-3.29-2.5-4.03V16c1.5-.71 2.5-2.24 2.5-4M3 9v6h4l5 5V4L7 9z"
780
+ }, null, -1)]]);
781
+ }
782
+ var Ln = s({
783
+ name: "mdi-volume-high",
784
+ render: In
785
+ }), Rn = {
786
+ active: !1,
787
+ volume: 100,
788
+ hasVolume: !1,
789
+ disabled: !1,
790
+ size: "medium"
791
+ }, zn = { class: "cui-siren-control__header" }, Bn = { class: "cui-siren-control__icon" }, Vn = {
792
+ key: 0,
793
+ class: "cui-siren-control__label"
794
+ }, Hn = {
795
+ key: 0,
796
+ class: "cui-siren-control__volume"
797
+ }, Un = { class: "cui-siren-control__volume-header" }, Wn = { class: "cui-siren-control__volume-value" }, Gn = /*#__PURE__*/ I(/* @__PURE__ */ y({
798
+ __name: "CuiSirenControl",
799
+ props: /*@__PURE__*/ e({
800
+ active: { type: Boolean },
801
+ volume: {},
802
+ hasVolume: { type: Boolean },
803
+ label: {},
804
+ disabled: { type: Boolean },
805
+ size: {}
806
+ }, Rn),
807
+ emits: ["update:active", "update:volume"],
808
+ setup(e, { emit: n }) {
809
+ let o = e, s = n, { active: p, volume: g, hasVolume: v } = t(o), y = b(void 0), S = L((e) => s("update:volume", e), 250, !0), C = f({
810
+ get: () => p.value,
811
+ set: (e) => s("update:active", e)
812
+ }), w = f({
813
+ get: () => y.value ?? g.value,
814
+ set: (e) => {
815
+ y.value = e, S(e);
816
+ }
817
+ }), T = f(() => {
818
+ let e = (v.value ? g.value : 100) / 100;
819
+ return {
820
+ color: "rgb(239, 68, 68)",
821
+ filter: `drop-shadow(0 0 ${4 + e * 12}px rgba(239, 68, 68, ${.3 + e * .7}))`,
822
+ opacity: .4 + e * .6
823
+ };
824
+ });
825
+ function E() {
826
+ y.value !== void 0 && s("update:volume", y.value), y.value = void 0;
827
+ }
828
+ return (t, n) => {
829
+ let o = F, s = ze, f = P, p = Ln, g = N;
830
+ return r(), m("div", { class: a(["cui-siren-control", [`cui-siren-control--${e.size}`, { "cui-siren-control--disabled": e.disabled }]]) }, [_("div", zn, [
831
+ _("div", Bn, [d(C) ? (r(), c(o, {
832
+ key: 0,
833
+ class: "cui-siren-control__icon-svg cui-siren-control__icon-svg--active",
834
+ style: h(d(T))
835
+ }, null, 8, ["style"])) : (r(), c(s, {
836
+ key: 1,
837
+ class: "cui-siren-control__icon-svg"
838
+ }))]),
839
+ e.label ? (r(), m("span", Vn, i(e.label), 1)) : l("", !0),
840
+ x(f, {
841
+ modelValue: d(C),
842
+ "onUpdate:modelValue": n[0] ||= (e) => u(C) ? C.value = e : null,
843
+ disabled: e.disabled,
844
+ class: "cui-siren-control__toggle"
845
+ }, null, 8, ["modelValue", "disabled"])
846
+ ]), d(v) ? (r(), m("div", Hn, [_("div", Un, [x(p, { class: "cui-siren-control__volume-icon" }), _("span", Wn, i(d(w)) + "%", 1)]), x(g, {
847
+ modelValue: d(w),
848
+ "onUpdate:modelValue": n[1] ||= (e) => u(w) ? w.value = e : null,
849
+ min: 0,
850
+ max: 100,
851
+ step: 1,
852
+ disabled: e.disabled,
853
+ class: "cui-siren-control__slider",
854
+ onSlideend: E
855
+ }, null, 8, ["modelValue", "disabled"])])) : l("", !0)], 2);
856
+ };
857
+ }
858
+ }), [["__scopeId", "data-v-22ad5fe8"]]), $ = /* @__PURE__ */ function(e) {
859
+ return e[e.Secured = 0] = "Secured", e[e.Unsecured = 1] = "Unsecured", e[e.Unknown = 2] = "Unknown", e;
860
+ }({}), Kn = {
861
+ currentState: 2,
862
+ targetState: 0,
863
+ disabled: !1,
864
+ size: "medium"
865
+ }, qn = { class: "cui-lock-control__header" }, Jn = { class: "cui-lock-control__icon" }, Yn = { class: "cui-lock-control__info" }, Xn = {
866
+ key: 0,
867
+ class: "cui-lock-control__label"
868
+ }, Zn = /*#__PURE__*/ I(/* @__PURE__ */ y({
869
+ __name: "CuiLockControl",
870
+ props: /*@__PURE__*/ e({
871
+ currentState: {},
872
+ targetState: {},
873
+ label: {},
874
+ disabled: { type: Boolean },
875
+ size: {}
876
+ }, Kn),
877
+ emits: ["update:targetState"],
878
+ setup(e, { emit: n }) {
879
+ let o = e, s = n, { t: u } = R(), { currentState: p, targetState: g } = t(o), v = f(() => g.value === $.Secured), y = f(() => p.value !== g.value && p.value !== $.Unknown), b = f(() => {
880
+ if (y.value) return g.value === $.Secured ? u("components.lock.status_locking") : u("components.lock.status_unlocking");
881
+ switch (p.value) {
882
+ case $.Secured: return u("components.lock.status_locked");
883
+ case $.Unsecured: return u("components.lock.status_unlocked");
884
+ default: return u("components.lock.status_unknown");
885
+ }
886
+ }), S = f(() => y.value ? "cui-lock-control__status--transitioning" : p.value === $.Secured ? "cui-lock-control__status--secured" : p.value === $.Unsecured ? "cui-lock-control__status--unsecured" : ""), C = f(() => ({
887
+ color: "rgb(34, 197, 94)",
888
+ filter: "drop-shadow(0 0 8px rgba(34, 197, 94, 0.5))"
889
+ }));
890
+ function w(e) {
891
+ s("update:targetState", e ? $.Secured : $.Unsecured);
892
+ }
893
+ return (t, n) => {
894
+ let o = M, s = D, u = P;
895
+ return r(), m("div", { class: a(["cui-lock-control", [`cui-lock-control--${e.size}`, { "cui-lock-control--disabled": e.disabled }]]) }, [_("div", qn, [
896
+ _("div", Jn, [d(v) ? (r(), c(o, {
897
+ key: 0,
898
+ class: "cui-lock-control__icon-svg",
899
+ style: h(d(C))
900
+ }, null, 8, ["style"])) : (r(), c(s, {
901
+ key: 1,
902
+ class: "cui-lock-control__icon-svg"
903
+ }))]),
904
+ _("div", Yn, [e.label ? (r(), m("span", Xn, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-lock-control__status", d(S)]) }, i(d(b)), 3)]),
905
+ x(u, {
906
+ "model-value": d(v),
907
+ disabled: e.disabled,
908
+ class: "ml-auto shrink-0",
909
+ "onUpdate:modelValue": w
910
+ }, null, 8, ["model-value", "disabled"])
911
+ ])], 2);
912
+ };
913
+ }
914
+ }), [["__scopeId", "data-v-4b2a60ff"]]), Qn = {
915
+ viewBox: "0 0 24 24",
916
+ width: "1.2em",
917
+ height: "1.2em"
918
+ };
919
+ function $n(e, t) {
920
+ return r(), m("svg", Qn, [...t[0] ||= [_("path", {
921
+ fill: "none",
922
+ stroke: "currentColor",
923
+ "stroke-linecap": "round",
924
+ "stroke-linejoin": "round",
925
+ "stroke-width": "2",
926
+ d: "M18.36 6.64A9 9 0 0 1 20.77 15M6.16 6.16a9 9 0 1 0 12.68 12.68M12 2v4M2 2l20 20"
927
+ }, null, -1)]]);
928
+ }
929
+ var er = s({
930
+ name: "lucide-power-off",
931
+ render: $n
932
+ }), tr = { class: "cui-switch-control__header" }, nr = { class: "cui-switch-control__icon" }, rr = {
933
+ key: 0,
934
+ class: "cui-switch-control__label"
935
+ }, ir = /*#__PURE__*/ I(/* @__PURE__ */ y({
936
+ __name: "CuiSwitchControl",
937
+ props: {
938
+ on: {
939
+ type: Boolean,
940
+ default: !1
941
+ },
942
+ label: {},
943
+ disabled: {
944
+ type: Boolean,
945
+ default: !1
946
+ },
947
+ size: { default: "medium" }
948
+ },
949
+ emits: ["update:on"],
950
+ setup(e, { emit: n }) {
951
+ let o = e, s = n, { on: p, size: g } = t(o), v = f({
952
+ get: () => p.value,
953
+ set: (e) => s("update:on", e)
954
+ }), y = f(() => ({
955
+ color: "rgb(34, 197, 94)",
956
+ filter: "drop-shadow(0 0 10px rgba(34, 197, 94, 0.7))"
957
+ }));
958
+ return (t, n) => {
959
+ let o = oe, s = er, f = P;
960
+ return r(), m("div", { class: a(["cui-switch-control", [`cui-switch-control--${d(g)}`, { "cui-switch-control--disabled": e.disabled }]]) }, [_("div", tr, [
961
+ _("div", nr, [d(v) ? (r(), c(o, {
962
+ key: 0,
963
+ class: "cui-switch-control__icon-svg cui-switch-control__icon-svg--on",
964
+ style: h(d(y))
965
+ }, null, 8, ["style"])) : (r(), c(s, {
966
+ key: 1,
967
+ class: "cui-switch-control__icon-svg"
968
+ }))]),
969
+ e.label ? (r(), m("span", rr, i(e.label), 1)) : l("", !0),
970
+ x(f, {
971
+ modelValue: d(v),
972
+ "onUpdate:modelValue": n[0] ||= (e) => u(v) ? v.value = e : null,
973
+ disabled: e.disabled,
974
+ class: "cui-switch-control__toggle"
975
+ }, null, 8, ["modelValue", "disabled"])
976
+ ])], 2);
977
+ };
978
+ }
979
+ }), [["__scopeId", "data-v-86992927"]]), ar = {
980
+ viewBox: "0 0 24 24",
981
+ width: "1.2em",
982
+ height: "1.2em"
983
+ };
984
+ function or(e, t) {
985
+ return r(), m("svg", ar, [...t[0] ||= [_("path", {
986
+ fill: "currentColor",
987
+ d: "M12 18V6a6 6 0 0 1 6 6a6 6 0 0 1-6 6m8-2.69L23.31 12L20 8.69V4h-4.69L12 .69L8.69 4H4v4.69L.69 12L4 15.31V20h4.69L12 23.31L15.31 20H20z"
988
+ }, null, -1)]]);
989
+ }
990
+ var sr = s({
991
+ name: "mdi-brightness6",
992
+ render: or
993
+ }), cr = {
994
+ on: !1,
995
+ brightness: 100,
996
+ hasBrightness: !1,
997
+ disabled: !1,
998
+ size: "medium"
999
+ }, lr = { class: "cui-light-control__header" }, ur = { class: "cui-light-control__icon" }, dr = {
1000
+ key: 0,
1001
+ class: "cui-light-control__label"
1002
+ }, fr = {
1003
+ key: 0,
1004
+ class: "cui-light-control__brightness"
1005
+ }, pr = { class: "cui-light-control__brightness-header" }, mr = { class: "cui-light-control__brightness-value" }, hr = /*#__PURE__*/ I(/* @__PURE__ */ y({
1006
+ __name: "CuiLightControl",
1007
+ props: /*@__PURE__*/ e({
1008
+ on: { type: Boolean },
1009
+ brightness: {},
1010
+ hasBrightness: { type: Boolean },
1011
+ label: {},
1012
+ disabled: { type: Boolean },
1013
+ size: {}
1014
+ }, cr),
1015
+ emits: ["update:on", "update:brightness"],
1016
+ setup(e, { emit: n }) {
1017
+ let o = e, s = n, { on: p, brightness: g, hasBrightness: v } = t(o), y = b(void 0), S = b(g.value > 0 ? g.value : 100), C = L((e) => s("update:brightness", e), 250, !0), w = f({
1018
+ get: () => p.value,
1019
+ set: (e) => {
1020
+ s("update:on", e), e && g.value === 0 && s("update:brightness", S.value);
1021
+ }
1022
+ }), T = f({
1023
+ get: () => y.value ?? g.value,
1024
+ set: (e) => {
1025
+ e > 0 && (S.value = e), y.value = e, C(e), e === 0 && p.value ? s("update:on", !1) : e > 0 && !p.value && s("update:on", !0);
1026
+ }
1027
+ }), E = f(() => {
1028
+ let e = (v.value ? g.value : 100) / 100;
1029
+ return {
1030
+ color: "rgb(250, 204, 21)",
1031
+ filter: `drop-shadow(0 0 ${4 + e * 12}px rgba(250, 204, 21, ${.3 + e * .7}))`,
1032
+ opacity: .4 + e * .6
1033
+ };
1034
+ });
1035
+ function D() {
1036
+ y.value !== void 0 && s("update:brightness", y.value), y.value = void 0;
1037
+ }
1038
+ return (t, n) => {
1039
+ let o = A, s = Ne, f = P, p = sr, g = N;
1040
+ return r(), m("div", { class: a(["cui-light-control", [`cui-light-control--${e.size}`, { "cui-light-control--disabled": e.disabled }]]) }, [_("div", lr, [
1041
+ _("div", ur, [d(w) ? (r(), c(o, {
1042
+ key: 0,
1043
+ class: "cui-light-control__icon-svg cui-light-control__icon-svg--on",
1044
+ style: h(d(E))
1045
+ }, null, 8, ["style"])) : (r(), c(s, {
1046
+ key: 1,
1047
+ class: "cui-light-control__icon-svg"
1048
+ }))]),
1049
+ e.label ? (r(), m("span", dr, i(e.label), 1)) : l("", !0),
1050
+ x(f, {
1051
+ modelValue: d(w),
1052
+ "onUpdate:modelValue": n[0] ||= (e) => u(w) ? w.value = e : null,
1053
+ disabled: e.disabled,
1054
+ class: "cui-light-control__toggle"
1055
+ }, null, 8, ["modelValue", "disabled"])
1056
+ ]), d(v) ? (r(), m("div", fr, [_("div", pr, [x(p, { class: "cui-light-control__brightness-icon" }), _("span", mr, i(d(T)) + "%", 1)]), x(g, {
1057
+ modelValue: d(T),
1058
+ "onUpdate:modelValue": n[1] ||= (e) => u(T) ? T.value = e : null,
1059
+ min: 0,
1060
+ max: 100,
1061
+ step: 1,
1062
+ disabled: e.disabled,
1063
+ class: "cui-light-control__slider",
1064
+ onSlideend: D
1065
+ }, null, 8, ["modelValue", "disabled"])])) : l("", !0)], 2);
1066
+ };
1067
+ }
1068
+ }), [["__scopeId", "data-v-e76f41c7"]]), gr = {
1069
+ detected: !1,
1070
+ size: "medium"
1071
+ }, _r = { class: "cui-detection-info__header" }, vr = { class: "cui-detection-info__icon" }, yr = { class: "cui-detection-info__info" }, br = {
1072
+ key: 0,
1073
+ class: "cui-detection-info__label"
1074
+ }, xr = {
1075
+ key: 0,
1076
+ class: "cui-detection-info__decibels"
1077
+ }, Sr = /*#__PURE__*/ I(/* @__PURE__ */ y({
1078
+ __name: "CuiDetectionSensorInfo",
1079
+ props: /*@__PURE__*/ e({
1080
+ type: {},
1081
+ label: {},
1082
+ detected: { type: Boolean },
1083
+ labels: {},
1084
+ decibels: {},
1085
+ size: {}
1086
+ }, gr),
1087
+ setup(e) {
1088
+ let t = e, { t: n } = R(), s = {
1089
+ color: "rgb(251, 146, 60)",
1090
+ filter: "drop-shadow(0 0 8px rgba(251, 146, 60, 0.6))"
1091
+ }, u = f(() => {
1092
+ if (!t.detected) return n("components.detection_sensor.idle");
1093
+ let e = (t.labels ?? []).filter(Boolean);
1094
+ return e.length ? e.join(", ") : n("components.detection_sensor.detected");
1095
+ });
1096
+ return (t, n) => (r(), m("div", { class: a(["cui-detection-info", [`cui-detection-info--${e.size}`, { "cui-detection-info--active": e.detected }]]) }, [_("div", _r, [
1097
+ _("div", vr, [(r(), c(o(d(Y)(e.type)), {
1098
+ class: "cui-detection-info__icon-svg",
1099
+ style: h(e.detected ? s : void 0)
1100
+ }, null, 8, ["style"]))]),
1101
+ _("div", yr, [e.label ? (r(), m("span", br, i(e.label), 1)) : l("", !0), _("span", { class: a(["cui-detection-info__status", e.detected ? "cui-detection-info__status--active" : "cui-detection-info__status--idle"]) }, i(d(u)), 3)]),
1102
+ e.decibels === void 0 ? l("", !0) : (r(), m("span", xr, i(Math.round(e.decibels)) + " dB", 1)),
1103
+ _("div", { class: a(["cui-detection-info__indicator", e.detected ? "cui-detection-info__indicator--active" : "cui-detection-info__indicator--idle"]) }, null, 2)
1104
+ ])], 2));
1105
+ }
1106
+ }), [["__scopeId", "data-v-f3272b7a"]]), Cr = /* @__PURE__ */ new Set([
1107
+ q.Motion,
1108
+ q.Object,
1109
+ q.Audio,
1110
+ q.Face,
1111
+ q.LicensePlate,
1112
+ q.Classifier
1113
+ ]), wr = /* @__PURE__ */ new Set([
1114
+ q.Gas,
1115
+ q.CarbonMonoxide,
1116
+ q.Heat,
1117
+ q.Cold,
1118
+ q.Vibration,
1119
+ q.Tamper,
1120
+ q.Problem,
1121
+ q.Power
1122
+ ]), Tr = /* @__PURE__ */ new Map([[q.Illuminance, "lx"], [q.CarbonDioxide, "ppm"]]), Er = /* @__PURE__ */ new Set([
1123
+ ...Cr,
1124
+ ...wr,
1125
+ ...Tr.keys(),
1126
+ q.Light,
1127
+ q.Switch,
1128
+ q.Lock,
1129
+ q.Siren,
1130
+ q.SecuritySystem,
1131
+ q.Garage,
1132
+ q.Doorbell,
1133
+ q.Contact,
1134
+ q.Occupancy,
1135
+ q.Smoke,
1136
+ q.Leak,
1137
+ q.Temperature,
1138
+ q.Humidity,
1139
+ q.Battery
1140
+ ]);
1141
+ function Dr(e) {
1142
+ return Er.has(e);
1143
+ }
1144
+ //#endregion
1145
+ //#region src/components/CuiSensorControl/CuiSensorControl.vue
1146
+ var Or = /* @__PURE__ */ y({
1147
+ __name: "CuiSensorControl",
1148
+ props: {
1149
+ sensor: {},
1150
+ disabled: { type: Boolean }
1151
+ },
1152
+ setup(e) {
1153
+ function t(e) {
1154
+ return wr.has(e.type);
1155
+ }
1156
+ function n(e) {
1157
+ return Tr.get(e.type);
1158
+ }
1159
+ function i(e) {
1160
+ return Cr.has(e.type);
1161
+ }
1162
+ function a(e) {
1163
+ let t = e.getProperty("detections") ?? [];
1164
+ return [...new Set(t.map((e) => e.label ?? e.attribute).filter((e) => !!e))];
1165
+ }
1166
+ return (o, s) => {
1167
+ let u = hr, f = ir, p = Zn, m = Gn, h = Pn, g = gn, _ = on, v = $t, y = qt, b = Vt, x = Ft, S = kt, C = wt, w = yt, T = Qe, E = Ke;
1168
+ return d(_e)(e.sensor) ? (r(), c(u, {
1169
+ key: 0,
1170
+ label: e.sensor.displayName.value,
1171
+ on: e.sensor.getProperty(d(U).On) ?? !1,
1172
+ brightness: e.sensor.getProperty(d(U).Brightness) ?? 100,
1173
+ "has-brightness": e.sensor.hasCapability("brightness"),
1174
+ disabled: e.disabled,
1175
+ size: "small",
1176
+ class: "card-border",
1177
+ "onUpdate:on": s[0] ||= (t) => e.sensor.setProperty(d(U).On, t),
1178
+ "onUpdate:brightness": s[1] ||= (t) => e.sensor.setProperty(d(U).Brightness, t)
1179
+ }, null, 8, [
1180
+ "label",
1181
+ "on",
1182
+ "brightness",
1183
+ "has-brightness",
1184
+ "disabled"
1185
+ ])) : d(we)(e.sensor) ? (r(), c(f, {
1186
+ key: 1,
1187
+ label: e.sensor.displayName.value,
1188
+ on: e.sensor.getProperty(d(V).On) ?? !1,
1189
+ disabled: e.disabled,
1190
+ size: "small",
1191
+ class: "card-border",
1192
+ "onUpdate:on": s[2] ||= (t) => e.sensor.setProperty(d(V).On, t)
1193
+ }, null, 8, [
1194
+ "label",
1195
+ "on",
1196
+ "disabled"
1197
+ ])) : d(Ce)(e.sensor) ? (r(), c(p, {
1198
+ key: 2,
1199
+ label: e.sensor.displayName.value,
1200
+ "current-state": e.sensor.getProperty(d(W).CurrentState) ?? 2,
1201
+ "target-state": e.sensor.getProperty(d(W).TargetState) ?? 0,
1202
+ disabled: e.disabled,
1203
+ size: "small",
1204
+ class: "card-border",
1205
+ "onUpdate:targetState": s[3] ||= (t) => e.sensor.setProperty(d(W).TargetState, t)
1206
+ }, null, 8, [
1207
+ "label",
1208
+ "current-state",
1209
+ "target-state",
1210
+ "disabled"
1211
+ ])) : d(ye)(e.sensor) ? (r(), c(m, {
1212
+ key: 3,
1213
+ label: e.sensor.displayName.value,
1214
+ active: e.sensor.getProperty(d(B).Active) ?? !1,
1215
+ volume: e.sensor.getProperty(d(B).Volume) ?? 100,
1216
+ "has-volume": e.sensor.hasCapability("volume"),
1217
+ disabled: e.disabled,
1218
+ size: "small",
1219
+ class: "card-border",
1220
+ "onUpdate:active": s[4] ||= (t) => e.sensor.setProperty(d(B).Active, t),
1221
+ "onUpdate:volume": s[5] ||= (t) => e.sensor.setProperty(d(B).Volume, t)
1222
+ }, null, 8, [
1223
+ "label",
1224
+ "active",
1225
+ "volume",
1226
+ "has-volume",
1227
+ "disabled"
1228
+ ])) : d(ve)(e.sensor) ? (r(), c(h, {
1229
+ key: 4,
1230
+ label: e.sensor.displayName.value,
1231
+ "current-state": e.sensor.getProperty(d(H).CurrentState) ?? 3,
1232
+ "target-state": e.sensor.getProperty(d(H).TargetState) ?? 3,
1233
+ disabled: e.disabled,
1234
+ size: "small",
1235
+ class: "card-border",
1236
+ "onUpdate:targetState": s[6] ||= (t) => e.sensor.setProperty(d(H).TargetState, t)
1237
+ }, null, 8, [
1238
+ "label",
1239
+ "current-state",
1240
+ "target-state",
1241
+ "disabled"
1242
+ ])) : d(ge)(e.sensor) ? (r(), c(g, {
1243
+ key: 5,
1244
+ label: e.sensor.displayName.value,
1245
+ "current-state": e.sensor.getProperty(d(z).CurrentState) ?? 1,
1246
+ "target-state": e.sensor.getProperty(d(z).TargetState) ?? 1,
1247
+ "obstruction-detected": e.sensor.getProperty(d(z).ObstructionDetected) ?? !1,
1248
+ disabled: e.disabled,
1249
+ size: "small",
1250
+ class: "card-border",
1251
+ "onUpdate:targetState": s[7] ||= (t) => e.sensor.setProperty(d(z).TargetState, t)
1252
+ }, null, 8, [
1253
+ "label",
1254
+ "current-state",
1255
+ "target-state",
1256
+ "obstruction-detected",
1257
+ "disabled"
1258
+ ])) : d(xe)(e.sensor) ? (r(), c(_, {
1259
+ key: 6,
1260
+ label: e.sensor.displayName.value,
1261
+ ring: e.sensor.getProperty(d(K).Ring) ?? !1,
1262
+ disabled: e.disabled,
1263
+ size: "small",
1264
+ class: "card-border",
1265
+ onTrigger: s[8] ||= () => e.sensor.setProperty(d(K).Ring, !0)
1266
+ }, null, 8, [
1267
+ "label",
1268
+ "ring",
1269
+ "disabled"
1270
+ ])) : d(Oe)(e.sensor) ? (r(), c(v, {
1271
+ key: 7,
1272
+ label: e.sensor.displayName.value,
1273
+ detected: e.sensor.getProperty(d(Se).Detected) ?? !1,
1274
+ size: "small",
1275
+ class: "card-border"
1276
+ }, null, 8, ["label", "detected"])) : d(je)(e.sensor) ? (r(), c(y, {
1277
+ key: 8,
1278
+ label: e.sensor.displayName.value,
1279
+ detected: e.sensor.getProperty(d(pe).Detected) ?? !1,
1280
+ size: "small",
1281
+ class: "card-border"
1282
+ }, null, 8, ["label", "detected"])) : d(De)(e.sensor) ? (r(), c(b, {
1283
+ key: 9,
1284
+ label: e.sensor.displayName.value,
1285
+ detected: e.sensor.getProperty(d(fe).Detected) ?? !1,
1286
+ size: "small",
1287
+ class: "card-border"
1288
+ }, null, 8, ["label", "detected"])) : d(ke)(e.sensor) ? (r(), c(x, {
1289
+ key: 10,
1290
+ label: e.sensor.displayName.value,
1291
+ detected: e.sensor.getProperty(d(he).Detected) ?? !1,
1292
+ size: "small",
1293
+ class: "card-border"
1294
+ }, null, 8, ["label", "detected"])) : d(be)(e.sensor) ? (r(), c(S, {
1295
+ key: 11,
1296
+ label: e.sensor.displayName.value,
1297
+ current: e.sensor.getProperty(d(de).Current),
1298
+ size: "small",
1299
+ class: "card-border"
1300
+ }, null, 8, ["label", "current"])) : d(Ee)(e.sensor) ? (r(), c(C, {
1301
+ key: 12,
1302
+ label: e.sensor.displayName.value,
1303
+ current: e.sensor.getProperty(d(me).Current),
1304
+ size: "small",
1305
+ class: "card-border"
1306
+ }, null, 8, ["label", "current"])) : d(Te)(e.sensor) ? (r(), c(w, {
1307
+ key: 13,
1308
+ label: e.sensor.displayName.value,
1309
+ level: e.sensor.getProperty(d(G).Level) ?? 100,
1310
+ charging: e.sensor.getProperty(d(G).Charging) ?? "NOT_CHARGING",
1311
+ low: e.sensor.getProperty(d(G).Low) ?? !1,
1312
+ size: "small",
1313
+ class: "card-border"
1314
+ }, null, 8, [
1315
+ "label",
1316
+ "level",
1317
+ "charging",
1318
+ "low"
1319
+ ])) : t(e.sensor) ? (r(), c(T, {
1320
+ key: 14,
1321
+ type: e.sensor.type,
1322
+ label: e.sensor.displayName.value,
1323
+ detected: e.sensor.getProperty("detected") ?? !1,
1324
+ size: "small",
1325
+ class: "card-border"
1326
+ }, null, 8, [
1327
+ "type",
1328
+ "label",
1329
+ "detected"
1330
+ ])) : n(e.sensor) ? (r(), c(E, {
1331
+ key: 15,
1332
+ type: e.sensor.type,
1333
+ label: e.sensor.displayName.value,
1334
+ current: e.sensor.getProperty("current") ?? void 0,
1335
+ unit: n(e.sensor),
1336
+ size: "small",
1337
+ class: "card-border"
1338
+ }, null, 8, [
1339
+ "type",
1340
+ "label",
1341
+ "current",
1342
+ "unit"
1343
+ ])) : i(e.sensor) ? (r(), c(Sr, {
1344
+ key: 16,
1345
+ type: e.sensor.type,
1346
+ label: e.sensor.displayName.value,
1347
+ detected: e.sensor.getProperty("detected") ?? !1,
1348
+ labels: a(e.sensor),
1349
+ decibels: e.sensor.type === d(q).Audio ? e.sensor.getProperty(d(Ae).Decibels) ?? void 0 : void 0,
1350
+ size: "small",
1351
+ class: "card-border"
1352
+ }, null, 8, [
1353
+ "type",
1354
+ "label",
1355
+ "detected",
1356
+ "labels",
1357
+ "decibels"
1358
+ ])) : l("", !0);
1359
+ };
1360
+ }
1361
+ }), kr = { class: "flex flex-col gap-4 w-full" }, Ar = {
1362
+ key: 0,
1363
+ class: "flex flex-col field-gap"
1364
+ }, jr = { class: "cui-label" }, Mr = { class: "flex flex-col field-gap" }, Nr = {
1365
+ for: "sensorDisplayName",
1366
+ class: "cui-label"
1367
+ }, Pr = {
1368
+ key: 1,
1369
+ class: "flex flex-col field-gap"
1370
+ }, Fr = {
1371
+ for: "sensorNativeId",
1372
+ class: "cui-label"
1373
+ }, Ir = { class: "flex flex-col field-gap" }, Lr = { class: "cui-label" }, Rr = {
1374
+ key: 0,
1375
+ class: "flex flex-wrap gap-2"
1376
+ }, zr = {
1377
+ key: 2,
1378
+ class: "flex items-center gap-4 cui-toggle-switch"
1379
+ }, Br = { class: "flex flex-col min-w-0" }, Vr = { class: "cui-label-switch" }, Hr = { class: "text-xs text-muted" }, Ur = /* @__PURE__ */ y({
1380
+ __name: "SensorEdit",
1381
+ props: {
1382
+ sensor: {},
1383
+ cameraOptions: {}
1384
+ },
1385
+ setup(e, { expose: t }) {
1386
+ let a = e, o = b(a.sensor.displayName || a.sensor.name), s = b([...a.sensor.assignedCameraIds]), h = b(a.sensor.exposed), { sensors: y } = Me(), C = f(() => te(void 0, "admin")), w = f(() => a.cameraOptions.filter((e) => a.sensor.assignedCameraIds.includes(e.value))), T = f(() => Dr(a.sensor.type)), E = f(() => y.value.find((e) => e.id === a.sensor.id));
1387
+ return t({ onConfirm: async () => ({
1388
+ displayName: o.value || a.sensor.name,
1389
+ assignedCameraIds: s.value,
1390
+ exposed: h.value
1391
+ }) }), (t, a) => {
1392
+ let f = S, y = Pe, b = Fe, D = Ie, O = P;
1393
+ return r(), m("div", kr, [
1394
+ d(T) ? (r(), m("div", Ar, [_("label", jr, i(t.$t("views.sensors.control")), 1), d(E) ? (r(), c(Or, {
1395
+ key: 0,
1396
+ sensor: d(E),
1397
+ disabled: !d(C)
1398
+ }, null, 8, ["sensor", "disabled"])) : (r(), c(f, {
1399
+ key: 1,
1400
+ severity: "secondary",
1401
+ variant: "simple",
1402
+ size: "small",
1403
+ class: "cui-input-hint"
1404
+ }, {
1405
+ default: p(() => [v(i(t.$t("views.sensors.control_offline")), 1)]),
1406
+ _: 1
1407
+ }))])) : l("", !0),
1408
+ _("div", Mr, [_("label", Nr, i(t.$t("components.camera_options.sensor_display_name")), 1), x(y, {
1409
+ id: "sensorDisplayName",
1410
+ modelValue: d(o),
1411
+ "onUpdate:modelValue": a[0] ||= (e) => u(o) ? o.value = e : null,
1412
+ modelModifiers: { trim: !0 },
1413
+ class: "w-full"
1414
+ }, null, 8, ["modelValue"])]),
1415
+ e.sensor.nativeId ? (r(), m("div", Pr, [_("label", Fr, i(t.$t("views.sensors.native_id")), 1), x(y, {
1416
+ id: "sensorNativeId",
1417
+ "model-value": e.sensor.nativeId,
1418
+ readonly: "",
1419
+ class: "w-full font-mono text-sm"
1420
+ }, null, 8, ["model-value"])])) : l("", !0),
1421
+ _("div", Ir, [
1422
+ _("label", Lr, i(t.$t("views.sensors.assigned_cameras")), 1),
1423
+ e.sensor.assignmentLocked ? (r(), m("div", Rr, [(r(!0), m(g, null, n(d(w), (e) => (r(), c(b, {
1424
+ key: e.value,
1425
+ label: e.label
1426
+ }, null, 8, ["label"]))), 128))])) : (r(), c(D, {
1427
+ key: 1,
1428
+ modelValue: d(s),
1429
+ "onUpdate:modelValue": a[1] ||= (e) => u(s) ? s.value = e : null,
1430
+ options: e.cameraOptions,
1431
+ "option-label": "label",
1432
+ "option-value": "value",
1433
+ placeholder: t.$t("views.sensors.assigned_cameras_placeholder"),
1434
+ class: "w-full"
1435
+ }, null, 8, [
1436
+ "modelValue",
1437
+ "options",
1438
+ "placeholder"
1439
+ ])),
1440
+ x(f, {
1441
+ severity: "secondary",
1442
+ variant: "simple",
1443
+ size: "small",
1444
+ class: "cui-input-hint"
1445
+ }, {
1446
+ default: p(() => [v(i(e.sensor.assignmentLocked ? t.$t("views.sensors.assigned_cameras_locked_hint") : t.$t("views.sensors.assigned_cameras_hint")), 1)]),
1447
+ _: 1
1448
+ })
1449
+ ]),
1450
+ e.sensor.cameraBound ? l("", !0) : (r(), m("div", zr, [_("div", Br, [_("label", Vr, i(t.$t("views.sensors.exposed")), 1), _("span", Hr, i(t.$t("views.sensors.exposed_hint")), 1)]), x(O, {
1451
+ modelValue: d(h),
1452
+ "onUpdate:modelValue": a[2] ||= (e) => u(h) ? h.value = e : null,
1453
+ class: "ml-auto shrink-0"
1454
+ }, null, 8, ["modelValue"])]))
1455
+ ]);
1456
+ };
1457
+ }
1458
+ });
1459
+ //#endregion
1460
+ export { Ur as default };