@camera.ui/server 2.1.12 → 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 (627) hide show
  1. package/dist/interface/assets/{404-BDi1TzED.js → 404-CVkDpT0X.js} +1 -1
  2. package/dist/interface/assets/{About-DeHiJp3n.js → About-CUgIR2xi.js} +1 -1
  3. package/dist/interface/assets/Automation-BYRKp0AC.js +3 -0
  4. package/dist/interface/assets/{AutomationImport-B3bCE-yS.js → AutomationImport-L_OzZZgi.js} +2 -2
  5. package/dist/interface/assets/{AutomationStore-BoWd7IW9.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-C8XSUr7X.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-Cg89m_cM.js → CertificateUpload-BsnlaxRS.js} +1 -1
  14. package/dist/interface/assets/{Config-BDa4dy1w.js → Config-BXj83-No.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionCameraControl-DNmRpuPG.js → ConfigActionCameraControl-BGfvT6ME.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-Reg_tEG_.js → ConfigActionDelay-D10_C6yo.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-CqRBOSa3.js → ConfigActionHttp-DL4jh9Wz.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-GWECLY4I.js → ConfigActionImageInput-DVvMUzrT.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-Di4ZTig8.js → ConfigActionMqtt-BqK3q4cC.js} +1 -1
  20. package/dist/interface/assets/ConfigActionNotification-D_H5Q68D.js +1 -0
  21. package/dist/interface/assets/{ConfigActionNotificationControl-B_p8dnc4.js → ConfigActionNotificationControl-BnTJl4dr.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-B31cj20h.js → ConfigActionOutput-udY95_rH.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-DCUhDIiJ.js → ConfigActionPlugin-C51LrkZb.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSensor-De63wYQU.js → ConfigActionSensor-B2tFf8x6.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSnapshot-DZJDjOMT.js → ConfigActionSnapshot-BzmeByH3.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-Q3QXVMbR.js → ConfigActionVariable-BagC3lj5.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-DKonPxli.js → ConfigConditionIfElse-CQOZJ19Y.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-C_J6ERzt.js → ConfigConditionSensorState-SGYpkNP5.js} +1 -1
  29. package/dist/interface/assets/ConfigConditionSwitch-BXR6xUN8.js +1 -0
  30. package/dist/interface/assets/{ConfigConditionTime-CRDI58_P.js → ConfigConditionTime-BrEhw1R9.js} +1 -1
  31. package/dist/interface/assets/{ConfigSensorValueInput-C3ep90ds.js → ConfigSensorValueInput-DezTWtbA.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerDetection-CbVFlyI8.js → ConfigTriggerDetection-xo0imE_3.js} +1 -1
  33. package/dist/interface/assets/ConfigTriggerGeofence-BmJpP4Ew.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-7kAukUgk.js → ConfigTriggerManual-CmAdnZQK.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-DUCZZt2j.js → ConfigTriggerMqtt-F19dhVm1.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-lAiLdu1W.js → ConfigTriggerSchedule-BGci3Aed.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-DIhCfhcN.js → ConfigTriggerSensor-DSEDGB2X.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-DZu6Fp2j.js → ConfigTriggerSystem-DPy8Zir4.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-D3a5f6vl.js → ConfigTriggerWebhook-Dv0Kmwg8.js} +1 -1
  40. package/dist/interface/assets/Console-Cuh-Vc4u.js +1 -0
  41. package/dist/interface/assets/{CuiAutomationRunsDialog-CgzW_s6M.js → CuiAutomationRunsDialog-B1UeVC6Q.js} +1 -1
  42. package/dist/interface/assets/{CuiBottomSheet-C7UdIQu1.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-D3fAJNWF.js → CuiCameraShares-D-fhJCro.js} +1 -1
  48. package/dist/interface/assets/{CuiCameraTable-ApLSxeO4.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-BeEij8SL.js → CuiChartTable-DAUYP-EW.js} +1 -1
  51. package/dist/interface/assets/{CuiConsole-CMxpzZ51.js → CuiConsole-C7aZj4wK.js} +2 -2
  52. package/dist/interface/assets/{CuiDataTable-f_QVzRqq.js → CuiDataTable-1B8aaZQO.js} +1 -1
  53. package/dist/interface/assets/CuiLightControl-CSA1PYc8.js +1 -0
  54. package/dist/interface/assets/{CuiList-C3oJKyJC.js → CuiList-D-hOSNou.js} +1 -1
  55. package/dist/interface/assets/CuiPluginCard-D1Hkyiy4.js +2 -0
  56. package/dist/interface/assets/{CuiPluginCategoryChip-EJhup0nM.js → CuiPluginCategoryChip-qnn-HD6g.js} +1 -1
  57. package/dist/interface/assets/{CuiPluginOAuthButton-CbPU8trR.js → CuiPluginOAuthButton-CXextmBv.js} +2 -2
  58. package/dist/interface/assets/{CuiPluginTrustBadge-B4bxBl3A.js → CuiPluginTrustBadge-C-8MN2Qc.js} +1 -1
  59. package/dist/interface/assets/{CuiQRCode-CycvR5wz.js → CuiQRCode-D1qmU4qU.js} +1 -1
  60. package/dist/interface/assets/CuiSchema-DnHOpBg4.js +1 -0
  61. package/dist/interface/assets/{CuiTopNavbarItem-D4qP-WpK.js → CuiTopNavbarItem-Csb3O1-n.js} +1 -1
  62. package/dist/interface/assets/Faces-C0QpQxuF.js +1 -0
  63. package/dist/interface/assets/FirstSteps-BqZQovY7.js +1 -0
  64. package/dist/interface/assets/{Floorplan-Da5gt435.css → Floorplan-Bxhdg4C2.css} +1 -1
  65. package/dist/interface/assets/Floorplan-CW-W5ZkV.js +1 -0
  66. package/dist/interface/assets/Instances-VSkiqKKf.js +1 -0
  67. package/dist/interface/assets/{Logs-BBZMBN6a.js → Logs-DQFS2AUi.js} +2 -2
  68. package/dist/interface/assets/{Menu-CRLIo98F.js → Menu-COvvZ_vz.js} +1 -1
  69. package/dist/interface/assets/Metrics-cvbQzChA.js +9 -0
  70. package/dist/interface/assets/OAuthDeviceFlow-3ZC2QCAs.js +1 -0
  71. package/dist/interface/assets/Plugin-DjQd3Y9J.js +1 -0
  72. package/dist/interface/assets/{PluginConsole-D2SUwFDo.js → PluginConsole-BaUkghQD.js} +2 -2
  73. package/dist/interface/assets/PluginDetail-Ofj1hk2q.js +2 -0
  74. package/dist/interface/assets/{PluginSchema-U4q4c9ak.js → PluginSchema-f-ER7hlx.js} +1 -1
  75. package/dist/interface/assets/PluginSearch-Ce3S1HDv.js +1 -0
  76. package/dist/interface/assets/PluginSearch-D5eQsj5p.js +2 -0
  77. package/dist/interface/assets/{PluginUpdateProgress-DWcs6NlJ.js → PluginUpdateProgress-BfYNLvVX.js} +1 -1
  78. package/dist/interface/assets/Plugins-DtDN9z0k.js +1 -0
  79. package/dist/interface/assets/Recordings-CQGnTZFt.js +1 -0
  80. package/dist/interface/assets/SensorEdit-BZtiJyoI.js +1 -0
  81. package/dist/interface/assets/{SensorHistory-B16b4-Um.js → SensorHistory-BFkT3teu.js} +1 -1
  82. package/dist/interface/assets/{Sensors-BsLHVGqk.css → Sensors-CaKl4PQY.css} +1 -1
  83. package/dist/interface/assets/Sensors-DSR-AUqb.js +2 -0
  84. package/dist/interface/assets/{Settings-BOd4EPix.js → Settings-DV3JZFjc.js} +1 -1
  85. package/dist/interface/assets/SettingsAccount-Cd5JPsv2.js +1 -0
  86. package/dist/interface/assets/SettingsAccount-D4ib7Asi.js +1 -0
  87. package/dist/interface/assets/SettingsAppearance-BYsQmdyo.js +1 -0
  88. package/dist/interface/assets/{SettingsAppearance-DZGa_aiI.js → SettingsAppearance-CC6StMAi.js} +1 -1
  89. package/dist/interface/assets/{SettingsBackup-DyblUiF8.js → SettingsBackup-BcVFCbhB.js} +1 -1
  90. package/dist/interface/assets/{SettingsList-DM0yAFkS.js → SettingsList-04HiM3OT.js} +1 -1
  91. package/dist/interface/assets/SettingsMqtt-XaJdsYPn.js +1 -0
  92. package/dist/interface/assets/SettingsNotifications-CUoYMHwr.js +1 -0
  93. package/dist/interface/assets/{SettingsPermissions-w2ptf4wy.js → SettingsPermissions-gFDNSlTh.js} +1 -1
  94. package/dist/interface/assets/SettingsRecordings-Bw64UZWe.js +1 -0
  95. package/dist/interface/assets/SettingsRemote-BnFW-uT-.js +2 -0
  96. package/dist/interface/assets/{SettingsSystem-BsXkYsRC.js → SettingsSystem-Cdjg5GNY.js} +2 -2
  97. package/dist/interface/assets/{SettingsUsers-BSsmo6T0.js → SettingsUsers-DphPL78H.js} +1 -1
  98. package/dist/interface/assets/{Terminal-cU-8dVL_.js → Terminal-CrNjqzTs.js} +2 -2
  99. package/dist/interface/assets/{Updates-dw0MwgsN.js → Updates-V5B9LSD-.js} +1 -1
  100. package/dist/interface/assets/{VariableInput-JSpyezJa.js → VariableInput-n0TxKRqq.js} +1 -1
  101. package/dist/interface/assets/{VariableSuggestions-DZbWgsck.js → VariableSuggestions-C4LmaCAo.js} +1 -1
  102. package/dist/interface/assets/{VersionsHandler-C_mzsgfj.js → VersionsHandler-BPocJcb0.js} +2 -2
  103. package/dist/interface/assets/{VirtualSensorCreate-3mJ8c6Tl.js → VirtualSensorCreate-BPvbrzGS.js} +1 -1
  104. package/dist/interface/assets/Workers-DEvQNzUi.js +2 -0
  105. package/dist/interface/assets/{lightbulb-outline-BtraGBwO.js → alert-outline-DtiCgufF.js} +1 -1
  106. package/dist/interface/assets/{api-COPnjVh2.js → api-BXmkXIE8.js} +1 -1
  107. package/dist/interface/assets/api-DO5wBndX.css +2 -0
  108. package/dist/interface/assets/api-x8zXlvtm.js +4 -0
  109. package/dist/interface/assets/{auth-owqLfbdn.js → auth-BKJnreuu.js} +1 -1
  110. package/dist/interface/assets/{automations-Bql07EFx.js → automations-CVuIXlAQ.js} +1 -1
  111. package/dist/interface/assets/cameraSources-C3cl6FVD.js +1 -0
  112. package/dist/interface/assets/cloudHandoff-BZvvihwX.js +1 -0
  113. package/dist/interface/assets/{config-soN-D-nC.js → config-Sw94rZxF.js} +1 -1
  114. package/dist/interface/assets/{flowSchema-BFZ6n5Su.js → flowSchema-BOrDqdeG.js} +1 -1
  115. package/dist/interface/assets/{intercomService-Bjn0OsVT.js → intercomService-CfCIMUlA.js} +1 -1
  116. package/dist/interface/assets/main-Jl93jEZK.js +3 -0
  117. package/dist/interface/assets/{main-BF8Mg561.css → main-Qqk3RyYP.css} +1 -1
  118. package/dist/interface/assets/{mqtt-CMdU36uB.js → mqtt-BaCMJJk_.js} +1 -1
  119. package/dist/interface/assets/nodeDefinitions-a8iyp3yk.js +1 -0
  120. package/dist/interface/assets/{notifications-C_CbT9aA.js → notifications-l-x8vA4D.js} +1 -1
  121. package/dist/interface/assets/{plugins-CGDE1O2F.js → plugins-GA9v-eQx.js} +1 -1
  122. package/dist/interface/assets/{rooms-BnJo8QbU.js → rooms-DX7PBdpP.js} +1 -1
  123. package/dist/interface/assets/sensorIcons-BTgouEmX.js +1 -0
  124. package/dist/interface/assets/{sensors-Bshdwbki.js → sensors-LJkBCaMk.js} +1 -1
  125. package/dist/interface/assets/{server-CaRDiFTF.js → server-dOx3q8o1.js} +1 -1
  126. package/dist/interface/assets/theme-DgrclY58.js +1 -0
  127. package/dist/interface/assets/types-CSWXRySW.js +1 -0
  128. package/dist/interface/assets/{types-Dwu7_YVv.js → types-D19FOdYo.js} +1 -1
  129. package/dist/interface/assets/types-Yq0FH8fa.js +1 -0
  130. package/dist/interface/assets/ungrouped-B_u9a5wm.js +1 -0
  131. package/dist/interface/assets/{ungrouped-uv64nr5n.css → ungrouped-DTYy_Pud.css} +1 -1
  132. package/dist/interface/assets/{updates-DelnBMM3.js → updates-BVN6uGXy.js} +1 -1
  133. package/dist/interface/assets/{useAppVersion-DeQeb6UF.js → useAppVersion-BUDIkitU.js} +1 -1
  134. package/dist/interface/assets/useBackupRestore-CnSZNCC8.js +1 -0
  135. package/dist/interface/assets/{useCameraOptions-DgMpN00_.js → useCameraOptions-Cgb4eV2d.js} +1 -1
  136. package/dist/interface/assets/{useLogsSocket-BKPqNCOv.js → useLogsSocket-CGKtL049.js} +1 -1
  137. package/dist/interface/assets/{useNavLayout-BJhl8UVM.js → useNavLayout-Dcngcb73.js} +1 -1
  138. package/dist/interface/assets/{usePermissions-Eyt2t6_8.js → usePermissions-zJF4LCPm.js} +1 -1
  139. package/dist/interface/assets/{usePluginUpdates-wfckuNy_.js → usePluginUpdates-DP--lRxm.js} +1 -1
  140. package/dist/interface/assets/{usePushRegistration-jcfB8ujf.js → usePushRegistration-BhPBp28J.js} +1 -1
  141. package/dist/interface/assets/{useServerRestart-XnqHaTb7.js → useServerRestart-BpCDYbPH.js} +1 -1
  142. package/dist/interface/assets/{useStreamStatus-8bE5h_fQ.js → useStreamStatus-BoVMk6KT.js} +1 -1
  143. package/dist/interface/assets/{useTabSwipe-DxZfseQO.js → useTabSwipe--t-Qqa31.js} +1 -1
  144. package/dist/interface/assets/{useUpdateChannel-CjxdE3h1.js → useUpdateChannel-DAuhU-__.js} +1 -1
  145. package/dist/interface/assets/{useUpdatesSocket-DFt7_yr8.js → useUpdatesSocket-C-j3b3tU.js} +1 -1
  146. package/dist/interface/assets/{useUserOptions-DStio0f5.js → useUserOptions-CcLVC73O.js} +1 -1
  147. package/dist/interface/assets/vendor-cameraui-phsC2Mmi.js +2326 -0
  148. package/dist/interface/assets/vendor-core-C0ZWoGJD.js +1 -0
  149. package/dist/interface/assets/{vendor-primevue-DXXRO7Z5.js → vendor-primevue-nPess0JU.js} +76 -76
  150. package/dist/interface/assets/vendor-zod-CJ7LAMqQ.js +99 -0
  151. package/dist/interface/ha/404-PedrGUiq.js +60 -0
  152. package/dist/interface/ha/About-l5fkBqG7.js +55 -0
  153. package/dist/interface/ha/Automation-CaSlGjT4.js +2015 -0
  154. package/dist/interface/ha/AutomationImport-BNavtjDq.js +206 -0
  155. package/dist/interface/ha/AutomationStore-BVSW8TVt.js +335 -0
  156. package/dist/interface/ha/AutomationStoreDetail-DHZwlpz0.js +122 -0
  157. package/dist/interface/ha/Automations-CZ2jvH6d.js +437 -0
  158. package/dist/interface/ha/Camera-CggUrrPm.js +625 -0
  159. package/dist/interface/ha/CameraConsole-DpzF48TF.js +52 -0
  160. package/dist/interface/ha/Cameras-K-kQF5tG.js +1970 -0
  161. package/dist/interface/ha/Camview-zJVP7JwZ.js +1337 -0
  162. package/dist/interface/ha/CertificateUpload-DbBQ87OT.js +117 -0
  163. package/dist/interface/ha/Config-Bsud2DYI.js +356 -0
  164. package/dist/interface/ha/ConfigActionCameraControl-Czkfw_NO.js +152 -0
  165. package/dist/interface/ha/ConfigActionDelay-BHug57u7.js +61 -0
  166. package/dist/interface/ha/ConfigActionHttp-LfbxbfgG.js +134 -0
  167. package/dist/interface/ha/ConfigActionImageInput-Ce2GJzCm.js +171 -0
  168. package/dist/interface/ha/ConfigActionMqtt-KmCGcNZb.js +81 -0
  169. package/dist/interface/ha/ConfigActionNotification-DUMY_3IT.js +199 -0
  170. package/dist/interface/ha/ConfigActionNotificationControl-B9Z2i5WR.js +111 -0
  171. package/dist/interface/ha/ConfigActionOutput-CX-ZQjcs.js +98 -0
  172. package/dist/interface/ha/ConfigActionPlugin-y5PuPwdk.js +172 -0
  173. package/dist/interface/ha/ConfigActionSensor-CC39Rpxi.js +139 -0
  174. package/dist/interface/ha/ConfigActionSnapshot-CWyhx6rk.js +48 -0
  175. package/dist/interface/ha/ConfigActionVariable-BNRLCthd.js +88 -0
  176. package/dist/interface/ha/ConfigConditionIfElse-BayS5_Dr.js +124 -0
  177. package/dist/interface/ha/ConfigConditionSensorState-DLXNqL-R.js +192 -0
  178. package/dist/interface/ha/ConfigConditionSwitch-BBesQgWi.js +128 -0
  179. package/dist/interface/ha/ConfigConditionTime-aD8mk2aa.js +95 -0
  180. package/dist/interface/ha/ConfigSensorValueInput-5JzesEuD.js +169 -0
  181. package/dist/interface/ha/ConfigTriggerDetection--BcjPuyh.js +241 -0
  182. package/dist/interface/ha/ConfigTriggerGeofence-BZi5a2Yv.js +4896 -0
  183. package/dist/interface/ha/ConfigTriggerManual-ConxhgNx.js +14 -0
  184. package/dist/interface/ha/ConfigTriggerMqtt-B6C9injX.js +134 -0
  185. package/dist/interface/ha/ConfigTriggerSchedule-Vv5iNKL3.js +72 -0
  186. package/dist/interface/ha/ConfigTriggerSensor-beixHfSD.js +73 -0
  187. package/dist/interface/ha/ConfigTriggerSystem-BHDpn485.js +188 -0
  188. package/dist/interface/ha/ConfigTriggerWebhook-D9cuCU_p.js +94 -0
  189. package/dist/interface/ha/Console-CbQnrt6X.js +348 -0
  190. package/dist/interface/ha/CuiAutomationRunsDialog-CckgCRNS.js +130 -0
  191. package/dist/interface/ha/CuiBottomSheet-juhGdTsO.js +270 -0
  192. package/dist/interface/ha/CuiCameraRecordings-CLzZiXhk.js +552 -0
  193. package/dist/interface/ha/CuiCameraShares-Dzx1jZGE.js +121 -0
  194. package/dist/interface/ha/CuiCameraTable-ug0ik9N-.js +153 -0
  195. package/dist/interface/ha/CuiChartTable-7EnAA-WG.js +6784 -0
  196. package/dist/interface/ha/CuiConsole-DOnyBSL7.js +244 -0
  197. package/dist/interface/ha/CuiDataTable-Cx9GBqsV.js +8725 -0
  198. package/dist/interface/ha/CuiList-C45psxFZ.js +57 -0
  199. package/dist/interface/ha/CuiMarkdownContent-D7sCtnNQ.js +4716 -0
  200. package/dist/interface/ha/CuiPluginCard-ChLIfOms.js +769 -0
  201. package/dist/interface/ha/CuiPluginOAuthButton-B6vPOEx2.js +105 -0
  202. package/dist/interface/ha/CuiPluginTrustBadge-BvPV93D0.js +123 -0
  203. package/dist/interface/ha/CuiQRCode-Djr3z54t.js +86 -0
  204. package/dist/interface/ha/CuiSchema-dl7TXv-k.js +963 -0
  205. package/dist/interface/ha/CuiTopNavbarItem-BXoda5eM.js +141 -0
  206. package/dist/interface/ha/Faces-DnqWMGWW.js +1281 -0
  207. package/dist/interface/ha/FirstSteps-CFawb017.js +251 -0
  208. package/dist/interface/ha/Floorplan-Mv-Ootly.js +3677 -0
  209. package/dist/interface/ha/Instances-DJjZ3btI.js +680 -0
  210. package/dist/interface/ha/Logs-CLFhW1xq.js +418 -0
  211. package/dist/interface/ha/Menu-D7QTRqMJ.js +161 -0
  212. package/dist/interface/ha/Metrics-CCvFtezL.js +1330 -0
  213. package/dist/interface/ha/OAuthDeviceFlow-4YupTNsK.js +112 -0
  214. package/dist/interface/ha/Plugin-BHU0yhBa.js +1404 -0
  215. package/dist/interface/ha/PluginConsole-CNrLuFQM.js +56 -0
  216. package/dist/interface/ha/PluginDetail-Bm3X-xN4.js +230 -0
  217. package/dist/interface/ha/PluginSearch-C0be8cYD.js +475 -0
  218. package/dist/interface/ha/PluginUpdateProgress-DVvgYMLG.js +34 -0
  219. package/dist/interface/ha/Plugins-R-uz0Se-.js +705 -0
  220. package/dist/interface/ha/Recordings-DAwbihs8.js +1463 -0
  221. package/dist/interface/ha/SensorEdit-BxE1cRLR.js +1460 -0
  222. package/dist/interface/ha/SensorHistory-DUGlH2pU.js +54 -0
  223. package/dist/interface/ha/Sensors-Cax5RlPH.js +1358 -0
  224. package/dist/interface/ha/Settings-DKtlCoyz.js +218 -0
  225. package/dist/interface/ha/SettingsAccount-2e_Vjpev.js +970 -0
  226. package/dist/interface/ha/SettingsAppearance-DCm60FhX.js +220 -0
  227. package/dist/interface/ha/SettingsBackup-CiM_nNWt.js +556 -0
  228. package/dist/interface/ha/SettingsList-D4D3cmLo.js +40 -0
  229. package/dist/interface/ha/SettingsMqtt-CID4L0PD.js +526 -0
  230. package/dist/interface/ha/SettingsNotifications-DGJkhm8T.js +529 -0
  231. package/dist/interface/ha/SettingsPermissions-Cd0rtgli.js +84 -0
  232. package/dist/interface/ha/SettingsRecordings-pR4L0wgy.js +151 -0
  233. package/dist/interface/ha/SettingsRemote-CYg-LSQK.js +1810 -0
  234. package/dist/interface/ha/SettingsSystem-BeYJN1Ut.js +376 -0
  235. package/dist/interface/ha/SettingsUsers-F4CZggSR.js +379 -0
  236. package/dist/interface/ha/Terminal-iQahUx9P.js +631 -0
  237. package/dist/interface/ha/Updates-ClQ77p-o.js +356 -0
  238. package/dist/interface/ha/VariableInput-BOHBmNff.js +52 -0
  239. package/dist/interface/ha/VariableSuggestions-BE06z6SW.js +201 -0
  240. package/dist/interface/ha/VersionsHandler-Cx9u0oj8.js +211 -0
  241. package/dist/interface/ha/VirtualSensorCreate-CvSzLo4N.js +101 -0
  242. package/dist/interface/ha/Workers-CEJtdSu-.js +765 -0
  243. package/dist/interface/ha/accordion-BT2wHwK8.js +577 -0
  244. package/dist/interface/ha/account-B1xL2wxD.js +19 -0
  245. package/dist/interface/ha/ace-Dh61T4RV.js +13238 -0
  246. package/dist/interface/ha/ace.config-HyzcNHkM.js +1429 -0
  247. package/dist/interface/ha/alert-circle-CLRn5GAd.js +19 -0
  248. package/dist/interface/ha/alert-outline-CGTMAqXf.js +75 -0
  249. package/dist/interface/ha/api-BmNBy1ay.js +29 -0
  250. package/dist/interface/ha/api-CWJkvtnM.js +60866 -0
  251. package/dist/interface/ha/arrow-left-DkvcResi.js +19 -0
  252. package/dist/interface/ha/auth-X6tkVYJs.js +271 -0
  253. package/dist/interface/ha/autocomplete-L_jK3s3m.js +1373 -0
  254. package/dist/interface/ha/automationBlueprint-D1TiCF7R.js +249 -0
  255. package/dist/interface/ha/back-filled-Cxzg5vQg.js +20 -0
  256. package/dist/interface/ha/base-D_LAf3cS.js +26 -0
  257. package/dist/interface/ha/base-c1lsE5TW.js +125 -0
  258. package/dist/interface/ha/bell-ring-xrXdzNHW.js +19 -0
  259. package/dist/interface/ha/brain-DyOOk3m3.js +19 -0
  260. package/dist/interface/ha/browser-Bxx7joo_.js +1227 -0
  261. package/dist/interface/ha/browserconfig.xml +11 -0
  262. package/dist/interface/ha/button-BlYuI0Q7.js +406 -0
  263. package/dist/interface/ha/cameraui-cards.js +190 -0
  264. package/dist/interface/ha/cards-CNOyNWMA.js +13316 -0
  265. package/dist/interface/ha/cctv-Bz6BH0ns.js +19 -0
  266. package/dist/interface/ha/check-circle-D_wDxrLs.js +19 -0
  267. package/dist/interface/ha/chevron-down-P5MtUhJO.js +19 -0
  268. package/dist/interface/ha/chip-DxGABeun.js +149 -0
  269. package/dist/interface/ha/clock-outline-JxApewmA.js +19 -0
  270. package/dist/interface/ha/close-Eq3txTBS.js +19 -0
  271. package/dist/interface/ha/close-circle-C2nTtN_-.js +19 -0
  272. package/dist/interface/ha/config-E4Jkelkr.js +116 -0
  273. package/dist/interface/ha/content-copy-DpPXKtKE.js +19 -0
  274. package/dist/interface/ha/copy-C48Ur26H.js +22 -0
  275. package/dist/interface/ha/datepicker-BuvKhBWJ.js +3236 -0
  276. package/dist/interface/ha/definitions-E-sY7Cxg.js +23 -0
  277. package/dist/interface/ha/delete-D-m8mqly.js +19 -0
  278. package/dist/interface/ha/dist-B7lgvbyI.js +279 -0
  279. package/dist/interface/ha/dist-Ca9_5rzq.js +3457 -0
  280. package/dist/interface/ha/divider-jkWvVbPJ.js +110 -0
  281. package/dist/interface/ha/download-Cnr7IQKX.js +19 -0
  282. package/dist/interface/ha/esm-1sIZN4t7.js +6 -0
  283. package/dist/interface/ha/esm-6hnPZcZr.js +15 -0
  284. package/dist/interface/ha/esm-B72ViJ7F.js +5 -0
  285. package/dist/interface/ha/esm-BGlkcEes.js +156 -0
  286. package/dist/interface/ha/esm-BKPZuThK.js +5 -0
  287. package/dist/interface/ha/esm-BMx7MsZ_.js +15 -0
  288. package/dist/interface/ha/esm-CChFtwcx.js +21 -0
  289. package/dist/interface/ha/esm-CMTmAdHP.js +5 -0
  290. package/dist/interface/ha/esm-CkoEL9YX.js +7 -0
  291. package/dist/interface/ha/esm-CvxDASXR.js +23 -0
  292. package/dist/interface/ha/esm-Demxl4zQ.js +5 -0
  293. package/dist/interface/ha/esm-DiBhi9zp.js +5 -0
  294. package/dist/interface/ha/esm-XFPB9fYb.js +15 -0
  295. package/dist/interface/ha/eventLabels-B4C1_4vT.js +42 -0
  296. package/dist/interface/ha/eye-off-AdumIw0H.js +33 -0
  297. package/dist/interface/ha/eye-off-outline-DO3xfiua.js +19 -0
  298. package/dist/interface/ha/fonts/InterVariable.woff2 +0 -0
  299. package/dist/interface/ha/history-BoZc8mgf.js +19 -0
  300. package/dist/interface/ha/home-am0tRTsk.js +19 -0
  301. package/dist/interface/ha/information-outline-DIdNxPCN.js +19 -0
  302. package/dist/interface/ha/inputicon-6-vaPLbw.js +324 -0
  303. package/dist/interface/ha/inputnumber-B1Buq8Nc.js +1033 -0
  304. package/dist/interface/ha/inputtext-DGIESrd0.js +257 -0
  305. package/dist/interface/ha/intercomService-jB2mTgsn.js +1406 -0
  306. package/dist/interface/ha/message-C8U_kMBA.js +244 -0
  307. package/dist/interface/ha/minus-DKa9TXat.js +19 -0
  308. package/dist/interface/ha/minus-QyTgaT70.js +46 -0
  309. package/dist/interface/ha/mqtt-BmDCmG9h.js +56 -0
  310. package/dist/interface/ha/multiselect-BbgV_fPx.js +1492 -0
  311. package/dist/interface/ha/native-BaNeloQn.js +35 -0
  312. package/dist/interface/ha/native-C8PbNqsJ.js +29 -0
  313. package/dist/interface/ha/notifications-B51yvrGL.js +159 -0
  314. package/dist/interface/ha/og-share.png +0 -0
  315. package/dist/interface/ha/pencil-outline-BqfTDXIh.js +19 -0
  316. package/dist/interface/ha/pinia-3D39Do4a.js +6934 -0
  317. package/dist/interface/ha/platformLabels-C3d1PLg-.js +27 -0
  318. package/dist/interface/ha/plugin-DAGqBiG_.js +38 -0
  319. package/dist/interface/ha/plugins-dkWbXWVM.js +592 -0
  320. package/dist/interface/ha/plus-CNdrByQb.js +46 -0
  321. package/dist/interface/ha/plus-d_caPq5l.js +19 -0
  322. package/dist/interface/ha/progressbar-CIoPoMSe.js +95 -0
  323. package/dist/interface/ha/protocol-BB4jdtUC-K1r3LFCq.js +706 -0
  324. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1136x640.png +0 -0
  325. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1334x750.png +0 -0
  326. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1792x828.png +0 -0
  327. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2048x1536.png +0 -0
  328. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2160x1620.png +0 -0
  329. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2208x1242.png +0 -0
  330. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2224x1668.png +0 -0
  331. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2388x1668.png +0 -0
  332. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2436x1125.png +0 -0
  333. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2532x1170.png +0 -0
  334. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2556x1179.png +0 -0
  335. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2688x1242.png +0 -0
  336. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2732x2048.png +0 -0
  337. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2778x1284.png +0 -0
  338. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2796x1290.png +0 -0
  339. package/dist/interface/ha/pwa/apple-splash-landscape-light-1136x640.png +0 -0
  340. package/dist/interface/ha/pwa/apple-splash-landscape-light-1334x750.png +0 -0
  341. package/dist/interface/ha/pwa/apple-splash-landscape-light-1792x828.png +0 -0
  342. package/dist/interface/ha/pwa/apple-splash-landscape-light-2048x1536.png +0 -0
  343. package/dist/interface/ha/pwa/apple-splash-landscape-light-2160x1620.png +0 -0
  344. package/dist/interface/ha/pwa/apple-splash-landscape-light-2208x1242.png +0 -0
  345. package/dist/interface/ha/pwa/apple-splash-landscape-light-2224x1668.png +0 -0
  346. package/dist/interface/ha/pwa/apple-splash-landscape-light-2388x1668.png +0 -0
  347. package/dist/interface/ha/pwa/apple-splash-landscape-light-2436x1125.png +0 -0
  348. package/dist/interface/ha/pwa/apple-splash-landscape-light-2532x1170.png +0 -0
  349. package/dist/interface/ha/pwa/apple-splash-landscape-light-2556x1179.png +0 -0
  350. package/dist/interface/ha/pwa/apple-splash-landscape-light-2688x1242.png +0 -0
  351. package/dist/interface/ha/pwa/apple-splash-landscape-light-2732x2048.png +0 -0
  352. package/dist/interface/ha/pwa/apple-splash-landscape-light-2778x1284.png +0 -0
  353. package/dist/interface/ha/pwa/apple-splash-landscape-light-2796x1290.png +0 -0
  354. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1125x2436.png +0 -0
  355. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1170x2532.png +0 -0
  356. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1179x2556.png +0 -0
  357. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1242x2208.png +0 -0
  358. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1242x2688.png +0 -0
  359. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1284x2778.png +0 -0
  360. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1290x2796.png +0 -0
  361. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1536x2048.png +0 -0
  362. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1620x2160.png +0 -0
  363. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1668x2224.png +0 -0
  364. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1668x2388.png +0 -0
  365. package/dist/interface/ha/pwa/apple-splash-portrait-dark-2048x2732.png +0 -0
  366. package/dist/interface/ha/pwa/apple-splash-portrait-dark-640x1136.png +0 -0
  367. package/dist/interface/ha/pwa/apple-splash-portrait-dark-750x1334.png +0 -0
  368. package/dist/interface/ha/pwa/apple-splash-portrait-dark-828x1792.png +0 -0
  369. package/dist/interface/ha/pwa/apple-splash-portrait-light-1125x2436.png +0 -0
  370. package/dist/interface/ha/pwa/apple-splash-portrait-light-1170x2532.png +0 -0
  371. package/dist/interface/ha/pwa/apple-splash-portrait-light-1179x2556.png +0 -0
  372. package/dist/interface/ha/pwa/apple-splash-portrait-light-1242x2208.png +0 -0
  373. package/dist/interface/ha/pwa/apple-splash-portrait-light-1242x2688.png +0 -0
  374. package/dist/interface/ha/pwa/apple-splash-portrait-light-1284x2778.png +0 -0
  375. package/dist/interface/ha/pwa/apple-splash-portrait-light-1290x2796.png +0 -0
  376. package/dist/interface/ha/pwa/apple-splash-portrait-light-1536x2048.png +0 -0
  377. package/dist/interface/ha/pwa/apple-splash-portrait-light-1620x2160.png +0 -0
  378. package/dist/interface/ha/pwa/apple-splash-portrait-light-1668x2224.png +0 -0
  379. package/dist/interface/ha/pwa/apple-splash-portrait-light-1668x2388.png +0 -0
  380. package/dist/interface/ha/pwa/apple-splash-portrait-light-2048x2732.png +0 -0
  381. package/dist/interface/ha/pwa/apple-splash-portrait-light-640x1136.png +0 -0
  382. package/dist/interface/ha/pwa/apple-splash-portrait-light-750x1334.png +0 -0
  383. package/dist/interface/ha/pwa/apple-splash-portrait-light-828x1792.png +0 -0
  384. package/dist/interface/ha/pwa/apple-touch-icon-180x180.png +0 -0
  385. package/dist/interface/ha/pwa/favicon-16.ico +0 -0
  386. package/dist/interface/ha/pwa/favicon-32.ico +0 -0
  387. package/dist/interface/ha/pwa/favicon-48.ico +0 -0
  388. package/dist/interface/ha/pwa/favicon-64.ico +0 -0
  389. package/dist/interface/ha/pwa/logo.svg +1 -0
  390. package/dist/interface/ha/pwa/maskable-icon-1240x600.png +0 -0
  391. package/dist/interface/ha/pwa/maskable-icon-512x512.png +0 -0
  392. package/dist/interface/ha/pwa/maskable-icon-620x300.png +0 -0
  393. package/dist/interface/ha/pwa/pwa-1024x1024.png +0 -0
  394. package/dist/interface/ha/pwa/pwa-120x120.png +0 -0
  395. package/dist/interface/ha/pwa/pwa-144x144.png +0 -0
  396. package/dist/interface/ha/pwa/pwa-152x152.png +0 -0
  397. package/dist/interface/ha/pwa/pwa-167x167.png +0 -0
  398. package/dist/interface/ha/pwa/pwa-180x180.png +0 -0
  399. package/dist/interface/ha/pwa/pwa-192x192.png +0 -0
  400. package/dist/interface/ha/pwa/pwa-24x24.png +0 -0
  401. package/dist/interface/ha/pwa/pwa-300x300.png +0 -0
  402. package/dist/interface/ha/pwa/pwa-36x36.png +0 -0
  403. package/dist/interface/ha/pwa/pwa-48x48.png +0 -0
  404. package/dist/interface/ha/pwa/pwa-50x50.png +0 -0
  405. package/dist/interface/ha/pwa/pwa-64x64.png +0 -0
  406. package/dist/interface/ha/pwa/pwa-72x72.png +0 -0
  407. package/dist/interface/ha/pwa/pwa-88x88.png +0 -0
  408. package/dist/interface/ha/pwa/pwa-96x96.png +0 -0
  409. package/dist/interface/ha/radar-C7lI26j4.js +19 -0
  410. package/dist/interface/ha/refresh-BIhepekY.js +19 -0
  411. package/dist/interface/ha/ring-resize-VS4MSeBv.js +16 -0
  412. package/dist/interface/ha/ripple-BilzxWfY.js +2928 -0
  413. package/dist/interface/ha/robots.txt +2 -0
  414. package/dist/interface/ha/rolldown-runtime-CEFd7nDs.js +30 -0
  415. package/dist/interface/ha/rooms-B-FUXQ1p.js +45 -0
  416. package/dist/interface/ha/round-alt-arrow-left-bold-CWEg-ZLF.js +37 -0
  417. package/dist/interface/ha/runtime-core.esm-bundler-D8slQ3BU.js +3295 -0
  418. package/dist/interface/ha/search-CoOsbgeb.js +19 -0
  419. package/dist/interface/ha/select-DjWkRqsI.js +1382 -0
  420. package/dist/interface/ha/server-CKJKoFfg.js +239 -0
  421. package/dist/interface/ha/settings-EKkSQLzv.js +22 -0
  422. package/dist/interface/ha/source-branch-CZwSOrQA.js +19 -0
  423. package/dist/interface/ha/speeddial-Dv9txWte.js +682 -0
  424. package/dist/interface/ha/spinner-D6iUldg9.js +46 -0
  425. package/dist/interface/ha/synapse-CGrlyQDE.js +35 -0
  426. package/dist/interface/ha/tag-CXgC9OZ6.js +95 -0
  427. package/dist/interface/ha/textarea-DvLkfUX7.js +130 -0
  428. package/dist/interface/ha/tooltip-BIrD_hC8.js +277 -0
  429. package/dist/interface/ha/trash-2-C4zSCZfs.js +23 -0
  430. package/dist/interface/ha/trash-can-outline-DCqsCOd2.js +19 -0
  431. package/dist/interface/ha/trash-fill-BPsrwR8X.js +21 -0
  432. package/dist/interface/ha/types-C7MzwoQR.js +28 -0
  433. package/dist/interface/ha/types-J_J0HKlK.js +1032 -0
  434. package/dist/interface/ha/ungrouped-BpaM88Y-.js +1116 -0
  435. package/dist/interface/ha/updates-BdVmkKAa.js +341 -0
  436. package/dist/interface/ha/upload-2xJkVPZE.js +19 -0
  437. package/dist/interface/ha/upload-wQHBRZX_.js +23 -0
  438. package/dist/interface/ha/useAppVersion-DzDaOsKc.js +22 -0
  439. package/dist/interface/ha/useLogsSocket-CWUE-KXV.js +59 -0
  440. package/dist/interface/ha/useNavLayout-BqpyvD2F.js +125 -0
  441. package/dist/interface/ha/usePermissions-BIUeW4ef.js +72 -0
  442. package/dist/interface/ha/useServerRestart-0c4gA1fG.js +23 -0
  443. package/dist/interface/ha/useTabSwipe-C8LdKw23.js +45 -0
  444. package/dist/interface/ha/useUpdateChannel-CHVLthZB.js +22 -0
  445. package/dist/interface/ha/useUpdatesSocket-CaxEs511.js +34 -0
  446. package/dist/interface/ha/useUserOptions-Rk_71WAK.js +15 -0
  447. package/dist/interface/ha/utils-DYtBrGDz.js +7 -0
  448. package/dist/interface/ha/virtualscroller-s_gNqN5p.js +996 -0
  449. package/dist/interface/ha/vue-flow-background-B0Vu4-8M.js +6840 -0
  450. package/dist/interface/ha/vue-i18n-Dcb07o5U.js +2409 -0
  451. package/dist/interface/ha/web-0Kyq65na.js +78 -0
  452. package/dist/interface/ha/web-B7Dt2zZN.js +340 -0
  453. package/dist/interface/ha/web-BNdrPSpb.js +102 -0
  454. package/dist/interface/ha/web-BPBZBCtX.js +8 -0
  455. package/dist/interface/ha/web-BjKL51lK-qwJdIpM1.js +221 -0
  456. package/dist/interface/ha/web-C01i9qI1.js +57 -0
  457. package/dist/interface/ha/web-CH3JeXWa.js +211 -0
  458. package/dist/interface/ha/web-Cpm1-DVe.js +33 -0
  459. package/dist/interface/ha/web-DqRMXrnx.js +31 -0
  460. package/dist/interface/ha/web-DtVT7WYt.js +17 -0
  461. package/dist/interface/ha/web-DxJQZCiR.js +59 -0
  462. package/dist/interface/ha/web-I7Urp4AE.js +46 -0
  463. package/dist/interface/ha/web-aSaPk7kr.js +57 -0
  464. package/dist/interface/ha/web-pMey9p3Y.js +79 -0
  465. package/dist/interface/ha/xterm-B6xA6E5i.js +14833 -0
  466. package/dist/interface/ha/zoom-in-CNVB9H3D.js +41 -0
  467. package/dist/interface/index.html +29 -29
  468. package/dist/interface/sw.js +1 -1
  469. package/dist/server/package.json +8 -8
  470. package/dist/server/requirements.txt +3 -3
  471. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +9 -6
  472. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +2 -2
  473. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +4 -2
  474. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
  475. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +4 -3
  476. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/__init__.py +6 -0
  477. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +17 -6
  478. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +24 -70
  479. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +46 -19
  480. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +2 -0
  481. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +65 -8
  482. package/dist/server/src/api/database/index.d.ts +1 -1
  483. package/dist/server/src/api/database/index.js +4 -32
  484. package/dist/server/src/api/database/index.js.map +1 -1
  485. package/dist/server/src/api/database/migrations/v2-1-18.d.ts +3 -0
  486. package/dist/server/src/api/database/migrations/v2-1-18.js +24 -0
  487. package/dist/server/src/api/database/migrations/v2-1-18.js.map +1 -0
  488. package/dist/server/src/api/database/record-schemas.d.ts +1 -0
  489. package/dist/server/src/api/database/types.d.ts +4 -3
  490. package/dist/server/src/api/schemas/cameras.schema.d.ts +53 -15
  491. package/dist/server/src/api/schemas/cameras.schema.js +5 -1
  492. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  493. package/dist/server/src/api/schemas/users.schema.d.ts +7 -0
  494. package/dist/server/src/api/schemas/users.schema.js +1 -1
  495. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  496. package/dist/server/src/api/services/cameras.service.js +14 -21
  497. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  498. package/dist/server/src/api/services/sensors.service.d.ts +3 -3
  499. package/dist/server/src/api/services/sensors.service.js +3 -24
  500. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  501. package/dist/server/src/api/utils/regex.d.ts +2 -0
  502. package/dist/server/src/api/utils/regex.js +2 -0
  503. package/dist/server/src/api/utils/regex.js.map +1 -1
  504. package/dist/server/src/api/websocket/nsp/sensors.d.ts +3 -1
  505. package/dist/server/src/api/websocket/nsp/sensors.js +13 -3
  506. package/dist/server/src/api/websocket/nsp/sensors.js.map +1 -1
  507. package/dist/server/src/camera/decoder/debug/detection-record.d.ts +3 -1
  508. package/dist/server/src/camera/decoder/debug/detection-record.js +6 -2
  509. package/dist/server/src/camera/decoder/debug/detection-record.js.map +1 -1
  510. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +2 -0
  511. package/dist/server/src/camera/decoder/detection-coordinator.js +44 -25
  512. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  513. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +3 -1
  514. package/dist/server/src/camera/decoder/detection-pipeline.js +3 -22
  515. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  516. package/dist/server/src/camera/decoder/event-manager.d.ts +4 -3
  517. package/dist/server/src/camera/decoder/event-manager.js +17 -5
  518. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  519. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +3 -0
  520. package/dist/server/src/camera/decoder/event-thumbnailer.js +13 -8
  521. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  522. package/dist/server/src/camera/decoder/event-trace.d.ts +58 -0
  523. package/dist/server/src/camera/decoder/event-trace.js +118 -0
  524. package/dist/server/src/camera/decoder/event-trace.js.map +1 -0
  525. package/dist/server/src/camera/decoder/nvr-sink.d.ts +2 -0
  526. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  527. package/dist/server/src/camera/decoder/reconnect-backoff.js +1 -1
  528. package/dist/server/src/camera/decoder/reconnect-backoff.js.map +1 -1
  529. package/dist/server/src/camera/decoder/sources/analysis-source.d.ts +1 -0
  530. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +7 -1
  531. package/dist/server/src/camera/decoder/sources/buffered-source.js +27 -15
  532. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  533. package/dist/server/src/camera/decoder/sources/frame-handle.d.ts +2 -1
  534. package/dist/server/src/camera/decoder/sources/frame-handle.js +5 -3
  535. package/dist/server/src/camera/decoder/sources/frame-handle.js.map +1 -1
  536. package/dist/server/src/camera/decoder/sources/frame-source.d.ts +1 -0
  537. package/dist/server/src/camera/decoder/sources/frame-source.js +7 -2
  538. package/dist/server/src/camera/decoder/sources/frame-source.js.map +1 -1
  539. package/dist/server/src/camera/decoder/sources/rtp-index.d.ts +9 -0
  540. package/dist/server/src/camera/decoder/sources/rtp-index.js +24 -0
  541. package/dist/server/src/camera/decoder/sources/rtp-index.js.map +1 -0
  542. package/dist/server/src/camera/decoder/worker.js +1 -0
  543. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  544. package/dist/server/src/go2rtc/types.d.ts +1 -1
  545. package/dist/server/src/go2rtc/types.js +1 -1
  546. package/dist/server/src/go2rtc/types.js.map +1 -1
  547. package/dist/server/src/plugins/runtime/node/child.js +1 -0
  548. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  549. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +3 -0
  550. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  551. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.d.ts +2 -5
  552. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +95 -24
  553. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  554. package/dist/server/src/plugins/runtime/python/child.py +1 -0
  555. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +9 -0
  556. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -1
  557. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +185 -88
  558. package/dist/server/src/plugins/runtime/python/typings.py +18 -0
  559. package/dist/server/src/rpc/interfaces/sensor.d.ts +19 -4
  560. package/dist/server/src/sensors/discovery.d.ts +1 -1
  561. package/dist/server/src/sensors/discovery.js +10 -19
  562. package/dist/server/src/sensors/discovery.js.map +1 -1
  563. package/dist/server/src/sensors/registry.d.ts +6 -2
  564. package/dist/server/src/sensors/registry.js +75 -6
  565. package/dist/server/src/sensors/registry.js.map +1 -1
  566. package/dist/server/src/utils/camera.d.ts +12 -2
  567. package/dist/server/src/utils/camera.js +27 -1
  568. package/dist/server/src/utils/camera.js.map +1 -1
  569. package/dist/server/src/workers/pairing.js +17 -8
  570. package/dist/server/src/workers/pairing.js.map +1 -1
  571. package/package.json +8 -8
  572. package/dist/interface/assets/Automation-4HPAjq1i.js +0 -3
  573. package/dist/interface/assets/AutomationStoreDetail-C2ntfGP-.js +0 -2
  574. package/dist/interface/assets/Automations-CUUq9dxs.js +0 -2
  575. package/dist/interface/assets/Camera-DmrRrgqQ.js +0 -2
  576. package/dist/interface/assets/Cameras-B-aQUuPk.js +0 -652
  577. package/dist/interface/assets/Camview-B-W5jpCR.js +0 -1
  578. package/dist/interface/assets/ConfigActionNotification-Bq28CjsJ.js +0 -1
  579. package/dist/interface/assets/ConfigConditionSwitch-DYAlj5no.js +0 -1
  580. package/dist/interface/assets/ConfigTriggerGeofence-ClKyzb-x.js +0 -1
  581. package/dist/interface/assets/Console-ctbGFtCH.js +0 -1
  582. package/dist/interface/assets/CuiBottomSheet-Bo1wUyiN.js +0 -1
  583. package/dist/interface/assets/CuiCameraPipCard-BEAE44of.js +0 -1
  584. package/dist/interface/assets/CuiCameraRecordings-BzbwSK8-.css +0 -1
  585. package/dist/interface/assets/CuiCameraRecordings-C1evIMhc.js +0 -1
  586. package/dist/interface/assets/CuiCameraTable-BAjQ8h5H.js +0 -1
  587. package/dist/interface/assets/CuiLightControl-9OhT9YYt.js +0 -1
  588. package/dist/interface/assets/CuiPluginCard-DQgVasi7.js +0 -2
  589. package/dist/interface/assets/CuiSchema-juKEra_J.js +0 -1
  590. package/dist/interface/assets/Faces-Ce3mKYc7.js +0 -1
  591. package/dist/interface/assets/FirstSteps-BBLzX2bl.js +0 -1
  592. package/dist/interface/assets/Floorplan-B7BVj65t.js +0 -1
  593. package/dist/interface/assets/Instances-4VxGT2fm.js +0 -1
  594. package/dist/interface/assets/Metrics-DudHV8Ov.js +0 -9
  595. package/dist/interface/assets/OAuthDeviceFlow-Z3Cesvs9.js +0 -1
  596. package/dist/interface/assets/Plugin-DwadariU.js +0 -1
  597. package/dist/interface/assets/PluginDetail-C_XghvQz.js +0 -2
  598. package/dist/interface/assets/PluginSearch-11dsxfvW.js +0 -1
  599. package/dist/interface/assets/PluginSearch-DgQOryM2.js +0 -2
  600. package/dist/interface/assets/Plugins-QheVcYZB.js +0 -1
  601. package/dist/interface/assets/Recordings-DwPnYsd6.js +0 -1
  602. package/dist/interface/assets/SensorEdit-C9Ejdxaz.js +0 -1
  603. package/dist/interface/assets/Sensors-D4tY50d4.js +0 -2
  604. package/dist/interface/assets/SettingsAccount-DMvvar8D.js +0 -1
  605. package/dist/interface/assets/SettingsAccount-DYCCnjWY.js +0 -1
  606. package/dist/interface/assets/SettingsAppearance-vLBhLEag.js +0 -1
  607. package/dist/interface/assets/SettingsMqtt-Cj9ywnP2.js +0 -1
  608. package/dist/interface/assets/SettingsNotifications-flx3W4Uo.js +0 -1
  609. package/dist/interface/assets/SettingsRecordings-D3b6y2SX.js +0 -1
  610. package/dist/interface/assets/SettingsRemote-o01wgKPR.js +0 -2
  611. package/dist/interface/assets/Workers-CdaYj6Ap.js +0 -2
  612. package/dist/interface/assets/alert-outline-KxFvd3i6.js +0 -1
  613. package/dist/interface/assets/api-2VPaKkqc.js +0 -2
  614. package/dist/interface/assets/api-CEbDxsSY.css +0 -2
  615. package/dist/interface/assets/cameras.schema-CnSdfqqj.js +0 -1
  616. package/dist/interface/assets/cloudHandoff-B1z5dyPD.js +0 -1
  617. package/dist/interface/assets/main-BfL5CDS8.js +0 -3
  618. package/dist/interface/assets/nodeDefinitions-D6zhuw60.js +0 -1
  619. package/dist/interface/assets/sensorIcons-FPxm3pDg.js +0 -1
  620. package/dist/interface/assets/theme-CRQoJiuY.js +0 -1
  621. package/dist/interface/assets/types-BHgaZSm2.js +0 -1
  622. package/dist/interface/assets/types-CQpPteyx.js +0 -1
  623. package/dist/interface/assets/ungrouped-BbOtmmDD.js +0 -1
  624. package/dist/interface/assets/useBackupRestore-CT1PYJDW.js +0 -1
  625. package/dist/interface/assets/vendor-cameraui-ZyqPntQ7.js +0 -2326
  626. package/dist/interface/assets/vendor-core-DN-bpg68.js +0 -1
  627. package/dist/interface/assets/vendor-zod-B0ZFM2Pr.js +0 -127
@@ -1 +1 @@
1
- .app-lock-overlay[data-v-baef4383]{z-index:9999;background:var(--ground-background);-webkit-backdrop-filter:blur(20px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cui-restore-overlay[data-v-0c1a6c8d]{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cui-restore-overlay__card[data-v-0c1a6c8d]{background:var(--card-background);border:1px solid var(--border-color);text-align:center;border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px;padding:2rem 1.5rem;display:flex}.fade-enter-active[data-v-0c1a6c8d],.fade-leave-active[data-v-0c1a6c8d]{transition:opacity .3s}.fade-enter-from[data-v-0c1a6c8d],.fade-leave-to[data-v-0c1a6c8d]{opacity:0}.cui-push-sync-indicator[data-v-335a3ce0]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-push-sync-indicator__content[data-v-335a3ce0]{align-items:center;gap:.5rem;display:flex}.cui-push-sync-indicator__spinner[data-v-335a3ce0]{width:20px!important;height:20px!important}.cui-push-sync-indicator__icon[data-v-335a3ce0]{width:20px;height:20px;color:var(--text-color)}.cui-push-sync-indicator__text[data-v-335a3ce0]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-push-sync-indicator__button[data-v-335a3ce0]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-335a3ce0],.fade-leave-active[data-v-335a3ce0]{transition:opacity .3s}.fade-enter-from[data-v-335a3ce0],.fade-leave-to[data-v-335a3ce0]{opacity:0}.cui-updates-indicator[data-v-e87759b0]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-updates-indicator__content[data-v-e87759b0]{align-items:center;gap:.5rem;display:flex}.cui-updates-indicator__text[data-v-e87759b0]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.fade-enter-active[data-v-e87759b0],.fade-leave-active[data-v-e87759b0]{transition:opacity .3s}.fade-enter-from[data-v-e87759b0],.fade-leave-to[data-v-e87759b0]{opacity:0}.cui-update-indicator[data-v-8ce1000d]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-update-indicator__content[data-v-8ce1000d]{align-items:center;gap:.5rem;display:flex}.cui-update-indicator__spinner[data-v-8ce1000d]{width:20px!important;height:20px!important}.cui-update-indicator__icon[data-v-8ce1000d]{width:20px;height:20px;color:var(--text-color)}.cui-update-indicator__text[data-v-8ce1000d]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-update-indicator__button[data-v-8ce1000d]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-8ce1000d],.fade-leave-active[data-v-8ce1000d]{transition:opacity .3s}.fade-enter-from[data-v-8ce1000d],.fade-leave-to[data-v-8ce1000d]{opacity:0}.cui-connection-indicator[data-v-b51a08be]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-connection-indicator__content[data-v-b51a08be]{align-items:center;gap:.5rem;display:flex}.cui-connection-indicator__text[data-v-b51a08be]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-connection-indicator__button[data-v-b51a08be]{margin-left:.5rem}.fade-enter-active[data-v-b51a08be],.fade-leave-active[data-v-b51a08be]{transition:opacity .3s}.fade-enter-from[data-v-b51a08be],.fade-leave-to[data-v-b51a08be]{opacity:0}.close-button[data-v-d1e31a06],.minify-button[data-v-d1e31a06],.expand-button[data-v-d1e31a06],.disabled-button[data-v-d1e31a06]{-webkit-app-region:no-drag;border-radius:20px;width:12px;height:12px;transition:all .2s ease-in-out}.close-button[data-v-d1e31a06]:hover,.minify-button[data-v-d1e31a06]:hover,.expand-button[data-v-d1e31a06]:hover,.disabled-button[data-v-d1e31a06]:hover{cursor:default}.close-button[data-v-d1e31a06]{background-color:#ff5954;border:0 solid #df302a}.close-button[data-v-d1e31a06]:active{background-color:#d63f3a;border:0 solid #c12e26}.minify-button[data-v-d1e31a06]{background-color:#fdbd30;border:0 solid #c18b17}.minify-button[data-v-d1e31a06]:active{background-color:#c18b17;border:0 solid #a27613}.expand-button[data-v-d1e31a06]{background-color:#00ca3b;border:0 solid #02a934}.expand-button[data-v-d1e31a06]:active{background-color:#02a934;border:0 solid #028b2b}.disabled-button[data-v-d1e31a06]{background-color:#3d3d3d;border:0 solid #282828}.navitem-active[data-v-9e0c467b]{background:var(--navitem-active-color,var(--p-button-text-primary-active-background));border-color:#0000;border-top:1px solid var(--navitem-active-color,var(--p-button-outlined-danger-hover-background))}.navbar-group-enter-active[data-v-a82da88e],.navbar-group-leave-active[data-v-a82da88e]{transition:all .2s;overflow:hidden}.navbar-group-enter-from[data-v-a82da88e],.navbar-group-leave-to[data-v-a82da88e]{opacity:0;max-height:0}.navbar-group-enter-to[data-v-a82da88e],.navbar-group-leave-from[data-v-a82da88e]{opacity:1;max-height:400px}.nav-edit-move[data-v-a82da88e],.nav-edit-enter-active[data-v-a82da88e],.nav-edit-leave-active[data-v-a82da88e]{transition:transform .25s,opacity .2s}.nav-edit-enter-from[data-v-a82da88e],.nav-edit-leave-to[data-v-a82da88e]{opacity:0}.nav-edit-leave-active[data-v-a82da88e]{width:100%;position:absolute}.cui-bottombar[data-v-b0d768aa]:before{content:"";background:linear-gradient(#0000000d,#0000);height:1px;position:absolute;top:-1px;left:0;right:0}.notification-menu{left:auto!important;right:calc(env(safe-area-inset-right,0px) + .5rem)!important;top:calc(env(safe-area-inset-top,0px) + 3.3rem)!important}.cui-topbar[data-v-ede899aa]{background:var(--topbar-background);border-bottom:1px solid var(--border-color)}.playground-container[data-v-f0c36a78]{z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;flex-shrink:0;justify-content:center;position:relative}@media (width>=800px){.playground-container[data-v-f0c36a78]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-f0c36a78]{position:relative}.playground-container .playground:hover .handle[data-v-f0c36a78]{opacity:1}.playground-container .playground.customizing[data-v-f0c36a78]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-f0c36a78]{opacity:1}.playground-container .playground .custom-notice[data-v-f0c36a78]{pointer-events:none;opacity:0;background:#fff0;justify-content:center;align-items:center;transition:background .25s;display:flex;position:absolute;inset:0 0 1rem}.playground-container .playground .custom-notice div[data-v-f0c36a78]{text-align:center;opacity:1;background:#ffffffe6;border-radius:2px;width:100%;margin:0 2rem;padding:1rem;transition:opacity .25s;box-shadow:0 1px 2px #100a0926}.playground-container .playground .custom-notice div .touchy[data-v-f0c36a78]:after{content:"Click"}.playground-container .playground .sandbox[data-v-f0c36a78]{touch-action:none;width:100%;height:100%;position:relative;inset:0}.playground-container .playground .sandbox .shadowboard[data-v-f0c36a78]{z-index:11;pointer-events:none;opacity:0;background:#df2a4c4d 50%/cover;transition:opacity .375s;position:absolute;inset:10px}.playground-container .playground .sandbox .shadowboard.on[data-v-f0c36a78]{opacity:0}.handles[data-v-f0c36a78]{z-index:10;position:absolute;inset:0}.handles .clipboard[data-v-f0c36a78]{z-index:1;position:absolute;inset:0}.handles .clipboard .polygon-container[data-v-f0c36a78]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-f0c36a78]{stroke-width:2px}.handles .clipboard .polygon-container path.dash[data-v-f0c36a78]{stroke-dasharray:5 5}.handles .delete-point[data-v-f0c36a78],.handles .handle[data-v-f0c36a78]{z-index:2;width:20px;height:20px;position:absolute}.handles .handle[data-v-f0c36a78]{opacity:.8;border-radius:50%;transition:opacity .25s;box-shadow:inset 0 0 0 10px #fff,0 0 0 2px #000000a6}.handles .handle.is-dragging[data-v-f0c36a78],.handles .handle.is-pointer-down[data-v-f0c36a78]{z-index:100;cursor:none;transition:box-shadow;box-shadow:inset 0 0 0 10px #d0d0d0,0 0 0 2px #000000a6}.handles .handle.active[data-v-f0c36a78]{opacity:1;outline:2px solid var(--primary-500);outline-offset:2px}.handles .handle.draggable[data-v-f0c36a78]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-f0c36a78]{opacity:1;transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;transform:scale3d(.9,.9,.9)}.handles .handle[data-v-f0c36a78]:after{content:"";display:block;position:absolute;inset:-8px}.handles .handle .delete-point[data-v-f0c36a78]{transform-origin:0;cursor:pointer;opacity:.75;clip-path:polygon(25% 0,100% 1%,100% 100%,25% 100%,0 50%);background:#d3d0c9;border-radius:3px;width:25px;padding-left:5px;transition:transform .25s,opacity .25s;position:absolute;top:0;left:22px;transform:scale3d(0,0,0)}.handles .handle .delete-point[data-v-f0c36a78]:after{content:"";clip-path:polygon(20% 10%,10% 20%,40% 50%,10% 80%,20% 90%,50% 60%,80% 90%,90% 80%,60% 50%,90% 20%,80% 10%,50% 40%);background:#100a09;display:block;position:absolute;inset:4px 4px 4px 9px}.cui-detection[data-v-4bdc871b]{border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cui-detection--detected[data-v-4bdc871b]{border-color:#22c55e4d}.cui-detection--disabled[data-v-4bdc871b]{opacity:.6}.cui-detection__header[data-v-4bdc871b]{align-items:center;gap:.5rem;display:flex}.cui-detection__icon[data-v-4bdc871b]{justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.cui-detection__icon-svg[data-v-4bdc871b]{width:1.5rem;height:1.5rem;color:var(--text-secondary-color);transition:color .2s}.cui-detection__icon--detected .cui-detection__icon-svg[data-v-4bdc871b]{color:#22c55e}.cui-detection__info[data-v-4bdc871b]{flex-direction:column;flex:1;gap:0;display:flex}.cui-detection__label[data-v-4bdc871b]{color:var(--text-color);font-size:.875rem;font-weight:500}.cui-detection__status[data-v-4bdc871b]{color:var(--text-secondary-color);font-size:.75rem;font-weight:500}.cui-detection__status--detected[data-v-4bdc871b]{color:#22c55e}.cui-detection__indicator[data-v-4bdc871b]{background-color:var(--surface-300);border-radius:50%;width:.5rem;height:.5rem;transition:all .2s}.cui-detection__indicator--detected[data-v-4bdc871b]{background-color:#22c55e;animation:1.5s ease-in-out infinite pulse-indicator-4bdc871b;box-shadow:0 0 6px #22c55e99}@keyframes pulse-indicator-4bdc871b{0%,to{opacity:1}50%{opacity:.5}}.cui-detection__detections[data-v-4bdc871b]{flex-wrap:wrap;gap:.25rem;padding-top:.5rem;display:flex}.cui-detection__detection-tag[data-v-4bdc871b]{color:#22c55e;text-transform:capitalize;background:#22c55e26;border-radius:1rem;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.cui-detection--small[data-v-4bdc871b]{gap:.375rem;padding:.5rem}.cui-detection--small .cui-detection__icon[data-v-4bdc871b]{width:1.25rem;height:1.25rem}.cui-detection--small .cui-detection__icon-svg[data-v-4bdc871b]{width:1.125rem;height:1.125rem}.cui-detection--small .cui-detection__label[data-v-4bdc871b]{font-size:.75rem}.cui-detection--small .cui-detection__status[data-v-4bdc871b]{font-size:.625rem}.cui-detection--small .cui-detection__indicator[data-v-4bdc871b]{width:.375rem;height:.375rem}.cui-detection--small .cui-detection__detection-tag[data-v-4bdc871b]{padding:.0625rem .375rem;font-size:.5rem}.cui-detection--large[data-v-4bdc871b]{gap:.75rem;padding:1rem}.cui-detection--large .cui-detection__icon[data-v-4bdc871b]{width:2.25rem;height:2.25rem}.cui-detection--large .cui-detection__icon-svg[data-v-4bdc871b]{width:2rem;height:2rem}.cui-detection--large .cui-detection__label[data-v-4bdc871b]{font-size:1rem}.cui-detection--large .cui-detection__status[data-v-4bdc871b]{font-size:.875rem}.cui-detection--large .cui-detection__indicator[data-v-4bdc871b]{width:.625rem;height:.625rem}.cui-detection--large .cui-detection__detection-tag[data-v-4bdc871b]{padding:.1875rem .625rem;font-size:.75rem}.overview-container[data-v-f34b01a5]{flex-direction:column;display:flex}.overview-section[data-v-f34b01a5]{border-bottom:1px solid var(--surface-border);padding:1rem}.overview-section[data-v-f34b01a5]:last-child{border-bottom:none}.overview-section-title[data-v-f34b01a5]{text-transform:uppercase;color:var(--text-secondary-color);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}[data-v-f34b01a5] .p-datatable-tbody>tr>td{height:50px}.no-sensors[data-v-f34b01a5]{text-align:center;color:var(--text-secondary-color);padding:1.5rem;font-size:.875rem}.drawer-header[data-v-94cafb3a]{background:var(--p-drawer-background)}.loader[data-v-839ba1ea]{background:var(--ground-background);width:100dvw;min-width:100dvw;max-width:100dvw;height:100dvh;min-height:100dvh;max-height:100dvh}div[data-v-839ba1ea] .cameraLens{transform-origin:35% 55%;animation:.8s cubic-bezier(.47,1.84,.21,.8) forwards lensMove-839ba1ea,.8s ease-in-out .4s forwards lensRotate-839ba1ea,.6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards lensMoveBack-839ba1ea}div[data-v-839ba1ea] .cameraLetter{transform-origin:50%;animation:.4s cubic-bezier(.47,1.84,.21,.8) forwards letterScale-839ba1ea,.4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards letterScaleBack-839ba1ea}@keyframes letterScale-839ba1ea{0%{transform:scale(1)}to{transform:scale(.8)}}@keyframes letterScaleBack-839ba1ea{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes lensMove-839ba1ea{0%{transform:translateY(0)}to{transform:translateY(-40px)}}@keyframes lensMoveBack-839ba1ea{0%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes lensRotate-839ba1ea{0%{transform:translateY(-40px)rotate(0)}to{transform:translateY(-40px)rotate(-360deg)}}.fixed-bg[data-v-a40ed066]{top:calc(0px - env(safe-area-inset-top,0px) - 10px);left:calc(0px - env(safe-area-inset-left,0px) - 10px);right:calc(0px - env(safe-area-inset-right,0px) - 10px);bottom:calc(0px - env(safe-area-inset-bottom,0px) - 10px);z-index:0;position:fixed}
1
+ .app-lock-overlay[data-v-baef4383]{z-index:9999;background:var(--ground-background);-webkit-backdrop-filter:blur(20px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cui-restore-overlay[data-v-0c1a6c8d]{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cui-restore-overlay__card[data-v-0c1a6c8d]{background:var(--card-background);border:1px solid var(--border-color);text-align:center;border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px;padding:2rem 1.5rem;display:flex}.fade-enter-active[data-v-0c1a6c8d],.fade-leave-active[data-v-0c1a6c8d]{transition:opacity .3s}.fade-enter-from[data-v-0c1a6c8d],.fade-leave-to[data-v-0c1a6c8d]{opacity:0}.cui-push-sync-indicator[data-v-335a3ce0]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-push-sync-indicator__content[data-v-335a3ce0]{align-items:center;gap:.5rem;display:flex}.cui-push-sync-indicator__spinner[data-v-335a3ce0]{width:20px!important;height:20px!important}.cui-push-sync-indicator__icon[data-v-335a3ce0]{width:20px;height:20px;color:var(--text-color)}.cui-push-sync-indicator__text[data-v-335a3ce0]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-push-sync-indicator__button[data-v-335a3ce0]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-335a3ce0],.fade-leave-active[data-v-335a3ce0]{transition:opacity .3s}.fade-enter-from[data-v-335a3ce0],.fade-leave-to[data-v-335a3ce0]{opacity:0}.cui-updates-indicator[data-v-e87759b0]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-updates-indicator__content[data-v-e87759b0]{align-items:center;gap:.5rem;display:flex}.cui-updates-indicator__text[data-v-e87759b0]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.fade-enter-active[data-v-e87759b0],.fade-leave-active[data-v-e87759b0]{transition:opacity .3s}.fade-enter-from[data-v-e87759b0],.fade-leave-to[data-v-e87759b0]{opacity:0}.cui-update-indicator[data-v-8ce1000d]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-update-indicator__content[data-v-8ce1000d]{align-items:center;gap:.5rem;display:flex}.cui-update-indicator__spinner[data-v-8ce1000d]{width:20px!important;height:20px!important}.cui-update-indicator__icon[data-v-8ce1000d]{width:20px;height:20px;color:var(--text-color)}.cui-update-indicator__text[data-v-8ce1000d]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-update-indicator__button[data-v-8ce1000d]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-8ce1000d],.fade-leave-active[data-v-8ce1000d]{transition:opacity .3s}.fade-enter-from[data-v-8ce1000d],.fade-leave-to[data-v-8ce1000d]{opacity:0}.cui-connection-indicator[data-v-b51a08be]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-connection-indicator__content[data-v-b51a08be]{align-items:center;gap:.5rem;display:flex}.cui-connection-indicator__text[data-v-b51a08be]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-connection-indicator__button[data-v-b51a08be]{margin-left:.5rem}.fade-enter-active[data-v-b51a08be],.fade-leave-active[data-v-b51a08be]{transition:opacity .3s}.fade-enter-from[data-v-b51a08be],.fade-leave-to[data-v-b51a08be]{opacity:0}.close-button[data-v-d1e31a06],.minify-button[data-v-d1e31a06],.expand-button[data-v-d1e31a06],.disabled-button[data-v-d1e31a06]{-webkit-app-region:no-drag;border-radius:20px;width:12px;height:12px;transition:all .2s ease-in-out}.close-button[data-v-d1e31a06]:hover,.minify-button[data-v-d1e31a06]:hover,.expand-button[data-v-d1e31a06]:hover,.disabled-button[data-v-d1e31a06]:hover{cursor:default}.close-button[data-v-d1e31a06]{background-color:#ff5954;border:0 solid #df302a}.close-button[data-v-d1e31a06]:active{background-color:#d63f3a;border:0 solid #c12e26}.minify-button[data-v-d1e31a06]{background-color:#fdbd30;border:0 solid #c18b17}.minify-button[data-v-d1e31a06]:active{background-color:#c18b17;border:0 solid #a27613}.expand-button[data-v-d1e31a06]{background-color:#00ca3b;border:0 solid #02a934}.expand-button[data-v-d1e31a06]:active{background-color:#02a934;border:0 solid #028b2b}.disabled-button[data-v-d1e31a06]{background-color:#3d3d3d;border:0 solid #282828}.navitem-active[data-v-9e0c467b]{background:var(--navitem-active-color,var(--p-button-text-primary-active-background));border-color:#0000;border-top:1px solid var(--navitem-active-color,var(--p-button-outlined-danger-hover-background))}.navbar-group-enter-active[data-v-a82da88e],.navbar-group-leave-active[data-v-a82da88e]{transition:all .2s;overflow:hidden}.navbar-group-enter-from[data-v-a82da88e],.navbar-group-leave-to[data-v-a82da88e]{opacity:0;max-height:0}.navbar-group-enter-to[data-v-a82da88e],.navbar-group-leave-from[data-v-a82da88e]{opacity:1;max-height:400px}.nav-edit-move[data-v-a82da88e],.nav-edit-enter-active[data-v-a82da88e],.nav-edit-leave-active[data-v-a82da88e]{transition:transform .25s,opacity .2s}.nav-edit-enter-from[data-v-a82da88e],.nav-edit-leave-to[data-v-a82da88e]{opacity:0}.nav-edit-leave-active[data-v-a82da88e]{width:100%;position:absolute}.cui-bottombar[data-v-b0d768aa]:before{content:"";background:linear-gradient(#0000000d,#0000);height:1px;position:absolute;top:-1px;left:0;right:0}.notification-menu{left:auto!important;right:calc(env(safe-area-inset-right,0px) + .5rem)!important;top:calc(env(safe-area-inset-top,0px) + 3.3rem)!important}.cui-topbar[data-v-ede899aa]{background:var(--topbar-background);border-bottom:1px solid var(--border-color)}.playground-container[data-v-4c58523d]{z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;flex-shrink:0;justify-content:center;position:relative}@media (width>=800px){.playground-container[data-v-4c58523d]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-4c58523d]{position:relative}.playground-container .playground:hover .handle[data-v-4c58523d]{opacity:1}.playground-container .playground.customizing[data-v-4c58523d]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-4c58523d]{opacity:1}.playground-container .playground .custom-notice[data-v-4c58523d]{pointer-events:none;opacity:0;background:#fff0;justify-content:center;align-items:center;transition:background .25s;display:flex;position:absolute;inset:0 0 1rem}.playground-container .playground .custom-notice div[data-v-4c58523d]{text-align:center;opacity:1;background:#ffffffe6;border-radius:2px;width:100%;margin:0 2rem;padding:1rem;transition:opacity .25s;box-shadow:0 1px 2px #100a0926}.playground-container .playground .custom-notice div .touchy[data-v-4c58523d]:after{content:"Click"}.playground-container .playground .sandbox[data-v-4c58523d]{touch-action:none;width:100%;height:100%;position:relative;inset:0}.playground-container .playground .sandbox .shadowboard[data-v-4c58523d]{z-index:11;pointer-events:none;opacity:0;background:#df2a4c4d 50%/cover;transition:opacity .375s;position:absolute;inset:10px}.playground-container .playground .sandbox .shadowboard.on[data-v-4c58523d]{opacity:0}.handles[data-v-4c58523d]{z-index:10;position:absolute;inset:0}.handles .clipboard[data-v-4c58523d]{z-index:1;position:absolute;inset:0}.handles .clipboard .polygon-container[data-v-4c58523d]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-4c58523d]{stroke-width:2px}.handles .clipboard .polygon-container path.dash[data-v-4c58523d]{stroke-dasharray:5 5}.handles .delete-point[data-v-4c58523d],.handles .handle[data-v-4c58523d]{z-index:2;width:20px;height:20px;position:absolute}.handles .handle[data-v-4c58523d]{opacity:.8;border-radius:50%;transition:opacity .25s;box-shadow:inset 0 0 0 10px #fff,0 0 0 2px #000000a6}.handles .handle.is-dragging[data-v-4c58523d],.handles .handle.is-pointer-down[data-v-4c58523d]{z-index:100;cursor:none;transition:box-shadow;box-shadow:inset 0 0 0 10px #d0d0d0,0 0 0 2px #000000a6}.handles .handle.active[data-v-4c58523d]{opacity:1;outline:2px solid var(--primary-500);outline-offset:2px}.handles .handle.draggable[data-v-4c58523d]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-4c58523d]{opacity:1;transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;transform:scale3d(.9,.9,.9)}.handles .handle[data-v-4c58523d]:after{content:"";display:block;position:absolute;inset:-8px}.handles .handle .delete-point[data-v-4c58523d]{transform-origin:0;cursor:pointer;opacity:.75;clip-path:polygon(25% 0,100% 1%,100% 100%,25% 100%,0 50%);background:#d3d0c9;border-radius:3px;width:25px;padding-left:5px;transition:transform .25s,opacity .25s;position:absolute;top:0;left:22px;transform:scale3d(0,0,0)}.handles .handle .delete-point[data-v-4c58523d]:after{content:"";clip-path:polygon(20% 10%,10% 20%,40% 50%,10% 80%,20% 90%,50% 60%,80% 90%,90% 80%,60% 50%,90% 20%,80% 10%,50% 40%);background:#100a09;display:block;position:absolute;inset:4px 4px 4px 9px}.cui-detection[data-v-4bdc871b]{border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cui-detection--detected[data-v-4bdc871b]{border-color:#22c55e4d}.cui-detection--disabled[data-v-4bdc871b]{opacity:.6}.cui-detection__header[data-v-4bdc871b]{align-items:center;gap:.5rem;display:flex}.cui-detection__icon[data-v-4bdc871b]{justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.cui-detection__icon-svg[data-v-4bdc871b]{width:1.5rem;height:1.5rem;color:var(--text-secondary-color);transition:color .2s}.cui-detection__icon--detected .cui-detection__icon-svg[data-v-4bdc871b]{color:#22c55e}.cui-detection__info[data-v-4bdc871b]{flex-direction:column;flex:1;gap:0;display:flex}.cui-detection__label[data-v-4bdc871b]{color:var(--text-color);font-size:.875rem;font-weight:500}.cui-detection__status[data-v-4bdc871b]{color:var(--text-secondary-color);font-size:.75rem;font-weight:500}.cui-detection__status--detected[data-v-4bdc871b]{color:#22c55e}.cui-detection__indicator[data-v-4bdc871b]{background-color:var(--surface-300);border-radius:50%;width:.5rem;height:.5rem;transition:all .2s}.cui-detection__indicator--detected[data-v-4bdc871b]{background-color:#22c55e;animation:1.5s ease-in-out infinite pulse-indicator-4bdc871b;box-shadow:0 0 6px #22c55e99}@keyframes pulse-indicator-4bdc871b{0%,to{opacity:1}50%{opacity:.5}}.cui-detection__detections[data-v-4bdc871b]{flex-wrap:wrap;gap:.25rem;padding-top:.5rem;display:flex}.cui-detection__detection-tag[data-v-4bdc871b]{color:#22c55e;text-transform:capitalize;background:#22c55e26;border-radius:1rem;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.cui-detection--small[data-v-4bdc871b]{gap:.375rem;padding:.5rem}.cui-detection--small .cui-detection__icon[data-v-4bdc871b]{width:1.25rem;height:1.25rem}.cui-detection--small .cui-detection__icon-svg[data-v-4bdc871b]{width:1.125rem;height:1.125rem}.cui-detection--small .cui-detection__label[data-v-4bdc871b]{font-size:.75rem}.cui-detection--small .cui-detection__status[data-v-4bdc871b]{font-size:.625rem}.cui-detection--small .cui-detection__indicator[data-v-4bdc871b]{width:.375rem;height:.375rem}.cui-detection--small .cui-detection__detection-tag[data-v-4bdc871b]{padding:.0625rem .375rem;font-size:.5rem}.cui-detection--large[data-v-4bdc871b]{gap:.75rem;padding:1rem}.cui-detection--large .cui-detection__icon[data-v-4bdc871b]{width:2.25rem;height:2.25rem}.cui-detection--large .cui-detection__icon-svg[data-v-4bdc871b]{width:2rem;height:2rem}.cui-detection--large .cui-detection__label[data-v-4bdc871b]{font-size:1rem}.cui-detection--large .cui-detection__status[data-v-4bdc871b]{font-size:.875rem}.cui-detection--large .cui-detection__indicator[data-v-4bdc871b]{width:.625rem;height:.625rem}.cui-detection--large .cui-detection__detection-tag[data-v-4bdc871b]{padding:.1875rem .625rem;font-size:.75rem}.overview-container[data-v-f34b01a5]{flex-direction:column;display:flex}.overview-section[data-v-f34b01a5]{border-bottom:1px solid var(--surface-border);padding:1rem}.overview-section[data-v-f34b01a5]:last-child{border-bottom:none}.overview-section-title[data-v-f34b01a5]{text-transform:uppercase;color:var(--text-secondary-color);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}[data-v-f34b01a5] .p-datatable-tbody>tr>td{height:50px}.no-sensors[data-v-f34b01a5]{text-align:center;color:var(--text-secondary-color);padding:1.5rem;font-size:.875rem}.drawer-header[data-v-94cafb3a]{background:var(--p-drawer-background)}.loader[data-v-839ba1ea]{background:var(--ground-background);width:100dvw;min-width:100dvw;max-width:100dvw;height:100dvh;min-height:100dvh;max-height:100dvh}div[data-v-839ba1ea] .cameraLens{transform-origin:35% 55%;animation:.8s cubic-bezier(.47,1.84,.21,.8) forwards lensMove-839ba1ea,.8s ease-in-out .4s forwards lensRotate-839ba1ea,.6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards lensMoveBack-839ba1ea}div[data-v-839ba1ea] .cameraLetter{transform-origin:50%;animation:.4s cubic-bezier(.47,1.84,.21,.8) forwards letterScale-839ba1ea,.4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards letterScaleBack-839ba1ea}@keyframes letterScale-839ba1ea{0%{transform:scale(1)}to{transform:scale(.8)}}@keyframes letterScaleBack-839ba1ea{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes lensMove-839ba1ea{0%{transform:translateY(0)}to{transform:translateY(-40px)}}@keyframes lensMoveBack-839ba1ea{0%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes lensRotate-839ba1ea{0%{transform:translateY(-40px)rotate(0)}to{transform:translateY(-40px)rotate(-360deg)}}.fixed-bg[data-v-a40ed066]{top:calc(0px - env(safe-area-inset-top,0px) - 10px);left:calc(0px - env(safe-area-inset-left,0px) - 10px);right:calc(0px - env(safe-area-inset-right,0px) - 10px);bottom:calc(0px - env(safe-area-inset-bottom,0px) - 10px);z-index:0;position:fixed}
@@ -1 +1 @@
1
- import{Ar as e,Sr as t,xr as n,yr as r}from"./api-2VPaKkqc.js";import{J as i,U as a}from"./vendor-AX0A8AMd.js";async function o({signal:t}){return(await e.get(`/mqtt`,{signal:t})).data}async function s(t){return(await e.patch(`/mqtt`,t)).data}async function c({signal:t}){return(await e.get(`/mqtt/topics`,{signal:t})).data}async function l(t){return(await e.post(`/mqtt/test`,t)).data}var u=class{_queryClient=i();t=t.global.t;toast=n();get queryClient(){return this._queryClient}getMqttInfoQuery(){return r({queryKey:[`mqtt`],queryFn:({signal:e})=>o({signal:e}),staleTime:1e3})}patchMqttInfoMutation(){return a({mutationFn:s,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`mqtt`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.mqtt_updated`),life:3e3})}})}getMqttTopicsQuery(){return r({queryKey:[`mqtt`,`topics`],queryFn:({signal:e})=>c({signal:e}),staleTime:1e4})}testMqttConnectionMutation(){return a({mutationFn:l})}};export{u as t};
1
+ import{Cr as e,Mr as t,wr as n,xr as r}from"./api-x8zXlvtm.js";import{J as i,U as a}from"./vendor-AX0A8AMd.js";async function o({signal:e}){return(await t.get(`/mqtt`,{signal:e})).data}async function s(e){return(await t.patch(`/mqtt`,e)).data}async function c({signal:e}){return(await t.get(`/mqtt/topics`,{signal:e})).data}async function l(e){return(await t.post(`/mqtt/test`,e)).data}var u=class{_queryClient=i();t=n.global.t;toast=e();get queryClient(){return this._queryClient}getMqttInfoQuery(){return r({queryKey:[`mqtt`],queryFn:({signal:e})=>o({signal:e}),staleTime:1e3})}patchMqttInfoMutation(){return a({mutationFn:s,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`mqtt`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.mqtt_updated`),life:3e3})}})}getMqttTopicsQuery(){return r({queryKey:[`mqtt`,`topics`],queryFn:({signal:e})=>c({signal:e}),staleTime:1e4})}testMqttConnectionMutation(){return a({mutationFn:l})}};export{u as t};
@@ -0,0 +1 @@
1
+ import{Mn as e,in as t,rr as n,sn as r}from"./vendor-AX0A8AMd.js";import{a as i,i as a,n as o,r as s}from"./alert-outline-DtiCgufF.js";import{t as c}from"./clock-outline-DwnISu0k.js";import{n as l,t as u}from"./webhook-CPF2kUgU.js";import{t as d}from"./source-branch-K7YOvHCE.js";import{t as f}from"./variable-CYzMRxrK.js";var p={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function m(n,i){return e(),r(`svg`,p,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M4.93 4.93A9.97 9.97 0 0 0 2 12c0 2.76 1.12 5.26 2.93 7.07l1.41-1.41A7.94 7.94 0 0 1 4 12c0-2.21.89-4.22 2.34-5.66zm14.14 0l-1.41 1.41A7.96 7.96 0 0 1 20 12c0 2.22-.89 4.22-2.34 5.66l1.41 1.41A9.97 9.97 0 0 0 22 12c0-2.76-1.12-5.26-2.93-7.07M7.76 7.76A5.98 5.98 0 0 0 6 12c0 1.65.67 3.15 1.76 4.24l1.41-1.41A4 4 0 0 1 8 12c0-1.11.45-2.11 1.17-2.83zm8.48 0l-1.41 1.41A4 4 0 0 1 16 12c0 1.11-.45 2.11-1.17 2.83l1.41 1.41A5.98 5.98 0 0 0 18 12c0-1.65-.67-3.15-1.76-4.24M12 10a2 2 0 0 0-2 2a2 2 0 0 0 2 2a2 2 0 0 0 2-2a2 2 0 0 0-2-2`},null,-1)]])}var h=n({name:`mdi-access-point`,render:m}),g={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function _(n,i){return e(),r(`svg`,g,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M22.72 19.5a4.2 4.2 0 0 0 0-1l1.05-.82c.1-.07.12-.18.06-.32l-1-1.72c-.06-.11-.19-.14-.3-.11l-1.25.47c-.28-.17-.53-.34-.84-.46l-.19-1.33A.25.25 0 0 0 20 14h-2c-.12 0-.23.09-.25.21l-.18 1.33c-.32.12-.57.29-.85.46l-1.22-.47c-.13-.03-.27 0-.33.11l-1 1.72c-.06.14-.03.25.06.32l1.06.82c-.02.17-.04.34-.04.5s.02.33.04.5l-1.06.82c-.09.07-.12.21-.06.32l1 1.73c.06.13.2.13.33.13l1.22-.53c.28.2.53.37.85.5l.18 1.32c.02.12.13.21.25.21h2c.13 0 .23-.09.25-.21l.19-1.32c.31-.13.56-.3.84-.5l1.25.53c.11 0 .24 0 .3-.13l1-1.73c.06-.11.04-.25-.06-.32zM19 20.75c-.96 0-1.75-.78-1.75-1.75s.79-1.75 1.75-1.75s1.75.78 1.75 1.75s-.78 1.75-1.75 1.75M12.08 20H3v-1l2-2v-6c0-3.1 2-5.8 5-6.7V4c0-1.1.9-2 2-2s2 .9 2 2v.3c3 .9 5 3.6 5 6.7v1c-.69 0-1.37.11-2 .29V11c0-2.8-2.2-5-5-5s-5 2.2-5 5v7h5.08c-.05.33-.08.66-.08 1s.03.67.08 1m.22 1c.2.6.44 1.17.76 1.69c-.31.19-.67.31-1.06.31c-1.1 0-2-.9-2-2z`},null,-1)]])}var v=n({name:`mdi-bell-cog-outline`,render:_}),y={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function b(n,i){return e(),r(`svg`,y,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M4 4h3l2-2h6l2 2h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m8 3a5 5 0 0 0-5 5a5 5 0 0 0 5 5a5 5 0 0 0 5-5a5 5 0 0 0-5-5m0 2a3 3 0 0 1 3 3a3 3 0 0 1-3 3a3 3 0 0 1-3-3a3 3 0 0 1 3-3`},null,-1)]])}var x=n({name:`mdi-camera`,render:b}),S={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function C(n,i){return e(),r(`svg`,S,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M9 12c0-.81.3-1.5.89-2.11C10.5 9.3 11.19 9 12 9s1.5.3 2.11.89c.59.61.89 1.3.89 2.11s-.3 1.5-.89 2.11c-.61.59-1.3.89-2.11.89s-1.5-.3-2.11-.89C9.3 13.5 9 12.81 9 12M5.53 8.44l1.78 1.78L5.53 12l1.78 1.78l-1.78 1.78L2 12zm2.91 10.03l1.78-1.78L12 18.47l1.78-1.78l1.78 1.78L12 22zm10.03-2.91l-1.78-1.78L18.47 12l-1.78-1.78l1.78-1.78L22 12zM15.56 5.53l-1.78 1.78L12 5.53l-1.78 1.78l-1.78-1.78L12 2z`},null,-1)]])}var w=n({name:`mdi-camera-control`,render:C}),T={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function E(n,i){return e(),r(`svg`,T,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`m23.5 17l-5 5l-3.5-3.5l1.5-1.5l2 2l3.5-3.5zm-10.4 2.9c-.4.1-.7.1-1.1.1c-4.4 0-8-3.6-8-8s3.6-8 8-8s8 3.6 8 8c0 .4 0 .7-.1 1.1c.7.1 1.3.3 1.9.6c.1-.6.2-1.1.2-1.7c0-5.5-4.5-10-10-10S2 6.5 2 12s4.5 10 10 10c.6 0 1.2-.1 1.7-.2c-.3-.5-.5-1.2-.6-1.9m2.5-5.8l-3.1-1.8V7H11v6l3.5 2.1c.3-.4.7-.7 1.1-1`},null,-1)]])}var D=n({name:`mdi-clock-check-outline`,render:E}),O={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ee(n,i){return e(),r(`svg`,O,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M8 3a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2H3v2h1a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h2v-2H8v-5a2 2 0 0 0-2-2a2 2 0 0 0 2-2V5h2V3m6 0a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1v2h-1a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2h-2v-2h2v-5a2 2 0 0 1 2-2a2 2 0 0 1-2-2V5h-2V3z`},null,-1)]])}var k=n({name:`mdi-code-braces`,render:ee}),A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(n,i){return e(),r(`svg`,A,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M12 1L8 5h3v9h2V5h3m2 18H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h3v2H6v12h12V9h-3V7h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2`},null,-1)]])}var M=n({name:`mdi-export-variant`,render:j}),N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(n,i){return e(),r(`svg`,N,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M7 2v11h3v9l7-12h-4l4-8z`},null,-1)]])}var F=n({name:`mdi-flash`,render:P}),I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(n,i){return e(),r(`svg`,I,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M10 9a1 1 0 0 1 1-1a1 1 0 0 1 1 1v4.47l1.21.13l4.94 2.19c.53.24.85.77.85 1.35v4.36c-.03.82-.68 1.47-1.5 1.5H11c-.38 0-.74-.15-1-.43l-4.9-4.2l.74-.77c.19-.21.46-.32.74-.32h.22L10 19zm1-4a4 4 0 0 1 4 4c0 1.5-.8 2.77-2 3.46v-1.22c.61-.55 1-1.35 1-2.24a3 3 0 0 0-3-3a3 3 0 0 0-3 3c0 .89.39 1.69 1 2.24v1.22C7.8 11.77 7 10.5 7 9a4 4 0 0 1 4-4`},null,-1)]])}var R=n({name:`mdi-gesture-tap`,render:L}),z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(n,i){return e(),r(`svg`,z,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M19 19H5V5h14m0-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-5.04 9.29l-2.75 3.54l-1.96-2.36L6.5 17h11z`},null,-1)]])}var V=n({name:`mdi-image-outline`,render:B}),H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(n,i){return e(),r(`svg`,H,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M22 13.5c0 1.76-1.3 3.22-3 3.46V20a2 2 0 0 1-2 2h-3.8v-.3a2.7 2.7 0 0 0-2.7-2.7c-1.5 0-2.7 1.21-2.7 2.7v.3H4a2 2 0 0 1-2-2v-3.8h.3C3.79 16.2 5 15 5 13.5s-1.21-2.7-2.7-2.7H2V7a2 2 0 0 1 2-2h3.04c.24-1.7 1.7-3 3.46-3s3.22 1.3 3.46 3H17a2 2 0 0 1 2 2v3.04c1.7.24 3 1.7 3 3.46M17 15h1.5a1.5 1.5 0 0 0 1.5-1.5a1.5 1.5 0 0 0-1.5-1.5H17V7h-5V5.5A1.5 1.5 0 0 0 10.5 4A1.5 1.5 0 0 0 9 5.5V7H4v2.12c1.76.68 3 2.38 3 4.38s-1.25 3.7-3 4.38V20h2.12a4.7 4.7 0 0 1 4.38-3c2 0 3.7 1.25 4.38 3H17z`},null,-1)]])}var W=n({name:`mdi-puzzle-outline`,render:U}),G={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function K(n,i){return e(),r(`svg`,G,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M6 2h12v6l-4 4l4 4v6H6v-6l4-4l-4-4zm10 14.5l-4-4l-4 4V20h8zm-4-5l4-4V4H8v3.5zM10 6h4v.75l-2 2l-2-2z`},null,-1)]])}var q=n({name:`mdi-timer-sand`,render:K}),J={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Y(n,i){return e(),r(`svg`,J,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2`},null,-1)]])}var X=n({name:`mdi-web`,render:Y}),Z=[{type:`trigger-detection`,category:`trigger`,labelKey:`components.automation_nodes.trigger_detection`,descriptionKey:`components.automation_nodes.trigger_detection_desc`,icon:F,color:`#22c55e`,defaults:{type:`trigger-detection`,cameraId:``,eventPhase:[`start`],detectionLabels:[],confidenceThreshold:0,audioLabels:[],faceFilter:[],licensePlateFilter:[]}},{type:`trigger-sensor`,category:`trigger`,labelKey:`components.automation_nodes.trigger_sensor`,descriptionKey:`components.automation_nodes.trigger_sensor_desc`,icon:h,color:`#22c55e`,defaults:{type:`trigger-sensor`,sensorId:``,sensorType:``,properties:[]}},{type:`trigger-schedule`,category:`trigger`,labelKey:`components.automation_nodes.trigger_schedule`,descriptionKey:`components.automation_nodes.trigger_schedule_desc`,icon:c,color:`#22c55e`,defaults:{type:`trigger-schedule`,cron:`0 * * * *`}},{type:`trigger-webhook`,category:`trigger`,labelKey:`components.automation_nodes.trigger_webhook`,descriptionKey:`components.automation_nodes.trigger_webhook_desc`,icon:u,color:`#22c55e`,defaults:{type:`trigger-webhook`,webhookId:``}},{type:`trigger-mqtt`,category:`trigger`,labelKey:`components.automation_nodes.trigger_mqtt`,descriptionKey:`components.automation_nodes.trigger_mqtt_desc`,icon:s,color:`#22c55e`,defaults:{type:`trigger-mqtt`,topic:``,matchMode:`any`,payloadFilter:``,jsonPath:``,jsonValue:``}},{type:`trigger-system`,category:`trigger`,labelKey:`components.automation_nodes.trigger_system`,descriptionKey:`components.automation_nodes.trigger_system_desc`,icon:a,color:`#22c55e`,defaults:{type:`trigger-system`,category:`system`,eventType:``,targetId:``}},{type:`trigger-manual`,category:`trigger`,labelKey:`components.automation_nodes.trigger_manual`,descriptionKey:`components.automation_nodes.trigger_manual_desc`,icon:R,color:`#22c55e`,defaults:{type:`trigger-manual`}},{type:`trigger-geofence`,category:`trigger`,labelKey:`components.automation_nodes.trigger_geofence`,descriptionKey:`components.automation_nodes.trigger_geofence_desc`,icon:l,color:`#22c55e`,defaults:{type:`trigger-geofence`,geofenceId:``,zoneName:``,latitude:0,longitude:0,radius:200,event:`both`,users:[]}},{type:`condition-ifelse`,category:`condition`,labelKey:`components.automation_nodes.condition_ifelse`,descriptionKey:`components.automation_nodes.condition_ifelse_desc`,icon:d,color:`#f59e0b`,defaults:{type:`condition-ifelse`,leftOperand:``,operator:`==`,rightOperand:``}},{type:`condition-switch`,category:`condition`,labelKey:`components.automation_nodes.condition_switch`,descriptionKey:`components.automation_nodes.condition_switch_desc`,icon:k,color:`#f59e0b`,defaults:{type:`condition-switch`,variable:``,cases:[]}},{type:`condition-sensorstate`,category:`condition`,labelKey:`components.automation_nodes.condition_sensorstate`,descriptionKey:`components.automation_nodes.condition_sensorstate_desc`,icon:h,color:`#f59e0b`,defaults:{type:`condition-sensorstate`,sensorId:``,sensorType:``,conditions:[],logic:`AND`}},{type:`condition-time`,category:`condition`,labelKey:`components.automation_nodes.condition_time`,descriptionKey:`components.automation_nodes.condition_time_desc`,icon:D,color:`#f59e0b`,defaults:{type:`condition-time`,startTime:`08:00`,endTime:`18:00`,days:[]}},{type:`action-snapshot`,category:`action`,labelKey:`components.automation_nodes.action_snapshot`,descriptionKey:`components.automation_nodes.action_snapshot_desc`,icon:x,color:`#3b82f6`,defaults:{type:`action-snapshot`,cameraId:``,forceNew:!0},supportsRepeat:!0},{type:`action-sensor`,category:`action`,labelKey:`components.automation_nodes.action_sensor`,descriptionKey:`components.automation_nodes.action_sensor_desc`,icon:o,color:`#3b82f6`,defaults:{type:`action-sensor`,sensorId:``,sensorType:``,properties:[]}},{type:`action-notification`,category:`action`,labelKey:`components.automation_nodes.action_notification`,descriptionKey:`components.automation_nodes.action_notification_desc`,icon:i,color:`#3b82f6`,defaults:{type:`action-notification`,title:``,body:``,severity:`info`,deepLink:``,targets:[]}},{type:`action-notification-control`,category:`action`,labelKey:`components.automation_nodes.action_notification_control`,descriptionKey:`components.automation_nodes.action_notification_control_desc`,icon:v,color:`#3b82f6`,defaults:{type:`action-notification-control`,mode:`disable`,scope:`global`,userId:``,cameraId:``}},{type:`action-http`,category:`action`,labelKey:`components.automation_nodes.action_http`,descriptionKey:`components.automation_nodes.action_http_desc`,icon:X,color:`#3b82f6`,defaults:{type:`action-http`,url:``,method:`POST`,headers:{},body:``},supportsRepeat:!0},{type:`action-mqtt`,category:`action`,labelKey:`components.automation_nodes.action_mqtt`,descriptionKey:`components.automation_nodes.action_mqtt_desc`,icon:s,color:`#3b82f6`,defaults:{type:`action-mqtt`,topic:``,payload:``,retain:!1},supportsRepeat:!0},{type:`action-delay`,category:`action`,labelKey:`components.automation_nodes.action_delay`,descriptionKey:`components.automation_nodes.action_delay_desc`,icon:q,color:`#3b82f6`,defaults:{type:`action-delay`,duration:5,unit:`seconds`}},{type:`action-variable`,category:`action`,labelKey:`components.automation_nodes.action_variable`,descriptionKey:`components.automation_nodes.action_variable_desc`,icon:f,color:`#3b82f6`,defaults:{type:`action-variable`,variableName:``,operator:`=`,value:``}},{type:`action-plugin`,category:`action`,labelKey:`components.automation_nodes.action_plugin`,descriptionKey:`components.automation_nodes.action_plugin_desc`,icon:W,color:`#3b82f6`,defaults:{type:`action-plugin`,pluginName:``,pluginInterface:``,method:``,params:{},config:{}},supportsRepeat:!0},{type:`action-camera-control`,category:`action`,labelKey:`components.automation_nodes.action_camera_control`,descriptionKey:`components.automation_nodes.action_camera_control_desc`,icon:w,color:`#3b82f6`,defaults:{type:`action-camera-control`,cameraId:``,properties:[]}},{type:`action-image-input`,category:`utility`,labelKey:`components.automation_nodes.action_image_input`,descriptionKey:`components.automation_nodes.action_image_input_desc`,icon:V,color:`#8b5cf6`,defaults:{type:`action-image-input`,source:``,variableName:`image`}},{type:`action-output`,category:`utility`,labelKey:`components.automation_nodes.action_output`,descriptionKey:`components.automation_nodes.action_output_desc`,icon:M,color:`#8b5cf6`,defaults:{type:`action-output`,variables:[]}}];function Q(e){return Z.find(t=>t.type===e)}function $(e){return Z.filter(t=>t.category===e)}export{$ as n,Q as t};
@@ -1 +1 @@
1
- import{Ar as e,Sr as t,xr as n,yr as r}from"./api-2VPaKkqc.js";import{J as i,U as a,sr as o}from"./vendor-AX0A8AMd.js";async function s({signal:t}){return(await e.get(`/notifications/settings`,{signal:t})).data}async function c({settings:t}){return(await e.put(`/notifications/settings`,t)).data}async function l({signal:t}){return(await e.get(`/notifications/devices`,{signal:t})).data}async function u({signal:t}){return(await e.get(`/notifications/sources`,{signal:t})).data}async function d({signal:t}){return(await e.get(`/notifications/history`,{signal:t})).data}async function f(){await e.delete(`/notifications/history`)}async function p({deviceId:t}){await e.delete(`/notifications/devices/${encodeURIComponent(t)}`)}async function m(t){return(await e.post(`/notifications/devices`,t)).data}async function h({deviceId:t,patch:n}){return(await e.patch(`/notifications/devices/${encodeURIComponent(t)}`,n)).data}var g=class{_queryClient=i();t=t.global.t;toast=n();queryActivator=o([{name:`getSettingsQuery`,enabled:!0},{name:`listDevicesQuery`,enabled:!0},{name:`listSourcesQuery`,enabled:!0},{name:`getHistoryQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getSettingsQuery(){return r({queryKey:[`notifications`,`settings`],queryFn:({signal:e})=>s({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getSettingsQuery`&&e.enabled)})}setSettingsQuery(){return a({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.saved`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}setSettingsQuerySilent(){return a({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e)}})}listDevicesQuery(e){return r({queryKey:[`notifications`,`devices`],queryFn:({signal:e})=>l({signal:e}),enabled:()=>(e?.()??!0)&&this.queryActivator.value.some(e=>e.name===`listDevicesQuery`&&e.enabled)})}listSourcesQuery(){return r({queryKey:[`notifications`,`sources`],queryFn:({signal:e})=>u({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`listSourcesQuery`&&e.enabled)})}getHistoryQuery(){return r({queryKey:[`notifications`,`history`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getHistoryQuery`&&e.enabled)})}clearHistoryQuery(){return a({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`history`]})}})}revokeDeviceQuery(){return a({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.device_revoked`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}updateDeviceQuery(){return a({mutationFn:h,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as n,g as t};
1
+ import{Cr as e,Mr as t,wr as n,xr as r}from"./api-x8zXlvtm.js";import{J as i,U as a,sr as o}from"./vendor-AX0A8AMd.js";async function s({signal:e}){return(await t.get(`/notifications/settings`,{signal:e})).data}async function c({settings:e}){return(await t.put(`/notifications/settings`,e)).data}async function l({signal:e}){return(await t.get(`/notifications/devices`,{signal:e})).data}async function u({signal:e}){return(await t.get(`/notifications/sources`,{signal:e})).data}async function d({signal:e}){return(await t.get(`/notifications/history`,{signal:e})).data}async function f(){await t.delete(`/notifications/history`)}async function p({deviceId:e}){await t.delete(`/notifications/devices/${encodeURIComponent(e)}`)}async function m(e){return(await t.post(`/notifications/devices`,e)).data}async function h({deviceId:e,patch:n}){return(await t.patch(`/notifications/devices/${encodeURIComponent(e)}`,n)).data}var g=class{_queryClient=i();t=n.global.t;toast=e();queryActivator=o([{name:`getSettingsQuery`,enabled:!0},{name:`listDevicesQuery`,enabled:!0},{name:`listSourcesQuery`,enabled:!0},{name:`getHistoryQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getSettingsQuery(){return r({queryKey:[`notifications`,`settings`],queryFn:({signal:e})=>s({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getSettingsQuery`&&e.enabled)})}setSettingsQuery(){return a({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.saved`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}setSettingsQuerySilent(){return a({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e)}})}listDevicesQuery(e){return r({queryKey:[`notifications`,`devices`],queryFn:({signal:e})=>l({signal:e}),enabled:()=>(e?.()??!0)&&this.queryActivator.value.some(e=>e.name===`listDevicesQuery`&&e.enabled)})}listSourcesQuery(){return r({queryKey:[`notifications`,`sources`],queryFn:({signal:e})=>u({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`listSourcesQuery`&&e.enabled)})}getHistoryQuery(){return r({queryKey:[`notifications`,`history`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getHistoryQuery`&&e.enabled)})}clearHistoryQuery(){return a({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`history`]})}})}revokeDeviceQuery(){return a({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.device_revoked`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}updateDeviceQuery(){return a({mutationFn:h,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as n,g as t};
@@ -1 +1 @@
1
- import{Ar as e,Sr as t,xr as n,yr as r}from"./api-2VPaKkqc.js";import{J as i,U as a,hr as o,sr as s}from"./vendor-AX0A8AMd.js";var c=18e5,l=6e5;async function u({pluginData:t}){return(await e.post(`/plugins`,t,{timeout:c})).data}async function d({plugins:t}){return(await e.post(`/plugins/install`,{plugins:t},{timeout:c})).data}async function f({pluginNames:t}){return(await e.put(`/plugins/enable`,{pluginNames:t})).data}async function p({pluginNames:t}){return(await e.put(`/plugins/disable`,{pluginNames:t})).data}async function m({pluginNames:t,removeStorage:n}){return(await e.delete(`/plugins`,{data:{pluginNames:t},params:n?{removeStorage:!0}:void 0,timeout:l})).data}async function h({pluginName:t,signal:n}){return(await e.get(`/plugins/${t}`,{signal:n})).data}async function g({pluginname:t,signal:n}){return(await e.get(`/plugins/${t}/versions`,{signal:n})).data}async function _({pluginName:t,signal:n}){return(await e.get(`/plugins/${t}/update`,{signal:n})).data}async function v({pluginName:t,signal:n}){return(await e.get(`/plugins/${t}/logo`,{signal:n})).data}async function y({pluginName:t,signal:n}){return(await e.get(`/plugins/${t}/config`,{signal:n})).data}async function b({pluginName:t,signal:n}){return(await e.get(`/plugins/${t}/contract`,{signal:n})).data}async function x({pluginName:t,signal:n}){return(await e.get(`/plugins/${t}/readme`,{signal:n})).data}async function S({pluginName:t,query:n,signal:r}){return(await e.get(`/plugins/${t}/changelog`,{params:n,signal:r})).data}async function C({pluginName:t,query:n,signal:r}){return(await e.get(`/plugins/${t}/compat`,{params:n,signal:r})).data}async function w({pluginName:t,signal:n}){return(await e.get(`/plugins/${t}/interface`,{signal:n})).data}async function T({parameter:t,signal:n}){return(await e.get(`/plugins`,{params:t,signal:n})).data}async function E({parameter:t,signal:n}){return(await e.get(`/plugins/extensions`,{params:t,signal:n})).data}async function D({pluginName:t}){return(await e.delete(`/plugins/${t}/log`)).data}async function O({pluginName:t,signal:n}){return(await e.get(`/plugins/${t}/log/download`,{signal:n})).data}async function k({parameter:t,signal:n}){return(await e.get(`/plugins/progress`,{params:t,signal:n})).data}async function A({query:t,parameter:n,refresh:r,signal:i}){return(await e.get(`/plugins/search`,{params:{...t,...n,...r?{refresh:!0}:{}},signal:i})).data}async function j({pluginName:t}){return(await e.put(`/plugins/${t}/enable`)).data}async function M({pluginName:t,configData:n}){return(await e.patch(`/plugins/${t}/config`,n)).data}async function N({pluginname:t,configData:n}){return(await e.put(`/plugins/${t}/config`,n)).data}async function P({pluginname:t,configData:n}){return(await e.post(`/plugins/${t}/config`,n)).data}async function F({pluginName:t}){return(await e.put(`/plugins/${t}/disable`)).data}async function I({pluginName:t}){return(await e.put(`/plugins/${t}/start`)).data}async function L({pluginName:t}){return(await e.put(`/plugins/${t}/stop`)).data}async function R({pluginName:t}){return(await e.put(`/plugins/${t}/restart`)).data}async function z({pluginName:t,removeStorage:n}){return(await e.delete(`/plugins/${t}`,{params:{removeStorage:n},timeout:l})).data}async function B(){return(await e.delete(`/plugins`,{timeout:l})).data}var V=class{_queryClient=i();t=t.global.t;toast=n();queryActivator=s([{name:`getPluginQuery`,enabled:!0},{name:`getPluginsQuery`,enabled:!0},{name:`getPluginsExtensionsQuery`,enabled:!0},{name:`searchPluginsQuery`,enabled:!0},{name:`getPluginVersionsQuery`,enabled:!0},{name:`getPluginUpdateQuery`,enabled:!0},{name:`getPluginLogoQuery`,enabled:!0},{name:`getPluginConfigQuery`,enabled:!0},{name:`getPluginContractQuery`,enabled:!0},{name:`getPluginReadmeQuery`,enabled:!0},{name:`getPluginInterfaceQuery`,enabled:!0},{name:`getPluginChangelogQuery`,enabled:!0},{name:`getPluginCompatQuery`,enabled:!0},{name:`getPluginsProgressQuery`,enabled:!0},{name:`installPluginQuery`,enabled:!0},{name:`enablePluginQuery`,enabled:!0},{name:`disablePluginQuery`,enabled:!0},{name:`patchPluginConfigQuery`,enabled:!0},{name:`setPluginConfigQuery`,enabled:!0},{name:`submitPluginConfigQuery`,enabled:!0},{name:`startPluginQuery`,enabled:!0},{name:`stopPluginQuery`,enabled:!0},{name:`restartPluginQuery`,enabled:!0},{name:`uninstallPluginQuery`,enabled:!0},{name:`uninstallPluginsQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0}]);get queryClient(){return this._queryClient}installPluginQuery(){return a({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_installed`),life:3e3})}})}getPluginQuery(e){return r({queryKey:[`plugins`,e],queryFn:({signal:t})=>h({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginQuery`&&e.enabled)})}getPluginsQuery(e){return r({queryKey:[`pluginsList`,e],queryFn:({signal:t})=>T({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsQuery`&&e.enabled)})}getPluginsExtensionsQuery(e){return r({queryKey:[`extensionsList`,e],queryFn:({signal:t})=>E({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsExtensionsQuery`&&e.enabled)})}getPluginsProgressQuery(e){return r({queryKey:[`pluginsProgress`,e],queryFn:({signal:t})=>k({parameter:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsProgressQuery`&&e.enabled)})}searchPluginsQuery(e,t,n){return r({queryKey:[`pluginsSearch`,e,t],queryFn:({signal:r})=>A({query:o(e),parameter:o(t),refresh:o(n),signal:r}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`searchPluginsQuery`&&e.enabled)})}getPluginVersionsQuery(e){return r({queryKey:[`plugins`,e,`versions`],queryFn:({signal:t})=>g({pluginname:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginVersionsQuery`&&e.enabled)})}getPluginUpdateQuery(e){return r({queryKey:[`plugins`,e,`update`],queryFn:({signal:t})=>_({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginUpdateQuery`&&e.enabled)})}getPluginLogoQuery(e){return r({queryKey:[`plugins`,e,`logo`],queryFn:({signal:t})=>v({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginLogoQuery`&&e.enabled)})}getPluginConfigQuery(e){return r({queryKey:[`plugins`,e,`config`],queryFn:({signal:t})=>y({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginConfigQuery`&&e.enabled)})}getPluginContractQuery(e){return r({queryKey:[`plugins`,e,`contract`],queryFn:({signal:t})=>b({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginContractQuery`&&e.enabled)})}getPluginReadmeQuery(e){return r({queryKey:[`plugins`,e,`readme`],queryFn:({signal:t})=>x({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginReadmeQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginInterfaceQuery(e){return r({queryKey:[`plugins`,e,`interface`],queryFn:({signal:t})=>w({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginInterfaceQuery`&&e.enabled)})}getPluginChangelogQuery(e,t){return r({queryKey:[`plugins`,e,`changelog`],queryFn:({signal:n})=>S({pluginName:o(e),query:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginCompatQuery(e,t){return r({queryKey:[`plugins`,e,`compat`],queryFn:({signal:n})=>C({pluginName:o(e),query:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginCompatQuery`&&e.enabled)})}patchPluginConfigQuery(){return a({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_config_updated`),life:3e3})}})}startPluginQuery(){return a({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_started`),life:3e3})}})}stopPluginQuery(){return a({mutationFn:L,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_stopped`),life:3e3})}})}restartPluginQuery(){return a({mutationFn:R,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_restarted`),life:3e3})}})}setPluginConfigQuery(){return a({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}submitPluginConfigQuery(){return a({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}enablePluginQuery(){return a({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_enabled`),life:3e3})}})}disablePluginQuery(){return a({mutationFn:F,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_disabled`),life:3e3})}})}uninstallPluginQuery(){return a({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_removed`),life:3e3})}})}uninstallPluginsQuery(){return a({mutationFn:B,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugins_removed`),life:3e3})}})}downloadLogQuery(e){return r({queryKey:[`logs`,e],queryFn:({signal:t})=>O({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return a({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.pluginName],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as a,S as c,d as i,_ as l,p as n,D as o,f as r,O as s,V as t,u};
1
+ import{Cr as e,Mr as t,wr as n,xr as r}from"./api-x8zXlvtm.js";import{J as i,U as a,hr as o,sr as s}from"./vendor-AX0A8AMd.js";var c=18e5,l=6e5;async function u({pluginData:e}){return(await t.post(`/plugins`,e,{timeout:c})).data}async function d({plugins:e}){return(await t.post(`/plugins/install`,{plugins:e},{timeout:c})).data}async function f({pluginNames:e}){return(await t.put(`/plugins/enable`,{pluginNames:e})).data}async function p({pluginNames:e}){return(await t.put(`/plugins/disable`,{pluginNames:e})).data}async function m({pluginNames:e,removeStorage:n}){return(await t.delete(`/plugins`,{data:{pluginNames:e},params:n?{removeStorage:!0}:void 0,timeout:l})).data}async function h({pluginName:e,signal:n}){return(await t.get(`/plugins/${e}`,{signal:n})).data}async function g({pluginname:e,signal:n}){return(await t.get(`/plugins/${e}/versions`,{signal:n})).data}async function _({pluginName:e,signal:n}){return(await t.get(`/plugins/${e}/update`,{signal:n})).data}async function v({pluginName:e,signal:n}){return(await t.get(`/plugins/${e}/logo`,{signal:n})).data}async function y({pluginName:e,signal:n}){return(await t.get(`/plugins/${e}/config`,{signal:n})).data}async function b({pluginName:e,signal:n}){return(await t.get(`/plugins/${e}/contract`,{signal:n})).data}async function x({pluginName:e,signal:n}){return(await t.get(`/plugins/${e}/readme`,{signal:n})).data}async function S({pluginName:e,query:n,signal:r}){return(await t.get(`/plugins/${e}/changelog`,{params:n,signal:r})).data}async function C({pluginName:e,query:n,signal:r}){return(await t.get(`/plugins/${e}/compat`,{params:n,signal:r})).data}async function w({pluginName:e,signal:n}){return(await t.get(`/plugins/${e}/interface`,{signal:n})).data}async function T({parameter:e,signal:n}){return(await t.get(`/plugins`,{params:e,signal:n})).data}async function E({parameter:e,signal:n}){return(await t.get(`/plugins/extensions`,{params:e,signal:n})).data}async function D({pluginName:e}){return(await t.delete(`/plugins/${e}/log`)).data}async function O({pluginName:e,signal:n}){return(await t.get(`/plugins/${e}/log/download`,{signal:n})).data}async function k({parameter:e,signal:n}){return(await t.get(`/plugins/progress`,{params:e,signal:n})).data}async function A({query:e,parameter:n,refresh:r,signal:i}){return(await t.get(`/plugins/search`,{params:{...e,...n,...r?{refresh:!0}:{}},signal:i})).data}async function j({pluginName:e}){return(await t.put(`/plugins/${e}/enable`)).data}async function M({pluginName:e,configData:n}){return(await t.patch(`/plugins/${e}/config`,n)).data}async function N({pluginname:e,configData:n}){return(await t.put(`/plugins/${e}/config`,n)).data}async function P({pluginname:e,configData:n}){return(await t.post(`/plugins/${e}/config`,n)).data}async function F({pluginName:e}){return(await t.put(`/plugins/${e}/disable`)).data}async function I({pluginName:e}){return(await t.put(`/plugins/${e}/start`)).data}async function L({pluginName:e}){return(await t.put(`/plugins/${e}/stop`)).data}async function R({pluginName:e}){return(await t.put(`/plugins/${e}/restart`)).data}async function z({pluginName:e,removeStorage:n}){return(await t.delete(`/plugins/${e}`,{params:{removeStorage:n},timeout:l})).data}async function B(){return(await t.delete(`/plugins`,{timeout:l})).data}var V=class{_queryClient=i();t=n.global.t;toast=e();queryActivator=s([{name:`getPluginQuery`,enabled:!0},{name:`getPluginsQuery`,enabled:!0},{name:`getPluginsExtensionsQuery`,enabled:!0},{name:`searchPluginsQuery`,enabled:!0},{name:`getPluginVersionsQuery`,enabled:!0},{name:`getPluginUpdateQuery`,enabled:!0},{name:`getPluginLogoQuery`,enabled:!0},{name:`getPluginConfigQuery`,enabled:!0},{name:`getPluginContractQuery`,enabled:!0},{name:`getPluginReadmeQuery`,enabled:!0},{name:`getPluginInterfaceQuery`,enabled:!0},{name:`getPluginChangelogQuery`,enabled:!0},{name:`getPluginCompatQuery`,enabled:!0},{name:`getPluginsProgressQuery`,enabled:!0},{name:`installPluginQuery`,enabled:!0},{name:`enablePluginQuery`,enabled:!0},{name:`disablePluginQuery`,enabled:!0},{name:`patchPluginConfigQuery`,enabled:!0},{name:`setPluginConfigQuery`,enabled:!0},{name:`submitPluginConfigQuery`,enabled:!0},{name:`startPluginQuery`,enabled:!0},{name:`stopPluginQuery`,enabled:!0},{name:`restartPluginQuery`,enabled:!0},{name:`uninstallPluginQuery`,enabled:!0},{name:`uninstallPluginsQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0}]);get queryClient(){return this._queryClient}installPluginQuery(){return a({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_installed`),life:3e3})}})}getPluginQuery(e){return r({queryKey:[`plugins`,e],queryFn:({signal:t})=>h({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginQuery`&&e.enabled)})}getPluginsQuery(e){return r({queryKey:[`pluginsList`,e],queryFn:({signal:t})=>T({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsQuery`&&e.enabled)})}getPluginsExtensionsQuery(e){return r({queryKey:[`extensionsList`,e],queryFn:({signal:t})=>E({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsExtensionsQuery`&&e.enabled)})}getPluginsProgressQuery(e){return r({queryKey:[`pluginsProgress`,e],queryFn:({signal:t})=>k({parameter:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsProgressQuery`&&e.enabled)})}searchPluginsQuery(e,t,n){return r({queryKey:[`pluginsSearch`,e,t],queryFn:({signal:r})=>A({query:o(e),parameter:o(t),refresh:o(n),signal:r}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`searchPluginsQuery`&&e.enabled)})}getPluginVersionsQuery(e){return r({queryKey:[`plugins`,e,`versions`],queryFn:({signal:t})=>g({pluginname:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginVersionsQuery`&&e.enabled)})}getPluginUpdateQuery(e){return r({queryKey:[`plugins`,e,`update`],queryFn:({signal:t})=>_({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginUpdateQuery`&&e.enabled)})}getPluginLogoQuery(e){return r({queryKey:[`plugins`,e,`logo`],queryFn:({signal:t})=>v({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginLogoQuery`&&e.enabled)})}getPluginConfigQuery(e){return r({queryKey:[`plugins`,e,`config`],queryFn:({signal:t})=>y({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginConfigQuery`&&e.enabled)})}getPluginContractQuery(e){return r({queryKey:[`plugins`,e,`contract`],queryFn:({signal:t})=>b({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginContractQuery`&&e.enabled)})}getPluginReadmeQuery(e){return r({queryKey:[`plugins`,e,`readme`],queryFn:({signal:t})=>x({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginReadmeQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginInterfaceQuery(e){return r({queryKey:[`plugins`,e,`interface`],queryFn:({signal:t})=>w({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginInterfaceQuery`&&e.enabled)})}getPluginChangelogQuery(e,t){return r({queryKey:[`plugins`,e,`changelog`],queryFn:({signal:n})=>S({pluginName:o(e),query:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginCompatQuery(e,t){return r({queryKey:[`plugins`,e,`compat`],queryFn:({signal:n})=>C({pluginName:o(e),query:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginCompatQuery`&&e.enabled)})}patchPluginConfigQuery(){return a({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_config_updated`),life:3e3})}})}startPluginQuery(){return a({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_started`),life:3e3})}})}stopPluginQuery(){return a({mutationFn:L,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_stopped`),life:3e3})}})}restartPluginQuery(){return a({mutationFn:R,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_restarted`),life:3e3})}})}setPluginConfigQuery(){return a({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}submitPluginConfigQuery(){return a({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}enablePluginQuery(){return a({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_enabled`),life:3e3})}})}disablePluginQuery(){return a({mutationFn:F,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_disabled`),life:3e3})}})}uninstallPluginQuery(){return a({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_removed`),life:3e3})}})}uninstallPluginsQuery(){return a({mutationFn:B,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugins_removed`),life:3e3})}})}downloadLogQuery(e){return r({queryKey:[`logs`,e],queryFn:({signal:t})=>O({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return a({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.pluginName],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as a,S as c,d as i,_ as l,p as n,D as o,f as r,O as s,V as t,u};
@@ -1 +1 @@
1
- import{Ar as e,yr as t}from"./api-2VPaKkqc.js";import{J as n,U as r}from"./vendor-AX0A8AMd.js";async function i({signal:t}={}){return(await e.get(`/rooms`,{signal:t})).data}async function a(t){return(await e.post(`/rooms`,t)).data}async function o(t){await e.delete(`/rooms/${t}`)}var s=class{queryClient=n();getRoomsQuery(){return t({queryKey:[`rooms`],queryFn:({signal:e})=>i({signal:e}),staleTime:1e4})}createRoomMutation(){return r({mutationFn:a,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`rooms`],exact:!0})}})}deleteRoomMutation(){return r({mutationFn:o,onSuccess:async()=>{await Promise.all([this.queryClient.refetchQueries({queryKey:[`rooms`],exact:!0}),this.queryClient.refetchQueries({queryKey:[`cameras`]})])}})}};export{i as n,s as t};
1
+ import{Mr as e,xr as t}from"./api-x8zXlvtm.js";import{J as n,U as r}from"./vendor-AX0A8AMd.js";async function i({signal:t}={}){return(await e.get(`/rooms`,{signal:t})).data}async function a(t){return(await e.post(`/rooms`,t)).data}async function o(t){await e.delete(`/rooms/${t}`)}var s=class{queryClient=n();getRoomsQuery(){return t({queryKey:[`rooms`],queryFn:({signal:e})=>i({signal:e}),staleTime:1e4})}createRoomMutation(){return r({mutationFn:a,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`rooms`],exact:!0})}})}deleteRoomMutation(){return r({mutationFn:o,onSuccess:async()=>{await Promise.all([this.queryClient.refetchQueries({queryKey:[`rooms`],exact:!0}),this.queryClient.refetchQueries({queryKey:[`cameras`]})])}})}};export{i as n,s as t};
@@ -0,0 +1 @@
1
+ import{Ir as e}from"./vendor-cameraui-phsC2Mmi.js";import{$ as t,G as n,Gt as r,J as i,K as a,Q as o,Qt as s,X as c,Y as l,Yn as u,Z as d,q as f,rn as p}from"./api-x8zXlvtm.js";import{Mn as m,in as h,rr as g,sn as _}from"./vendor-AX0A8AMd.js";import{n as v}from"./alert-outline-DtiCgufF.js";import{n as y,t as b}from"./cube-scan-BR5la6Qx.js";var x={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function S(e,t){return m(),_(`svg`,x,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`m22 12l-2 1l-1 1l-1-1l-1 3l-1-3l-1 8l-1-8l-1 2l-1-2l-1 4l-1-4l-1 9l-1-9l-1 6l-1-6l-1 1l-1-1l-2-1l2-1l1-1l1 1l1-6l1 6l1-9l1 9l1-4l1 4l1-2l1 2l1-8l1 8l1-3l1 3l1-1l1 1z`},null,-1)]])}var C=g({name:`mdi-waveform`,render:S}),w={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function T(e,t){return m(),_(`svg`,w,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M16 10H8V6h8m.67-2H15V2H9v2H7.33A1.33 1.33 0 0 0 6 5.33v15.34C6 21.4 6.6 22 7.33 22h9.34A1.33 1.33 0 0 0 18 20.67V5.33C18 4.6 17.4 4 16.67 4`},null,-1)]])}var E=g({name:`mdi-battery-70`,render:T}),D={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function O(e,t){return m(),_(`svg`,D,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6a6 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`},null,-1)]])}var k=g({name:`mdi-brightness-5`,render:O}),A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return m(),_(`svg`,A,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M5 7a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h3v-2H5V9h3V7zm6 0a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zm0 2h2v6h-2zm5 1.5V12h3v1.5h-1.5A1.5 1.5 0 0 0 16 15v3h4.5v-1.5h-3V15H19a1.5 1.5 0 0 0 1.5-1.5V12a1.5 1.5 0 0 0-1.5-1.5z`},null,-1)]])}var M=g({name:`mdi-molecule-co2`,render:j}),N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return m(),_(`svg`,N,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M4 18h9l-2 2H4c-.5 0-1.03-.21-1.41-.59S2 18.5 2 18V8h2zM17.63 4.84C17.27 4.33 16.67 4 16 4H8c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8c.67 0 1.27-.34 1.63-.85L22 10zM16 14H8V6h8l3.55 4Z`},null,-1)]])}var F=g({name:`mdi-label-multiple-outline`,render:P}),I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return m(),_(`svg`,I,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M15.5 9c.7 0 1.29-.24 1.77-.73c.49-.48.73-1.07.73-1.77c0-.67-.24-1.27-.73-1.77c-.48-.5-1.07-.73-1.77-.73c-.67 0-1.27.23-1.77.73S13 5.83 13 6.5c0 .7.23 1.29.73 1.77c.5.49 1.1.73 1.77.73m3.81-.09l3.1 3.09L21 13.41l-3.14-3.1c-.78.47-1.58.69-2.39.69c-1.25 0-2.31-.42-3.17-1.3c-.85-.87-1.3-1.93-1.3-3.2c0-1.23.45-2.3 1.33-3.17C13.2 2.45 14.27 2 15.5 2c1.27 0 2.33.45 3.2 1.33c.88.87 1.3 1.94 1.3 3.17c0 .83-.22 1.63-.69 2.41M16.5 18h-11l2.75-3.5l1.97 2.33l2.72-3.52zm1.5-5l2 2v5c0 .55-.19 1-.59 1.4c-.41.39-.88.6-1.41.6H4c-.55 0-1-.21-1.4-.6c-.39-.4-.6-.85-.6-1.4V6c0-.53.21-1 .6-1.41C3 4.19 3.45 4 4 4h5.5c-.3.64-.47 1.31-.5 2H4v14h14z`},null,-1)]])}var R=g({name:`mdi-image-search-outline`,render:L}),z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return m(),_(`svg`,z,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M8 3c-1.11 0-2 .89-2 2v16h12V5c0-1.11-.89-2-2-2zm0 2h8v14H8zm5 6v2h2v-2z`},null,-1)]])}var V=g({name:`mdi-door`,render:B}),H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,t){return m(),_(`svg`,H,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 3.25S6 10 6 14c0 3.32 2.69 6 6 6a6 6 0 0 0 6-6c0-4-6-10.75-6-10.75m2.47 6.72l1.06 1.06l-6 6l-1.06-1.06M9.75 10A1.25 1.25 0 0 1 11 11.25a1.25 1.25 0 0 1-1.25 1.25a1.25 1.25 0 0 1-1.25-1.25A1.25 1.25 0 0 1 9.75 10m4.5 4.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 14.25 17A1.25 1.25 0 0 1 13 15.75a1.25 1.25 0 0 1 1.25-1.25`},null,-1)]])}var W=g({name:`mdi-water-percent`,render:U}),ee={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function G(e,t){return m(),_(`svg`,ee,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M9.61 16.11c0-2.08.98-3.92 2.49-5.11H5l1.5-4.5h11l1.22 3.66c.84.37 1.58.91 2.19 1.58L18.92 6c-.2-.58-.76-1-1.42-1h-11c-.66 0-1.22.42-1.42 1L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h4.29c-.43-.87-.68-1.85-.68-2.89M6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16m14.21 4.7l-.01.01zm-4.6-9.09c2.5 0 4.5 2 4.5 4.5c0 .89-.25 1.71-.69 2.39L23 21.61L21.61 23l-3.11-3.07c-.7.43-1.5.68-2.39.68c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5m0 2a2.5 2.5 0 1 0 2.5 2.5c0-1.39-1.11-2.5-2.5-2.5`},null,-1)]])}var K=g({name:`mdi-car-search`,render:G}),q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,t){return m(),_(`svg`,q,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 17a2 2 0 0 1-2-2c0-1.11.89-2 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2m6 3V10H6v10zm0-12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10c0-1.11.89-2 2-2h1V6a5 5 0 0 1 5-5a5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3`},null,-1)]])}var Y=g({name:`mdi-lock-outline`,render:J}),X={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Z(e,t){return m(),_(`svg`,X,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M21 16.5c0 .38-.21.71-.53.88l-7.9 4.44c-.16.12-.36.18-.57.18s-.41-.06-.57-.18l-7.9-4.44A.99.99 0 0 1 3 16.5v-9c0-.38.21-.71.53-.88l7.9-4.44c.16-.12.36-.18.57-.18s.41.06.57.18l7.9 4.44c.32.17.53.5.53.88zM12 4.15L6.04 7.5L12 10.85l5.96-3.35zM5 15.91l6 3.38v-6.71L5 9.21zm14 0v-6.7l-6 3.37v6.71z`},null,-1)]])}var Q=g({name:`mdi-cube-outline`,render:Z}),$={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function te(e,t){return m(),_(`svg`,$,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 3L2 12h3v8h14v-8h3zm0 5.75A2.25 2.25 0 0 1 14.25 11A2.25 2.25 0 0 1 12 13.25A2.25 2.25 0 0 1 9.75 11A2.25 2.25 0 0 1 12 8.75M12 15c1.5 0 4.5.75 4.5 2.25V18h-9v-.75c0-1.5 3-2.25 4.5-2.25`},null,-1)]])}var ne=g({name:`mdi-home-account`,render:te}),re={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ie(e,t){return m(),_(`svg`,re,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M16 7V3h-2v4h-4V3H8v4C7 7 6 8 6 9v5.5L9.5 18v3h5v-3l3.5-3.5V9c0-1-1-2-2-2m0 6.67l-2.91 2.92l-.42.41h-1.34l-.41-.41L8 13.67V9.09c0-.03.06-.09.09-.09h7.83c.03 0 .08.06.08.09z`},null,-1)]])}var ae=g({name:`mdi-power-plug-outline`,render:ie}),oe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function se(e,t){return m(),_(`svg`,oe,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M8 14.25L4.75 11H7c.25-5.61 2.39-10 5-10c2 0 3.77 2.64 4.55 6.45C20.36 8.23 23 10 23 12c0 1.83-2.17 3.43-5.4 4.3l.29-2.03C19.8 13.72 21 12.91 21 12c0-1.06-1.65-2-4.13-2.5c.08.79.13 1.63.13 2.5c0 6.08-2.24 11-5 11c-1.83 0-3.43-2.17-4.3-5.4l2.03.29C10.28 19.8 11.09 21 12 21c1.66 0 3-4.03 3-9q0-1.5-.15-2.85Q13.5 9 12 9l-1.86.06l.29-2.01L12 7c.87 0 1.71.05 2.5.13C14 4.65 13.06 3 12 3c-1.54 0-2.82 3.5-3 8h2.25zM14.25 16L11 19.25V17c-5.61-.25-10-2.39-10-5c0-1.83 2.17-3.43 5.4-4.3l-.29 2.03C4.2 10.28 3 11.09 3 12c0 1.54 3.5 2.82 8 3v-2.25z`},null,-1)]])}var ce=g({name:`mdi-rotate-orbit`,render:se}),le={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ue(e,t){return m(),_(`svg`,le,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M21 11c0 5.55-3.84 10.74-9 12c-5.16-1.26-9-6.45-9-12V5l9-4l9 4zm-9 10c3.75-1 7-5.46 7-9.78V6.3l-7-3.12L5 6.3v4.92C5 15.54 8.25 20 12 21m-1-7h2v3h3v-5h2l-6-5l-6 5h2v5h3z`},null,-1)]])}var de=g({name:`mdi-shield-home-outline`,render:ue}),fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function pe(e,t){return m(),_(`svg`,fe,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6m0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4m0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3s3-1.34 3-3s-1.34-3-3-3`},null,-1)]])}var me=g({name:`mdi-toggle-switch-outline`,render:pe}),he={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ge(e,t){return m(),_(`svg`,he,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M15 13V5a3 3 0 0 0-6 0v8a5 5 0 1 0 6 0m-3-9a1 1 0 0 1 1 1v3h-2V5a1 1 0 0 1 1-1`},null,-1)]])}var _e=g({name:`mdi-thermometer`,render:ge}),ve={[e.Motion]:r,[e.Object]:b,[e.Audio]:C,[e.Face]:u,[e.LicensePlate]:K,[e.Classifier]:F,[e.Clip]:R,[e.ObjectAssist]:Q,[e.Contact]:V,[e.Temperature]:_e,[e.Humidity]:W,[e.Occupancy]:ne,[e.Smoke]:i,[e.Leak]:n,[e.Gas]:o,[e.CarbonMonoxide]:d,[e.CarbonDioxide]:M,[e.Heat]:t,[e.Cold]:f,[e.Vibration]:a,[e.Tamper]:l,[e.Problem]:p,[e.Power]:ae,[e.Illuminance]:k,[e.Light]:v,[e.Siren]:y,[e.Switch]:me,[e.Lock]:Y,[e.PTZ]:ce,[e.SecuritySystem]:de,[e.Garage]:c,[e.Doorbell]:s,[e.Battery]:E};function ye(e){return ve[e]??r}export{Y as n,ye as t};
@@ -1 +1 @@
1
- import{Ar as e,Sr as t,xr as n,yr as r}from"./api-2VPaKkqc.js";import{J as i,U as a,hr as o,sr as s}from"./vendor-AX0A8AMd.js";async function c({signal:t,cameraId:n}){return(await e.get(`/sensors`,{signal:t,params:n?{camera:n}:void 0})).data.sensors}async function l({data:t}){return(await e.post(`/sensors`,t)).data}async function u({id:t,data:n}){return(await e.patch(`/sensors/${t}`,n)).data}async function d({id:t}){await e.delete(`/sensors/${t}`)}async function f({ids:t}){return(await e.delete(`/sensors`,{data:{ids:t}})).data}async function p({id:t,signal:n}){return(await e.get(`/sensors/${t}/history`,{signal:n})).data.history}var m=class{_queryClient=i();t=t.global.t;toast=n();queryActivator=s([{name:`getSensorsQuery`,enabled:!0},{name:`getCameraSensorsQuery`,enabled:!0}]);getSensorsQuery(){return r({queryKey:[`sensorsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getSensorsQuery`&&e.enabled)})}getCameraSensorsQuery(e){return r({queryKey:[`sensorsList`,e],queryFn:({signal:t})=>c({signal:t,cameraId:o(e)}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSensorsQuery`&&e.enabled)})}createVirtualSensorQuery(){return a({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.camera_options.virtual_sensor_created`),life:3e3})}})}patchSensorQuery(){return a({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}deleteSensorQuery(){return a({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}bulkDeleteSensorsQuery(){return a({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}};export{p as n,m as t};
1
+ import{Cr as e,Mr as t,wr as n,xr as r}from"./api-x8zXlvtm.js";import{J as i,U as a,hr as o,sr as s}from"./vendor-AX0A8AMd.js";async function c({signal:e,cameraId:n}){return(await t.get(`/sensors`,{signal:e,params:n?{camera:n}:void 0})).data.sensors}async function l({data:e}){return(await t.post(`/sensors`,e)).data}async function u({id:e,data:n}){return(await t.patch(`/sensors/${e}`,n)).data}async function d({id:e}){await t.delete(`/sensors/${e}`)}async function f({ids:e}){return(await t.delete(`/sensors`,{data:{ids:e}})).data}async function p({id:e,signal:n}){return(await t.get(`/sensors/${e}/history`,{signal:n})).data.history}var m=class{_queryClient=i();t=n.global.t;toast=e();queryActivator=s([{name:`getSensorsQuery`,enabled:!0},{name:`getCameraSensorsQuery`,enabled:!0}]);getSensorsQuery(){return r({queryKey:[`sensorsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getSensorsQuery`&&e.enabled)})}getCameraSensorsQuery(e){return r({queryKey:[`sensorsList`,e],queryFn:({signal:t})=>c({signal:t,cameraId:o(e)}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSensorsQuery`&&e.enabled)})}createVirtualSensorQuery(){return a({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.camera_options.virtual_sensor_created`),life:3e3})}})}patchSensorQuery(){return a({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}deleteSensorQuery(){return a({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}bulkDeleteSensorsQuery(){return a({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}};export{p as n,m as t};
@@ -1 +1 @@
1
- import{Ar as e,Sr as t,xr as n,yr as r}from"./api-2VPaKkqc.js";import{J as i,U as a,hr as o,sr as s}from"./vendor-AX0A8AMd.js";async function c(){return(await e.get(`/server`)).data}async function l(t){return(await e.patch(`/server`,t)).data}async function u(){return(await e.get(`/server/certificate`)).data}async function d(t){let n=new FormData;return n.append(`cert`,t.cert),n.append(`key`,t.key),t.chain&&n.append(`chain`,t.chain),(await e.post(`/server/certificate`,n)).data}async function f(){return(await e.delete(`/server/certificate`)).data}async function p({serverData:t}){return(await e.post(`/server/update`,t,{timeout:96e4})).data}async function m({signal:t}){return(await e.get(`/server/version`,{signal:t})).data}async function h({version:t,signal:n}){return(await e.get(`/server/changelog`,{params:{version:t},signal:n})).data}async function g(t){let n=t&&t!==`all`?{source:t}:void 0;return(await e.delete(`/server/log`,{params:n})).data}async function _({signal:t,source:n}){let r=n&&n!==`all`?{source:n}:void 0;return(await e.get(`/server/log/download`,{signal:t,params:r})).data}async function v(){return(await e.post(`/server/cert`,{responseType:`arraybuffer`})).data}async function y({signal:t}){return(await e.get(`/server/go2rtc`,{signal:t})).data}async function b(){return(await e.put(`/server/restart`)).data}async function x(){return(await e.put(`/server/restart/go2rtc`)).data}async function S(){return(await e.put(`/server/reset`)).data}var C=class{_queryClient=i();t=t.global.t;toast=n();queryActivator=s([{name:`downloadLogQuery`,enabled:!0},{name:`getGo2RtcInfoQuery`,enabled:!0},{name:`checkVersionQuery`,enabled:!0},{name:`getServerChangelogQuery`,enabled:!0},{name:`getServerInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getServerInfoQuery(){return r({queryKey:[`server`],queryFn:c})}patchSystemInfoQuery(){return a({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`server`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}updateServerQuery(){return a({mutationFn:p,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}downloadLogQuery(e){return r({queryKey:[`logs`,`server`,e??`all`],queryFn:({signal:t})=>_({signal:t,source:o(e)}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}downloadCertQuery(){return a({mutationFn:v})}clearLogQuery(){return a({mutationFn:e=>g(e),onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`logs`,`server`],exact:!1}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}checkVersionQuery(){return r({queryKey:[`version`],queryFn:({signal:e})=>m({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkVersionQuery`&&e.enabled)})}getServerChangelogQuery(e){return r({queryKey:[`version`,`changelog`,e],queryFn:({signal:t})=>h({version:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getServerChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getGo2RtcInfoQuery(){return r({queryKey:[`go2rtc`],queryFn:({signal:e})=>y({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcInfoQuery`&&e.enabled)})}restartGo2RtcQuery(){return a({mutationFn:x,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.go2rtc_restarted`),life:3e3})}})}restartServerQuery(){return a({mutationFn:b,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3})},onError:e=>{let t=e?.response?.status;if(t===void 0||t>=500){this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3});return}this.toast.add({severity:`error`,detail:e,life:3e3})}})}resetServerQuery(){return a({mutationFn:S,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_resetted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{u as a,x as c,d,_ as i,b as l,g as n,h as o,v as r,f as s,C as t,p as u};
1
+ import{Cr as e,Mr as t,wr as n,xr as r}from"./api-x8zXlvtm.js";import{J as i,U as a,hr as o,sr as s}from"./vendor-AX0A8AMd.js";async function c(){return(await t.get(`/server`)).data}async function l(e){return(await t.patch(`/server`,e)).data}async function u(){return(await t.get(`/server/certificate`)).data}async function d(e){let n=new FormData;return n.append(`cert`,e.cert),n.append(`key`,e.key),e.chain&&n.append(`chain`,e.chain),(await t.post(`/server/certificate`,n)).data}async function f(){return(await t.delete(`/server/certificate`)).data}async function p({serverData:e}){return(await t.post(`/server/update`,e,{timeout:96e4})).data}async function m({signal:e}){return(await t.get(`/server/version`,{signal:e})).data}async function h({version:e,signal:n}){return(await t.get(`/server/changelog`,{params:{version:e},signal:n})).data}async function g(e){let n=e&&e!==`all`?{source:e}:void 0;return(await t.delete(`/server/log`,{params:n})).data}async function _({signal:e,source:n}){let r=n&&n!==`all`?{source:n}:void 0;return(await t.get(`/server/log/download`,{signal:e,params:r})).data}async function v(){return(await t.post(`/server/cert`,{responseType:`arraybuffer`})).data}async function y({signal:e}){return(await t.get(`/server/go2rtc`,{signal:e})).data}async function b(){return(await t.put(`/server/restart`)).data}async function x(){return(await t.put(`/server/restart/go2rtc`)).data}async function S(){return(await t.put(`/server/reset`)).data}var C=class{_queryClient=i();t=n.global.t;toast=e();queryActivator=s([{name:`downloadLogQuery`,enabled:!0},{name:`getGo2RtcInfoQuery`,enabled:!0},{name:`checkVersionQuery`,enabled:!0},{name:`getServerChangelogQuery`,enabled:!0},{name:`getServerInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getServerInfoQuery(){return r({queryKey:[`server`],queryFn:c})}patchSystemInfoQuery(){return a({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`server`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}updateServerQuery(){return a({mutationFn:p,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}downloadLogQuery(e){return r({queryKey:[`logs`,`server`,e??`all`],queryFn:({signal:t})=>_({signal:t,source:o(e)}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}downloadCertQuery(){return a({mutationFn:v})}clearLogQuery(){return a({mutationFn:e=>g(e),onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`logs`,`server`],exact:!1}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}checkVersionQuery(){return r({queryKey:[`version`],queryFn:({signal:e})=>m({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkVersionQuery`&&e.enabled)})}getServerChangelogQuery(e){return r({queryKey:[`version`,`changelog`,e],queryFn:({signal:t})=>h({version:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getServerChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getGo2RtcInfoQuery(){return r({queryKey:[`go2rtc`],queryFn:({signal:e})=>y({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcInfoQuery`&&e.enabled)})}restartGo2RtcQuery(){return a({mutationFn:x,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.go2rtc_restarted`),life:3e3})}})}restartServerQuery(){return a({mutationFn:b,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3})},onError:e=>{let t=e?.response?.status;if(t===void 0||t>=500){this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3});return}this.toast.add({severity:`error`,detail:e,life:3e3})}})}resetServerQuery(){return a({mutationFn:S,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_resetted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{u as a,x as c,d,_ as i,b as l,g as n,h as o,v as r,f as s,C as t,p as u};
@@ -0,0 +1 @@
1
+ import{Di as e,ci as t}from"./vendor-cameraui-phsC2Mmi.js";import{vr as n}from"./api-x8zXlvtm.js";import{Kn as r,ar as i,sr as a,wn as o}from"./vendor-AX0A8AMd.js";import{f as s}from"./vendor-core-C0ZWoGJD.js";async function c(e){}function l(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search).get(`cui_theme`);return e===`dark`||e===`light`?e:null}function u(){let e={theme:`dark`,autoMode:!0},t=localStorage.getItem(`theme`);if(!t)return e;if(t===`dark`||t===`light`)return{theme:t,autoMode:!1};try{let n=JSON.parse(t);return n?.theme!==`dark`&&n?.theme!==`light`?e:{theme:n.theme,autoMode:n.autoMode!==!1}}catch{return e}}function d(e,t){e.setAttribute(`data-mode`,t),e.classList.toggle(`dark-mode`,t===`dark`),e.classList.toggle(`light-mode`,t===`light`)}var f=s(`theme`,()=>{let s=new Set,f=u(),p=l();p&&(f.theme=p,f.autoMode=!1);let m=e(f.theme,{onBeforeChange(){if(!g.value)return!1},onChanged(e){f.theme=e,localStorage.setItem(`theme`,JSON.stringify(f))}}),h=e(f.autoMode,{onBeforeChange(e){if(e&&!g.value)return!1},onChanged(e){f.autoMode=e,localStorage.setItem(`theme`,JSON.stringify(f))}}),g=a(!0),_=i([`light`,`dark`]);function v(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function y(){return h.value?v():m.value}function b(e){for(let t of s)d(t,e);if(n()){document.documentElement.classList.toggle(`dark-mode`,e===`dark`),document.documentElement.classList.toggle(`light-mode`,e===`light`);return}document.documentElement.style.background=e===`dark`?`#0d0d0d`:`#f8fafc`,d(document.documentElement,e),c(e)}function x(e){return s.add(e),d(e,y()),()=>{s.delete(e)}}function S(e){h.value=!1,m.value=e}function C(){h.value?(h.value=!1,m.value=`light`):m.value===`light`?m.value=`dark`:h.value=!0}let w=t(`(prefers-color-scheme: dark)`);return r(h,e=>{e&&(m.value=v())},{immediate:!0,deep:!0}),r(m,e=>{o(()=>{b(e),g.value=!0}),g.value=!1}),r(w,e=>{h.value&&(m.value=e?`dark`:`light`)}),b(y()),{colors:_,theme:m,autoMode:h,setAppTheme:b,getSystemMode:v,toggleTheme:C,applyHostTheme:S,registerThemeRoot:x}});export{f as n,u as t};
@@ -0,0 +1 @@
1
+ import{Hr as e,Ur as t,Vr as n,Wr as r}from"./vendor-cameraui-phsC2Mmi.js";import{C as i,S as a,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as ee,l as m,m as te,o as h,p as ne,s as re,u as g,v as _,w as ie,x as v,y as ae}from"./vendor-zod-CJ7LAMqQ.js";_({tempToken:v().trim().min(1,`Temporary token is required`),code:v().trim().min(1,`Code is required`)}).strict(),_({code:v().trim().length(6,`Code must be 6 digits`)}).strict(),_({code:v().trim().min(1,`Code is required`)}).strict(),_({code:v().trim().min(1,`Code is required`)}).strict(),_({grant_type:v().optional(),username:v().trim().min(1,`Username is required`),password:v().min(1,`Password is required`),scope:v().optional(),client_id:v().optional(),client_secret:v().optional()}),_({refresh_token:v().min(1,`Refresh token is required`)}),_({id:v()}),_({name:v().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),_({id:v()});function oe(e){return{privacyFallback:e?.privacyFallback??`send`,motion:e?.motion??[],object:e?.object??[],privacy:e?.privacy??[],alert:e?.alert??[],lines:e?.lines??[]}}function se(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var ce=_({enabled:d().default(!0),mode:u([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:s().min(0).max(60).default(10),sources:g(u([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),le={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},ue=_({enabled:d().default(!0),video:d().default(!1),audio:v().trim().min(1).array().default([]),sensors:v().trim().min(1).array().default([]),cooldown:s().min(0).max(600).default(30),speed:u([`immediate`,`balanced`,`best`]).default(`balanced`)}).strict(),de={enabled:!0,video:!1,audio:[`glass_break`,`scream`,`gunshot`,`alarm`,`siren`,`smoke_alarm`],sensors:[`doorbell`,`contact`,`siren`,`security_system`,`smoke`,`gas`,`carbonMonoxide`,`heat`,`leak`,`cold`,`vibration`,`tamper`,`problem`],cooldown:30,speed:`balanced`},fe=v().trim().min(1,`Detection label is required`),pe=v().trim().min(1,`Zone label is required`),y=a([s(),s()]),me=v().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`),he=_({name:v().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),color:me}).array(),ge=_({name:v().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),type:i([p(`intersect`),p(`contain`)]).default(`intersect`),labels:pe.array(),color:me}).array(),_e=_({name:v().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),dropDetections:d().default(!0)}).array(),ve=_({name:v().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),labels:fe.array(),faces:v().trim().min(1).array().optional(),plates:v().trim().min(1).array().optional(),match:i([p(`anchor`),p(`intersect`),p(`contain`)]).default(`contain`),color:v().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),ye=_({name:v().trim().min(1,`Line Name is required`),points:a([y,y]),direction:i([p(`both`),p(`a-to-b`),p(`b-to-a`)]),labels:fe.array(),color:v().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),be=_({privacyFallback:i([p(`send`),p(`drop`)]).default(`send`),motion:he.default([]),object:ge.default([]),privacy:_e.default([]),alert:ve.default([]),lines:ye.default([])}).strict(),b=_({motion:_({resolution:i([p(`low`),p(`medium`),p(`high`)]),timeout:s().min(10,`Minimum 10 seconds`)}),object:_({confidences:_({person:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),vehicle:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),animal:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5)}).default({person:.5,vehicle:.5,animal:.5}),suppressStatic:d().default(!0),timeout:s().min(10,`Minimum 10 seconds`).default(15)}),audio:_({minDecibels:s().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:s().min(10,`Minimum 10 seconds`),confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:_({confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5),matchThreshold:s().min(.3,`Minimum 0.3`).max(.95,`Maximum 0.95`).default(.55)}).default({confidence:.5,matchThreshold:.55}),licensePlate:_({confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.3),ocrConfidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:s().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.3,ocrConfidence:.9,minLength:4}),sensor:_({timeout:s().min(10,`Minimum 10 seconds`),triggers:g(v().trim().min(1,`Sensor id is required`)).default([])}),cascadeDetection:d().default(!0),cascadeTimeout:s().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:d().default(!1)}),xe=_({from:v().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),to:v().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),timezone:v().trim().min(1,`Timezone is required`)}),Se={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4,minTargetSize:0,maxTargetSize:0},x=_({enabled:d().default(!1),targetLabels:v().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:s().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:s().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:s().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:s().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:d().default(!1),homeWaitMs:s().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4),minTargetSize:s().min(0,`Minimum 0`).max(.5,`Maximum 0.5`).default(0),maxTargetSize:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(0),activeHours:xe.optional()}),S=i([p(`high-resolution`),p(`mid-resolution`),p(`low-resolution`),p(`snapshot`)]),Ce=i([p(`high-resolution`),p(`mid-resolution`),p(`low-resolution`)]),C=i([p(`bubble://`),p(`cui://`),p(`doorbird://`),p(`dvrip://`),p(`eseecloud://`),p(`ffmpeg:`),p(`flussonic://`),p(`gopro://`),p(`hass:`),p(`homekit://`),p(`http://`),p(`https://`),p(`httpx://`),p(`isapi://`),p(`ivideon:`),p(`kasa://`),p(`nest:`),p(`onvif://`),p(`ring:`),p(`roborock://`),p(`rtmp://`),p(`rtsp://`),p(`rtspx://`),p(`tapo://`),p(`tcp://`),p(`tuya://`),p(`xiaomi://`),p(`yandex:`),p(`webrtc:`),p(`webtorrent:`),p(`wyze://`)]).options.map(e=>e.value),we=RegExp(`^(${C.join(`|`)})`),w=v().refine(e=>{if(!we.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`});function T(e,t){let n=new Set;e.forEach((e,r)=>{let i=e.name.replace(/ /g,`_`).toLowerCase();n.has(i)&&t.addIssue({code:`custom`,message:`Source name is already used by another source`,path:[r,`name`]}),n.add(i)})}var Te=_({_id:v().default(e()).transform(()=>e()),name:v().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:S,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),muted:d().default(!1),backchannelDisabled:d().default(!1),timeout:s().int().min(5).max(120).optional(),handshakeTimeout:s().int().min(1).max(60).optional(),urls:w.array().min(1,`At least one valid URL is required`),childSourceId:v().trim().min(1,`Child Source ID is required`).nullish().transform(e=>e??void 0).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),Ee=_({_id:v().default(e()).transform(()=>e()),name:v().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:S,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),muted:d().default(!1),backchannelDisabled:d().default(!1),timeout:s().int().min(5).max(120).optional(),handshakeTimeout:s().int().min(1).max(60).optional(),urls:w.array().min(1,`At least one valid URL is required`),childSourceId:v().trim().min(1,`Child Source ID is required`).nullish().transform(e=>e??void 0).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),E=_({id:v(),name:v().trim()}),D=_({motion:E.optional(),object:E.optional(),objectAssist:E.optional(),audio:E.optional(),face:E.optional(),licensePlate:E.optional(),ptz:E.optional(),battery:E.optional(),cameraController:E.optional(),clip:E.optional(),classifier:E.array().optional(),light:E.array().optional(),siren:E.array().optional(),switch:E.array().optional(),securitySystem:E.array().optional(),contact:E.array().optional(),doorbell:E.array().optional(),lock:E.array().optional(),temperature:E.array().optional(),humidity:E.array().optional(),occupancy:E.array().optional(),smoke:E.array().optional(),leak:E.array().optional(),garage:E.array().optional(),gas:E.array().optional(),carbonMonoxide:E.array().optional(),carbonDioxide:E.array().optional(),heat:E.array().optional(),cold:E.array().optional(),vibration:E.array().optional(),tamper:E.array().optional(),problem:E.array().optional(),power:E.array().optional(),illuminance:E.array().optional(),hub:E.array().optional()}).strict(),De=i([p(`auto`),p(`mse`),p(`webrtc`),p(`webrtc/tcp`)]),Oe=v().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/,`Use a width:height ratio, e.g. 16:9`).refine(e=>{let[t,n]=e.split(`:`).map(Number);return Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0},`Both sides must be greater than 0`).transform(e=>e),O=_({hardware:u([`auto`,`cpu`,`cuda`,`vaapi`,`qsv`,`videotoolbox`,`d3d11va`,`d3d12va`,`dxva2`,`vulkan`,`opencl`,`drm`,`rkmpp`]).default(`auto`),device:v().trim().max(128).optional()}).strict(),k=_({mainStreamAnalysis:d().default(!1),decoder:O.optional(),workerDecoder:O.nullable().transform(e=>e??void 0).optional()}),A=i([p(`camera`),p(`doorbell`)]),ke=i([p(`auto`),p(`high`),p(`mid`),p(`low`)]),Ae=i([p(`always-on`),p(`activity`),p(`standby`)]),j=_({streamingMode:De,streamingSource:Ce,playbackSource:ke.default(`auto`),activityMode:Ae.default(`always-on`),aspectRatio:Oe}),M=_({model:v().trim().optional(),manufacturer:v().trim().optional(),hardware:v().trim().optional(),serialNumber:v().trim().optional(),firmwareVersion:v().trim().optional(),supportUrl:v().trim().optional()}),je=_({id:v(),name:v().trim()}).strict(),N=_({autoRefresh:d().default(!0),ttl:s().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:s().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),P=_({_id:v().default(e()).transform(()=>e()),nativeId:v().trim().optional(),pluginInfo:je.optional(),disabled:d().default(!1),name:v().trim().min(1,`Camera name is required`),room:v().trim().min(1,`Room is required`).default(`Default`),roomId:v().trim().min(1).nullable().default(null),type:A.default(`camera`),isCloud:d().default(!1),snapshotSettings:N.default({autoRefresh:!0,ttl:50,interval:60}),info:M.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:Te.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}).superRefine(T),plugins:E.array().default([]),assignments:D.default({}),interfaceSettings:j.default({streamingMode:`auto`,streamingSource:`high-resolution`,playbackSource:`auto`,activityMode:`always-on`,aspectRatio:`16:9`}),zones:be.default(oe()),detectionSettings:b.default({motion:{resolution:`low`,timeout:30},object:{confidences:{person:.5,vehicle:.5,animal:.5},suppressStatic:!0,timeout:15},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5,matchThreshold:.55},licensePlate:{confidence:.3,ocrConfidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:x.default(Se),recordingSettings:ce.default(le),notificationSettings:ue.default(de),frameWorkerSettings:k.default({mainStreamAnalysis:!1})}).strict();function Me(){let{_id:e,name:t,sources:n,nativeId:r,pluginInfo:i,...a}=P.parse({name:`default`,sources:[{name:`default`,role:`high-resolution`,urls:[`rtsp://localhost`]}]});return a}P.transform(e=>{let t=e.sources.flatMap(e=>e.urls);return e.isCloud||se(t)?{...e,isCloud:!0}:{...e}});var Ne=_({disabled:d().optional(),type:A.optional(),name:v().trim().min(1,`Camera name is required`).optional(),room:v().trim().min(1,`Room is required`).optional(),roomId:v().trim().min(1).nullable().optional(),isCloud:d().optional(),snapshotSettings:N.partial().optional(),info:M.partial().optional(),sources:Ee.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}).superRefine(T).optional(),plugins:E.array().optional(),assignments:D.partial().optional(),interfaceSettings:j.partial().optional(),zones:be.optional(),detectionSettings:b.partial().optional(),ptzAutotrack:x.partial().optional(),recordingSettings:ce.partial().optional(),notificationSettings:ue.partial().optional(),frameWorkerSettings:k.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||se(t))return{...e,isCloud:!0}}return e});_({url:v().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),_({cameraname:v()}),_({cameraname:v(),sourcename:v()}),_({cameraid:v(),sourcename:v()}),_({cameraname:v(),pluginname:v()}),_({cameraname:v(),scope:v(),pluginname:v()}),_({cameraname:v(),pluginname:v(),sensorId:v()}),_({cameraname:v(),scope:v(),pluginname:v(),sensorId:v()}),_({type:v().optional()}),_({video:c().optional(),audio:c().optional(),microphone:c().optional(),refresh:c().optional()}),_({forceNew:c().optional()}),_({cameranames:g(v().min(1)).min(1).max(1e3),cameraData:_({disabled:d().optional(),detectionSettings:_({snooze:d()}).optional(),recordingSettings:_({enabled:d()}).optional()}).refine(e=>e.disabled!==void 0||e.detectionSettings!==void 0||e.recordingSettings!==void 0,{message:`Nothing to update`})}),_({cameranames:g(v().min(1)).min(1).max(1e3)});var Pe=_({id:v().trim().min(1),name:v().trim().min(1,`Level name is required`).max(64),order:s().int().min(0).default(0)}),Fe=_({id:v().trim().min(1),roomId:v().trim().min(1),name:v().trim().min(1,`Room name is required`).max(64),levelId:v().trim().min(1),outdoor:d().default(!1),publicSpace:d().default(!1),note:v().trim().max(240).default(``),x:s(),y:s(),width:s().min(1),height:s().min(1)}),Ie=_({id:v().trim().min(1),fromRoomId:v().trim().min(1),toRoomId:v().trim().min(1),fromShapeId:v().trim().min(1).nullable().default(null),toShapeId:v().trim().min(1).nullable().default(null),offset:s().nullable().default(null),width:s().min(10).max(2e3).default(90),note:v().trim().max(240).default(``),type:u([`door`,`opening`,`stairs`]).default(`door`)}),Le=_({cameraId:v().trim().min(1),roomId:v().trim().min(1),note:v().trim().max(240).default(``),x:s(),y:s(),rotation:s(),fov:s().min(1).max(360),range:s().min(1)}),Re=_({sensorId:v().trim().min(1),sensorType:v().trim().min(1),roomId:v().trim().min(1),connectionId:v().trim().min(1).nullable().default(null),note:v().trim().max(240).default(``),x:s(),y:s()});_({catalogVersion:s().int().min(0),north:s().nullable().default(null),levels:Pe.array().max(20),rooms:Fe.array().max(200),connections:Ie.array().max(500),cameras:Le.array().max(500),sensors:Re.array().max(500)}).strict(),_({name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:o(`Must be a valid URL`).trim(),credentials:_({username:v().trim().min(1,`Username is required`),password:v().min(1,`Password is required`)})}),_({name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:o(`Must be a valid URL`).trim().optional(),credentials:_({username:v().trim().min(1,`Username is required`),password:v().min(1,`Password is required`)}).nullable().optional()}),_({id:v().min(1,`ID is required`)}),_({code:v().trim().min(1,`Code is required`).optional()}).optional(),_({ids:g(v().min(1)).min(1).max(1e3)});var F=/^[\w-]+(\/[\w-]+)*$/,ze=_({enabled:d().optional(),mode:u([`external`,`embedded`]).optional(),broker:_({port:s().int().min(1).max(65535).optional(),username:v().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:v().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:v().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:s().int().min(1).max(65535).optional(),protocol:u([`mqtt`,`mqtts`]).optional(),username:v().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:v().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:v().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:v().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(F,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:_({rejectUnauthorized:d().optional(),ca:v().trim().nullable().optional(),cert:v().trim().nullable().optional(),key:v().trim().nullable().optional()}).strict().optional(),haDiscovery:_({enabled:d().optional(),prefix:v().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(F,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),Be=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Ve=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e.INCOMPATIBLE=`incompatible`,e.UPDATE_REQUIRED=`update_required`,e.SERVER_UPDATE_REQUIRED=`server_update_required`,e}({});function I(e){return e.mimetype!==void 0}function He(e){return I(e)?Buffer.byteLength(e._buf):e.size}function Ue(e){return I(e)?e.mimetype:e.type}function L(e,t,n,r){return f().refine(t=>He(t)<=e,n).refine(e=>t.includes(Ue(e)),r)}var We=_({start:h().optional(),page:h().optional(),pageSize:h().optional()}),R=[`image/jpeg`,`image/png`],Ge=2097152,z=[`video/mp4`,`video/quicktime`],Ke=10485760,qe=[`audio/mpeg`,`audio/wav`,`audio/ogg`],Je=2097152,B=()=>L(Ge,R,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),V=f().transform(e=>JSON.parse(e.value)),H=f().transform(e=>JSON.parse(e.value)),Ye=f().transform(e=>JSON.parse(e.value)),Xe=_({pluginname:v().trim().refine(e=>Be.test(e),`Not a valid plugin name`),pluginversion:v().trim().refine(e=>/^[a-z][\w-]*$/i.test(e)||/^v?\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/i.test(e),`Not a valid plugin version (expected a dist-tag or exact semver)`).optional().default(`latest`)}).strict();_({actionId:v(),payload:m()}).strict(),l(m(),m()),_({upload:B(),metadata:H,config:V}),_({upload:L(Je,qe,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Ye,config:V}),_({upload:L(Ke,z,`Max file size is 5 MB`,`.mp4 files are accepted`),config:V}),_({upload:B(),metadata:H,config:V}),_({upload:B(),metadata:H,config:V}),_({upload:B(),metadata:H,config:V}),_({pluginname:v()}),_({scope:v(),pluginname:v()}),We.extend({pluginname:v().trim().optional(),refresh:c().optional()}),_({removeStorage:c().optional()}),_({pluginversion:v().trim().optional()}),_({pluginNames:g(v().trim().min(1)).min(1).max(1e3)}),_({plugins:g(Xe).min(1).max(1e3)});var Ze=_({enabled:d().optional(),directEnabled:d().optional(),directMode:u([`cloudflare`,`customDomain`]).optional(),customDomain:_({url:o(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:_({mode:u([`quick`,`token`,`managed`]).optional(),hostname:v().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:v().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});_({mode:u([`cloudflare`,`customDomain`])}).strict(),_({hostname:v().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),_({name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),_({name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),_({name:v().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),_({name:v().trim().min(1,`Room name is required`).max(64),levelId:v().trim().min(1).nullable().default(null),outdoor:d().default(!1),publicSpace:d().default(!1),note:v().trim().max(240).default(``)}).strict(),_({roomid:v().trim().min(1)});function Qe(){let e={};for(let n of t)e[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,cameraBound:n.cameraBound??!1,...n.cascadeTrigger?{cascadeTrigger:n.cascadeTrigger}:{}};return e}var U=Qe();Object.fromEntries(t.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function $e(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function et(){return t.filter(e=>e.shortcutable).map(e=>e.type)}function tt(){return Object.entries(U).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function nt(e){return U[e].assignmentKey}function rt(){return Object.entries(U).filter(([,e])=>e.category===r.Sensor&&!e.multiProvider).map(([e])=>e)}function it(){return Object.entries(U).filter(([,e])=>!e.multiProvider&&e.category!==r.Sensor).map(([e])=>e)}function at(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function ot(e){return!U[e].multiProvider}Object.fromEntries(t.map(e=>[e.type,Object.keys(e.properties)]));var W=Object.fromEntries(t.map(e=>[e.type,e.properties]));function st(e,t){return W[e]?.[t]}function ct(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function lt(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function ut(e,t){let n=U[e];return n?n.category===r.Control||n.category===r.Trigger||t===`cameraui.virtual`&&!n.isDetectionType:!1}new Set($e()),new Set(tt());var dt=`cameraui.virtual`,ft=t.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(t.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(t.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),_({id:v().min(1,`Sensor ID is required`)});var pt=_({cameraId:v().min(1).optional(),type:u(ft),name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});_({displayName:v().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`).optional(),assignedCameraIds:g(v().min(1)).optional(),exposed:d().optional()}).refine(e=>e.displayName!==void 0||e.assignedCameraIds!==void 0||e.exposed!==void 0,{message:`Nothing to update`}),_({property:v().trim().min(1,`Property is required`),value:ie()}),_({ids:g(v()).min(1).max(1e4)}),_({version:v().trim().optional().default(`latest`)}).strict();var mt=_({serverAddresses:i([te().trim(),ee().trim()]).array().default([]),localUrl:i([p(``),o({protocol:/^https?$/})]).default(``).transform(e=>e.replace(/\/+$/,``))}).strict();_({version:v().trim()}).strict(),l(v(),m()),_({key:v()}).strict(),_({key:v(),payload:m()}).strict();var ht=[`de`,`en`],gt=[`image/jpeg`,`image/jpg`,`image/png`],_t=5242880,vt=_({index:s(),cameraId:v(),colSpan:s().optional(),rowSpan:s().optional(),x:s().optional(),y:s().optional()}),yt=i([p(1),p(4),p(6),p(7),p(9),p(10),p(12),p(13),p(15),p(16),p(20),p(26)]),bt=i([p(`dnd`),p(`view`)]),xt=u([`aspect`,`contain`,`fill`,`cover`]),St=_({_id:v().default(e()).transform(()=>e()),name:v().trim().min(1,`Layout name is required`),viewSize:yt,cameras:vt.array(),type:bt,cardFit:xt.optional()});_({name:v().trim().min(1,`Layout name is required`),viewSize:yt,cameras:vt.array(),cardFit:xt}).partial().optional();var Ct=_({views:St.array()}),wt=t.filter(e=>e.shortcutable).map(e=>String(e.type)),Tt=u(wt),Et=_({_id:v().default(e()).transform(()=>e()),type:p(`camera`),cameraId:v(),points:y}),Dt=_({_id:v().default(e()).transform(()=>e()),type:p(`sensor`),sensorId:v(),sensorType:Tt,points:y}),Ot=ne(`type`,[Et,Dt]),kt=_({type:p(`camera`),cameraId:v(),points:y}).partial(),At=_({type:p(`sensor`),sensorId:v(),sensorType:Tt,points:y}).partial();i([kt,At]).optional();var jt=_({shortcuts:Ot.array()}),Mt=u([`auto`,...ht]),Nt=_({ungrouped:d()}),Pt=_({main:v().array(),manage:v().array(),system:v().array(),settings:v().array()}).partial(),Ft=_({main:d(),manage:d(),system:d(),settings:d()}).partial(),It=_({order:Pt.optional(),collapsible:Ft.optional(),settingsInNav:d().optional(),hidden:v().array().optional()}),Lt=_({language:Mt.optional(),camview:Ct,cameras:l(v().trim(),jt),recordings:Nt.optional(),navLayout:It.nullable().optional()}),G=v().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),Rt=_({_id:v().default(e()).transform(()=>e()),username:v().trim().min(1,`Username is required`),password:G,passwordConfirm:v().trim().min(1,`Please confirm your password`),role:i([p(`admin`),p(`user`)]),firstLogin:d().default(!0),preferences:Lt.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});_({username:v().trim().min(1,`Username is required`),password:v().trim().min(1,`Password is required`),kind:u([`native`,`web`,`tv`]),persistent:d().default(!1),device:_({id:v().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:v().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var zt=_({username:v().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:v().trim().optional(),role:i([p(`admin`),p(`user`)]).optional(),upload:ae(L(_t,gt,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:d().optional(),preferences:Lt.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});_({username:v()}),_({username:v(),cameraname:v()}),_({username:v(),cameraname:v(),shortcutid:v()}),_({username:v(),viewid:v()}),_({username:v()}),_({cameraId:v().min(1,`Camera ID is required`),agentId:v().min(1,`Agent ID is required`)}),_({cameraId:v().min(1,`Camera ID is required`)}),_({agentId:v().min(1,`Agent ID is required`)}),_({version:v().min(1).optional()}).optional(),_({code:v().min(1,`Pairing code is required`),agentId:v().min(1,`Agent ID is required`),name:v().min(1,`Worker name is required`)}),_({pluginName:v().min(1,`Plugin name is required`),agentId:v().min(1,`Agent ID is required`)}),_({pluginName:v().min(1,`Plugin name is required`)}),_({name:v().trim().min(1,`Name is required`).max(64,`Maximum 64 characters`)}),_({enabled:d().optional(),address:v().trim().optional(),port:s().min(1024,`Minimum 1024`).max(65535,`Maximum 65535`).optional()}).strict();function K(e){return e.type===`string`&&!(`enum`in e)}function Bt(e){return e.type===`number`}function Vt(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function Ht(e){return e.type===`array`}function Ut(e){return e.type===`object`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function Wt(e){return K(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Gt=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function X(e,t){return Array.isArray(e)?e.every(e=>Gt(e,t)):Gt(e,t)}function Kt(e,t){if(!e||Object.keys(e).length===0)return!0;let r=t.filter(e=>!J(e)&&!Y(e));for(let t of r){let r=Q(e,t.key),i=Z(t);if(r!==void 0&&!n(r,i,!0))return!1}return!0}function Z(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return q(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=Z(n));return t}default:return}}function qt(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function Jt(e){return e.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[])}function Yt(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of Jt(t)){if(n==null)return;n=n[e]}return n}function Xt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=Jt(t),i=r.pop();if(!i)return;let a=e;for(let e=0;e<r.length;e++){let t=r[e];(typeof a[t]!=`object`||a[t]===null)&&(a[t]=Yt(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function Zt(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!J(r)&&!Y(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function Qt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function $t(e,t){let n=Qt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function en(e,t){let n=Qt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function tn(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return m();switch(e.type){case`string`:if(q(e)){if(e.multiple){let t=g(v().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.minItems===void 0?e.required&&(t=t.min(1,{error:`Required`})):t=t.min(e.minItems,{error:`Select at least ${e.minItems}`}),e.required?t:t.optional()}{let t=u(e.enum);return e.required?t:i([p(``),t]).optional()}}let t=v().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||tn(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=s();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?d():d().optional();case`array`:{let t=e.items?$(e.items):m(),n=g(t);return e.minItems!==void 0&&(n=n.min(e.minItems,{error:`At least ${e.minItems} entries required`})),e.required?n:n.optional()}case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=$(n));let n=_(t);return e.required?n:n.optional()}default:return e.required?m():m().optional()}}var nn=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function rn(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=_(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(nn(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:re.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:re.custom,message:`Required`,path:[e.key]})}})),r}export{S as $,ft as A,ut as B,G as C,pt as D,mt as E,ct as F,Je as G,qe as H,st as I,ze as J,Ke as K,et as L,nt as M,it as N,U as O,rt as P,ye as Q,lt as R,Rt as S,St as T,z as U,Ze as V,R as W,P as X,C as Y,Me as Z,$t as _,rn as a,_t as b,Vt as c,q as d,ge as et,Bt as f,Wt as g,Y as h,Zt as i,at as j,dt as k,J as l,K as m,qt as n,T as nt,Q as o,Ut as p,Ve as q,Z as r,Ht as s,X as t,Ne as tt,Kt as u,en as v,zt as w,ht as x,Xt as y,ot as z};
@@ -1 +1 @@
1
- import{Cr as e}from"./vendor-cameraui-ZyqPntQ7.js";import{i as t}from"./eventLabels-BsPoPWS9.js";var n={trigger:`#22c55e`,condition:`#f59e0b`,action:`#3b82f6`,utility:`#8b5cf6`},r={mode:`drag`},i=[{key:`detectionSettings.snooze`,labelKey:`components.automation_nodes.camera_prop_snooze`,inputType:`boolean`,defaultValue:`false`},{key:`disabled`,labelKey:`components.automation_nodes.camera_prop_disabled`,inputType:`boolean`,defaultValue:`false`},{key:`recordingSettings.enabled`,labelKey:`components.automation_nodes.camera_prop_recording`,inputType:`boolean`,defaultValue:`true`},{key:`recordingSettings.mode`,labelKey:`components.automation_nodes.camera_prop_recording_mode`,inputType:`select`,options:[{labelKey:`components.automation_nodes.option_continuous`,value:`continuous`},{labelKey:`components.automation_nodes.option_event`,value:`event`},{labelKey:`components.automation_nodes.option_adhoc`,value:`adhoc`}],defaultValue:`continuous`},{key:`recordingSettings.preBuffer`,labelKey:`components.automation_nodes.camera_prop_recording_prebuffer`,inputType:`number`,min:0,max:60,step:1,defaultValue:`10`},{key:`recordingSettings.sources`,labelKey:`components.automation_nodes.camera_prop_recording_sources`,inputType:`multiselect`,options:[{labelKey:`components.automation_nodes.option_high`,value:`high`},{labelKey:`components.automation_nodes.option_mid`,value:`mid`},{labelKey:`components.automation_nodes.option_low`,value:`low`}],defaultValue:`["high","mid","low"]`},{key:`ptzAutotrack.enabled`,labelKey:`components.automation_nodes.camera_prop_ptz_autotrack`,inputType:`boolean`,defaultValue:`false`},{key:`ptzAutotrack.returnToHome`,labelKey:`components.automation_nodes.camera_prop_ptz_return_home`,inputType:`boolean`,defaultValue:`false`},{key:`ptzAutotrack.targetLabels`,labelKey:`components.automation_nodes.camera_prop_ptz_target_labels`,inputType:`multiselect`,options:e.map(e=>({labelKey:t(e),value:e})),defaultValue:`["person"]`},{key:`ptzAutotrack.minConfidence`,labelKey:`components.automation_nodes.camera_prop_ptz_min_confidence`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`},...e.map(e=>({key:`detectionSettings.object.confidences.${e}`,labelKey:`components.automation_nodes.camera_prop_object_confidence_${e}`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`})),{key:`detectionSettings.motion.timeout`,labelKey:`components.automation_nodes.camera_prop_motion_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.motion.resolution`,labelKey:`components.automation_nodes.camera_prop_motion_resolution`,inputType:`select`,options:[{labelKey:`components.automation_nodes.option_low`,value:`low`},{labelKey:`components.automation_nodes.option_medium`,value:`medium`},{labelKey:`components.automation_nodes.option_high`,value:`high`}],defaultValue:`low`},{key:`detectionSettings.audio.timeout`,labelKey:`components.automation_nodes.camera_prop_audio_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.audio.minDecibels`,labelKey:`components.automation_nodes.camera_prop_audio_min_decibels`,inputType:`number`,min:-100,max:0,defaultValue:`-40`},{key:`detectionSettings.audio.confidence`,labelKey:`components.automation_nodes.camera_prop_audio_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.7`},{key:`detectionSettings.object.suppressStatic`,labelKey:`components.automation_nodes.camera_prop_suppress_static`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.object.timeout`,labelKey:`components.automation_nodes.camera_prop_object_timeout`,inputType:`number`,min:10,defaultValue:`15`},{key:`detectionSettings.face.confidence`,labelKey:`components.automation_nodes.camera_prop_face_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.5`},{key:`detectionSettings.face.matchThreshold`,labelKey:`components.automation_nodes.camera_prop_face_match_threshold`,inputType:`number`,min:.3,max:.95,step:.05,defaultValue:`0.55`},{key:`detectionSettings.licensePlate.confidence`,labelKey:`components.automation_nodes.camera_prop_plate_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.3`},{key:`detectionSettings.licensePlate.ocrConfidence`,labelKey:`components.automation_nodes.camera_prop_plate_ocr_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.9`},{key:`detectionSettings.licensePlate.minLength`,labelKey:`components.automation_nodes.camera_prop_plate_min_length`,inputType:`number`,min:1,max:10,step:1,defaultValue:`4`},{key:`detectionSettings.sensor.timeout`,labelKey:`components.automation_nodes.camera_prop_sensor_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.cascadeDetection`,labelKey:`components.automation_nodes.camera_prop_cascade_detection`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.cascadeTimeout`,labelKey:`components.automation_nodes.camera_prop_cascade_timeout`,inputType:`number`,min:1,max:300,defaultValue:`10`},{key:`frameWorkerSettings.mainStreamAnalysis`,labelKey:`components.automation_nodes.camera_prop_main_stream_analysis`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.autoRefresh`,labelKey:`components.automation_nodes.camera_prop_auto_refresh`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.interval`,labelKey:`components.automation_nodes.camera_prop_snapshot_interval`,inputType:`number`,min:10,max:60,defaultValue:`60`},{key:`snapshotSettings.ttl`,labelKey:`components.automation_nodes.camera_prop_snapshot_ttl`,inputType:`number`,min:10,max:60,defaultValue:`50`}];export{n,r,i as t};
1
+ import{wr as e}from"./vendor-cameraui-phsC2Mmi.js";import{i as t}from"./eventLabels-BsPoPWS9.js";var n={trigger:`#22c55e`,condition:`#f59e0b`,action:`#3b82f6`,utility:`#8b5cf6`},r={mode:`drag`},i=[{key:`detectionSettings.snooze`,labelKey:`components.automation_nodes.camera_prop_snooze`,inputType:`boolean`,defaultValue:`false`},{key:`disabled`,labelKey:`components.automation_nodes.camera_prop_disabled`,inputType:`boolean`,defaultValue:`false`},{key:`recordingSettings.enabled`,labelKey:`components.automation_nodes.camera_prop_recording`,inputType:`boolean`,defaultValue:`true`},{key:`recordingSettings.mode`,labelKey:`components.automation_nodes.camera_prop_recording_mode`,inputType:`select`,options:[{labelKey:`components.automation_nodes.option_continuous`,value:`continuous`},{labelKey:`components.automation_nodes.option_event`,value:`event`},{labelKey:`components.automation_nodes.option_adhoc`,value:`adhoc`}],defaultValue:`continuous`},{key:`recordingSettings.preBuffer`,labelKey:`components.automation_nodes.camera_prop_recording_prebuffer`,inputType:`number`,min:0,max:60,step:1,defaultValue:`10`},{key:`recordingSettings.sources`,labelKey:`components.automation_nodes.camera_prop_recording_sources`,inputType:`multiselect`,options:[{labelKey:`components.automation_nodes.option_high`,value:`high`},{labelKey:`components.automation_nodes.option_mid`,value:`mid`},{labelKey:`components.automation_nodes.option_low`,value:`low`}],defaultValue:`["high","mid","low"]`},{key:`ptzAutotrack.enabled`,labelKey:`components.automation_nodes.camera_prop_ptz_autotrack`,inputType:`boolean`,defaultValue:`false`},{key:`ptzAutotrack.returnToHome`,labelKey:`components.automation_nodes.camera_prop_ptz_return_home`,inputType:`boolean`,defaultValue:`false`},{key:`ptzAutotrack.targetLabels`,labelKey:`components.automation_nodes.camera_prop_ptz_target_labels`,inputType:`multiselect`,options:e.map(e=>({labelKey:t(e),value:e})),defaultValue:`["person"]`},{key:`ptzAutotrack.minConfidence`,labelKey:`components.automation_nodes.camera_prop_ptz_min_confidence`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`},...e.map(e=>({key:`detectionSettings.object.confidences.${e}`,labelKey:`components.automation_nodes.camera_prop_object_confidence_${e}`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`})),{key:`detectionSettings.motion.timeout`,labelKey:`components.automation_nodes.camera_prop_motion_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.motion.resolution`,labelKey:`components.automation_nodes.camera_prop_motion_resolution`,inputType:`select`,options:[{labelKey:`components.automation_nodes.option_low`,value:`low`},{labelKey:`components.automation_nodes.option_medium`,value:`medium`},{labelKey:`components.automation_nodes.option_high`,value:`high`}],defaultValue:`low`},{key:`detectionSettings.audio.timeout`,labelKey:`components.automation_nodes.camera_prop_audio_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.audio.minDecibels`,labelKey:`components.automation_nodes.camera_prop_audio_min_decibels`,inputType:`number`,min:-100,max:0,defaultValue:`-40`},{key:`detectionSettings.audio.confidence`,labelKey:`components.automation_nodes.camera_prop_audio_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.7`},{key:`detectionSettings.object.suppressStatic`,labelKey:`components.automation_nodes.camera_prop_suppress_static`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.object.timeout`,labelKey:`components.automation_nodes.camera_prop_object_timeout`,inputType:`number`,min:10,defaultValue:`15`},{key:`detectionSettings.face.confidence`,labelKey:`components.automation_nodes.camera_prop_face_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.5`},{key:`detectionSettings.face.matchThreshold`,labelKey:`components.automation_nodes.camera_prop_face_match_threshold`,inputType:`number`,min:.3,max:.95,step:.05,defaultValue:`0.55`},{key:`detectionSettings.licensePlate.confidence`,labelKey:`components.automation_nodes.camera_prop_plate_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.3`},{key:`detectionSettings.licensePlate.ocrConfidence`,labelKey:`components.automation_nodes.camera_prop_plate_ocr_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.9`},{key:`detectionSettings.licensePlate.minLength`,labelKey:`components.automation_nodes.camera_prop_plate_min_length`,inputType:`number`,min:1,max:10,step:1,defaultValue:`4`},{key:`detectionSettings.sensor.timeout`,labelKey:`components.automation_nodes.camera_prop_sensor_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.cascadeDetection`,labelKey:`components.automation_nodes.camera_prop_cascade_detection`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.cascadeTimeout`,labelKey:`components.automation_nodes.camera_prop_cascade_timeout`,inputType:`number`,min:1,max:300,defaultValue:`10`},{key:`frameWorkerSettings.mainStreamAnalysis`,labelKey:`components.automation_nodes.camera_prop_main_stream_analysis`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.autoRefresh`,labelKey:`components.automation_nodes.camera_prop_auto_refresh`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.interval`,labelKey:`components.automation_nodes.camera_prop_snapshot_interval`,inputType:`number`,min:10,max:60,defaultValue:`60`},{key:`snapshotSettings.ttl`,labelKey:`components.automation_nodes.camera_prop_snapshot_ttl`,inputType:`number`,min:10,max:60,defaultValue:`50`}];export{n,r,i as t};
@@ -0,0 +1 @@
1
+ import{An as e,Gt as t}from"./api-x8zXlvtm.js";import{Mn as n,Rn as r,an as i,hr as a,in as o,mn as s,on as c,rn as l,rr as u,sn as d,yr as f}from"./vendor-AX0A8AMd.js";import{r as p}from"./alert-outline-DtiCgufF.js";import{t as m}from"./bell-ring-DBCDVZQy.js";import{n as h,t as g}from"./webhook-CPF2kUgU.js";import{i as _,n as v,r as y}from"./CuiPluginTrustBadge-C-8MN2Qc.js";var b={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function x(e,t){return n(),d(`svg`,b,[...t[0]||=[o(`path`,{fill:`currentColor`,d:`M15 13h1.5v2.82l2.44 1.41l-.75 1.3L15 16.69zm4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67zM5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2zm11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85`},null,-1)]])}var S=u({name:`mdi-calendar-clock`,render:x}),C={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function w(e,t){return n(),d(`svg`,C,[...t[0]||=[o(`path`,{fill:`currentColor`,d:`m20.84 2.18l-3.93.78l2.74 3.54l1.97-.4zm-6.87 1.36L12 3.93l2.75 3.53l1.96-.39zm-4.9.96l-1.97.41l2.75 3.53l1.96-.39zm-4.91 1l-.98.19a2 2 0 0 0-1.57 2.35L2 10l4.9-.97zM2 10v10a2 2 0 0 0 2 2h16c1.11 0 2-.89 2-2V10z`},null,-1)]])}var T=u({name:`mdi-movie-open`,render:w}),E={notification:{icon:m,labelKey:`components.automation_store.category_notification`},recording:{icon:y,labelKey:`components.automation_store.category_recording`},presence:{icon:h,labelKey:`components.automation_store.category_presence`},detection:{icon:t,labelKey:`components.automation_store.category_detection`},schedule:{icon:S,labelKey:`components.automation_store.category_schedule`},webhook:{icon:g,labelKey:`components.automation_store.category_webhook`},mqtt:{icon:p,labelKey:`components.automation_store.category_mqtt`},scene:{icon:T,labelKey:`components.automation_store.category_scene`},utility:{icon:v,labelKey:`components.automation_store.category_utility`},other:{icon:_,labelKey:`components.automation_store.category_other`}},D=[`notification`,`recording`,`presence`,`detection`,`schedule`,`webhook`,`mqtt`,`scene`,`utility`,`other`];function O(e){return e&&e in E?E[e]:E.other}var k={key:0,class:`cui-category-chip`},A={class:`cui-category-chip-label`},j=e(s({__name:`CuiAutomationCategoryChip`,props:{category:{}},setup(e){let t=e,s=l(()=>O(t.category));return(t,l)=>e.category?(n(),d(`span`,k,[(n(),i(r(a(s).icon),{class:`cui-category-chip-icon`})),o(`span`,A,f(t.$t(a(s).labelKey)),1)])):c(``,!0)}}),[[`__scopeId`,`data-v-ea2e312f`]]),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return n(),d(`svg`,M,[...t[0]||=[o(`path`,{fill:`currentColor`,d:`M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2L9.19 8.62L2 9.24l5.45 4.73L5.82 21z`},null,-1)]])}var P=u({name:`mdi-star`,render:N}),F={camera:`components.automation_store.input_camera`,plugin:`components.automation_store.input_plugin`,sensor:`components.automation_store.input_sensor`,"notification-targets":`components.automation_store.input_notification_targets`,"system-target":`components.automation_store.input_system_target`,text:`components.automation_store.input_text`};function I(e,t){return e?.length?e.map(e=>t(F[e.type],{count:e.count??1})):[]}export{D as a,E as i,P as n,j as r,I as t};
@@ -0,0 +1 @@
1
+ import{Br as e,D as t,Ft as n,Gn as r,Gt as i,Ht as a,Nn as o,O as s,Ot as c,Qn as l,Wt as u,d,i as f,jn as p,l as m,m as h,q as g,r as _,t as ee,ti as te,zt as ne}from"./vendor-cameraui-phsC2Mmi.js";import{An as v,Cr as re,On as ie,U as ae,W as oe,at as se,bn as ce,et as le,it as ue,kn as de,s as fe,tt as pe,vn as me,wn as he,xn as ge}from"./api-x8zXlvtm.js";import{$t as y,An as _e,Cn as b,Fn as x,In as S,Kn as ve,Mn as C,Pn as w,Qt as T,Rn as ye,Wn as E,Xn as be,Xt as xe,Yn as D,an as O,fn as k,gr as A,hr as j,in as M,mn as N,on as P,rn as F,sn as I,sr as L,vr as R,wn as z,yn as Se,yr as B}from"./vendor-AX0A8AMd.js";import{a as Ce}from"./intercomService-CfCIMUlA.js";import{N as V}from"./vendor-primevue-nPess0JU.js";var we=[`src`],Te={key:2,class:`w-full h-full flex items-center justify-center bg-neutral-800/80`},Ee={class:`absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]`},De={class:`flex items-center gap-1.5`},Oe={class:`text-xs font-semibold text-white truncate min-w-0 flex-1`},ke={key:1,class:`text-[10px] font-semibold text-white/80 bg-black/60 px-1.5 py-0.5 rounded-md shrink-0`},Ae={class:`text-[10px] text-white/70`},je={class:`block text-[11px] text-white font-medium truncate bg-black/50 rounded-md px-2 py-0.5`},Me={class:`flex items-center gap-1 min-w-0`},Ne=[`title`],Pe={key:0,class:`flex items-center gap-0.5 shrink-0 opacity-85 group-hover:opacity-100 transition-opacity duration-200`},Fe=[`onClick`],Ie=[`src`,`alt`],Le={key:0,class:`text-[10px] text-white/60 font-medium`},Re={key:6,class:`absolute inset-0 z-[4] flex items-center justify-center pointer-events-none`},ze={key:7,class:`absolute bottom-10 left-1/2 -translate-x-1/2 z-[4] pointer-events-none`},Be={class:`text-[10px] font-semibold text-white bg-black/60 px-1.5 py-0.5 rounded-md whitespace-nowrap`,style:{"font-variant-numeric":`tabular-nums`}},Ve=24,He=30,Ue=22,We=28,Ge=8,Ke=v(N({__name:`RecordingCard`,props:{event:{},cameraName:{},camera:{},loadThumbnails:{type:Function},semanticScore:{},segIndex:{},hideSegmentBadge:{type:Boolean},selectionMode:{type:Boolean},selected:{type:Boolean},siblingActive:{type:Boolean}},emits:[`scrollToEvent`,`select`,`openTrace`],setup(r,{emit:a}){let o=r,l=a,u=Ce(),p=re(),{t:v}=e(),b=s(`@camera.ui/camera-ui-nvr`),{plugin:x}=c(`@camera.ui/camera-ui-nvr`),{icons:S}=oe(),N=b.getCachedThumbnails(o.event.id),R=N?t(N,o.event,`card`,o.segIndex).url?`loaded`:`empty`:`loading`,z=Se(_,void 0),V=E(`rootRef`),Ke=E(`previewCanvasRef`),qe=E(`footerRef`),H=L(!1),Je=ae(V,()=>xt(),()=>$()),U=L(!1),W=L(N??null),G=L(R),K=L(!1),Ye=L(0),{width:Xe}=te(qe),Ze=F(()=>(b.storeVersion.value,o.event.segments?.find(e=>e?.description)?.description?.title)),Qe=F(()=>{if(o.semanticScore==null)return;let e=Math.max(0,Math.min(1,o.semanticScore));return{pct:e,label:`${(e*100).toFixed(0)}%`,color:e>=.5?`bg-green-500/80`:e>=.25?`bg-yellow-500/80`:`bg-red-400/80`}}),q=F(()=>W.value?t(W.value,o.event,`card`,o.segIndex):null),$e=F(()=>{let e=o.segIndex??q.value?.segIndex;return e===void 0?void 0:o.event.segments?.[e]}),et=F(()=>q.value?.url),tt=F(()=>q.value?.label),nt=F(()=>q.value?.type??o.event.types[0]??`motion`),rt=F(()=>{if(o.hideSegmentBadge)return;let e=o.event.segments?.length??0;return o.segIndex!==void 0&&e>1?`${o.segIndex+1}/${e}`:void 0}),J=F(()=>{let e=W.value,t=q.value?.url;if(!e||!t)return[];let n=[{url:t,label:q.value?.label,type:nt.value,crop:!1}];for(let t of ee(e,o.segIndex))n.some(e=>e.url===t.url)||n.push({url:t.url,label:t.label,type:t.type,crop:!0});if(o.segIndex===void 0)for(let t of Object.keys(e.cards??e.strips??{}).sort((e,t)=>Number(e)-Number(t))){let r=m(e.cards?.[t]??e.strips?.[t]);if(!r||n.some(e=>e.url===r))continue;let i=pe(o.event,t);n.push({url:r,label:i,type:i,crop:!1})}return n.length>1?n:[]}),it=F(()=>J.value.length>1),Y=F(()=>J.value.length?Math.min(Ye.value,J.value.length-1):0),at=F(()=>it.value?J.value[Y.value]:void 0),ot=F(()=>!!at.value?.crop),st=F(()=>at.value?.url??et.value),ct=F(()=>at.value?.label??tt.value),X=F(()=>{let e=$e.value;return(e?h(o.event,e):[...new Set(o.event.types)]).filter(e=>e!==`motion`&&e!==`audio`)}),lt=F(()=>o.cameraName??o.event.cameraId),Z=F(()=>J.value.map(e=>({url:e.url,type:e.type}))),ut=F(()=>X.value.slice(0,Q.value.icons)),Q=F(()=>{let e=Xe.value;if(!e)return{icons:2,tiles:2};let t=e-Ge;o.selectionMode&&(t-=We);let n=Z.value.length>0?52:0,r=_t(X.value.length,Math.max(0,t-n),Ve),i=X.value.length>0?Math.max(1,r):0,a=i*Ve+(i<X.value.length?Ue:0);return{icons:i,tiles:_t(Z.value.length,Math.max(0,t-a),He)}}),dt=F(()=>X.value.slice(Q.value.icons)),ft=F(()=>Z.value.slice(0,Q.value.tiles)),pt=F(()=>Z.value.length-Q.value.tiles),mt=F(()=>{let e=o.segIndex===void 0?void 0:o.event.segments?.[o.segIndex]?.firstSeen,t=new Date(e??o.event.thumbnailAt??o.event.startTime),n=new Date,r=t.toDateString()===n.toDateString(),i=t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});return r?i:`${t.toLocaleDateString([],{month:`short`,day:`numeric`})} ${i}`}),ht=F(()=>!!(x.value&&o.event.endTime&&o.event.hasRecording!==!1)),gt=F(()=>z?H.value?v(`views.recordings.no_preview`):U.value?z.status.value===`unavailable`?v(`views.recordings.no_preview`):z.status.value===`playing`&&z.previewTimeMs.value?bt(z.previewTimeMs.value):``:``:``);function _t(e,t,n){return e===0||t<n?0:e*n<=t?e:Math.max(0,Math.floor((t-Ue)/n))}function vt(e){let t=J.value.length;t&&($(),Ye.value=(Y.value+e+t)%t)}function yt(e,t){it.value&&(t.stopPropagation(),$(),Ye.value=e)}function $(){H.value=!1,!(!z||!U.value)&&(U.value=!1,z.onHoverEnd())}function bt(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function xt(){if(!z||Y.value>0)return;let e=Ke.value;if(!e)return;let t=d(o.event);if(o.event.hasRecording===!1||!t){H.value=!0;return}U.value=!0,z.onHoverStart(e,o.event.cameraId,o.event.id,o.event.startTime,t,o.camera?.zones?.privacy,f(o.event))}function St(){Je.blocksMouseEnter()||xt()}function Ct(){H.value=!1,z&&(U.value=!1,z.onHoverEnd())}async function wt(e=2){let n=await o.loadThumbnails(o.event.id,o.event.startTime);if(n){W.value=n;let e=t(n,o.event,`card`);G.value=e.url?`loaded`:`empty`}else if(e>0)return await new Promise(e=>setTimeout(e,500)),wt(e-1);else G.value=o.event.state===`active`?`loading`:`empty`}function Tt(){if(!Je.consumesClick()){if(o.selectionMode){l(`select`);return}l(`scrollToEvent`,$e.value?.firstSeen??le(o.event))}}async function Et(){if(K.value)return;let e=x.value;if(!(!e?.nvrExport||!o.event.endTime)){K.value=!0;try{let t=await e.nvrExport(o.event.cameraId,o.event.startTime*1e3,o.event.endTime*1e3);await ie({url:t.url,filename:t.filename})}catch(e){u.error(`Download failed:`,e),p.add({severity:`error`,summary:v(`views.recordings.download_failed`),detail:fe(e),life:5e3})}finally{K.value=!1}}}return ve(()=>b.storeVersion.value,()=>{let e=b.getCachedThumbnails(o.event.id);e&&(W.value=e,t(e,o.event,`card`).url&&(G.value=`loaded`))}),_e(()=>{R===`loading`&&wt()}),(e,t)=>{let a=g,o=de,s=me,c=ue,u=ne,d=se,f=ce,p=ge,m=he,h=n,_=i;return C(),I(`div`,{ref_key:`rootRef`,ref:V,class:`recording-card relative group cursor-pointer`,onClick:Tt,onMouseenter:St,onMouseleave:Ct},[M(`div`,{class:A([`bg-neutral-900 w-full rounded-xl overflow-hidden relative transition-shadow duration-200`,{"ring-2 ring-inset ring-primary/70":r.siblingActive}]),style:{"aspect-ratio":`1/1`}},[j(G)===`loading`?(C(),O(a,{key:0,width:`100%`,height:`100%`,class:`rounded-xl`})):j(st)?(C(),I(y,{key:1},[j(ot)?(C(),I(`img`,{key:0,src:j(st),"aria-hidden":`true`,class:`absolute inset-0 w-full h-full object-cover blur-xl scale-110 opacity-50 pointer-events-none`},null,8,we)):P(``,!0),k(o,{src:j(st),alt:j(lt),class:`pointer-events-none w-full h-full transition-transform duration-300 group-hover:scale-105`,"image-style":{objectFit:j(ot)?`contain`:`cover`},"image-container-class":`w-full h-full`},null,8,[`src`,`alt`,`image-style`])],64)):(C(),I(`div`,Te,[(C(),O(ye(j(S)[j(nt)]??j(S).motion),{class:`w-10 h-10 text-white/20`}))])),j(z)?be((C(),I(`canvas`,{key:3,ref_key:`previewCanvasRef`,ref:Ke,class:`absolute inset-0 w-full h-full object-cover pointer-events-none z-[1]`},null,512)),[[xe,j(U)]]):P(``,!0),t[3]||=M(`div`,{class:`absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]`},null,-1),M(`div`,Ee,[M(`div`,De,[j(Ze)?(C(),O(s,{key:0,position:`inline`})):P(``,!0),M(`p`,Oe,B(j(lt)),1),j(rt)?(C(),I(`span`,ke,B(j(rt)),1)):P(``,!0),j(Qe)?(C(),I(`span`,{key:2,class:A([`text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0`,j(Qe).color])},B(j(Qe).label),3)):P(``,!0),r.camera&&!r.selectionMode?be((C(),O(u,{key:3,rounded:``,text:``,severity:`secondary`,class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:t[0]||=T(e=>l(`openTrace`),[`stop`]),onMouseenter:$},{icon:D(()=>[k(c,{class:`w-3 h-3 text-white`})]),_:1})),[[_,{value:e.$t(`views.recordings.open_trace`)},void 0,{left:!0}]]):P(``,!0),j(ht)&&!r.selectionMode?be((C(),O(u,{key:4,rounded:``,text:``,severity:`secondary`,loading:j(K),class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:T(Et,[`stop`]),onMouseenter:$},{icon:D(()=>[k(d,{class:`w-3 h-3 text-white`})]),_:1},8,[`loading`])),[[_,{value:e.$t(`views.recordings.download`)},void 0,{left:!0}]]):P(``,!0)]),M(`p`,Ae,B(j(mt)),1)]),j(J).length>1?(C(),I(y,{key:4},[k(u,{rounded:``,text:``,severity:`secondary`,class:`carousel-nav !absolute left-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200`,"aria-label":e.$t(`views.recordings.prev_image`),onClick:t[1]||=T(e=>vt(-1),[`stop`]),onMouseenter:$},{icon:D(()=>[k(f,{class:`w-5 h-5 text-white`})]),_:1},8,[`aria-label`]),k(u,{rounded:``,text:``,severity:`secondary`,class:`carousel-nav !absolute right-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200`,"aria-label":e.$t(`views.recordings.next_image`),onClick:t[2]||=T(e=>vt(1),[`stop`]),onMouseenter:$},{icon:D(()=>[k(p,{class:`w-5 h-5 text-white`})]),_:1},8,[`aria-label`])],64)):P(``,!0),j(ct)?(C(),I(`div`,{key:5,class:A([`absolute left-1/2 -translate-x-1/2 z-[3] max-w-[85%] pointer-events-none transition-all duration-200`,j(gt)?`bottom-16`:`bottom-10`])},[M(`span`,je,B(j(ct)),1)],2)):P(``,!0),M(`div`,{ref_key:`footerRef`,ref:qe,class:`absolute bottom-2 left-2 right-2 flex items-center justify-between gap-2 z-[3]`},[M(`div`,Me,[r.selectionMode?(C(),I(`div`,{key:0,class:A([`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0`,r.selected?`bg-primary border-primary`:`bg-black/40 border-white/80`])},[r.selected?(C(),O(m,{key:0,class:`w-4 h-4 text-white`})):P(``,!0)],2)):P(``,!0),(C(!0),I(y,null,w(j(ut),e=>(C(),I(`div`,{key:e,class:`flex items-center justify-center w-5 h-5 rounded-md bg-black/60 shrink-0`},[(C(),O(ye(j(S)[e]??j(S).motion),{class:`w-3 h-3 text-white/80`}))]))),128)),j(dt).length>0?(C(),I(`span`,{key:1,title:j(dt).join(`, `),class:`text-[10px] text-white/60 font-medium shrink-0`},` +`+B(j(dt).length),9,Ne)):P(``,!0)]),j(ft).length>0||j(pt)>0?(C(),I(`div`,Pe,[(C(!0),I(y,null,w(j(ft),(e,t)=>(C(),I(`div`,{key:t,class:A([`w-7 h-7 rounded overflow-hidden border bg-neutral-800 cursor-pointer`,t===j(Y)?`border-primary/80`:`border-white/20`]),onClick:e=>yt(t,e)},[M(`img`,{src:e.url,alt:e.type,decoding:`async`,loading:`lazy`,class:`w-full h-full object-cover`},null,8,Ie)],10,Fe))),128)),j(pt)>0?(C(),I(`span`,Le,`+`+B(j(pt)),1)):P(``,!0)])):P(``,!0)],512),j(z)&&j(U)&&j(z).isLoading.value?(C(),I(`div`,Re,[k(h,{class:`w-[28px] h-[28px] m-0`,"stroke-width":`6`})])):P(``,!0),j(gt)?(C(),I(`div`,ze,[M(`span`,Be,B(j(gt)),1)])):P(``,!0)],2)],544)}}}),[[`__scopeId`,`data-v-97ad8176`]]),qe={name:`VirtualScroller`,components:{SpinnerIcon:a},extends:{name:`BaseVirtualScroller`,extends:u,provide(){return{$pcVirtualScroller:this,$parentInstance:this}},props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:`vertical`},rtl:{type:Boolean,default:!1},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1},itemKey:{type:[String,Function],default:null}},style:V,beforeMount(){V.loadCSS({nonce:this.$primevueConfig?.csp?.nonce})}},inheritAttrs:!1,emits:[`update:numToleratedItems`,`scroll`,`scroll-index-change`,`lazy-load`],data(){let e=this.isBoth();return{first:e?{rows:0,cols:0}:0,last:e?{rows:0,cols:0}:0,page:e?{rows:0,cols:0}:0,numItemsInViewport:e?{rows:0,cols:0}:0,lastScrollPos:e?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,computed:{containerClass(){return[`p-virtualscroller`,this.class,{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal(),"p-virtualscroller-rtl":this.rtl&&this.isHorizontal()}]},contentClass(){return[`p-virtualscroller-content`,{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return[`p-virtualscroller-loader`,{"p-virtualscroller-loader-mask":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map(e=>this.columns?e:e.slice(this.appendOnly?0:this.first.cols,this.last.cols)):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){let e=this.isBoth(),t=this.isHorizontal();if(e||t)return this.d_loading&&this.loaderDisabled?e?this.loaderArr[0]:this.loaderArr:this.columns.slice(e?this.first.cols:this.first,e?this.last.cols:this.last)}return this.columns}},watch:{numToleratedItems(e){this.d_numToleratedItems=e},loading(e,t){this.lazy&&e!==t&&e!==this.d_loading&&(this.d_loading=e)},items(e,t){(!t||t.length!==(e||[]).length)&&this.scheduleInit()},itemSize(){this.scheduleInit()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.scheduleInit()},scrollWidth(){this.scheduleInit()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{resolveItemKey(e,t){let n=this.itemKey;return typeof n==`function`?n(e,t)??t:typeof n==`string`&&typeof e==`object`&&e?e[n]??t:t},viewInit(){r(this.element)&&(this.setContentEl(this.content),this.init(),this.calculateAutoSize(),this.bindResizeListener(),this.defaultWidth=p(this.element),this.defaultHeight=o(this.element),this.defaultContentWidth=p(this.content),this.defaultContentHeight=o(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},scheduleInit(){this._initScheduled||(this._initScheduled=!0,Promise.resolve().then(()=>{this._initScheduled=!1,this.init(),this.calculateAutoSize()}))},isVertical(){return this.orientation===`vertical`},isHorizontal(){return this.orientation===`horizontal`},isBoth(){return this.orientation===`both`},scrollTo(e){this.element&&this.element.scrollTo(e)},scrollToIndex(e,t=`auto`){let n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r;if(n?e.every(e=>e>-1):e>-1){let a=this.first,{scrollTop:o=0,scrollLeft:s=0}=this.element,{numToleratedItems:c}=this.calculateNumItems(),l=this.getContentPosition(),u=this.itemSize,d=(e=0,t)=>e<=t?0:e,f=(e,t,n)=>e*t+n,p=(e=0,n=0)=>{i&&(e=this.element.scrollWidth-this.element.clientWidth-e),this.scrollTo({left:e,top:n,behavior:t})},m=n?{rows:0,cols:0}:0,h=!1,g=!1;n?(m={rows:d(e[0],c[0]),cols:d(e[1],c[1])},p(f(m.cols,u[1],l.left),f(m.rows,u[0],l.top)),g=this.lastScrollPos.top!==o||this.lastScrollPos.left!==s,h=m.rows!==a.rows||m.cols!==a.cols):(m=d(e,c),r?p(f(m,u,l.left),o):p(s,f(m,u,l.top)),g=this.lastScrollPos!==(r?s:o),h=m!==a),this.isRangeChanged=h,g&&(this.first=m)}},scrollInView(e,t,n=`auto`){if(t){let r=this.isBoth(),i=this.isHorizontal();if(r?e.every(e=>e>-1):e>-1){let{first:a,viewport:o}=this.getRenderedRange(),s=(e=0,t=0)=>this.scrollTo({left:e,top:t,behavior:n}),c=t===`to-start`,l=t===`to-end`;if(c){if(r)o.first.rows-a.rows>e[0]?s(o.first.cols*this.itemSize[1],(o.first.rows-1)*this.itemSize[0]):o.first.cols-a.cols>e[1]&&s((o.first.cols-1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.first-a>e){let e=(o.first-1)*this.itemSize;i?s(e,0):s(0,e)}}else if(l){if(r)o.last.rows-a.rows<=e[0]+1?s(o.first.cols*this.itemSize[1],(o.first.rows+1)*this.itemSize[0]):o.last.cols-a.cols<=e[1]+1&&s((o.first.cols+1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.last-a<=e+1){let e=(o.first+1)*this.itemSize;i?s(e,0):s(0,e)}}}}else this.scrollToIndex(e,n)},getRenderedRange(){let e=(e,t)=>Math.floor(e/(t||e)),t=this.first,n=0;if(this.element){let r=this.isBoth(),i=this.isHorizontal(),{scrollTop:a,scrollLeft:o}=this.element;r?(t={rows:e(a,this.itemSize[0]),cols:e(o,this.itemSize[1])},n={rows:t.rows+this.numItemsInViewport.rows,cols:t.cols+this.numItemsInViewport.cols}):(t=e(i?o:a,this.itemSize),n=t+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:t,last:n}}},calculateNumItems(){let e=this.isBoth(),t=this.isHorizontal(),n=this.itemSize,r=this.getContentPosition(),i=this.element?this.element.offsetWidth-r.left:0,a=this.element?this.element.offsetHeight-r.top:0,o=(e,t)=>Math.ceil(e/(t||e)),s=e=>Math.ceil(e/2),c=e?{rows:o(a,n[0]),cols:o(i,n[1])}:o(t?i:a,n);return{numItemsInViewport:c,numToleratedItems:this.d_numToleratedItems||(e?[s(c.rows),s(c.cols)]:s(c))}},calculateOptions(){let e=this.isBoth(),t=this.first,{numItemsInViewport:n,numToleratedItems:r}=this.calculateNumItems(),i=(e,t,n,r=!1)=>this.getLast(e+t+(e<n?2:3)*n,r),a=e?{rows:i(t.rows,n.rows,r[0]),cols:i(t.cols,n.cols,r[1],!0)}:i(t,n,r);this.last=a,this.numItemsInViewport=n,this.d_numToleratedItems=r,this.$emit(`update:numToleratedItems`,this.d_numToleratedItems),this.showLoader&&(this.loaderArr=e?Array.from({length:n.rows}).map(()=>Array.from({length:n.cols})):Array.from({length:n})),this.lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this.step?e?{rows:0,cols:t.cols}:0:t,last:Math.min(this.step?this.step:a,this.items?.length-1||0)},this.$emit(`lazy-load`,this.lazyLoadState)})},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.content){let e=this.isBoth(),t=this.isHorizontal(),n=this.isVertical();this.content.style.minHeight=this.content.style.minWidth=`auto`,this.content.style.position=`relative`,this.element.style.contain=`none`;let[r,i]=[p(this.element),o(this.element)];(e||t)&&(this.element.style.width=r<this.defaultWidth?r+`px`:this.scrollWidth||this.defaultWidth+`px`),(e||n)&&(this.element.style.height=i<this.defaultHeight?i+`px`:this.scrollHeight||this.defaultHeight+`px`),this.content.style.minHeight=this.content.style.minWidth=``,this.content.style.position=``,this.element.style.contain=``}})},getLast(e=0,t){return this.items?Math.min(t?(this.columns||this.items[0])?.length||0:this.items?.length||0,e):0},getContentPosition(){if(this.content){let e=getComputedStyle(this.content),t=parseFloat(e.paddingLeft)+Math.max(parseFloat(e.left)||0,0),n=parseFloat(e.paddingRight)+Math.max(parseFloat(e.right)||0,0),r=parseFloat(e.paddingTop)+Math.max(parseFloat(e.top)||0,0),i=parseFloat(e.paddingBottom)+Math.max(parseFloat(e.bottom)||0,0);return{left:t,right:n,top:r,bottom:i,x:t+n,y:r+i}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){let e=this.isBoth(),t=this.isHorizontal(),n=this.element.parentElement,r=this.scrollWidth||`${this.element.offsetWidth||n.offsetWidth}px`,i=this.scrollHeight||`${this.element.offsetHeight||n.offsetHeight}px`,a=(e,t)=>this.element.style[e]=t;e||t?(a(`height`,i),a(`width`,r)):a(`height`,i)}},setSpacerSize(){let e=this.items;if(e){let t=this.isBoth(),n=this.isHorizontal(),r=this.getContentPosition(),i=(e,t,n,r=0)=>this.spacerStyle={...this.spacerStyle,[`${e}`]:(t||[]).length*n+r+`px`};t?(i(`height`,e,this.itemSize[0],r.y),i(`width`,this.columns||e[1],this.itemSize[1],r.x)):n?i(`width`,this.columns||e,this.itemSize,r.x):i(`height`,e,this.itemSize,r.y)}},setContentPosition(e){if(this.content&&!this.appendOnly){let t=this.isBoth(),n=this.isHorizontal(),r=this.rtl&&n,i=e?e.first:this.first,a=(e,t)=>e*t,o=(e=0,t=0)=>{let n=r?-e:e;this.contentStyle={...this.contentStyle,transform:`translate3d(${n}px, ${t}px, 0)`}};if(t){let e=i.rows,t=i.cols,n=this.itemSize;o(a(t,n[1]),a(e,n[0]))}else{let e=i,t=this.itemSize,r=a(e,t);n?o(r,0):o(0,r)}}},onScrollPositionChange(e){let t=e.target,n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r,a=this.getContentPosition(),o=(e,t)=>e?e>t?e-t:e:0,s=(e,t)=>Math.floor(e/(t||e)),c=o(t.scrollTop,a.top),l=o(t.scrollLeft,a.left);i&&l<0&&(l=Math.abs(l));let u=n?{rows:0,cols:0}:0,d=this.last,f=!1,p=this.lastScrollPos;if(n){let e=this.lastScrollPos.top<=c,n=this.lastScrollPos.left<=l;if(!this.appendOnly||this.appendOnly&&(e||n)){let r={rows:s(c,this.itemSize[0]),cols:s(l,this.itemSize[1])},i={rows:this.calculateTriggerIndex(r.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateTriggerIndex(r.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n)};u={rows:this.calculateFirst(r.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateFirst(r.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n,!0)},d={rows:this.calculateLast(r.rows,u.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:this.calculateLast(r.cols,u.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},f=u.rows!==this.first.rows||d.rows!==this.last.rows||u.cols!==this.first.cols||d.cols!==this.last.cols||this.isRangeChanged,p={top:c,left:t.scrollLeft}}}else{let e=r?l:c,t=this.lastScrollPos<=e;if(!this.appendOnly||this.appendOnly&&t){let n=s(e,this.itemSize),r=this.calculateTriggerIndex(n,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t);u=this.calculateFirst(n,r,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t),d=this.calculateLast(n,u,this.last,this.numItemsInViewport,this.d_numToleratedItems),f=u!==this.first||d!==this.last||this.isRangeChanged,p=e}}return{first:u,last:d,isRangeChanged:f,scrollPos:p}},calculateTriggerIndex(e,t,n,r,i,a){return e<=i?i:a?n-r-i:t+i-1},calculateFirst(e,t,n,r,i,a,o,s=!1){if(e<=a)return 0;let c=Math.max(0,o?e<t?n:e-a:e>t?n:e-2*a),l=this.getLast(c,s);return c>l?l-i:c},calculateLast(e,t,n,r,i,a=!1){let o=t+r+2*i;return e>=i&&(o+=i+1),this.getLast(o,a)},onScrollChange(e){let{first:t,last:n,isRangeChanged:r,scrollPos:i}=this.onScrollPositionChange(e);if(r){let e={first:t,last:n};if(this.setContentPosition(e),this.first=t,this.last=n,this.lastScrollPos=i,this.$emit(`scroll-index-change`,e),this.lazy&&this.isPageChanged(t)){let e={first:this.step?Math.min(this.getPageByFirst(t)*this.step,(this.items?.length||0)-this.step):t,last:Math.min(this.step?(this.getPageByFirst(t)+1)*this.step:n,this.items?.length-1||0)};(this.lazyLoadState.first!==e.first||this.lazyLoadState.last!==e.last)&&this.$emit(`lazy-load`,e),this.lazyLoadState=e}}},onScroll(e){if(this.$emit(`scroll`,e),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.isPageChanged()){if(!this.d_loading&&this.showLoader){let{isRangeChanged:t}=this.onScrollPositionChange(e);(t||this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(e),this.d_loading&&this.showLoader&&(!this.lazy||this.loading===void 0)&&(this.d_loading=!1,this.page=this.getPageByFirst())},this.delay)}}else this.onScrollChange(e)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(r(this.element)){let e=this.isBoth(),t=this.isVertical(),n=this.isHorizontal(),[r,i]=[p(this.element),o(this.element)],[a,s]=[r!==this.defaultWidth,i!==this.defaultHeight];(e?a||s:n?a:t&&s)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=r,this.defaultHeight=i,this.defaultContentWidth=p(this.content),this.defaultContentHeight=o(this.content),this.init())}},this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener(`resize`,this.resizeListener),window.addEventListener(`orientationchange`,this.resizeListener))},unbindResizeListener(){this.resizeListener&&=(window.removeEventListener(`resize`,this.resizeListener),window.removeEventListener(`orientationchange`,this.resizeListener),null)},getOptions(e){let t=(this.items||[]).length,n=this.isBoth()?this.first.rows+e:this.first+e;return{index:n,count:t,first:n===0,last:n===t-1,even:n%2==0,odd:n%2!=0}},getLoaderOptions(e,t){let n=this.loaderArr.length;return{index:e,count:n,first:e===0,last:e===n-1,even:e%2==0,odd:e%2!=0,...t}},getPageByFirst(e){return Math.floor(((e??this.first)+this.d_numToleratedItems*4)/(this.step||1))},isPageChanged(e){return this.step&&!this.lazy?this.page!==this.getPageByFirst(e??this.first):!0},setContentEl(e){this.content=e||this.content||l(this.element,`[data-pc-section="content"]`)},elementRef(e){this.element=e},contentRef(e){this.content=e}}},H=[`tabindex`];function Je(e,t,n,r,i,a){let o=S(`SpinnerIcon`);return e.disabled?(C(),I(y,{key:1},[x(e.$slots,`default`),x(e.$slots,`content`,{items:e.items,rows:e.items,columns:a.loadedColumns})],64)):(C(),I(`div`,b({key:0,ref:a.elementRef,class:a.containerClass,tabindex:e.tabindex,style:e.style},e.ptmi(`root`),{onScroll:t[0]||=(...e)=>a.onScroll&&a.onScroll(...e)}),[x(e.$slots,`content`,{styleClass:a.contentClass,items:a.loadedItems,getItemOptions:a.getOptions,loading:i.d_loading,getLoaderOptions:a.getLoaderOptions,itemSize:e.itemSize,rows:a.loadedRows,columns:a.loadedColumns,contentRef:a.contentRef,spacerStyle:i.spacerStyle,contentStyle:i.contentStyle,vertical:a.isVertical(),horizontal:a.isHorizontal(),both:a.isBoth()},()=>[M(`div`,b({ref:a.contentRef,class:a.contentClass,style:i.contentStyle},e.ptm(`content`)),[(C(!0),I(y,null,w(a.loadedItems,(t,n)=>x(e.$slots,`item`,{item:t,options:a.getOptions(n)},void 0,void 0,a.resolveItemKey(t,n))),128))],16)]),e.showSpacer?(C(),I(`div`,b({key:0,class:`p-virtualscroller-spacer`,style:i.spacerStyle},e.ptm(`spacer`)),null,16)):P(``,!0),!e.loaderDisabled&&e.showLoader&&i.d_loading?(C(),I(`div`,b({key:1,class:a.loaderClass},e.ptm(`loader`)),[e.$slots&&e.$slots.loader?(C(!0),I(y,{key:0},w(i.loaderArr,(t,n)=>x(e.$slots,`loader`,{options:a.getLoaderOptions(n,a.isBoth()&&{numCols:e.d_numItemsInViewport.cols})},void 0,void 0,n)),128)):P(``,!0),x(e.$slots,`loadingicon`,{},()=>[k(o,b({spin:``,class:`p-virtualscroller-loading-icon`},e.ptm(`loadingIcon`)),null,16)])],16)):P(``,!0)],16,H))}var U=v(qe,[[`render`,Je]]),W=v(N({__name:`CuiRecordingsGrid`,props:{items:{},minItemWidth:{},aspectRatio:{default:1},gap:{default:8},hasMore:{type:Boolean,default:!1},loadMore:{type:Function,default:void 0},itemKey:{type:Function,default:void 0}},setup(e,{expose:t}){let n=e,r=E(`containerRef`),{width:i,height:a}=te(r),o=F(()=>a.value>0?`${a.value}px`:void 0),s=F(()=>{let e=i.value;if(!e)return 0;let t=n.gap;return Math.max(1,Math.floor((e+t)/(n.minItemWidth+t)))}),c=F(()=>{let e=i.value,t=s.value;return!e||!t?0:Math.floor((e-(t-1)*n.gap)/t)}),l=F(()=>c.value?Math.floor(c.value/n.aspectRatio):0),u=F(()=>l.value?l.value+n.gap:0),d=F(()=>{let e=s.value;if(!e)return[];let t=[];for(let r=0;r<n.items.length;r+=e)t.push(n.items.slice(r,r+e));return t});function f(e){if(n.itemKey)return n.itemKey(e);let t=e;return t.id??t.key??JSON.stringify(e)}function p(e){let t=e;if(!(!t||t.length===0))return f(t[0])}let m=!1,h=null;async function g(){if(m||!n.hasMore||!n.loadMore||h!==null&&n.items.length===h)return;m=!0;let e=n.items.length;try{await Promise.resolve(n.loadMore())}finally{m=!1,h=n.items.length===e?e:null}}let _=L(0);function ee(e){let t=e.target;if(!t)return;_.value=t.scrollTop;let n=u.value*3;t.scrollTop+t.clientHeight>=t.scrollHeight-n&&g()}function ne(){(r.value?.querySelector(`.recordings-scroll`))?.scrollTo({top:0,behavior:`smooth`})}let v=!1;return ve([()=>n.items.length,a,u,()=>n.hasMore],()=>{v||(v=!0,z(()=>{if(v=!1,!n.hasMore)return;let e=a.value,t=d.value.length*u.value;e>0&&u.value>0&&t<e+u.value&&g()}))},{flush:`post`}),t({scrollToTop:ne,scrollY:_}),(t,n)=>{let i=U;return C(),I(`div`,{ref_key:`containerRef`,ref:r,class:`recordings-grid-root`},[j(d).length>0&&j(c)>0?(C(),O(i,{key:0,items:j(d),"item-size":j(u),"scroll-height":j(o),orientation:`vertical`,class:`recordings-scroll`,"num-tolerated-items":2,"item-key":p,onScroll:ee},{item:D(({item:n})=>[M(`div`,{class:`recordings-row`,style:R({height:`${j(u)}px`,gap:`${e.gap}px`})},[(C(!0),I(y,null,w(n,e=>(C(),I(`div`,{key:f(e),style:R({width:`${j(c)}px`,height:`${j(l)}px`})},[x(t.$slots,`item`,{item:e},void 0,!0)],4))),128))],4)]),_:3},8,[`items`,`item-size`,`scroll-height`])):P(``,!0)],512)}}}),[[`__scopeId`,`data-v-e61b8b84`]]);function G(e){if(e.episode)return e.episode.endTime;if(e.segIndex!==void 0){let t=e.event.segments?.[e.segIndex];if(t)return t.firstSeen}return e.event.thumbnailAt??e.event.startTime}function K(e){let t=[];for(let n of e){let e=n.segments??[];if(e.length<=1){t.push({event:n,key:n.id});continue}e.forEach((e,r)=>{e&&t.push({event:n,key:`${n.id}:seg:${r}`,segIndex:r})})}return t.sort((e,t)=>G(t)-G(e)),t}export{Ke as i,G as n,W as r,K as t};
@@ -1 +1 @@
1
- .recording-card[data-v-52c7a97b]{contain:layout;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover:hover) and (pointer:fine){.carousel-nav[data-v-52c7a97b]{opacity:0}.recording-card:hover .carousel-nav[data-v-52c7a97b],.recording-card:focus-within .carousel-nav[data-v-52c7a97b]{opacity:1}}.recordings-grid-root[data-v-e61b8b84]{width:100%;height:100%;min-height:0}.recordings-scroll[data-v-e61b8b84]{scrollbar-width:none;scroll-snap-type:y proximity;width:100%;height:100%;overflow:hidden auto}.recordings-scroll[data-v-e61b8b84]::-webkit-scrollbar{display:none}.recordings-row[data-v-e61b8b84]{scroll-snap-align:start;align-items:stretch;display:flex}
1
+ .recording-card[data-v-97ad8176]{contain:layout;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover:hover) and (pointer:fine){.carousel-nav[data-v-97ad8176]{opacity:0}.recording-card:hover .carousel-nav[data-v-97ad8176],.recording-card:focus-within .carousel-nav[data-v-97ad8176]{opacity:1}}.recordings-grid-root[data-v-e61b8b84]{width:100%;height:100%;min-height:0}.recordings-scroll[data-v-e61b8b84]{scrollbar-width:none;scroll-snap-type:y proximity;width:100%;height:100%;overflow:hidden auto}.recordings-scroll[data-v-e61b8b84]::-webkit-scrollbar{display:none}.recordings-row[data-v-e61b8b84]{scroll-snap-align:start;align-items:stretch;display:flex}
@@ -1 +1 @@
1
- import{Ar as e,xr as t,yr as n}from"./api-2VPaKkqc.js";import{J as r,U as i,ir as a,rn as o,sr as s,ur as c}from"./vendor-AX0A8AMd.js";import{f as l}from"./vendor-core-DN-bpg68.js";import{l as u,u as d}from"./server-CaRDiFTF.js";import{n as f}from"./useServerRestart-XnqHaTb7.js";import{t as p}from"./useUpdatesSocket-DFt7_yr8.js";import{u as m}from"./plugins-CGDE1O2F.js";async function h({signal:t}={}){return(await e.get(`/updates/status`,{signal:t})).data}async function g(){return(await e.post(`/updates/run`)).data}async function _(){await e.post(`/updates/cancel`)}async function v(){await e.post(`/updates/check`,void 0,{timeout:6e4})}async function y(){return(await e.get(`/workers/config`)).data}async function b(t){return(await e.patch(`/workers/config`,t)).data}async function x(){return(await e.post(`/workers/pairings`)).data}async function S(t){await e.delete(`/workers/${t}`)}async function C(t){await e.post(`/workers/${t}/restart`)}async function w({agentId:t,version:n}){await e.post(`/workers/${t}/update`,n?{version:n}:{})}async function T({agentId:t,name:n}){await e.patch(`/workers/${t}`,{name:n})}async function E({cameraId:t,agentId:n}){return(await e.post(`/workers/assign`,{cameraId:t,agentId:n})).data}async function D({cameraId:t}){return(await e.post(`/workers/unassign`,{cameraId:t})).data}async function O({pluginName:t,agentId:n}){return(await e.post(`/workers/assign-plugin`,{pluginName:t,agentId:n})).data}async function k({pluginName:t}){return(await e.post(`/workers/unassign-plugin`,{pluginName:t})).data}var A=class{_queryClient=r();toast=t();getConfigQuery(){return n({queryKey:[`workersConfig`],queryFn:()=>y(),retry:!1})}patchConfigQuery(){return i({mutationFn:b,onSuccess:()=>this._queryClient.invalidateQueries({queryKey:[`workersConfig`]}),onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}createPairingQuery(){return i({mutationFn:x})}removeWorkerQuery(){return i({mutationFn:S,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}assignCameraQuery(){return i({mutationFn:E,onMutate:({cameraId:e,agentId:t})=>this.patchCameraWorker(e,t),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}unassignCameraQuery(){return i({mutationFn:D,onMutate:({cameraId:e})=>this.patchCameraWorker(e,void 0),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}restartWorkerQuery(){return i({mutationFn:C})}updateWorkerQuery(){return i({mutationFn:w,onError:e=>{this.toast.add({severity:`error`,detail:e,life:5e3})}})}renameWorkerQuery(){return i({mutationFn:T,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}assignPluginQuery(){return i({mutationFn:O,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}unassignPluginQuery(){return i({mutationFn:k,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}patchCameraWorker(e,t){let n=[];for(let[r,i]of this._queryClient.getQueriesData({queryKey:[`camerasList`]}))i?.result&&(n.push([r,i]),this._queryClient.setQueryData(r,{...i,result:i.result.map(n=>n._id===e?{...n,workerAgentId:t}:n)}));return{rollback:()=>{for(let[e,t]of n)this._queryClient.setQueryData(e,t)}}}},j=3e4,M=l(`updates`,()=>{let e=t(),n=p(),{beginServerRestart:r}=f(),i=c(null),l=s(!1),y=s(Date.now()),b=s(!1),x,S=null,C=o(()=>{let e=new Map;for(let t of i.value?.run?.active?i.value.run.items:i.value?.lastRun?.items??[])e.set(t.id,t);for(let t of i.value?.manual??[])e.set(t.id,t);return e}),T=o(()=>{let e=i.value?.pending;if(!e)return[];let t=[];t.push(W({id:`server`,kind:`server`,name:`camera.ui`,installedVersion:e.server.installedVersion,latestVersion:e.server.latestVersion??e.server.installedVersion,status:e.server.updateAvailable?e.server.blockedReason?`blocked`:`pending`:`uptodate`,blockedReason:e.server.updateAvailable?e.server.blockedReason:void 0}));for(let n of e.plugins)t.push(W({id:`plugin:${n.pluginName}`,kind:`plugin`,name:n.displayName||n.pluginName,packageName:n.pluginName,installedVersion:n.installedVersion,latestVersion:n.latestVersion??n.installedVersion,status:n.updateAvailable?`pending`:`uptodate`}));for(let n of e.workers)t.push(W({id:`worker:${n.agentId}`,kind:`worker`,name:n.name,installedVersion:n.installedVersion,latestVersion:e.targetServerVersion,status:n.updateAvailable?n.updatable?`pending`:`blocked`:`uptodate`,blockedReason:n.updateAvailable&&!n.updatable?n.blockedReason:void 0}));return t}),E=o(()=>i.value?.run?.active===!0),D=o(()=>i.value?.run?.cancelRequested===!0),O=o(()=>i.value?.lastRun?.finishedAt??null),k=o(()=>i.value?.run?.active?i.value.run.items.length:0),A=o(()=>i.value?.run?.active?i.value.run.items.filter(e=>e.status===`success`||e.status===`error`).length:0),M=o(()=>T.value.filter(e=>e.status===`pending`||e.status===`error`)),N=o(()=>M.value.length),P=o(()=>T.value.filter(e=>e.status===`error`)),F=o(()=>T.value.filter(e=>e.status===`updating`)),I=o(()=>F.value[0]),L=o(()=>T.value.find(e=>e.status===`restarting`)),R=o(()=>T.value.some(e=>e.kind===`server`&&(e.status===`updating`||e.status===`restarting`))),z=o(()=>F.value.some(e=>e.kind!==`server`)),B=o(()=>E.value||R.value||z.value),V=o(()=>i.value!==null&&N.value===0&&!B.value),H=o(()=>T.value.some(e=>e.kind===`server`&&(e.status===`pending`||e.status===`error`))),U=o(()=>i.value?.pending.targetServerVersion);function W(e){let t=C.value.get(e.id);return!t||t.status===`success`&&e.status===`uptodate`?e:{...e,status:t.status,error:t.error,latestVersion:t.targetVersion??e.latestVersion}}async function G(){return S||(S=h().then(e=>{i.value=e,y.value=Date.now()}).catch(()=>{}).finally(()=>{S=null}),S)}function K(){b.value||(b.value=!0,n.connect(),n.onStatus(()=>{G()}),G(),x??=setInterval(()=>G(),j))}async function q(){if(!B.value){l.value=!0;try{await v().catch(()=>{}),await G()}finally{l.value=!1}}}async function J(t){let n=T.value.find(e=>e.id===t);if(!(!n||E.value)&&(n.status===`pending`||n.status===`error`))try{n.kind===`plugin`?await m({pluginData:{pluginname:n.packageName??n.name,pluginversion:n.latestVersion??`latest`}}):n.kind===`worker`?await w({agentId:t.slice(7),version:U.value}):(await d({serverData:{version:n.latestVersion??`latest`}}),r(),await u())}catch(t){e.add({severity:`error`,detail:t?.response?.data?.message??t?.message,life:5e3})}finally{G()}}async function Y(){if(!(B.value||N.value===0))try{await g()}catch(t){e.add({severity:`error`,detail:t?.response?.data?.message??t?.message,life:5e3})}finally{G()}}async function X(){if(E.value)try{await _()}catch{}finally{G()}}function Z(e){return T.value.filter(t=>t.kind===e)}return a(()=>{x&&clearInterval(x)}),{status:i,items:T,runActive:E,cancelRequested:D,runFinishedAt:O,isChecking:l,checkedAt:y,runTotal:k,runDone:A,pendingItems:M,pendingCount:N,failedItems:P,updatingItems:F,updatingItem:I,restartingItem:L,serverBusy:R,targetsBusy:z,busy:B,allUpToDate:V,serverPending:H,targetServerVersion:U,connect:K,refresh:q,updateItem:J,updateAll:Y,cancelRun:X,itemsOf:Z}});export{A as n,M as t};
1
+ import{Cr as e,Mr as t,xr as n}from"./api-x8zXlvtm.js";import{J as r,U as i,ir as a,rn as o,sr as s,ur as c}from"./vendor-AX0A8AMd.js";import{f as l}from"./vendor-core-C0ZWoGJD.js";import{l as u,u as d}from"./server-dOx3q8o1.js";import{n as f}from"./useServerRestart-BpCDYbPH.js";import{t as p}from"./useUpdatesSocket-C-j3b3tU.js";import{u as m}from"./plugins-GA9v-eQx.js";async function h({signal:e}={}){return(await t.get(`/updates/status`,{signal:e})).data}async function g(){return(await t.post(`/updates/run`)).data}async function _(){await t.post(`/updates/cancel`)}async function v(){await t.post(`/updates/check`,void 0,{timeout:6e4})}async function y(){return(await t.get(`/workers/config`)).data}async function b(e){return(await t.patch(`/workers/config`,e)).data}async function x(){return(await t.post(`/workers/pairings`)).data}async function S(e){await t.delete(`/workers/${e}`)}async function C(e){await t.post(`/workers/${e}/restart`)}async function w({agentId:e,version:n}){await t.post(`/workers/${e}/update`,n?{version:n}:{})}async function T({agentId:e,name:n}){await t.patch(`/workers/${e}`,{name:n})}async function E({cameraId:e,agentId:n}){return(await t.post(`/workers/assign`,{cameraId:e,agentId:n})).data}async function D({cameraId:e}){return(await t.post(`/workers/unassign`,{cameraId:e})).data}async function O({pluginName:e,agentId:n}){return(await t.post(`/workers/assign-plugin`,{pluginName:e,agentId:n})).data}async function k({pluginName:e}){return(await t.post(`/workers/unassign-plugin`,{pluginName:e})).data}var A=class{_queryClient=r();toast=e();getConfigQuery(){return n({queryKey:[`workersConfig`],queryFn:()=>y(),retry:!1})}patchConfigQuery(){return i({mutationFn:b,onSuccess:()=>this._queryClient.invalidateQueries({queryKey:[`workersConfig`]}),onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}createPairingQuery(){return i({mutationFn:x})}removeWorkerQuery(){return i({mutationFn:S,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}assignCameraQuery(){return i({mutationFn:E,onMutate:({cameraId:e,agentId:t})=>this.patchCameraWorker(e,t),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}unassignCameraQuery(){return i({mutationFn:D,onMutate:({cameraId:e})=>this.patchCameraWorker(e,void 0),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}restartWorkerQuery(){return i({mutationFn:C})}updateWorkerQuery(){return i({mutationFn:w,onError:e=>{this.toast.add({severity:`error`,detail:e,life:5e3})}})}renameWorkerQuery(){return i({mutationFn:T,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}assignPluginQuery(){return i({mutationFn:O,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}unassignPluginQuery(){return i({mutationFn:k,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}patchCameraWorker(e,t){let n=[];for(let[r,i]of this._queryClient.getQueriesData({queryKey:[`camerasList`]}))i?.result&&(n.push([r,i]),this._queryClient.setQueryData(r,{...i,result:i.result.map(n=>n._id===e?{...n,workerAgentId:t}:n)}));return{rollback:()=>{for(let[e,t]of n)this._queryClient.setQueryData(e,t)}}}},j=3e4,M=l(`updates`,()=>{let t=e(),n=p(),{beginServerRestart:r}=f(),i=c(null),l=s(!1),y=s(Date.now()),b=s(!1),x,S=null,C=o(()=>{let e=new Map;for(let t of i.value?.run?.active?i.value.run.items:i.value?.lastRun?.items??[])e.set(t.id,t);for(let t of i.value?.manual??[])e.set(t.id,t);return e}),T=o(()=>{let e=i.value?.pending;if(!e)return[];let t=[];t.push(W({id:`server`,kind:`server`,name:`camera.ui`,installedVersion:e.server.installedVersion,latestVersion:e.server.latestVersion??e.server.installedVersion,status:e.server.updateAvailable?e.server.blockedReason?`blocked`:`pending`:`uptodate`,blockedReason:e.server.updateAvailable?e.server.blockedReason:void 0}));for(let n of e.plugins)t.push(W({id:`plugin:${n.pluginName}`,kind:`plugin`,name:n.displayName||n.pluginName,packageName:n.pluginName,installedVersion:n.installedVersion,latestVersion:n.latestVersion??n.installedVersion,status:n.updateAvailable?`pending`:`uptodate`}));for(let n of e.workers)t.push(W({id:`worker:${n.agentId}`,kind:`worker`,name:n.name,installedVersion:n.installedVersion,latestVersion:e.targetServerVersion,status:n.updateAvailable?n.updatable?`pending`:`blocked`:`uptodate`,blockedReason:n.updateAvailable&&!n.updatable?n.blockedReason:void 0}));return t}),E=o(()=>i.value?.run?.active===!0),D=o(()=>i.value?.run?.cancelRequested===!0),O=o(()=>i.value?.lastRun?.finishedAt??null),k=o(()=>i.value?.run?.active?i.value.run.items.length:0),A=o(()=>i.value?.run?.active?i.value.run.items.filter(e=>e.status===`success`||e.status===`error`).length:0),M=o(()=>T.value.filter(e=>e.status===`pending`||e.status===`error`)),N=o(()=>M.value.length),P=o(()=>T.value.filter(e=>e.status===`error`)),F=o(()=>T.value.filter(e=>e.status===`updating`)),I=o(()=>F.value[0]),L=o(()=>T.value.find(e=>e.status===`restarting`)),R=o(()=>T.value.some(e=>e.kind===`server`&&(e.status===`updating`||e.status===`restarting`))),z=o(()=>F.value.some(e=>e.kind!==`server`)),B=o(()=>E.value||R.value||z.value),V=o(()=>i.value!==null&&N.value===0&&!B.value),H=o(()=>T.value.some(e=>e.kind===`server`&&(e.status===`pending`||e.status===`error`))),U=o(()=>i.value?.pending.targetServerVersion);function W(e){let t=C.value.get(e.id);return!t||t.status===`success`&&e.status===`uptodate`?e:{...e,status:t.status,error:t.error,latestVersion:t.targetVersion??e.latestVersion}}async function G(){return S||(S=h().then(e=>{i.value=e,y.value=Date.now()}).catch(()=>{}).finally(()=>{S=null}),S)}function K(){b.value||(b.value=!0,n.connect(),n.onStatus(()=>{G()}),G(),x??=setInterval(()=>G(),j))}async function q(){if(!B.value){l.value=!0;try{await v().catch(()=>{}),await G()}finally{l.value=!1}}}async function J(e){let n=T.value.find(t=>t.id===e);if(!(!n||E.value)&&(n.status===`pending`||n.status===`error`))try{n.kind===`plugin`?await m({pluginData:{pluginname:n.packageName??n.name,pluginversion:n.latestVersion??`latest`}}):n.kind===`worker`?await w({agentId:e.slice(7),version:U.value}):(await d({serverData:{version:n.latestVersion??`latest`}}),r(),await u())}catch(e){t.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{G()}}async function Y(){if(!(B.value||N.value===0))try{await g()}catch(e){t.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{G()}}async function X(){if(E.value)try{await _()}catch{}finally{G()}}function Z(e){return T.value.filter(t=>t.kind===e)}return a(()=>{x&&clearInterval(x)}),{status:i,items:T,runActive:E,cancelRequested:D,runFinishedAt:O,isChecking:l,checkedAt:y,runTotal:k,runDone:A,pendingItems:M,pendingCount:N,failedItems:P,updatingItems:F,updatingItem:I,restartingItem:L,serverBusy:R,targetsBusy:z,busy:B,allUpToDate:V,serverPending:H,targetServerVersion:U,connect:K,refresh:q,updateItem:J,updateAll:Y,cancelRun:X,itemsOf:Z}});export{A as n,M as t};
@@ -1 +1 @@
1
- import"./api-2VPaKkqc.js";import{sr as e}from"./vendor-AX0A8AMd.js";import{i as t}from"./intercomService-Bjn0OsVT.js";function n(){let{electron:n}=t(),r=e(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:e(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
1
+ import"./api-x8zXlvtm.js";import{sr as e}from"./vendor-AX0A8AMd.js";import{i as t}from"./intercomService-CfCIMUlA.js";function n(){let{electron:n}=t(),r=e(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:e(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
@@ -0,0 +1 @@
1
+ import{Cr as e,Mr as t,g as n,s as r}from"./api-x8zXlvtm.js";import{sr as i}from"./vendor-AX0A8AMd.js";import{l as a}from"./server-dOx3q8o1.js";import{n as o}from"./useServerRestart-BpCDYbPH.js";var s=3e5;async function c(e){return(await t.post(`/backup/download`,{localStorage:e},{responseType:`arraybuffer`,timeout:s})).data}async function l(e,n){return(await t.post(`/backup/restore`,e,{timeout:s,onUploadProgress:e=>{e.total&&n?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await t.get(`/backup/scheduler`)).data}async function d(e){return(await t.patch(`/backup/scheduler`,e)).data}async function f(){return(await t.post(`/backup/scheduler/run`)).data}async function p(e){return(await t.get(`/backup/scheduler/backups/${encodeURIComponent(e)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(e){await t.delete(`/backup/scheduler/backups/${encodeURIComponent(e)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=i(``),y=h;function b(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function x(){async function t(t){let i=e();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let e=new FormData;e.append(`upload`,t),b(await l(e,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,v.value=r(e),i.add({severity:`error`,detail:v.value,life:1e4}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await n().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,lastError:v,restoreLocalStorage:b,run:t}}export{p as a,f as c,c as i,x as n,u as o,m as r,d as s,y as t};
@@ -1 +1 @@
1
- import{mt as e,zr as t}from"./vendor-cameraui-ZyqPntQ7.js";import{It as n}from"./api-2VPaKkqc.js";import{rn as r}from"./vendor-AX0A8AMd.js";import{F as i,R as a}from"./types-BHgaZSm2.js";function o(){let{data:e}=new n().getCamerasQuery({page:1,pageSize:-1});function t(t){return e.value?.result?.find(e=>e._id===t)?.name}return{cameraName:t}}function s(){let o=new n,{t:s}=t(),{data:c}=o.getCamerasQuery({page:1,pageSize:-1}),l=r(()=>c.value?.result??[]),u=r(()=>l.value.map(e=>({label:e.name,value:e._id})));function d(t){let{sensors:n,isLoading:i}=e(),a=r(()=>n.value.filter(e=>t?.(e)??!0).map(e=>{let t=s(`components.camera_options.sensor_type_${e.type}`),n=e.assignedCameraIds.value.map(e=>l.value.find(t=>t._id===e)?.name).filter(Boolean).join(`, `);return{label:`${e.displayName.value||e.name} (${t}${n?` · ${n}`:``})`,value:e.id,type:e.type}}));function o(e){return e?n.value.find(t=>t.id===e):void 0}return{sensorOptions:a,sensorById:o,isLoading:i}}function f(e,t=`observable`){return(t===`writable`?a(e):i(e)).map(e=>({label:s(`components.automation_nodes.sensor_property_${e}`),value:e}))}return{cameras:l,cameraOptions:u,useSensorOptions:d,getPropertiesForSensor:f}}export{s as n,o as t};
1
+ import{Br as e,ht as t}from"./vendor-cameraui-phsC2Mmi.js";import{Lt as n}from"./api-x8zXlvtm.js";import{rn as r}from"./vendor-AX0A8AMd.js";import{F as i,R as a}from"./types-CSWXRySW.js";function o(){let{data:e}=new n().getCamerasQuery({page:1,pageSize:-1});function t(t){return e.value?.result?.find(e=>e._id===t)?.name}return{cameraName:t}}function s(){let o=new n,{t:s}=e(),{data:c}=o.getCamerasQuery({page:1,pageSize:-1}),l=r(()=>c.value?.result??[]),u=r(()=>l.value.map(e=>({label:e.name,value:e._id})));function d(e){let{sensors:n,isLoading:i}=t(),a=r(()=>n.value.filter(t=>e?.(t)??!0).map(e=>{let t=s(`components.camera_options.sensor_type_${e.type}`),n=e.assignedCameraIds.value.map(e=>l.value.find(t=>t._id===e)?.name).filter(Boolean).join(`, `);return{label:`${e.displayName.value||e.name} (${t}${n?` · ${n}`:``})`,value:e.id,type:e.type}}));function o(e){return e?n.value.find(t=>t.id===e):void 0}return{sensorOptions:a,sensorById:o,isLoading:i}}function f(e,t=`observable`){return(t===`writable`?a(e):i(e)).map(e=>({label:s(`components.automation_nodes.sensor_property_${e}`),value:e}))}return{cameras:l,cameraOptions:u,useSensorOptions:d,getPropertiesForSensor:f}}export{s as n,o as t};
@@ -1 +1 @@
1
- import{pr as e}from"./api-2VPaKkqc.js";import{Kn as t}from"./vendor-AX0A8AMd.js";function n(n={}){let{target:r,onStdout:i,onDisconnect:a,onClearLog:o,onReconnected:s}=n,c=e(`/logs`),l=null,u=null,d=r,f=!1,p=0;r&&c.on(`stdout/${r}`,e=>i?.(e)),c.on(`clear-log`,e=>o?.(e??`all`)),c.onReady(()=>{f&&s?.(),f=!0,l?.()}),t(c.connected,(e,t)=>{!e&&t&&a?.()});function m(){}function h(){}function g(e){e>0&&(p=e),d&&e>0&&c.emit(`term-size`,{target:d,cols:e})}function _(e){return e.kind===`all`?`stdout`:e.kind===`system`?`stdout/system/${e.id}`:`stdout/${e.id}`}function v(e,t){u?.(),u=c.on(_(e),e=>i?.(e)),d=e.kind===`all`?void 0:e.id,p>0&&g(p),l=()=>{switch(e.kind){case`all`:c.emit(`get-all-logs`);break;case`system`:c.emit(`get-system-log`,e.id,t);break;case`camera`:c.emit(`get-camera-log`,e.id,t);break;case`plugin`:c.emit(`get-plugin-log`,e.id,t)}},l()}function y(){l=()=>c.emit(`get-all-logs`),l()}function b(e,t){l=()=>c.emit(`get-camera-log`,e,t),l()}function x(e,t){l=()=>c.emit(`get-plugin-log`,e,t),l()}return{isConnected:c.connected,connect:m,disconnect:h,reportSize:g,switchSource:v,requestAllLogs:y,requestCameraLog:b,requestPluginLog:x}}export{n as t};
1
+ import{mr as e}from"./api-x8zXlvtm.js";import{Kn as t}from"./vendor-AX0A8AMd.js";function n(n={}){let{target:r,onStdout:i,onDisconnect:a,onClearLog:o,onReconnected:s}=n,c=e(`/logs`),l=null,u=null,d=r,f=!1,p=0;r&&c.on(`stdout/${r}`,e=>i?.(e)),c.on(`clear-log`,e=>o?.(e??`all`)),c.onReady(()=>{f&&s?.(),f=!0,l?.()}),t(c.connected,(e,t)=>{!e&&t&&a?.()});function m(){}function h(){}function g(e){e>0&&(p=e),d&&e>0&&c.emit(`term-size`,{target:d,cols:e})}function _(e){return e.kind===`all`?`stdout`:e.kind===`system`?`stdout/system/${e.id}`:`stdout/${e.id}`}function v(e,t){u?.(),u=c.on(_(e),e=>i?.(e)),d=e.kind===`all`?void 0:e.id,p>0&&g(p),l=()=>{switch(e.kind){case`all`:c.emit(`get-all-logs`);break;case`system`:c.emit(`get-system-log`,e.id,t);break;case`camera`:c.emit(`get-camera-log`,e.id,t);break;case`plugin`:c.emit(`get-plugin-log`,e.id,t)}},l()}function y(){l=()=>c.emit(`get-all-logs`),l()}function b(e,t){l=()=>c.emit(`get-camera-log`,e,t),l()}function x(e,t){l=()=>c.emit(`get-plugin-log`,e,t),l()}return{isConnected:c.connected,connect:m,disconnect:h,reportSize:g,switchSource:v,requestAllLogs:y,requestCameraLog:b,requestPluginLog:x}}export{n as t};
@@ -1 +1 @@
1
- import{b as e,g as t,xn as n}from"./api-2VPaKkqc.js";import{rn as r}from"./vendor-AX0A8AMd.js";import{p as i}from"./vendor-core-DN-bpg68.js";var a=[`main`,`manage`,`system`],o=[`main`,`manage`,`system`,`settings`],s={main:!1,manage:!1,system:!0,settings:!0};function c(e){return e.meta?.navbar?.position===`top`?`main`:e.meta?.navbar?.group??`main`}function l(){let a=t(),{user:l}=i(a),u=r(()=>l.value?.navLayout??{}),d=r(()=>{let t=[];for(let r of e)!r.meta?.navbar||r.meta.navbar.position!==`top`&&!r.meta.navbar.group||!n(r)||t.push({route:r,name:r.name,labelKey:r.name.toLowerCase(),to:r.path,icon:r.meta.navbar.icon.default,activeIcon:r.meta.navbar.icon.active,defaultGroup:c(r),kind:`page`});let r=e.find(e=>e.name===`Settings`);for(let e of r?.children??[])!e.meta?.settingsBar||!n(e)||t.push({route:e,name:e.name,labelKey:e.meta.name,to:`/settings/${e.path}`,icon:e.meta.settingsBar.icon.default,activeIcon:e.meta.settingsBar.icon.active,defaultGroup:`settings`,kind:`settings`});return t}),f=r(()=>{let e=new Map(d.value.map(e=>[e.name,e])),t={main:[],manage:[],system:[],settings:[]},n=new Set;for(let r of o)for(let i of u.value.order?.[r]??[]){let a=e.get(i);!a||n.has(i)||(t[r].push(a),n.add(i))}for(let e of d.value)n.has(e.name)||t[e.defaultGroup].push(e);return t}),p=r(()=>new Set(u.value.hidden??[])),m=r(()=>u.value.settingsInNav??!1);function h(e){if(!l.value)return;let t={...u.value,...e};for(let e of Object.keys(t))t[e]===void 0&&delete t[e];t.order&&Object.keys(t.order).length===0&&delete t.order,t.collapsible&&Object.keys(t.collapsible).length===0&&delete t.collapsible,t.hidden&&t.hidden.length===0&&delete t.hidden,t.settingsInNav||delete t.settingsInNav;let n=Object.keys(t).length?t:null;l.value={...l.value,navLayout:n},a.updateUser({preferences:{navLayout:n}})}function g(e){return u.value.collapsible?.[e]??s[e]}function _(e,t){let n={...u.value.collapsible};t===s[e]?delete n[e]:n[e]=t,h({collapsible:n})}function v(e){h({settingsInNav:e})}function y(e){return p.value.has(e)}function b(e){let t=new Set(p.value);t.has(e)?t.delete(e):t.add(e),h({hidden:[...t]})}function x(e){let t={main:[...e.main],manage:[...e.manage],system:[...e.system],settings:[...e.settings]},n=u.value.order;n&&o.every(e=>{let r=n[e]??[];return r.length===t[e].length&&r.every((n,r)=>n===t[e][r])})||h({order:t})}function S(){h({order:void 0,hidden:void 0})}return{entries:d,groups:f,settingsInNav:m,isCollapsible:g,isHidden:y,toggleHidden:b,setCollapsible:_,setSettingsInNav:v,persistOrder:x,resetOrder:S}}export{a as n,l as r,o as t};
1
+ import{Sn as e,b as t,g as n}from"./api-x8zXlvtm.js";import{rn as r}from"./vendor-AX0A8AMd.js";import{p as i}from"./vendor-core-C0ZWoGJD.js";var a=[`main`,`manage`,`system`],o=[`main`,`manage`,`system`,`settings`],s={main:!1,manage:!1,system:!0,settings:!0};function c(e){return e.meta?.navbar?.position===`top`?`main`:e.meta?.navbar?.group??`main`}function l(){let a=n(),{user:l}=i(a),u=r(()=>l.value?.navLayout??{}),d=r(()=>{let n=[];for(let r of t)!r.meta?.navbar||r.meta.navbar.position!==`top`&&!r.meta.navbar.group||!e(r)||n.push({route:r,name:r.name,labelKey:r.name.toLowerCase(),to:r.path,icon:r.meta.navbar.icon.default,activeIcon:r.meta.navbar.icon.active,defaultGroup:c(r),kind:`page`});let r=t.find(e=>e.name===`Settings`);for(let t of r?.children??[])!t.meta?.settingsBar||!e(t)||n.push({route:t,name:t.name,labelKey:t.meta.name,to:`/settings/${t.path}`,icon:t.meta.settingsBar.icon.default,activeIcon:t.meta.settingsBar.icon.active,defaultGroup:`settings`,kind:`settings`});return n}),f=r(()=>{let e=new Map(d.value.map(e=>[e.name,e])),t={main:[],manage:[],system:[],settings:[]},n=new Set;for(let r of o)for(let i of u.value.order?.[r]??[]){let a=e.get(i);!a||n.has(i)||(t[r].push(a),n.add(i))}for(let e of d.value)n.has(e.name)||t[e.defaultGroup].push(e);return t}),p=r(()=>new Set(u.value.hidden??[])),m=r(()=>u.value.settingsInNav??!1);function h(e){if(!l.value)return;let t={...u.value,...e};for(let e of Object.keys(t))t[e]===void 0&&delete t[e];t.order&&Object.keys(t.order).length===0&&delete t.order,t.collapsible&&Object.keys(t.collapsible).length===0&&delete t.collapsible,t.hidden&&t.hidden.length===0&&delete t.hidden,t.settingsInNav||delete t.settingsInNav;let n=Object.keys(t).length?t:null;l.value={...l.value,navLayout:n},a.updateUser({preferences:{navLayout:n}})}function g(e){return u.value.collapsible?.[e]??s[e]}function _(e,t){let n={...u.value.collapsible};t===s[e]?delete n[e]:n[e]=t,h({collapsible:n})}function v(e){h({settingsInNav:e})}function y(e){return p.value.has(e)}function b(e){let t=new Set(p.value);t.has(e)?t.delete(e):t.add(e),h({hidden:[...t]})}function x(e){let t={main:[...e.main],manage:[...e.manage],system:[...e.system],settings:[...e.settings]},n=u.value.order;n&&o.every(e=>{let r=n[e]??[];return r.length===t[e].length&&r.every((n,r)=>n===t[e][r])})||h({order:t})}function S(){h({order:void 0,hidden:void 0})}return{entries:d,groups:f,settingsInNav:m,isCollapsible:g,isHidden:y,toggleHidden:b,setCollapsible:_,setSettingsInNav:v,persistOrder:x,resetOrder:S}}export{a as n,l as r,o as t};
@@ -1 +1 @@
1
- import{ar as e}from"./vendor-AX0A8AMd.js";import{i as t}from"./intercomService-Bjn0OsVT.js";var n=e({microphone:`unknown`,location:`unknown`,notifications:`unknown`});function r(){let{isElectronApp:e,electron:r}=t(),a=e;async function o(){await Promise.all([s(),c(),l()])}async function s(){if(e&&r){n.microphone=await r.invoke(`get-mic-access`)??`unknown`;return}n.microphone=await i(`microphone`)}async function c(){n.location=await i(`geolocation`)}async function l(){if(typeof Notification>`u`){n.notifications=`unknown`;return}n.notifications=Notification.permission==="default"?`prompt`:Notification.permission}async function u(t){if(t===`microphone`){if(e&&r)await r.invoke(`ask-mic-access`);else try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{}await s();return}if(t===`location`){await new Promise(e=>{navigator.geolocation.getCurrentPosition(()=>e(),()=>e(),{timeout:1e4})}),await c();return}typeof Notification<`u`&&await Notification.requestPermission(),await l()}async function d(){e&&r&&await r.invoke(`open-mic-settings`)}return{states:n,canOpenSettings:a,refresh:o,request:u,openSettings:d}}async function i(e){try{let t=await navigator.permissions.query({name:e});return t.state===`granted`?`granted`:t.state===`denied`?`denied`:`prompt`}catch{return`unknown`}}export{r as t};
1
+ import{ar as e}from"./vendor-AX0A8AMd.js";import{i as t}from"./intercomService-CfCIMUlA.js";var n=e({microphone:`unknown`,location:`unknown`,notifications:`unknown`});function r(){let{isElectronApp:e,electron:r}=t(),a=e;async function o(){await Promise.all([s(),c(),l()])}async function s(){if(e&&r){n.microphone=await r.invoke(`get-mic-access`)??`unknown`;return}n.microphone=await i(`microphone`)}async function c(){n.location=await i(`geolocation`)}async function l(){if(typeof Notification>`u`){n.notifications=`unknown`;return}n.notifications=Notification.permission==="default"?`prompt`:Notification.permission}async function u(t){if(t===`microphone`){if(e&&r)await r.invoke(`ask-mic-access`);else try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{}await s();return}if(t===`location`){await new Promise(e=>{navigator.geolocation.getCurrentPosition(()=>e(),()=>e(),{timeout:1e4})}),await c();return}typeof Notification<`u`&&await Notification.requestPermission(),await l()}async function d(){e&&r&&await r.invoke(`open-mic-settings`)}return{states:n,canOpenSettings:a,refresh:o,request:u,openSettings:d}}async function i(e){try{let t=await navigator.permissions.query({name:e});return t.state===`granted`?`granted`:t.state===`denied`?`denied`:`prompt`}catch{return`unknown`}}export{r as t};