@camera.ui/server 2.1.8 → 2.1.9

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 (350) hide show
  1. package/dist/interface/assets/{404-vRjJVgl4.js → 404-BEb5gvkW.js} +1 -1
  2. package/dist/interface/assets/{About-CO9cx5Gp.js → About-BKkjuIVJ.js} +1 -1
  3. package/dist/interface/assets/Automation-DA89AEEI.js +3 -0
  4. package/dist/interface/assets/{AutomationImport-DAeFd-SZ.js → AutomationImport-hYr3Lp8F.js} +2 -2
  5. package/dist/interface/assets/{AutomationStore-NyXuw3tI.js → AutomationStore-DKhnExZn.js} +2 -2
  6. package/dist/interface/assets/{AutomationStoreDetail-Dz9Y8j8g.js → AutomationStoreDetail-DmqqEOir.js} +2 -2
  7. package/dist/interface/assets/{Automations-BeGe7iQE.js → Automations-B6WFJyxS.js} +2 -2
  8. package/dist/interface/assets/{Camera-C0sNg85L.js → Camera-DmsSKvpY.js} +2 -2
  9. package/dist/interface/assets/{CameraConsole-S9Il0g0K.js → CameraConsole-DVpyGhx8.js} +1 -1
  10. package/dist/interface/assets/Cameras-KOOphtlx.js +652 -0
  11. package/dist/interface/assets/Camview-BPQIinyP.js +1 -0
  12. package/dist/interface/assets/{Camview-CS7PIBMz.css → Camview-Lp3QU0de.css} +1 -1
  13. package/dist/interface/assets/{Config-B0cy1RIU.js → Config-DeUec_TN.js} +1 -1
  14. package/dist/interface/assets/ConfigActionCameraControl-DWHg-YEU.js +1 -0
  15. package/dist/interface/assets/{ConfigActionDelay-DrzMP_7q.js → ConfigActionDelay-C8nNA7TC.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-BUANm5zh.js → ConfigActionHttp-Dc97gItH.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-CKvnzs_4.js → ConfigActionImageInput-DpOGqlzA.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-Cz-fMzXH.js → ConfigActionMqtt-D5DJ21oe.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-exxG4m-k.js → ConfigActionNotification-4wKfanGB.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotificationControl-BMFbm9lJ.js → ConfigActionNotificationControl-jSgxCZmV.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionOutput-js-UUBci.js → ConfigActionOutput-C8Esieni.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionPlugin-B5hrC_B6.js → ConfigActionPlugin-C_cv60d3.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSensor-BESCtedA.js → ConfigActionSensor-CFIKoJ3-.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSnapshot-Uxz9dCqh.js → ConfigActionSnapshot-BqaTwtN3.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionVariable-CsiC6bgF.js → ConfigActionVariable-De9RCGU4.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionIfElse-CiScJB42.js → ConfigConditionIfElse-CeNDIucw.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSensorState-CbDfsuOl.js → ConfigConditionSensorState-C_Q9gU23.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSwitch-B7E5DAoC.js → ConfigConditionSwitch-DR63IGcD.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionTime-BmeGYmwH.js → ConfigConditionTime-C9iuSxxe.js} +1 -1
  30. package/dist/interface/assets/{ConfigSensorValueInput-CNTToTaw.js → ConfigSensorValueInput-DnMlFzil.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerDetection-ijTkd_SS.js → ConfigTriggerDetection-iThbCKOO.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerGeofence-Q7LQpVoM.js → ConfigTriggerGeofence-BeKwVWvS.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerManual-Z1_1wUUM.js → ConfigTriggerManual-DPkRlUqD.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerMqtt-BBvD0ow9.js → ConfigTriggerMqtt-kd65tGJE.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSchedule-B0rMjsZL.js → ConfigTriggerSchedule-D6MoVDPc.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSensor-B1p15KGD.js → ConfigTriggerSensor-AMQM6f2r.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSystem-Du-AkCKy.js → ConfigTriggerSystem-CNBgtDF1.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerWebhook-Debqt-nw.js → ConfigTriggerWebhook-B70DobSi.js} +1 -1
  39. package/dist/interface/assets/{Console-Gu1eu82G.js → Console-N_2Vornl.js} +1 -1
  40. package/dist/interface/assets/{CuiAutomationRunsDialog-CxcWpqrI.js → CuiAutomationRunsDialog-Cp6Apki9.js} +1 -1
  41. package/dist/interface/assets/CuiBottomSheet-CIR_fmSk.js +1 -0
  42. package/dist/interface/assets/{CuiBottomSheet-DECWGdrp.js → CuiBottomSheet-D5N8X1K-.js} +1 -1
  43. package/dist/interface/assets/CuiCameraPipCard-DP6X45oq.js +1 -0
  44. package/dist/interface/assets/CuiCameraRecordings-CRjXsdO4.js +1 -0
  45. package/dist/interface/assets/{CuiCameraShares-D32cM63m.js → CuiCameraShares-DMHwZEf1.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraTable-Bk9N-Oc6.js → CuiCameraTable-AnEPu3XS.js} +1 -1
  47. package/dist/interface/assets/CuiCameraTable-D5ZqTLVt.js +1 -0
  48. package/dist/interface/assets/CuiConsole-CqEvNGe_.js +5 -0
  49. package/dist/interface/assets/{CuiDataTable-P8bWN0ZK.js → CuiDataTable-wA_LbHH8.js} +1 -1
  50. package/dist/interface/assets/{CuiLightControl-D5Z1AqWH.js → CuiLightControl-CB_Tp4tI.js} +1 -1
  51. package/dist/interface/assets/{CuiList-w69dERIq.js → CuiList-DrYuFhK4.js} +1 -1
  52. package/dist/interface/assets/CuiPluginCard-DEuNt5ni.js +2 -0
  53. package/dist/interface/assets/{CuiPluginCategoryChip-CQ2FJafE.js → CuiPluginCategoryChip-BbkbkYj6.js} +1 -1
  54. package/dist/interface/assets/{CuiPluginOAuthButton-CNxj7cuf.js → CuiPluginOAuthButton-vMuRa9Qd.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginTrustBadge-DYsEz6WI.js → CuiPluginTrustBadge-2wsPzYZA.js} +1 -1
  56. package/dist/interface/assets/{CuiQRCode-CZnspFFw.js → CuiQRCode-Dh9EcaVc.js} +1 -1
  57. package/dist/interface/assets/{CuiRecordingsGrid-wEaU6-3c.js → CuiRecordingsGrid-HjZEiSyp.js} +1 -1
  58. package/dist/interface/assets/{CuiSchema-DLV1lIiB.js → CuiSchema-CSFoI6cg.js} +1 -1
  59. package/dist/interface/assets/{CuiTopNavbarItem-7yu9c68R.js → CuiTopNavbarItem-CSdvkKHR.js} +1 -1
  60. package/dist/interface/assets/{Faces-BlPQek1-.js → Faces-CPZ5RA68.js} +1 -1
  61. package/dist/interface/assets/{FirstSteps-C-DKv_P2.js → FirstSteps-CaF8STWH.js} +1 -1
  62. package/dist/interface/assets/{Instances-Bmb-yWM-.js → Instances-Cw7A4I7E.js} +1 -1
  63. package/dist/interface/assets/{Logs-DxHqkMpx.js → Logs-4Mgj7YWu.js} +2 -2
  64. package/dist/interface/assets/{Menu-DceReBlq.js → Menu-T-54ZSSD.js} +1 -1
  65. package/dist/interface/assets/Metrics-CQGKmHev.css +1 -0
  66. package/dist/interface/assets/Metrics-Dgm5qpzh.js +6 -0
  67. package/dist/interface/assets/{OAuthDeviceFlow-CLi6l8jS.js → OAuthDeviceFlow-DGikOkgK.js} +1 -1
  68. package/dist/interface/assets/{Plugin-BBVxbQeT.js → Plugin-YxqbMbUc.js} +1 -1
  69. package/dist/interface/assets/{PluginConsole-xOY_kwz_.js → PluginConsole-ZZvJlgIh.js} +1 -1
  70. package/dist/interface/assets/PluginDetail-B9NgbzkJ.js +2 -0
  71. package/dist/interface/assets/{PluginSchema-DG3ou73v.js → PluginSchema-Cx_LInpM.js} +1 -1
  72. package/dist/interface/assets/PluginSearch-5AgSWlmi.js +1 -0
  73. package/dist/interface/assets/PluginSearch-P274oMvy.js +2 -0
  74. package/dist/interface/assets/{PluginUpdateProgress-Bx0MXwAk.js → PluginUpdateProgress-0nV-8LvI.js} +1 -1
  75. package/dist/interface/assets/{Plugins-COHwVV0A.js → Plugins-Bvru3q2P.js} +1 -1
  76. package/dist/interface/assets/Recordings-BWGWC6Kq.js +1 -0
  77. package/dist/interface/assets/Recordings-cR4_6aGN.css +1 -0
  78. package/dist/interface/assets/{SensorEdit-C-H_3ap8.js → SensorEdit-gEw6HHZs.js} +1 -1
  79. package/dist/interface/assets/{SensorHistory-CTIUwIWN.js → SensorHistory-IgMpuLdC.js} +1 -1
  80. package/dist/interface/assets/{Sensors-lPcOdHJN.js → Sensors-DukA8Xqx.js} +2 -2
  81. package/dist/interface/assets/{Settings-BUoXoFiH.js → Settings-DWpeWPJh.js} +1 -1
  82. package/dist/interface/assets/{SettingsAccount-DUy_W02_.js → SettingsAccount-C1OpCtob.js} +1 -1
  83. package/dist/interface/assets/SettingsAccount-CrLcqzSn.js +1 -0
  84. package/dist/interface/assets/SettingsAppearance-AhUjml5E.js +1 -0
  85. package/dist/interface/assets/{SettingsAppearance-CoTdsIwM.js → SettingsAppearance-C8EEBVZN.js} +1 -1
  86. package/dist/interface/assets/{SettingsBackup-ibb5I5Jv.js → SettingsBackup-BJupyZCJ.js} +1 -1
  87. package/dist/interface/assets/{SettingsList-W5FvbkXm.js → SettingsList-MXYSQMZ3.js} +1 -1
  88. package/dist/interface/assets/{SettingsMqtt-Ct42icAW.js → SettingsMqtt-F3pV1Bvo.js} +1 -1
  89. package/dist/interface/assets/{SettingsNotifications-B4lyMlLR.js → SettingsNotifications-BmaAccX9.js} +1 -1
  90. package/dist/interface/assets/SettingsPermissions-Dd_yfNlk.js +1 -0
  91. package/dist/interface/assets/{SettingsRecordings-COUi9BQg.js → SettingsRecordings-85B2bQIf.js} +1 -1
  92. package/dist/interface/assets/SettingsRemote-C_ikoXW7.js +2 -0
  93. package/dist/interface/assets/SettingsRemote-DzrfpHjw.css +1 -0
  94. package/dist/interface/assets/SettingsSystem-Ct3qms5O.js +2 -0
  95. package/dist/interface/assets/{SettingsUsers-Cjk6mevW.js → SettingsUsers-D36vZ8Zf.js} +1 -1
  96. package/dist/interface/assets/{Terminal-BIdBrL4g.js → Terminal-ltPiB9CB.js} +3 -3
  97. package/dist/interface/assets/{VariableInput-DhAhhfsm.js → VariableInput-7c7Px-DM.js} +1 -1
  98. package/dist/interface/assets/{VariableSuggestions-q0Jd1DVI.js → VariableSuggestions-CrEa2zN-.js} +1 -1
  99. package/dist/interface/assets/{VersionsHandler-XEn3uFy7.js → VersionsHandler-BFuLGk6Y.js} +1 -1
  100. package/dist/interface/assets/{VirtualSensorCreate-_E5E0U7E.js → VirtualSensorCreate-uumfOHgB.js} +1 -1
  101. package/dist/interface/assets/{Workers-DVABUc39.js → Workers-Bowrc1AF.js} +1 -1
  102. package/dist/interface/assets/{api-C7Yv5Scr.js → api-DLVsQBAO.js} +1 -1
  103. package/dist/interface/assets/api-daCggwpn.css +2 -0
  104. package/dist/interface/assets/api-py5HP4SF.js +2 -0
  105. package/dist/interface/assets/{auth-BixzEnBM.js → auth-uQlIia9h.js} +1 -1
  106. package/dist/interface/assets/{automations-K8XPcP3U.js → automations-ChG1qcO7.js} +1 -1
  107. package/dist/interface/assets/cameras.schema-Cv7cjMz3.js +1 -0
  108. package/dist/interface/assets/cloudHandoff-CL4sircA.js +1 -0
  109. package/dist/interface/assets/{config-CURuT8_k.js → config-B1aWtF-N.js} +1 -1
  110. package/dist/interface/assets/content-copy-CLkJTA4w.js +1 -0
  111. package/dist/interface/assets/eventLabels-BsPoPWS9.js +1 -0
  112. package/dist/interface/assets/{flowSchema-szT9B0sA.js → flowSchema-CNnBxcwy.js} +1 -1
  113. package/dist/interface/assets/{intercomService-BjB4QQiX.js → intercomService-DJHBix4X.js} +1 -1
  114. package/dist/interface/assets/main-CLvcwWW7.js +3 -0
  115. package/dist/interface/assets/main-mJXdi_gx.css +1 -0
  116. package/dist/interface/assets/{mqtt-uItF3Vd7.js → mqtt-Cyhv8shC.js} +1 -1
  117. package/dist/interface/assets/{notifications-CuZPzI4-.js → notifications-DniREnpL.js} +1 -1
  118. package/dist/interface/assets/{plugins-QEqfAk0G.js → plugins-5gXj0utE.js} +1 -1
  119. package/dist/interface/assets/round-restart-alt-D3jT5i_T.js +1 -0
  120. package/dist/interface/assets/round-restart-alt-DdIfy7mU.css +1 -0
  121. package/dist/interface/assets/{sensorIcons-BujySw0j.js → sensorIcons-BXauWntX.js} +1 -1
  122. package/dist/interface/assets/{sensors-BxvL01cB.js → sensors-Bc02Z1G9.js} +1 -1
  123. package/dist/interface/assets/{server-CDm6FwHH.js → server-D2KGja0u.js} +1 -1
  124. package/dist/interface/assets/{theme-CRw47tnu.js → theme-vkX_uBgJ.js} +1 -1
  125. package/dist/interface/assets/types-CrvnT4-i.js +1 -0
  126. package/dist/interface/assets/types-D6IQ6ssc.js +1 -0
  127. package/dist/interface/assets/{types-DtdpTPfZ.js → types-fCQkAGfW.js} +1 -1
  128. package/dist/interface/assets/{useAppVersion-BxTTVLKg.js → useAppVersion-9zH_FspP.js} +1 -1
  129. package/dist/interface/assets/{useBackupRestore-DLieDBFC.js → useBackupRestore-Dbf24OqP.js} +1 -1
  130. package/dist/interface/assets/{useCameraOptions-DMC2KjMS.js → useCameraOptions-BIaDXHeq.js} +1 -1
  131. package/dist/interface/assets/{useLogsSocket-CmyalQi8.js → useLogsSocket-BLV7dWSG.js} +1 -1
  132. package/dist/interface/assets/{useNavLayout-BacPxpZv.js → useNavLayout-wq-6JyWK.js} +1 -1
  133. package/dist/interface/assets/{usePermissions-C2wQBWmH.js → usePermissions-BiBlyeQl.js} +1 -1
  134. package/dist/interface/assets/{usePluginUpdates-CyjxFTTi.js → usePluginUpdates-BZJSqnSF.js} +1 -1
  135. package/dist/interface/assets/{usePushRegistration-BPSfvI_w.js → usePushRegistration-CGFiyCuv.js} +1 -1
  136. package/dist/interface/assets/{useServerRestart-x8p2rFqn.js → useServerRestart-CjPAgzoX.js} +1 -1
  137. package/dist/interface/assets/{useStreamStatus-PMpl519O.js → useStreamStatus-BFCF1B3T.js} +1 -1
  138. package/dist/interface/assets/{useUpdateChannel-ChscS5KW.js → useUpdateChannel-F4WpbMJR.js} +1 -1
  139. package/dist/interface/assets/{useUserOptions-YiEj2ox6.js → useUserOptions-GbSC7_qt.js} +1 -1
  140. package/dist/interface/assets/{vendor-cameraui-Cf0XVNQ7.js → vendor-cameraui-0EJfDg8o.js} +56 -56
  141. package/dist/interface/assets/vendor-core-RnPzfwaA.js +1 -0
  142. package/dist/interface/assets/{vendor-primevue-BDu2BpXv.js → vendor-primevue-b9CB9Uh0.js} +1 -1
  143. package/dist/interface/index.html +26 -25
  144. package/dist/interface/sw.js +1 -1
  145. package/dist/server/package.json +6 -6
  146. package/dist/server/requirements.txt +2 -2
  147. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +8 -0
  148. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +20 -0
  149. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +4 -2
  150. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +6 -2
  151. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +3 -0
  152. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +22 -8
  153. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/enums.py +0 -7
  154. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/notification.py +28 -0
  155. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +4 -0
  156. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +18 -0
  157. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/spec.py +27 -3
  158. package/dist/server/src/api/controllers/auth.controller.js +5 -0
  159. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  160. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +14 -0
  161. package/dist/server/src/api/controllers/frameWorkers.controller.js +120 -1
  162. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  163. package/dist/server/src/api/controllers/remote.controller.js +3 -0
  164. package/dist/server/src/api/controllers/remote.controller.js.map +1 -1
  165. package/dist/server/src/api/controllers/server.controller.js +1 -0
  166. package/dist/server/src/api/controllers/server.controller.js.map +1 -1
  167. package/dist/server/src/api/database/constants.d.ts +0 -1
  168. package/dist/server/src/api/database/constants.js +0 -1
  169. package/dist/server/src/api/database/constants.js.map +1 -1
  170. package/dist/server/src/api/database/index.d.ts +2 -3
  171. package/dist/server/src/api/database/index.js +3 -6
  172. package/dist/server/src/api/database/index.js.map +1 -1
  173. package/dist/server/src/api/database/migrations/v2-1-10.js +33 -0
  174. package/dist/server/src/api/database/migrations/v2-1-10.js.map +1 -0
  175. package/dist/server/src/api/database/migrations/v2-1-11.js +31 -0
  176. package/dist/server/src/api/database/migrations/v2-1-11.js.map +1 -0
  177. package/dist/server/src/api/database/migrations/v2-1-12.js +25 -0
  178. package/dist/server/src/api/database/migrations/v2-1-12.js.map +1 -0
  179. package/dist/server/src/api/database/migrations/v2-1-6.js.map +1 -1
  180. package/dist/server/src/api/database/migrations/v2-1-9.d.ts +3 -0
  181. package/dist/server/src/api/database/migrations/v2-1-9.js +38 -0
  182. package/dist/server/src/api/database/migrations/v2-1-9.js.map +1 -0
  183. package/dist/server/src/api/database/record-schemas.d.ts +18 -13
  184. package/dist/server/src/api/database/record-schemas.js +3 -3
  185. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  186. package/dist/server/src/api/database/types.d.ts +3 -11
  187. package/dist/server/src/api/routes/frameWorkers.routes.js +22 -1
  188. package/dist/server/src/api/routes/frameWorkers.routes.js.map +1 -1
  189. package/dist/server/src/api/schemas/cameras.schema.d.ts +127 -28
  190. package/dist/server/src/api/schemas/cameras.schema.js +40 -7
  191. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  192. package/dist/server/src/api/schemas/frameWorkers.schema.d.ts +6 -0
  193. package/dist/server/src/api/schemas/frameWorkers.schema.js +7 -0
  194. package/dist/server/src/api/schemas/frameWorkers.schema.js.map +1 -1
  195. package/dist/server/src/api/schemas/server.schema.d.ts +1 -0
  196. package/dist/server/src/api/schemas/server.schema.js +4 -0
  197. package/dist/server/src/api/schemas/server.schema.js.map +1 -1
  198. package/dist/server/src/api/schemas/users.schema.d.ts +119 -84
  199. package/dist/server/src/api/schemas/users.schema.js +3 -0
  200. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  201. package/dist/server/src/api/types/index.d.ts +1 -0
  202. package/dist/server/src/api/types/index.js.map +1 -1
  203. package/dist/server/src/api/websocket/nsp/metrics.d.ts +1 -1
  204. package/dist/server/src/api/websocket/nsp/metrics.js +54 -33
  205. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  206. package/dist/server/src/api/websocket/nsp/server.js +2 -2
  207. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  208. package/dist/server/src/api/websocket/types.d.ts +20 -17
  209. package/dist/server/src/camera/controller.js +1 -0
  210. package/dist/server/src/camera/controller.js.map +1 -1
  211. package/dist/server/src/camera/decoder/audio-loop.d.ts +0 -1
  212. package/dist/server/src/camera/decoder/audio-loop.js +38 -68
  213. package/dist/server/src/camera/decoder/audio-loop.js.map +1 -1
  214. package/dist/server/src/camera/decoder/child.d.ts +4 -1
  215. package/dist/server/src/camera/decoder/child.js +27 -0
  216. package/dist/server/src/camera/decoder/child.js.map +1 -1
  217. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +7 -2
  218. package/dist/server/src/camera/decoder/detection-coordinator.js +226 -130
  219. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  220. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +2 -2
  221. package/dist/server/src/camera/decoder/detection-pipeline.js +5 -6
  222. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  223. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +3 -3
  224. package/dist/server/src/camera/decoder/event-thumbnailer.js +2 -2
  225. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  226. package/dist/server/src/camera/decoder/frame-scaler.d.ts +2 -1
  227. package/dist/server/src/camera/decoder/frame-scaler.js +25 -13
  228. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  229. package/dist/server/src/camera/decoder/perf-tracker.d.ts +27 -8
  230. package/dist/server/src/camera/decoder/perf-tracker.js +72 -50
  231. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  232. package/dist/server/src/camera/decoder/plugin-registry.d.ts +1 -0
  233. package/dist/server/src/camera/decoder/plugin-registry.js +7 -0
  234. package/dist/server/src/camera/decoder/plugin-registry.js.map +1 -1
  235. package/dist/server/src/camera/decoder/secondary-stage.d.ts +4 -1
  236. package/dist/server/src/camera/decoder/secondary-stage.js +26 -3
  237. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  238. package/dist/server/src/camera/decoder/sources/analysis-source.d.ts +14 -1
  239. package/dist/server/src/camera/decoder/sources/audio-source.d.ts +7 -3
  240. package/dist/server/src/camera/decoder/sources/audio-source.js +89 -78
  241. package/dist/server/src/camera/decoder/sources/audio-source.js.map +1 -1
  242. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +26 -9
  243. package/dist/server/src/camera/decoder/sources/buffered-source.js +113 -65
  244. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  245. package/dist/server/src/camera/decoder/sources/frame-handle.d.ts +13 -0
  246. package/dist/server/src/camera/decoder/sources/frame-handle.js +106 -0
  247. package/dist/server/src/camera/decoder/sources/frame-handle.js.map +1 -0
  248. package/dist/server/src/camera/decoder/sources/frame-source.d.ts +25 -26
  249. package/dist/server/src/camera/decoder/sources/frame-source.js +213 -268
  250. package/dist/server/src/camera/decoder/sources/frame-source.js.map +1 -1
  251. package/dist/server/src/camera/decoder/sources/reconnect-loop.d.ts +17 -0
  252. package/dist/server/src/camera/decoder/sources/reconnect-loop.js +59 -0
  253. package/dist/server/src/camera/decoder/sources/reconnect-loop.js.map +1 -0
  254. package/dist/server/src/camera/decoder/sources/snapshot-fetcher.d.ts +15 -0
  255. package/dist/server/src/camera/decoder/sources/snapshot-fetcher.js +58 -0
  256. package/dist/server/src/camera/decoder/sources/snapshot-fetcher.js.map +1 -0
  257. package/dist/server/src/camera/decoder/sources/video-input.d.ts +18 -0
  258. package/dist/server/src/camera/decoder/sources/video-input.js +55 -0
  259. package/dist/server/src/camera/decoder/sources/video-input.js.map +1 -0
  260. package/dist/server/src/camera/decoder/types.d.ts +73 -18
  261. package/dist/server/src/camera/decoder/types.js +2 -0
  262. package/dist/server/src/camera/decoder/types.js.map +1 -1
  263. package/dist/server/src/camera/decoder/worker.d.ts +5 -1
  264. package/dist/server/src/camera/decoder/worker.js +35 -5
  265. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  266. package/dist/server/src/camera/index.d.ts +2 -1
  267. package/dist/server/src/camera/index.js +3 -0
  268. package/dist/server/src/camera/index.js.map +1 -1
  269. package/dist/server/src/camera/streaming/fmp4-session.js +1 -1
  270. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  271. package/dist/server/src/camera/streaming/rtp-session.js +1 -1
  272. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  273. package/dist/server/src/mqtt/bridge.d.ts +0 -1
  274. package/dist/server/src/mqtt/bridge.js +0 -33
  275. package/dist/server/src/mqtt/bridge.js.map +1 -1
  276. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +9 -0
  277. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  278. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +8 -0
  279. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  280. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +14 -0
  281. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +1 -0
  282. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +13 -0
  283. package/dist/server/src/remote/services/cloudflare-managed.d.ts +2 -0
  284. package/dist/server/src/remote/services/cloudflare-managed.js +9 -2
  285. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
  286. package/dist/server/src/remote/services/cloudflare.d.ts +3 -0
  287. package/dist/server/src/remote/services/cloudflare.js +11 -0
  288. package/dist/server/src/remote/services/cloudflare.js.map +1 -1
  289. package/dist/server/src/remote/services/index.d.ts +2 -0
  290. package/dist/server/src/remote/services/index.js +60 -8
  291. package/dist/server/src/remote/services/index.js.map +1 -1
  292. package/dist/server/src/remote/services/tunnelConnections.d.ts +9 -0
  293. package/dist/server/src/remote/services/tunnelConnections.js +45 -0
  294. package/dist/server/src/remote/services/tunnelConnections.js.map +1 -0
  295. package/dist/server/src/remote/services/urlReadiness.d.ts +2 -0
  296. package/dist/server/src/remote/services/urlReadiness.js +7 -4
  297. package/dist/server/src/remote/services/urlReadiness.js.map +1 -1
  298. package/dist/server/src/rpc/interfaces/frameworker.d.ts +4 -1
  299. package/dist/server/src/rpc/interfaces/sensor.d.ts +1 -0
  300. package/dist/server/src/sensors/registry.d.ts +2 -0
  301. package/dist/server/src/sensors/registry.js +16 -0
  302. package/dist/server/src/sensors/registry.js.map +1 -1
  303. package/dist/server/src/utils/plugin-registry/index.js +1 -1
  304. package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
  305. package/dist/server/src/workers/agent.js +1 -1
  306. package/dist/server/src/workers/agent.js.map +1 -1
  307. package/package.json +6 -6
  308. package/dist/interface/assets/Automation-DDNhcjDg.js +0 -3
  309. package/dist/interface/assets/Cameras-lDMBkoUW.js +0 -652
  310. package/dist/interface/assets/Camview-DzMmXQvW.js +0 -1
  311. package/dist/interface/assets/ConfigActionCameraControl-BMlRbdRM.js +0 -1
  312. package/dist/interface/assets/CuiBottomSheet-BkmkKf1u.js +0 -1
  313. package/dist/interface/assets/CuiCameraPipCard-CuZZZ7Cv.js +0 -1
  314. package/dist/interface/assets/CuiCameraRecordings-BxEA_Vhd.js +0 -1
  315. package/dist/interface/assets/CuiCameraTable-67Itb7my.js +0 -1
  316. package/dist/interface/assets/CuiConsole-De9JpSLz.js +0 -5
  317. package/dist/interface/assets/CuiPluginCard-D3x9FPb6.js +0 -2
  318. package/dist/interface/assets/Metrics-BstlZavQ.css +0 -1
  319. package/dist/interface/assets/Metrics-Cw_Z_e0C.js +0 -1
  320. package/dist/interface/assets/PluginDetail-D2RncxpL.js +0 -2
  321. package/dist/interface/assets/PluginSearch-CBhloRm6.js +0 -1
  322. package/dist/interface/assets/PluginSearch-RGhSeM1T.js +0 -2
  323. package/dist/interface/assets/Recordings-H5qOm_rD.js +0 -1
  324. package/dist/interface/assets/Recordings-zdTzwv7C.css +0 -1
  325. package/dist/interface/assets/SettingsAccount-CudWgknL.js +0 -1
  326. package/dist/interface/assets/SettingsAppearance-eZsdWWp3.js +0 -1
  327. package/dist/interface/assets/SettingsPermissions-Bsv293ri.js +0 -1
  328. package/dist/interface/assets/SettingsRemote-DYld6-1F.css +0 -1
  329. package/dist/interface/assets/SettingsRemote-Dq_BD0fk.js +0 -1
  330. package/dist/interface/assets/SettingsSystem-C5xROdA0.js +0 -2
  331. package/dist/interface/assets/api-AVHJeggR.css +0 -2
  332. package/dist/interface/assets/api-CmdQlVDD.js +0 -2
  333. package/dist/interface/assets/cameras.schema-A_6JklLs.js +0 -1
  334. package/dist/interface/assets/cloudHandoff-D0ytFfHK.js +0 -1
  335. package/dist/interface/assets/main-B1ryIyTr.css +0 -1
  336. package/dist/interface/assets/main-BdIdmDhs.js +0 -3
  337. package/dist/interface/assets/round-restart-alt-B_7HR24a.js +0 -1
  338. package/dist/interface/assets/round-restart-alt-CmrjVFat.css +0 -1
  339. package/dist/interface/assets/types-R10eIequ.js +0 -1
  340. package/dist/interface/assets/types-p_uC0rfp.js +0 -1
  341. package/dist/interface/assets/vendor-core-u4xNQ-aF.js +0 -1
  342. package/dist/server/src/api/database/migrations/v2-0-50.js +0 -45
  343. package/dist/server/src/api/database/migrations/v2-0-50.js.map +0 -1
  344. package/dist/server/src/api/database/migrations/v2-0-51.js +0 -43
  345. package/dist/server/src/api/database/migrations/v2-0-51.js.map +0 -1
  346. package/dist/server/src/api/database/migrations/v2-1-0.js +0 -72
  347. package/dist/server/src/api/database/migrations/v2-1-0.js.map +0 -1
  348. /package/dist/server/src/api/database/migrations/{v2-0-50.d.ts → v2-1-10.d.ts} +0 -0
  349. /package/dist/server/src/api/database/migrations/{v2-0-51.d.ts → v2-1-11.d.ts} +0 -0
  350. /package/dist/server/src/api/database/migrations/{v2-1-0.d.ts → v2-1-12.d.ts} +0 -0
@@ -1 +0,0 @@
1
- import{Ft as e,Ir as t,M as n,S as r,Vt as i,Xr as a,_t as o,g as s,jt as c,t as l}from"./vendor-cameraui-Cf0XVNQ7.js";import{$t as u,Bn as d,C as f,Cn as p,Dn as m,En as h,Kt as g,On as _,Pn as ee,Qt as v,Xt as y,Zt as te,_n as b,_t as x,bn as S,cn as ne,en as C,fr as re,g as w,hr as T,in as ie,k as E,kn as D,nn as ae,o as oe,on as se,rn as ce,sn as le,st as ue,tn as de,un as fe}from"./api-CmdQlVDD.js";import{$t as pe,Fn as me,Gn as O,Mn as he,Nn as k,On as A,Sn as j,Tn as ge,Xn as M,Zn as N,Zt as _e,_r as P,an as F,b as ve,bn as ye,br as I,cn as L,cr as R,dr as be,en as xe,fr as Se,gr as z,hn as B,in as V,ir as H,jn as Ce,mr as U,on as W,or as we,pn as G,qn as Te,qt as Ee,sn as K,v as De,wn as Oe,y as ke,yr as q,zn as Ae}from"./vendor-BaiDFVEr.js";import{a as je}from"./intercomService-BjB4QQiX.js";import{p as Me}from"./vendor-core-u4xNQ-aF.js";import{K as J,R as Y,U as Ne,o as Pe,x as Fe}from"./vendor-primevue-BDu2BpXv.js";import{a as X,i as Z,n as Q,r as Ie,t as Le}from"./vendor-dnd-ChrDrMuz.js";import{t as Re}from"./close-BNAWPz0y.js";import{n as ze,t as Be}from"./microphone-C0weJY9W.js";import{t as Ve}from"./plus-DHwFyXkb.js";import{t as He}from"./delete-BF6keuqy.js";import{t as Ue}from"./CuiCameraPipCard-CuZZZ7Cv.js";import{n as We,t as Ge}from"./CuiTopNavbarItem-7yu9c68R.js";import{t as Ke}from"./vendor-gridstack-qw2ro2uB.js";var qe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Je(e,t){return k(),L(`svg`,qe,[...t[0]||=[F(`path`,{fill:`currentColor`,d:`M7.5 5.6L5 7l1.4-2.5L5 2l2.5 1.4L10 2L8.6 4.5L10 7zm12 9.8L22 14l-1.4 2.5L22 19l-2.5-1.4L17 19l1.4-2.5L17 14zM22 2l-1.4 2.5L22 7l-2.5-1.4L17 7l1.4-2.5L17 2l2.5 1.4zm-8.66 10.78l2.44-2.44l-2.12-2.12l-2.44 2.44zm1.03-5.49l2.34 2.34c.39.37.39 1.02 0 1.41L5.04 22.71c-.39.39-1.04.39-1.41 0l-2.34-2.34c-.39-.37-.39-1.02 0-1.41L12.96 7.29c.39-.39 1.04-.39 1.41 0`},null,-1)]])}var Ye=H({name:`mdi-auto-fix`,render:Je}),Xe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ze(e,t){return k(),L(`svg`,Xe,[...t[0]||=[F(`path`,{fill:`currentColor`,"fill-rule":`evenodd`,d:`M9 3a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm10 0a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm2 10a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2zM9 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2z`,"clip-rule":`evenodd`},null,-1)]])}var Qe=H({name:`mingcute-grid2-fill`,render:Ze}),$e={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function et(e,t){return k(),L(`svg`,$e,[...t[0]||=[F(`path`,{fill:`currentColor`,d:`M13 6v5h5V7.75L22.25 12L18 16.25V13h-5v5h3.25L12 22.25L7.75 18H11v-5H6v3.25L1.75 12L6 7.75V11h5V6H7.75L12 1.75L16.25 6z`},null,-1)]])}var tt=H({name:`mdi-cursor-move`,render:et}),nt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function rt(e,t){return k(),L(`svg`,nt,[...t[0]||=[F(`path`,{fill:`currentColor`,d:`m8.471 7.237l3.056 12.992c.233.993 1.63 1.04 1.929.065l2.945-9.58l.384 1.527a1 1 0 0 0 .97.756H21a1 1 0 1 0 0-2h-2.466l-1.069-4.241c-.247-.981-1.628-1.017-1.925-.05l-2.912 9.472L9.475 2.771c-.24-1.02-1.688-1.03-1.943-.014l-2.065 8.24H3a1 1 0 0 0 0 2h3.247a1 1 0 0 0 .97-.757z`},null,-1)]])}var it=H({name:`fluent-pulse-24-filled`,render:rt}),at={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function ot(e,t){return k(),L(`svg`,at,[...t[0]||=[F(`path`,{fill:`currentColor`,d:`M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124m5.393.984a.75.75 0 1 0-1.06 1.06a5.5 5.5 0 0 1 0 7.78a.75.75 0 1 0 1.06 1.06a7 7 0 0 0 0-9.9`},null,-1),F(`path`,{fill:`currentColor`,d:`M10.828 5.172a.75.75 0 1 0-1.06 1.06a2.5 2.5 0 0 1 0 3.536a.75.75 0 1 0 1.06 1.06a4 4 0 0 0 0-5.656`},null,-1)]])}var st=H({name:`heroicons-speaker-wave-16-solid`,render:ot}),ct={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function lt(e,t){return k(),L(`svg`,ct,[...t[0]||=[F(`path`,{fill:`currentColor`,d:`M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124M11.28 5.72a.75.75 0 1 0-1.06 1.06L11.44 8l-1.22 1.22a.75.75 0 1 0 1.06 1.06l1.22-1.22l1.22 1.22a.75.75 0 1 0 1.06-1.06L13.56 8l1.22-1.22a.75.75 0 0 0-1.06-1.06L12.5 6.94z`},null,-1)]])}var ut=H({name:`heroicons-speaker-x-mark-16-solid`,render:lt}),$={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function dt(e,t){return k(),L(`svg`,$,[...t[0]||=[F(`path`,{fill:`currentColor`,d:`M10.4 13.45h3.2l.6 1.625q.075.2.238.313t.362.112q.35 0 .538-.275t.062-.6l-2.55-6.7q-.075-.2-.237-.312T12.25 7.5h-.5q-.2 0-.363.113t-.237.312L8.625 14.65q-.125.3.05.575t.525.275q.2 0 .363-.112t.237-.313zm.4-1.15L11.95 9h.1l1.15 3.3zM12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12q0-.8.125-1.6T2.5 8.825q.125-.4.513-.537t.737.062q.375.2.538.588t.037.812q-.15.55-.238 1.113T4 12q0 3.35 2.325 5.675T12 20t5.675-2.325T20 12t-2.325-5.675T12 4q-.6 0-1.187.087T9.65 4.35q-.425.125-.8-.025T8.3 3.8t-.013-.762t.563-.513q.75-.275 1.55-.4T12 2q2.075 0 3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22M4.438 6.563Q4 6.125 4 5.5t.438-1.062T5.5 4t1.063.438T7 5.5t-.437 1.063T5.5 7t-1.062-.437M12 12`},null,-1)]])}var ft=H({name:`material-symbols-motion-photos-auto-outline-rounded`,render:dt}),pt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function mt(e,t){return k(),L(`svg`,pt,[...t[0]||=[F(`path`,{fill:`currentColor`,d:`M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3zm-7 3H3V6h16v7h2V6c0-1.11-.89-2-2-2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11z`},null,-1)]])}var ht=H({name:`mdi-card-plus-outline`,render:mt}),gt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function _t(e,t){return k(),L(`svg`,gt,[...t[0]||=[F(`path`,{fill:`currentColor`,d:`M9 3h2v2H9zm4 0h2v2h-2zM9 7h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2z`},null,-1)]])}var vt=H({name:`mdi-drag-vertical`,render:_t}),yt={class:`text-sm text-muted truncate`},bt=p(B({__name:`ViewDnDDrag`,props:{camera:{},isDropped:{type:Boolean},canDrag:{type:Boolean}},setup(t){let{camera:n,canDrag:r}=U(t),i=O(`boxRef`),a=be(null),o=R(0),s=R(0),c=R(!1),{x:l,y:u}=D(),{isTouch:d}=_(),[f,p]=Z(()=>({type:`camera-sidebar`,options:{dropEffect:`copy`},item:n.value,canDrag:r.value,collect:e=>({style:{opacity:e.isDragging()?.4:1},isDragging:e.isDragging()})})),m=V(()=>f.value.isDragging),h=V(()=>m.value&&d.value);function g(e){d.value&&e.preventDefault()}function ee(){a.value&&document.body.contains(a.value)&&document.body.removeChild(a.value),a.value=null}function v(){if(ee(),!i.value)return;let e=i.value.cloneNode(!0),t=i.value.getBoundingClientRect();e.style.width=`${t.width}px`,e.style.height=`${t.height}px`,e.classList.add(`drag-preview`),e.style.position=`fixed`,e.style.left=`${l.value-o.value}px`,e.style.top=`${u.value-s.value}px`,document.body.appendChild(e),a.value=e}function y(){c.value=!1,ee()}function te(){y(),c.value=!0;let e=i.value?.getBoundingClientRect();e&&(o.value=l.value-e.left,s.value=u.value-e.top,v())}function b(){!a.value||!c.value||requestAnimationFrame(()=>{a.value&&(a.value.style.left=`${l.value-o.value}px`,a.value.style.top=`${u.value-s.value}px`)})}return Te(h,e=>e?te():y()),Te([l,u],()=>b(),{flush:`sync`}),A(()=>y()),(r,a)=>{let o=vt,s=S,c=e;return k(),L(`div`,{ref_key:`boxRef`,ref:i,onDragstart:g},[F(`div`,{ref:z(p),style:q(z(f).style)},[G(c,{disabled:t.isDropped,fluid:``,severity:`secondary`,class:`cui-rounded-corner dark-mode shadow-sm items-center justify-normal`,style:q({cursor:t.isDropped?`not-allowed`:`grab`})},{default:M(()=>[G(o,{size:`20`,class:`text-muted mr-2`}),G(s,{camera:z(n),width:`110px`,class:P([`cui-rounded-corner shadow-md overflow-hidden`,{"opacity-30":t.isDropped}])},null,8,[`camera`,`class`]),F(`span`,yt,I(z(n).name),1)]),_:1},8,[`disabled`,`style`])],4)],544)}}}),[[`__scopeId`,`data-v-5498a5c0`]]),xt={editMode:!1,rearrangeMode:!1,viewSize:1},St=Object.fromEntries(Object.entries({1:{cols:1,rows:1},4:{cols:2,rows:2},6:{cols:3,rows:3},7:{cols:4,rows:4},9:{cols:3,rows:3},10:{cols:4,rows:4},12:{cols:6,rows:6},13:{cols:4,rows:4},15:{cols:12,rows:12},16:{cols:4,rows:4},20:{cols:6,rows:6},26:{cols:12,rows:12}}).map(([e,t])=>[e,{cols:t.cols*16,rows:t.rows*16}])),Ct=e=>e.map(e=>({x:e.x*16,y:e.y*16,w:e.w*16,h:e.h*16})),wt=Object.fromEntries(Object.entries({1:[{x:0,y:0,w:1,h:1}],4:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1}],6:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1}],7:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],9:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:2,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1},{x:2,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1}],10:[{x:0,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],12:[{x:0,y:0,w:3,h:3},{x:3,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:3,w:1,h:1},{x:4,y:3,w:1,h:1},{x:5,y:3,w:1,h:1},{x:3,y:4,w:1,h:1},{x:4,y:4,w:1,h:1},{x:5,y:4,w:1,h:1},{x:3,y:5,w:1,h:1},{x:4,y:5,w:1,h:1},{x:5,y:5,w:1,h:1}],13:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:0,y:3,w:1,h:1},{x:1,y:3,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],15:[{x:0,y:0,w:6,h:6},{x:6,y:0,w:6,h:6},{x:0,y:6,w:3,h:3},{x:3,y:6,w:3,h:3},{x:0,y:9,w:3,h:3},{x:3,y:9,w:3,h:3},{x:6,y:6,w:2,h:2},{x:8,y:6,w:2,h:2},{x:10,y:6,w:2,h:2},{x:6,y:8,w:2,h:2},{x:8,y:8,w:2,h:2},{x:10,y:8,w:2,h:2},{x:6,y:10,w:2,h:2},{x:8,y:10,w:2,h:2},{x:10,y:10,w:2,h:2}],16:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:0,y:3,w:1,h:1},{x:1,y:3,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],20:[{x:0,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:0,w:1,h:1},{x:4,y:0,w:1,h:1},{x:5,y:0,w:1,h:1},{x:3,y:1,w:1,h:1},{x:4,y:1,w:1,h:1},{x:5,y:1,w:1,h:1},{x:3,y:2,w:1,h:1},{x:4,y:2,w:1,h:1},{x:5,y:2,w:1,h:1},{x:3,y:3,w:1,h:1},{x:4,y:3,w:1,h:1},{x:5,y:3,w:1,h:1},{x:3,y:4,w:1,h:1},{x:4,y:4,w:1,h:1},{x:5,y:4,w:1,h:1},{x:3,y:5,w:1,h:1},{x:4,y:5,w:1,h:1},{x:5,y:5,w:1,h:1}],26:[{x:0,y:0,w:3,h:3},{x:3,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:3,w:3,h:3},{x:6,y:0,w:2,h:2},{x:8,y:0,w:2,h:2},{x:10,y:0,w:2,h:2},{x:6,y:2,w:2,h:2},{x:8,y:2,w:2,h:2},{x:10,y:2,w:2,h:2},{x:6,y:4,w:2,h:2},{x:8,y:4,w:2,h:2},{x:10,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:2,y:6,w:2,h:2},{x:4,y:6,w:2,h:2},{x:0,y:8,w:2,h:2},{x:2,y:8,w:2,h:2},{x:4,y:8,w:2,h:2},{x:0,y:10,w:2,h:2},{x:2,y:10,w:2,h:2},{x:4,y:10,w:2,h:2},{x:6,y:6,w:3,h:3},{x:9,y:6,w:3,h:3},{x:6,y:9,w:3,h:3},{x:9,y:9,w:3,h:3}]}).map(([e,t])=>[e,Ct(t)])),Tt={class:`text-lg font-semibold text-white`},Et={class:`flex flex-col gap-3 w-full h-full overflow-y-auto`},Dt={class:`cui-label`},Ot={key:0,class:`text-muted text-sm`},kt=B({__name:`ViewDnDSidebar`,props:{cameras:{},droppedCameras:{},title:{}},emits:[`changeViewSize`],setup(t,{emit:n}){let r=t,i=n,{droppedCameras:a}=U(r);function o(e){return a.value.some(t=>t.name===e.name)}return(n,r)=>{let a=e,s=bt;return k(),L(`div`,{class:`sidebar-view-background flex flex-col p-2 border-[1px] border-color gap-2 rounded-xl`,style:q({width:`${z(400)}px`})},[F(`span`,Tt,I(t.title),1),F(`div`,Et,[G(a,{fluid:``,label:`Change grid size`,class:`cui-button-small dark-mode shrink-0 my-4`,onClick:r[0]||=e=>i(`changeViewSize`)}),F(`label`,Dt,I(n.$t(`components.view_box.available_streams`)),1),(k(!0),L(xe,null,me(t.cameras,(e,t)=>(k(),L(`div`,{key:t},[G(s,{camera:e,"is-dropped":o(e),"can-drag":!o(e)},null,8,[`camera`,`is-dropped`,`can-drag`])]))),128)),t.cameras.length?K(``,!0):(k(),L(`span`,Ot,I(n.$t(`components.view_box.no_cameras`)),1))])],4)}}}),At={key:1,class:`w-full h-full bg-[#1a1a1a] flex items-center justify-center`},jt={key:2,class:`w-full h-full bg-[#111]`},Mt={key:1,class:`w-full h-full flex items-center justify-center`},Nt={key:0},Pt=p(B({__name:`ViewDnDCard`,props:{camera:{},cameras:{},droppedCameras:{},mode:{},index:{},cameraCardProps:{},cameraCardModels:{},onDrop:{type:Function}},emits:[`drop`,`remove`,`expand`],setup(t,{expose:n,emit:r}){let o=t,s=r,{lgBreakpoint:c}=h(),{camera:l,mode:u,cameras:d,droppedCameras:f}=U(o),p=O(`boxRef`),m=O(`containerRef`),g=O(`playerRef`),_=O(`menuRef`),{width:ee}=a(m),[v,y]=Ie({accept:`camera-sidebar`,drop:o.onDrop,collect:e=>({isOver:e.isOver(),canDrop:e.canDrop()&&!l.value}),canDrop:()=>u.value===`edit`&&!l.value}),te=V(()=>v.value.canDrop&&v.value.isOver),b=V(()=>u.value===`edit`?te.value?`#171717`:`#202020`:`#000`),x=V(()=>ee.value<=200),C=V(()=>d.value.filter(e=>!f.value.some(t=>t.name===e.name))),re=V(()=>C.value.map(e=>({label:e.name,onClick:()=>s(`drop`,e)})));function w(e){g.value?.toggleMute(e)}async function T(e,t){await g.value?.toggleMicrophone(e,t)}function ie(e){g.value?.toggleActivityMode(e)}async function E(e){await g.value?.toggleSourceRole(e)}async function D(e){await g.value?.toggleStreamingMode(e)}function ae(e){g.value?.toggleBbox(e)}function oe(e){g.value?.togglePip(e)}return n({togglePlayerMute:w,toggleMicrophone:T,togglePlayerActivityMode:ie,togglePlayerSourceRole:E,togglePlayerStreamingMode:D,togglePlayerBbox:ae,togglePip:oe}),(n,r)=>{let a=Ue,o=Ve,f=Re,h=e,ee=S,v=ne,te=i;return k(),L(`div`,{ref_key:`boxRef`,ref:p,class:`view-dnd-card`},[z(u)===`normal`||z(u)===`rearrange`?(k(),L(xe,{key:0},[z(l)?(k(),W(a,Oe({key:0,ref_key:`playerRef`,ref:g},t.cameraCardProps,{"activity-mode":t.cameraCardModels?.activityMode,"source-role":t.cameraCardModels?.sourceRole,"streaming-mode":t.cameraCardModels?.streamingMode,"camera-info":z(l),class:`w-full h-full`,onExpand:r[0]||=e=>s(`expand`,z(l),e)}),null,16,[`activity-mode`,`source-role`,`streaming-mode`,`camera-info`])):z(u)===`rearrange`?(k(),L(`div`,At,[G(o,{class:`w-6 h-6 text-white/20`})])):(k(),L(`div`,jt))],64)):z(u)===`edit`?(k(),L(xe,{key:1},[F(`div`,{ref:z(y),style:q({backgroundColor:z(b)}),class:`w-full h-full`},[z(l)?(k(),L(`div`,{key:0,ref_key:`containerRef`,ref:m,class:`w-full h-full flex items-center justify-center relative min-w-0`},[G(h,{class:P([`z-1`,{"cui-icon-lg":z(x),"cui-button-small max-w-[85%]":!z(x)}]),label:z(x)?void 0:z(l).name,onClick:r[1]||=pe(e=>s(`remove`,z(l)),[`prevent`])},{icon:M(()=>[G(f)]),_:1},8,[`class`,`label`]),G(ee,{camera:z(l),class:`absolute w-full h-full top-0 left-0 bg-black/50 opacity-20`},null,8,[`camera`])],512)):z(c)?K(``,!0):(k(),L(`div`,Mt,[z(d).length?(k(),W(h,{key:1,text:``,rounded:``,class:`cui-icon-md`,onClick:z(_)?.toggleMenu},{icon:M(()=>[G(o,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])):N((k(),L(`div`,Nt,[G(h,{text:``,rounded:``,disabled:``,class:`cui-icon-md`},{icon:M(()=>[G(o,{width:`100%`,height:`100%`})]),_:1})])),[[te,{value:n.$t(`views.camview.no_cameras`)},void 0,{top:!0}]])]))],4),G(v,{ref_key:`menuRef`,ref:_,items:z(re),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],64)):K(``,!0)],512)}}}),[[`__scopeId`,`data-v-ca177470`]]),Ft={class:`w-full h-full flex flex-row`},It=[`gs-id`,`gs-x`,`gs-y`,`gs-w`,`gs-h`],Lt={class:`grid-stack-item-content`},Rt=p(B({__name:`CuiCameraViewDnD`,props:j({cameras:{},viewSize:{},cards:{},title:{},editMode:{type:Boolean},rearrangeMode:{type:Boolean},cameraCardProps:{},cameraCardModels:{}},xt),emits:[`drop`,`remove`,`changeViewSize`,`expand`,`rearrange`],setup(t,{expose:n,emit:r}){let i=t,s=r,{isTouch:c}=_(),{smBreakpoint:u,lgBreakpoint:d}=h(),p=ye(l,void 0),m=f(),{routeFrom:g,routeTo:ee}=Me(m),{editMode:v,rearrangeMode:y,viewSize:b,cards:x,cameraCardProps:S}=U(i),ne=O(`viewRef`),C=O(`wrapperRef`),re=O(`gridRef`),w=O(`cardRefs`),T=R(),ie=R(),E=null,{isFullscreen:D,toggle:ae}=o(ne,{mode:`scroll`}),oe=a(ne),se=a(C),ce=V(()=>v.value?`edit`:y.value?`rearrange`:`normal`),le=V(()=>x.value.map((e,t)=>({card:e,index:t})).filter(({card:e})=>ce.value===`edit`||e.lastDroppedCamera!==void 0)),ue=V(()=>T.value??ie.value),de=V(()=>e=>{let t={...Se(S.value)};if(e){let n=g.value?.includes(`/cameras/${e.name}`)??!1,r=ee.value?.includes(`/cameras/${e.name}`)??!1,i=t.viewTransition&&(n||r),a=`/cameras/${e.name}`;t.routerLink=p?.isActive.value?`${a}?startTs=${Math.floor(p.currentTimestamp.value/1e3)}`:a,t.viewTransition=i}return t}),fe=V(()=>(oe.height.value-16)*(16/9)),pe=V(()=>x.value.filter(e=>e.lastDroppedCamera).map(e=>e.lastDroppedCamera));function he(e){let t=x.value[e];if(u.value)return{x:0,y:t?.y??e,w:1,h:1};let n=wt[b.value]?.[e];return{x:t?.x??n?.x??0,y:t?.y??n?.y??0,w:t?.colSpan??n?.w??1,h:t?.rowSpan??n?.h??1}}function j(){if(!E)return;let e=[];for(let t of E.getGridItems()){let n=t.gridstackNode;if(!n)continue;let r=parseInt(n.id),i=x.value[r];i?.lastDroppedCamera&&e.push({index:r,cameraId:i.lastDroppedCamera._id,colSpan:n.w,rowSpan:n.h,x:n.x,y:n.y})}s(`rearrange`,e)}function ve(){ce.value===`rearrange`&&j()}function I(){if(!re.value)return;let e=St[b.value];if(!e)return;let t=u.value,n=t?1:e.cols,r=t?le.value.length:e.rows,i=C.value?.clientWidth??0,a=t?i*9/16:i>0?i*9/16/e.rows:60,o=ce.value===`rearrange`;E=Ke.init({column:n,minRow:r,cellHeight:a,margin:o?3:1,float:!1,animate:!1,staticGrid:!o,resizable:t?{handles:``}:{handles:`se`},disableResize:t,alwaysShowResizeHandle:!t},re.value),E&&(E.on(`change`,ve),requestAnimationFrame(()=>E?.setAnimation(!0)))}function be(){E&&=(E.offAll(),E.destroy(!1),null)}function B(e){let t=x.value.findIndex(t=>t.lastDroppedCamera?._id===e);if(t===-1||T.value===t)return;let n=x.value[t].lastDroppedCamera;ie.value=void 0,T.value=t,s(`expand`,n,!0)}function H(e,t,n){n?T.value=t:(ie.value=t,T.value=void 0,setTimeout(()=>{ie.value=void 0},250)),s(`expand`,e,n)}async function we(){await ae()}function Ee(e){for(let t of w.value||[])t.togglePlayerMute(e)}async function De(e,t){await Promise.allSettled((w.value||[]).map(n=>n.toggleMicrophone(e,t)))}function Oe(e){for(let t of w.value||[])t.togglePlayerActivityMode(e)}async function ke(e){await Promise.allSettled((w.value||[]).map(t=>t.togglePlayerSourceRole(e)))}async function Ae(e){await Promise.allSettled((w.value||[]).map(t=>t.togglePlayerStreamingMode(e)))}function je(e){for(let t of w.value||[])t.togglePlayerBbox(e)}function J(e){for(let t of w.value||[])t.togglePip(e)}function Y(){E&&(E.compact(),j())}function Ne(){if(!E)return;let e=St[b.value];if(!e)return;let t=e.cols,n=[];for(let e of E.getGridItems()){let t=e.gridstackNode;if(!t)continue;let r=parseInt(t.id),[i,a]=((x.value[r]?.lastDroppedCamera)?.interfaceSettings?.aspectRatio||`16:9`).split(`:`).map(Number);n.push({idx:r,el:e,cellRatio:i/a*(9/16)})}if(!n.length)return;let r=e.rows;function i(e){let r=[],i=0,a=0;for(;a<n.length;){let o=[],s=0,c=!1;for(;a<n.length;){let r=n[a].cellRatio;if(e*(s+r)>t&&o.length>0){c=!0;break}o.push(n[a]),s+=r,a++}let l=c?t/s:e;r.push({row:o,ratioSum:s,rowH:l,filled:c}),i+=l}return{rows:r,totalH:i}}let a=.25,o=r,s=a;for(let e=0;e<40;e++){let e=(a+o)/2;i(e).totalH<=r?(s=e,a=e):o=e}let{rows:c}=i(s),l=c.reduce((e,t)=>e+t.rowH,0)||1,u=l>r?r/l:1,d=c.map(e=>e.rowH*u),f=d.reduce((e,t)=>e+t,0),p=new Map,m=Math.max(0,Math.round((r-f)/2)),h=m;for(let e=0;e<c.length;e++){h+=d[e];let n=Math.min(r,Math.round(h)),i=Math.max(1,n-m),{row:a,ratioSum:o,filled:s}=c[e];if(s){let e=0;for(let n=0;n<a.length;n++){let r=n===a.length-1?Math.max(1,t-e):Math.max(1,Math.round(a[n].cellRatio/o*t));p.set(a[n].idx,{x:e,y:m,w:r,h:i}),e+=r}}else{let e=a.map(e=>Math.max(1,Math.round(e.cellRatio*i))),n=e.reduce((e,t)=>e+t,0),r=Math.max(0,Math.round((t-n)/2));for(let t=0;t<a.length;t++)p.set(a[t].idx,{x:r,y:m,w:e[t],h:i}),r+=e[t]}m=n}E.batchUpdate();for(let[e,t]of p){let r=n.find(t=>t.idx===e);r&&E.update(r.el,t)}E.batchUpdate(!1),j()}return Te([b,()=>le.value.length,u],()=>{be(),ge(()=>I())},{immediate:!1}),Te(ce,e=>{if(!E)return;let t=e===`rearrange`;E.setStatic(!t),E.margin(t?3:1)}),Te(()=>se.width.value,e=>{if(!(!E||e<=0)){if(E.setAnimation(!1),u.value)E.cellHeight(e*9/16);else{let t=St[b.value]?.rows??1;E.cellHeight(e*9/16/t)}requestAnimationFrame(()=>E?.setAnimation(!0))}}),Ce(()=>{ge(()=>I())}),A(()=>{be()}),n({expandCameraById:B,toggleFullscreen:we,toggleAllPlayerMute:Ee,toggleAllPlayerMicrophone:De,toggleAllPlayerActivityMode:Oe,toggleAllPlayerSourceRole:ke,toggleAllPlayerStreamingMode:Ae,toggleAllPlayerBbox:je,toggleAllPip:J,compactGrid:Y,fitAspectRatios:Ne,isFullscreen:D}),(n,r)=>{let i=te,a=e,o=Pt,l=kt;return k(),W(z(X),{backend:z(c)?z(Le):z(Q),options:z(c)?{enableMouseEvents:!0}:void 0},{default:M(()=>[F(`div`,Ft,[F(`div`,{ref_key:`viewRef`,ref:ne,class:P([`view-container w-full flex flex-col min-w-0 overflow-y-auto items-center`,{"px-2":z(v)&&z(d)}])},[z(D)?(k(),W(a,{key:0,severity:`secondary`,rounded:``,class:`cui-fs-exit`,"aria-label":n.$t(`components.form.tooltip.fullscreen_off`),onClick:z(ae)},{icon:M(()=>[G(i,{class:`w-5 h-5`})]),_:1},8,[`aria-label`,`onClick`])):K(``,!0),z(ue)===void 0?K(``,!0):(k(),L(`div`,{key:1,class:`w-full aspect-video relative my-auto`,style:q({maxWidth:`${z(fe)}px`})},[G(o,{ref:`fsCardRef`,class:P([`w-full h-full`,{"card-expanded":z(T)!==void 0,"card-collapsing":z(ie)!==void 0}]),camera:z(x)[z(ue)]?.lastDroppedCamera,cameras:t.cameras,"dropped-cameras":z(pe),mode:`normal`,index:z(ue),"camera-card-props":{...z(de)(z(x)[z(ue)]?.lastDroppedCamera),expanded:!0},"camera-card-models":t.cameraCardModels,onExpand:r[0]||=(e,t)=>H(e,z(ue),t)},null,8,[`class`,`camera`,`cameras`,`dropped-cameras`,`index`,`camera-card-props`,`camera-card-models`])],4)),N(F(`div`,{ref_key:`wrapperRef`,ref:C,class:P([`w-full relative my-auto`,z(u)?`h-auto`:`aspect-video`]),style:q(z(u)?void 0:{maxWidth:`${z(fe)}px`})},[F(`div`,{ref_key:`gridRef`,ref:re,class:`grid-stack w-full h-full`},[(k(!0),L(xe,null,me(z(le),({card:e,index:n})=>(k(),L(`div`,{key:n,class:`grid-stack-item`,"gs-id":String(n),"gs-x":he(n).x,"gs-y":he(n).y,"gs-w":he(n).w,"gs-h":he(n).h},[F(`div`,Lt,[G(o,{ref_for:!0,ref_key:`cardRefs`,ref:w,camera:e.lastDroppedCamera,cameras:t.cameras,"dropped-cameras":z(pe),mode:z(ce),index:n,"camera-card-props":{...z(de)(e.lastDroppedCamera),expanded:z(ue)===n},"camera-card-models":t.cameraCardModels,"on-drop":e=>s(`drop`,n,e),onExpand:(e,t)=>H(e,n,t),onDrop:e=>s(`drop`,n,e),onRemove:r[1]||=e=>s(`remove`,e)},null,8,[`camera`,`cameras`,`dropped-cameras`,`mode`,`index`,`camera-card-props`,`camera-card-models`,`on-drop`,`onExpand`,`onDrop`])])],8,It))),128))],512)],6),[[_e,z(ue)===void 0]])],2),z(v)&&z(d)?(k(),W(l,{key:0,cameras:t.cameras,"dropped-cameras":z(pe),title:t.title,class:`view-box shadow-xl`,style:q({"margin-right":z(v)?`0px`:`-${z(400)}px`}),onChangeViewSize:r[2]||=e=>s(`changeViewSize`)},null,8,[`cameras`,`dropped-cameras`,`title`,`style`])):K(``,!0)])]),_:1},8,[`backend`,`options`])}}}),[[`__scopeId`,`data-v-56ef6633`]]),zt={class:`flex flex-col gap-3`},Bt={class:`text-wrap`},Vt={class:`w-full h-full flex items-center justify-center relative`},Ht=B({__name:`AudioVisualizer`,emits:[`listening`],setup(t,{expose:n,emit:r}){let i=r,a=je(),o=T(),s=ye(`dialogRefProps`),c=O(`canvasRef`),l=be(),u=be(),d=R(!1),f=V(()=>!!s.loading?.value);async function p(){if(d.value)h();else try{l.value&&h();let e;try{e=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){o.add({severity:`warn`,detail:`Can not enable AudioVisualizer, see console.`,life:3e3}),a.warn(`Can not enable AudioVisualizer`,e);return}d.value=!0,i(`listening`,!0),l.value=new AudioContext;let t=l.value.createAnalyser();t.fftSize=1024,u.value=e.getTracks(),l.value.createMediaStreamSource(e).connect(t);let n,r=c.value?.getContext(`2d`),s=()=>{if(c.value&&r){let e=[],i=[];r.clearRect(0,0,c.value.width,c.value.height),requestAnimationFrame(s);let a=t.frequencyBinCount,o=new Uint8Array(a);t.getByteFrequencyData(o),e.push(o);for(let t=0;t<e[0].length;t++)i.push(0),e.forEach(e=>{i[t]+=e[t]});let l=c.value.width/2,u=c.value.height/2;r.beginPath(),r.arc(l,u,30,0,2*Math.PI),r.lineWidth=1,r.stroke(),r.closePath();for(let e=0;e<90;e++){n=i[e]*.4;let t=Math.PI*2/90,a=l+Math.cos(t*e)*30,o=u+Math.sin(t*e)*30,s=l+Math.cos(t*e)*(30+n),c=u+Math.sin(t*e)*(30+n);m(r,a,o,s,c,3)}d.value||r.clearRect(0,0,c.value.width,c.value.height)}};s()}catch(e){h(),a.error(e)}}function m(e,t,n,r,i,a){let o=e.createLinearGradient(t,n,r,i);o.addColorStop(0,`#5b040f`),o.addColorStop(.5,`#b50b21`),o.addColorStop(.9,`#df2a4c`),o.addColorStop(1,`#df6380`),e.lineWidth=a,e.strokeStyle=o,e.beginPath(),e.moveTo(t,n),e.lineTo(r,i),e.stroke(),e.closePath()}function h(){l.value?.close(),l.value=void 0,u.value?.forEach(e=>e.stop()),u.value=void 0,d.value=!1,i(`listening`,!1)}return he(()=>{h()}),n({isLoading:f}),(t,n)=>{let r=Be,i=e;return k(),L(`div`,zt,[F(`span`,Bt,I(t.$t(`components.dialog.message.intercom_info`)),1),F(`div`,Vt,[G(i,{rounded:``,class:`w-[60px] h-[60px] absolute z-1`,onClick:p},{icon:M(()=>[G(r,{width:`100%`,height:`100%`})]),_:1}),F(`canvas`,{ref_key:`canvasRef`,ref:c,height:`300`,width:`300`},null,512)])])}}}),Ut=[`fill`],Wt=B({__name:`CuiCameraGridIcon1`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm0 8h952v532H9V9Z`},null,-1)]],8,Ut))}}),Gt=[`fill`],Kt=B({__name:`CuiCameraGridIcon10`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm726 275h226v130H735V276Zm-242 0h234v130H493V276Zm0 265V414h234v127H493ZM9 541V276h476v265H9Zm726 0V414h226v127H735ZM961 9v121H735V9h226ZM735 138h226v130H735V138ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Z`},null,-1)]],8,Gt))}}),qt=[`fill`],Jt=B({__name:`CuiCameraGridIcon12`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 275v129H810.5V276H961Zm-158.5 0v129h-152V276h152Zm-152 265V413h152v128h-152Zm-8-265v129H493V276h149.5ZM493 541V413h149.5v128H493ZM9 276h476v265H9V276Zm801.5 265V413H961v128H810.5ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z`},null,-1)]],8,qt))}}),Yt=[`fill`],Xt=B({__name:`CuiCameraGridIcon13`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-273.5H485v129.5H250.5V276Zm-8 0v129.5H9V276h233.5ZM961 9v121H735V9h226ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Zm250 129h226v130H735V138Zm0 267.5V276h226v129.5H735ZM493 276h234v129.5H493V276Zm0 265V413.5h234V541H493Zm-242.5 0V413.5H485V541H250.5ZM9 541V413.5h233.5V541H9Zm726 0V413.5h226V541H735Z`},null,-1)]],8,Yt))}}),Zt=[`fill`],Qt=B({__name:`CuiCameraGridIcon15`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-144V276H485v129.5H250.5Zm-8-129.5v129.5H9V276h233.5Zm570 90H961v82H812.5v-82Zm-160 0h152v82h-152v-82ZM961 276v82H812.5v-82H961Zm-308.5 0h152v82h-152v-82Zm0 180h152v85h-152v-85ZM961 541H812.5v-85H961v85Zm-316.5-93H493v-82h151.5v82Zm0-172v82H493v-82h151.5Zm0 180v85H493v-85h151.5ZM485 413.5V541H250.5V413.5H485Zm-242.5 0V541H9V413.5h233.5ZM961 9v259H493V9h468ZM9 9h476v259H9V9Z`},null,-1)]],8,Zt))}}),$t=[`fill`],en=B({__name:`CuiCameraGridIcon16`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v121.5H732.5V9H961ZM724.5 9v121.5H493V9h231.5ZM493 268V138.5h231.5V268H493Zm0 137.5V276h231.5v129.5H493Zm468 0H732.5V276H961v129.5ZM493 541V413.5h231.5V541H493Zm468 0H732.5V413.5H961V541Zm0-273H732.5V138.5H961V268ZM485 9v121.5H250.5V9H485ZM250.5 138.5H485V268H250.5V138.5ZM242.5 9v121.5H9V9h233.5ZM9 138.5h233.5V268H9V138.5ZM250.5 276H485v129.5H250.5V276Zm0 137.5H485V541H250.5V413.5Zm-8-137.5v129.5H9V276h233.5ZM9 541V413.5h233.5V541H9Z`},null,-1)]],8,$t))}}),tn=[`fill`],nn=B({__name:`CuiCameraGridIcon20`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 94v82H812.5V95H961Zm-156.5 82h-152V95h152v82ZM961 9v78H812.5V9H961ZM652.5 9h152v78h-152V9Zm0 176h152v83h-152v-83ZM961 268H812.5v-83H961v83Zm-308.5 8h152v82h-152v-82Zm160 0H961v82H812.5v-82Zm-168-181v82H493V95h151.5Zm0-86v78H493V9h151.5ZM493 268v-83h151.5v83H493Zm0 90v-82h151.5v82H493ZM9 9h476v259H9V9Zm952 357v82H812.5v-82H961Zm-156.5 0v82h-152v-82h152Zm-152 90h152v85h-152v-85ZM961 541H812.5v-85H961v85ZM644.5 366v82H493v-82h151.5ZM493 541v-85h151.5v85H493ZM9 276h476v265H9V276Z`},null,-1)]],8,tn))}}),rn=[`fill`],an=B({__name:`CuiCameraGridIcon26`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{"fill-rule":`evenodd`,d:`M1.5 9A7.5 7.5 0 0 1 9 1.5h952a7.5 7.5 0 0 1 7.5 7.5v532a7.5 7.5 0 0 1-7.5 7.5H9a7.5 7.5 0 0 1-7.5-7.5V9Zm960 168V94h-153v83h153Zm-160 0h-153V94h153v83Zm7-90h153V9a.5.5 0 0 0-.5-.5H808.5V87Zm-7-78.5V87h-153V8.5h153Zm0 175.5v84.5h-153V184h153Zm7 84.5V184h153v84.5h-153Zm-167-91.5V94h-149v83h149Zm0-90V8.5h-149V87h149Zm-149 97h149v84.5h-149V184Zm0 91.5H719V402H492.5V275.5Zm0 133.5v132.5H719V409H492.5Zm233.5 0v132.5h235a.5.5 0 0 0 .5-.5V409H726Zm235.5-7V275.5H726V402h235.5Zm-476-270V8.5H252V132h233.5ZM245 139H8.5v129.5H245V139Zm0-7V8.5H9a.5.5 0 0 0-.5.5v123H245Zm240.5 136.5V139H252v129.5h233.5Zm-477 7h157v81H8.5v-81Zm164 81v-81h153v81h-153Zm153 7h-153v83h153v-83Zm7 83v-83h153v83h-153Zm-7 7h-153v88h153v-88Zm7 88v-88h153v88h-153Zm0-185v-81h153v81h-153Zm-324 7h157v83H8.5v-83Zm0 90h157v88H9a.5.5 0 0 1-.5-.5v-87.5Z`},null,-1)]],8,rn))}}),on=[`fill`],sn=B({__name:`CuiCameraGridIcon4`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v259H493V9h468ZM493 541V276h468v265H493ZM485 9v259H9V9h476ZM9 541V276h476v265H9Z`},null,-1)]],8,on))}}),cn=[`fill`],ln=B({__name:`CuiCameraGridIcon6`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm641.5 187.5H961v171H650.5v-171ZM961 9v171.5H650.5V9H961ZM642.5 9v350.5H9V9h633.5ZM9 541V367.5h315.5V541H9Zm323.5-173.5h310V541h-310V367.5Zm318 0H961V541H650.5V367.5Z`},null,-1)]],8,cn))}}),un=[`fill`],dn=B({__name:`CuiCameraGridIcon7`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm725.5 275H961v130H734.5V276Zm0 265V414H961v127H734.5Zm-8-265v130H493V276h233.5ZM493 541V414h233.5v127H493ZM9 276h476v265H9V276ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z`},null,-1)]],8,un))}}),fn=[`fill`],pn=B({__name:`CuiCameraGridIcon9`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=U(e);return(e,n)=>(k(),L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:z(t)},[...n[0]||=[F(`path`,{d:`M969.5 359v-.5h-.5V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V366.5h.5V359ZM961 187v171.5H651V187h310ZM651 541V366.5h310V541H651Zm-8-354v171.5H330V187h313ZM330 541V366.5h313V541H330Zm-8-354v171.5H9V187h313ZM9 541V366.5h313V541H9ZM961 9v170H651V9h310ZM643 9v170H330V9h313ZM322 9v170H9V9h313Z`},null,-1)]],8,fn))}}),mn={for:`name`,class:`cui-label`},hn={key:0,class:`flex flex-col gap-6 justify-center`},gn={key:0,class:`text-red-500 text-center mb-5`},_n={class:`md:max-h-[350px] overflow-y-auto`},vn={class:`block cui-label mb-3`},yn={key:1,class:`flex flex-col gap-6 justify-center`},bn={key:0,class:`text-red-500 text-center mb-5`},xn={class:`md:max-h-[450px] overflow-y-auto`},Sn={class:`block cui-label mb-3`},Cn={class:`view-select-container`},wn=[`onClick`],Tn=p(B({__name:`CamviewForm`,props:{form:{},type:{},cameras:{},views:{}},setup(e,{expose:r}){let i=new re,a=e,o=je(),s=T(),{t:c}=t(),l=ye(`dialogRefProps`),u=w(),{user:d}=Me(u),{mutateAsync:f,isPending:p}=i.createViewQuery(),{mutateAsync:m,isPending:h}=i.patchViewQuery(),{form:g,type:_,cameras:ee,views:v}=U(a),y=O(`formRef`),te=R([1,4,6,7,9,10,12,13,15,16,20,26]),b=R(!0),x=R(!0),S=R([]),ne=R(!!g.value),C=R(g.value?oe(g.value):{});!ne.value&&_.value===`view`&&(C.value.viewSize=te.value[0]);let ie=V(()=>!!(l.loading?.value||p.value||h.value));function D(e){let t=S.value.findIndex(t=>t.name===e.name);t===-1?S.value.push(e):S.value.splice(t,1)}function ae(e){switch(e){case 1:return Wt;case 4:return sn;case 6:return ln;case 7:return dn;case 9:return pn;case 10:return Kt;case 12:return Jt;case 13:return Xt;case 15:return Qt;case 16:return en;case 20:return nn;case 26:return an;default:return Wt}}async function se(){if(!y.value||!d.value)return;let e=v.value.find(e=>e.name===C.value.name);if(e&&!ne.value)return o.error(`View already exists`,e),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null;if(_.value===`dnd`){if(x.value)return o.error(`No cameras selected`),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null;let e=S.value.map((e,t)=>({cameraId:e._id,index:t}));C.value.cameras=e,C.value.type=`dnd`,C.value.viewSize=1,y.value.setFieldValue(`type`,`dnd`),y.value.setFieldValue(`viewSize`,1),y.value.setFieldValue(`cameras`,e);let t=await y.value.validate();return t?.valid?ne.value?await m({username:d.value.username,viewid:C.value._id,viewData:C.value}):await f({username:d.value.username,viewData:C.value}):(o.error(`Validation failed`,t),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null)}{if(b.value)return o.error(`No view selected`),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null;C.value.cameras=[],C.value.type=`view`,y.value.setFieldValue(`type`,`view`),y.value.setFieldValue(`cameras`,[]);let e=await y.value.validate();return e?.valid?oe(C.value):(o.error(`Validation failed`,e),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null)}}return Te(C,e=>{for(let[t,n]of Object.entries(e))y.value?.setFieldValue(t,n);e.viewSize&&(b.value=!1),e.cameras?.length&&(x.value=!1)},{deep:!0,immediate:!0}),Te(S,e=>{x.value=e.length===0},{deep:!0}),Ce(()=>{S.value=ee.value?.filter(e=>C.value?.cameras?.some(t=>t.cameraId===e._id))||[]}),r({isLoading:ie,onConfirm:se}),(e,t)=>{let r=n,i=Y,a=Ne,o=J,s=fe;return k(),W(z(ve),{ref_key:`formRef`,ref:y,class:`flex flex-col gap-6`,"validation-schema":z(E),"initial-values":z(C)},{default:M(()=>[G(z(ke),{modelValue:z(C).name,"onUpdate:modelValue":t[0]||=e=>z(C).name=e,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:M(({field:t,errors:n})=>[F(`label`,mn,I(e.$t(`components.form.label.name`)),1),G(i,null,{default:M(()=>[G(r,Oe(t,{invalid:n.length>0,loading:z(ie),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),G(Ee,{name:`fade`},{default:M(()=>[G(z(De),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),G(a,{class:`m-0 py-3`}),z(_)===`dnd`?(k(),L(`div`,hn,[G(Ee,{name:`fade`},{default:M(()=>[z(x)?(k(),L(`span`,gn,I(e.$t(`components.form.error.no_cameras_selected`)),1)):K(``,!0)]),_:1}),F(`div`,_n,[F(`label`,vn,I(e.$t(`components.form.label.cameras`)),1),(k(!0),L(xe,null,me(z(ee),(e,t)=>(k(),L(`div`,{key:t,class:`cui-list-item`},[G(s,{class:`h-14`,active:z(S).some(t=>t.name===e.name),onClick:t=>D(e)},{append:M(()=>[G(o,{"model-value":z(S).some(t=>t.name===e.name),"onUpdate:modelValue":t=>D(e)},null,8,[`model-value`,`onUpdate:modelValue`])]),default:M(()=>[F(`span`,null,I(e.name),1)]),_:2},1032,[`active`,`onClick`])]))),128))])])):(k(),L(`div`,yn,[G(Ee,{name:`fade`},{default:M(()=>[z(b)?(k(),L(`span`,bn,I(e.$t(`components.form.error.no_view_selected`)),1)):K(``,!0)]),_:1}),F(`div`,xn,[F(`label`,Sn,I(e.$t(`components.form.label.views`)),1),F(`div`,Cn,[(k(!0),L(xe,null,me(z(te),t=>(k(),L(`div`,{key:t,class:`view-select-item w-full`,onClick:e=>z(C).viewSize=t},[F(`div`,{class:P([`view-select-item-icon w-full p-3`,{"selected-view":z(C).viewSize===t}])},[(k(),W(Ae(ae(t)),{style:{width:`100%`,height:`100%`}}))],2),F(`span`,{class:P([`view-select-item-label text-muted mt-3 px-2 py-1 cui-rounded-corners`,{"selected-view-label":z(C).viewSize===t}])},I(t)+` `+I(e.$t(`views.camview.cameras`)),3)],8,wn))),128))])])]))]),_:1},8,[`validation-schema`,`initial-values`])}}}),[[`__scopeId`,`data-v-641aac54`]]),En={class:`h-full w-full dark-mode relative`},Dn={key:0,class:`flex flex-col w-full h-full items-center justify-center`},On={key:1,class:`flex flex-col w-full h-full`},kn={class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},An={class:`text-muted text-sm`},jn={class:`relative w-6 h-6`},Mn=p(B({__name:`Camview`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(n){let a=new re,o=new x,l=n,f=t(),{t:p}=f,_=Fe(),S=ue(),{bottombarHeight:T}=m(),{smBreakpoint:E,lgBreakpoint:D,mdBreakpoint:fe}=h(),pe=w(),{user:me}=Me(pe),he=ee(),{uiSettings:A}=Me(he),{data:j,isLoading:ge}=o.getCamerasQuery({page:1,pageSize:-1}),{data:_e,isLoading:ve}=a.getViewsQuery(me.value?.username??``,{page:1,pageSize:-1}),{mutate:ye,isPending:be}=a.removeViewQuery(),{mutateAsync:xe,isPending:Se}=a.createViewQuery(),{mutateAsync:B,isPending:H}=a.patchViewQuery(),{navbarWidth:Ce,navbarLeft:De}=U(l),ke=O(`menuRef`),je=O(`newViewMenuRef`),J=O(`viewDndRef`),Y=R({}),X=R(!1),Z=R(!1),Q=R(!1),Ie=R(!1),Le=R(!1),Re=R(!1),Be=R(!0),Ue=R(`always-on`),Ke=R(`low-resolution`),qe=R(`webrtc`),Je=R([]),Xe=R(null),Ze=we({sourceRole:Ke.value,activityMode:Ue.value,streamingMode:qe.value}),$e=V(()=>ge.value||ve.value||be.value||Se.value||H.value),et=V(()=>Ce.value+De.value),nt=V(()=>({locale:f.locale.value,dayNames:_.config.locale?.dayNames,dayNamesShort:_.config.locale?.dayNamesShort,monthNames:_.config.locale?.monthNames,monthNamesShort:_.config.locale?.monthNamesShort})),rt=V(()=>({doubleClickZoom:!1,flatCard:!0,cameraNameOverlay:!0,control:!0,toolbar:!1,expandableCard:($.value?.cameras?.length??0)>1,detectionIndicatorOverlay:!0,boundingBoxOverlay:!1,cardClickAction:`expand`,viewTransition:!0,cardProps:{pt:{root:{style:`background: #000`}}}})),at=V(()=>_e.value?.result.length?D.value?{width:Le.value?`calc(100% - 400px)`:`100%`,height:`100%`,overflowY:`scroll`}:{height:`100%`,paddingBottom:Le.value?T.value>0?`200px`:`192px`:`0px`,overflowY:`scroll`}:{width:`100%`,height:`100%`,overflowY:`scroll`}),ot=V(()=>X.value||Z.value),ct=V(()=>!!J.value?.isFullscreen),lt=V(()=>[{label:ct.value?p(`components.form.tooltip.fullscreen_off`):p(`components.form.tooltip.fullscreen_on`),icon:ct.value?te:y,command:Mt},{label:Be.value?p(`components.form.tooltip.unmute`):p(`components.form.tooltip.mute`),icon:Be.value?ut:st,command:Nt},{label:p(`components.form.tooltip.intercom`),icon:g,command:()=>xt(`intercom`)},{label:qe.value===`auto`?`${p(`components.form.tooltip.mode`)}: ${p(`components.form.tooltip.streaming_mode_auto`)}`:qe.value===`webrtc`?`${p(`components.form.tooltip.mode`)}: ${p(`components.form.tooltip.streaming_mode_webrtc`)}`:`${p(`components.form.tooltip.mode`)}: ${p(`components.form.tooltip.streaming_mode_mse`)}`,icon:qe.value===`auto`?ft:qe.value===`webrtc`?ae:de,command:()=>It()},{label:Ue.value===`always-on`?p(`components.form.tooltip.activity_mode_always_on`):Ue.value===`standby`?p(`components.form.tooltip.activity_mode_standby`):p(`components.form.tooltip.activity_mode_activity`),icon:Ue.value===`always-on`?ce:Ue.value===`standby`?ie:it,command:()=>Pt()},{label:Ke.value===`low-resolution`?`${p(`components.form.tooltip.resolution`)}: ${p(`components.form.tooltip.source_role_low`)}`:Ke.value===`mid-resolution`?`${p(`components.form.tooltip.resolution`)}: ${p(`components.form.tooltip.source_role_mid`)}`:`${p(`components.form.tooltip.resolution`)}: ${p(`components.form.tooltip.source_role_high`)}`,icon:Ke.value===`low-resolution`?v:Ke.value===`mid-resolution`?u:C,command:()=>Ft()}]),$=V(()=>{let e=_e.value?.result.find(e=>e._id===A.value.camview.viewid)||_e.value?.result[0];return e?(Y.value=e,A.value.camview.viewid=e._id):Y.value={},e}),dt=V(()=>$.value?.cameras?.map(e=>e.cameraId)??[]),pt=V(()=>{let e=Xe.value;return e&&dt.value.includes(e)?[e]:dt.value}),mt=V(()=>{let e={};for(let t of j.value?.result??[])e[t._id]=t.name;return e}),{master:gt}=s(dt,{sourceRole:`low`,activeIds:pt}),_t=V(()=>gt.mode.value!==`idle`&&gt.currentTimestamp.value>0?Math.floor(gt.currentTimestamp.value/1e3):void 0),vt=V(()=>ot.value&&Y.value.viewSize>0?Y.value.viewSize:$.value?$.value.viewSize:1),yt=V(()=>{let e=[];for(let t of _e.value?.result||[])e.push({label:t.name,active:t._id===$.value?._id,onClick:()=>St(t)});return e}),bt=V(()=>[{label:p(`views.camview.new_view`),icon:ht,onClick:()=>xt(`newView`)}]);function xt(e){switch(e){case`newView`:case`editView`:{let t=e===`editView`,n=p(t?`components.dialog.title.edit_view`:`components.dialog.title.new_view`);t?X.value=!0:Z.value=!0,S.openComponentDialog(Tn,{data:{title:n,loading:$e,confirmText:p(`components.form.button.next`),contentProps:{form:t?Y.value:void 0,type:`view`,cameras:j.value?.result||[],views:_e.value?.result||[]}},onConfirm:e=>{e&&(Y.value=e)},onCancel:()=>{Z.value=!1}});break}case`intercom`:S.openComponentDialog(Ht,{data:{title:p(`components.dialog.title.intercom`),hideConfirmButton:!0,loading:$e,contentProps:{}},events:{listening:Lt}});break;case`removeView`:S.openTextDialog({data:{title:p(`components.dialog.title.confirm`),confirmText:p(`components.form.button.remove`),contentText:p(`components.dialog.message.confirm_remove_layout`),confirmButtonProps:{severity:`danger`}},onConfirm:Ct})}}function St(e){A.value.camview.viewid=e._id}function Ct(){!$.value||!me.value||ye({username:me.value.username,viewid:$.value._id},{onSuccess:e=>{e.length?A.value.camview.viewid=e[0]._id:A.value.camview.viewid=void 0}})}async function wt(){if(!me.value||Object.keys(Y.value).length===0)return;let e=Je.value.filter(e=>e.lastDroppedCamera).map(e=>({cameraId:e.lastDroppedCamera._id,index:e.index,colSpan:e.colSpan,rowSpan:e.rowSpan})).sort((e,t)=>e.index-t.index);if(!e.length)return;let t=oe(Y.value);t.cameras=e,t._id?jt(await B({username:me.value.username,viewid:t._id,viewData:t})):jt(await xe({username:me.value.username,viewData:t}))}function Tt(e,t){Je.value[e].lastDroppedCamera=t}function Et(e){Je.value=Je.value.map(t=>(t.lastDroppedCamera?.name===e.name&&(t.lastDroppedCamera=void 0),t))}function Dt(e){return`${E.value?`mobile`:`desktop`}:${e}`}function Ot(e){let t=$.value?._id;t&&(A.value.camview.layouts||(A.value.camview.layouts={}),A.value.camview.layouts[Dt(t)]=e.map(e=>({index:e.index,cameraId:e.cameraId,x:e.x??0,y:e.y??0,w:e.colSpan??1,h:e.rowSpan??1})))}function kt(e,t){Xe.value=t?e._id:null}function At(e){let t=Xe.value;!t||!e.cameraId||e.cameraId===t||dt.value.includes(e.cameraId)&&J.value?.expandCameraById(e.cameraId)}function jt(e){A.value.camview.viewid=e._id,Z.value=!1,X.value=!1}function Mt(){J.value?.toggleFullscreen()}function Nt(){Be.value=!Be.value,J.value?.toggleAllPlayerMute(Be.value)}function Pt(e){let t=Ue.value;t=e||(t===`always-on`?`standby`:t===`standby`?`activity`:`always-on`),J.value?.toggleAllPlayerActivityMode(t),Ue.value=t}async function Ft(e){let t=Ke.value;t=e||(t===`low-resolution`?`mid-resolution`:t===`mid-resolution`?`high-resolution`:`low-resolution`),await J.value?.toggleAllPlayerSourceRole(t),Ke.value=t}async function It(e){let t=qe.value;t===`auto`&&(t=`webrtc`);let n=e||(t===`mse`?`webrtc`:`mse`);await J.value?.toggleAllPlayerStreamingMode(n),qe.value=n}async function Lt(e){await J.value?.toggleAllPlayerMicrophone(e)}return Te(Ie,e=>{e&&(Re.value=!0)}),Te([vt,$,j,ot,A,E],()=>{let e=Array.from({length:vt.value}).map((e,t)=>({accept:`camera`,index:t,lastDroppedCamera:void 0}));if(!Z.value){let t=$.value?._id,n=t?Dt(t):void 0,r=n?A.value.camview.layouts?.[n]:void 0,i=new Set(j.value?.result.map(e=>e._id)??[]),a=!1;for(let t of $.value?.cameras||[]){if(!e[t.index])continue;let n=j.value?.result.find(e=>e._id===t.cameraId);e[t.index].lastDroppedCamera=n;let o=r?.find(e=>e.index===t.index);o&&(!o.cameraId||i.has(o.cameraId)?(e[t.index].x=o.x,e[t.index].y=o.y,e[t.index].colSpan=o.w,e[t.index].rowSpan=o.h):a=!0)}a&&n&&A.value.camview.layouts?.[n]&&(A.value.camview.layouts[n]=A.value.camview.layouts[n].filter(e=>!e.cameraId||i.has(e.cameraId)))}Je.value=e},{deep:!0,immediate:!0}),(t,n)=>{let a=Ge,o=tt,s=b,l=Qe,u=Ye,f=se,p=le,m=Ne,h=He,g=ze,_=Ve,ee=We,v=c,y=d,te=e,x=Pe,S=ne,C=i;return k(),L(`div`,En,[G(ee,{"left-offset":z(et),animate:``},{left:M(()=>[!z(Z)&&z($)?(k(),W(a,{key:0,type:`dropdown`,label:z($).name,"menu-open":z(ke)?.isOpen,disabled:z($e)||z(X),onClick:n[0]||=e=>z(ke)?.toggleMenu(e)},null,8,[`label`,`menu-open`,`disabled`])):z(Z)&&z(Y).name?(k(),W(a,{key:1,label:z(Y).name,disabled:z($e)},null,8,[`label`,`disabled`])):K(``,!0)]),right:M(()=>[!z(ot)&&z($)?N((k(),W(a,{key:0,active:z(Q),onClick:n[1]||=e=>Q.value=!z(Q)},{icon:M(()=>[z(Q)?(k(),W(s,{key:1,width:`100%`,height:`100%`})):(k(),W(o,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`active`])),[[C,{value:z(Q)?t.$t(`views.camview.rearrange_done`):t.$t(`views.camview.rearrange`)},void 0,{bottom:!0}]]):K(``,!0),!z(ot)&&z($)&&z(Q)&&!z(E)?N((k(),W(a,{key:1,onClick:n[2]||=e=>z(J)?.fitAspectRatios()},{icon:M(()=>[G(l,{width:`100%`,height:`100%`})]),_:1})),[[C,{value:t.$t(`views.camview.rearrange_fit_aspect`)},void 0,{bottom:!0}]]):K(``,!0),!z(ot)&&z($)&&z(Q)&&!z(E)?N((k(),W(a,{key:2,onClick:n[3]||=e=>z(J)?.compactGrid()},{icon:M(()=>[G(u,{width:`100%`,height:`100%`})]),_:1})),[[C,{value:t.$t(`views.camview.rearrange_auto`)},void 0,{bottom:!0}]]):K(``,!0),!z(ot)&&z($)?N((k(),W(a,{key:3,active:z(Ie),onClick:n[4]||=e=>Ie.value=!z(Ie)},{icon:M(()=>[z(Ie)?(k(),W(p,{key:1,width:`100%`,height:`100%`})):(k(),W(f,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`active`])),[[C,{value:z(Ie)?t.$t(`components.form.tooltip.hide_timeline`):t.$t(`components.form.tooltip.show_timeline`)},void 0,{bottom:!0}]]):K(``,!0),!z(ot)&&z($)?(k(),W(m,{key:4,layout:`vertical`})):K(``,!0),!z(ot)&&z($)?N((k(),W(a,{key:5,disabled:z(Q),onClick:n[5]||=e=>xt(`removeView`)},{icon:M(()=>[G(h,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[C,{value:t.$t(`components.form.tooltip.delete`)},void 0,{bottom:!0}]]):K(``,!0),!z(X)&&!z(Z)&&z($)?N((k(),W(a,{key:6,disabled:z(Q),onClick:n[6]||=e=>X.value=!0},{icon:M(()=>[G(g,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[C,{value:t.$t(`components.form.tooltip.edit`)},void 0,{bottom:!0}]]):K(``,!0),!z(X)&&!z(Z)?N((k(),W(a,{key:7,disabled:z(Q),onClick:z(je)?.toggleMenu},{icon:M(()=>[G(_,{class:P([`transform transition-transform duration-300`,{"rotate-45":z(je)?.isOpen}]),width:`100%`,height:`100%`},null,8,[`class`])]),_:1},8,[`disabled`,`onClick`])),[[C,{value:t.$t(`components.form.tooltip.new`)},void 0,{bottom:!0}]]):K(``,!0),z(X)||z(Z)?(k(),W(a,{key:8,label:t.$t(`components.form.button.cancel`),onClick:n[7]||=e=>z(X)?X.value=!1:Z.value=!1},null,8,[`label`])):K(``,!0),z(X)||z(Z)?(k(),W(a,{key:9,label:t.$t(`components.form.button.save`),disabled:z(Je).every(e=>e.lastDroppedCamera===void 0),primary:``,onClick:wt},null,8,[`label`,`disabled`])):K(``,!0)]),_:1},8,[`left-offset`]),F(`div`,{class:P([`w-full h-full flex relative`,{"flex-row":z(D),"flex-col":!z(D)}]),style:q({paddingTop:`${z(55)}px`})},[F(`div`,{class:P([`flex relative z-1 camview-content-transition`,{"h-full items-center justify-center":z(D)||!z(_e)?.result.length,"w-full items-start justify-start":!z(D)&&z(_e)?.result.length}]),style:q(z(at))},[z($e)?(k(),L(`div`,Dn,[(k(),W(v,{key:0,class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`}))])):!z($)&&!z(Z)?(k(),L(`div`,On,[F(`div`,kn,[G(y,{class:`w-12 h-12 text-muted`}),F(`span`,An,I(t.$t(`views.camview.no_views_configured`)),1)])])):z($)||z(Z)?(k(),L(`div`,{key:2,class:P([`w-full h-full`,{"p-2 pb-0":!z(E)}])},[(k(),W(Rt,{ref_key:`viewDndRef`,ref:J,key:z(A).camview.viewid+(z(Z)?`-new`:z(X)?`-edit`:`-view`),cameras:z(j)?.result||[],"edit-mode":z(Z)||z(X),"rearrange-mode":z(Q),"view-size":z(Z)?z(Y).viewSize:z(vt),title:z(Y).name,cards:z(Je),"camera-card-props":z(rt),"camera-card-models":z(Ze),onDrop:Tt,onRemove:Et,onChangeViewSize:n[8]||=e=>xt(`editView`),onExpand:kt,onRearrange:Ot},null,8,[`cameras`,`edit-mode`,`rearrange-mode`,`view-size`,`title`,`cards`,`camera-card-props`,`camera-card-models`]))],2)):K(``,!0)],6),G(Ee,{name:z(D)?`slide-left`:`slide-up`,onBeforeEnter:n[9]||=e=>Le.value=!0,onAfterEnter:n[10]||=e=>Re.value=!1,onBeforeLeave:n[11]||=e=>Le.value=!1},{default:M(()=>[z(Ie)?(k(),W(z(r),{key:0,"camera-ids":z(pt),"event-camera-ids":z(dt),"camera-names":z(mt),"initial-timestamp":z(_t),onEventSelect:At,loading:z(Re),type:z(D)?`vertical`:`horizontal`,"dark-mode":``,"md-breakpoint":z(fe),class:P([`shrink-0 transition-[left] duration-200`,{"h-full w-[400px] pt-2 pr-2":z(D),"h-[200px] pt-2 px-2 pb-2 pb-safe-offset fixed right-safe-offset-0 z-10":!z(D),"p-0! pt-2! border-color":z(E)}]),"card-class":{"!shadow-xl":!0,"!rounded-none border-l-0! border-r-0!":z(E)},style:q(z(D)?void 0:{left:`${z(et)}px`,bottom:`calc(${z(T)}px + env(safe-area-inset-bottom, 0px))`}),"locale-settings":z(nt)},null,8,[`camera-ids`,`event-camera-ids`,`camera-names`,`initial-timestamp`,`loading`,`type`,`md-breakpoint`,`class`,`card-class`,`style`,`locale-settings`])):K(``,!0)]),_:1},8,[`name`])],6),!z(ot)&&z($)?(k(),W(x,{key:0,model:z(lt),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-2 z-11 dark-mode`,pt:{root:{style:`pointer-events: none`}},style:q({bottom:z(D)?`0`:`calc(${z(Le)?192:0}px + ${z(T)>0?`0.5rem`:`0px`})`,right:z(D)?`calc(${z(Le)?400:0}px + 0.5rem)`:`0.5rem`,transition:`bottom 0.25s ease-out, right 0.25s ease-out`})},{button:M(({visible:e,toggleCallback:t})=>[G(te,{severity:`secondary`,class:P([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,loading:z($e),onClick:t},{icon:M(()=>[F(`div`,jn,[F(`div`,{class:P([`bg-white absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}])},null,2),F(`div`,{class:P([`bg-white absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}])},null,2),F(`div`,{class:P([`bg-white absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}])},null,2)])]),_:2},1032,[`class`,`loading`,`onClick`])]),item:M(({item:e,toggleCallback:t})=>[N((k(),W(te,Oe({loading:z($e),severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:M(()=>[(k(),W(Ae(e.icon)))]),_:2},1040,[`loading`,`onClick`])),[[C,{value:e.label}]])]),_:1},8,[`model`,`style`])):K(``,!0),G(S,{ref_key:`menuRef`,ref:ke,items:z(yt),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),G(S,{ref_key:`newViewMenuRef`,ref:je,items:z(bt),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-feeb9ded`]]);export{Mn as default};
@@ -1 +0,0 @@
1
- import{Ir as e,L as t}from"./vendor-cameraui-Cf0XVNQ7.js";import{Fn as n,Nn as r,an as i,br as a,cn as o,en as s,gr as c,hn as l,on as u,pn as d,sn as f}from"./vendor-BaiDFVEr.js";import{K as p,_ as m,j as h,l as g}from"./vendor-primevue-BDu2BpXv.js";import{n as _}from"./useCameraOptions-DMC2KjMS.js";import{t as v}from"./types-p_uC0rfp.js";var y={class:`flex flex-col gap-4`},b={class:`flex flex-col field-gap`},x={class:`cui-label`},S={class:`flex flex-col field-gap`},C={class:`cui-label`},w={class:`text-xs text-muted`},T={class:`flex items-center gap-2`},E=[`onClick`],D={key:0,class:`pl-7`},O=l({__name:`ConfigActionCameraControl`,props:{data:{}},emits:[`update:data`],setup(l,{emit:O}){let k=l,A=O,{t:j}=e(),{cameraOptions:M}=_();function N(e){return k.data.properties.some(t=>t.property===e)}function P(e){return k.data.properties.find(t=>t.property===e)?.value??``}function F(e){try{let t=JSON.parse(P(e)||`[]`);return Array.isArray(t)?t:[]}catch{return[]}}function I(e,t){let n=[...k.data.properties];if(t){if(!n.some(t=>t.property===e)){let t=v.find(t=>t.key===e);n.push({property:e,value:t?.defaultValue??``})}}else{let t=n.findIndex(t=>t.property===e);t>=0&&n.splice(t,1)}A(`update:data`,{properties:n})}function L(e,t){let n=k.data.properties.map(n=>n.property===e?{...n,value:t}:n);A(`update:data`,{properties:n})}function R(e,t){A(`update:data`,{[e]:t})}return(e,_)=>{let O=h,k=t,A=p,z=g,B=m;return r(),o(`div`,y,[i(`div`,b,[i(`label`,x,a(c(j)(`components.automation_nodes.camera`)),1),d(O,{"model-value":l.data.cameraId,options:c(M),"option-label":`label`,"option-value":`value`,placeholder:c(j)(`components.automation_nodes.camera_select`),class:`w-full`,"onUpdate:modelValue":_[0]||=e=>R(`cameraId`,e)},null,8,[`model-value`,`options`,`placeholder`])]),i(`div`,S,[i(`label`,C,a(c(j)(`components.automation_nodes.camera_control_properties`)),1),i(`span`,w,a(c(j)(`components.automation_nodes.camera_control_properties_hint`)),1)]),(r(!0),o(s,null,n(c(v),e=>(r(),o(`div`,{key:e.key,class:`flex flex-col gap-2`},[i(`div`,T,[d(k,{"model-value":N(e.key),binary:``,"onUpdate:modelValue":t=>I(e.key,t)},null,8,[`model-value`,`onUpdate:modelValue`]),i(`label`,{class:`cui-label-switch cursor-pointer flex-1 min-w-0 truncate`,onClick:t=>I(e.key,!N(e.key))},a(c(j)(e.labelKey)),9,E),N(e.key)&&e.inputType===`boolean`?(r(),u(A,{key:0,"model-value":P(e.key)===`true`,class:`shrink-0`,"onUpdate:modelValue":t=>L(e.key,String(t))},null,8,[`model-value`,`onUpdate:modelValue`])):f(``,!0)]),N(e.key)&&e.inputType!==`boolean`?(r(),o(`div`,D,[e.inputType===`select`?(r(),u(O,{key:0,"model-value":P(e.key),options:e.options,"option-label":`label`,"option-value":`value`,class:`w-full`,"onUpdate:modelValue":t=>L(e.key,t)},null,8,[`model-value`,`options`,`onUpdate:modelValue`])):e.inputType===`multiselect`?(r(),u(z,{key:1,"model-value":F(e.key),options:e.options,"option-label":`label`,"option-value":`value`,"show-toggle-all":!1,class:`w-full`,"onUpdate:modelValue":t=>L(e.key,JSON.stringify(t))},null,8,[`model-value`,`options`,`onUpdate:modelValue`])):e.inputType===`number`?(r(),u(B,{key:2,"model-value":Number(P(e.key))||e.min,min:e.min,max:e.max,step:e.step??1,"min-fraction-digits":e.step&&e.step<1?2:0,"max-fraction-digits":e.step&&e.step<1?2:0,class:`w-full`,"onUpdate:modelValue":t=>L(e.key,String(t))},null,8,[`model-value`,`min`,`max`,`step`,`min-fraction-digits`,`max-fraction-digits`,`onUpdate:modelValue`])):f(``,!0)])):f(``,!0)]))),128))])}}});export{O as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./CuiBottomSheet-DECWGdrp.js";export{e as default};
@@ -1 +0,0 @@
1
- import{ft as e,m as t,t as n,v as r}from"./vendor-cameraui-Cf0XVNQ7.js";import{Cn as i,ft as a,it as ee}from"./api-CmdQlVDD.js";import{Cn as o,Gn as s,Nn as c,Sn as l,Un as u,bn as d,cn as f,cr as p,gr as m,hn as h,in as g,mr as te,on as _,qn as v,rr as y,sn as b,wn as x,yr as S}from"./vendor-BaiDFVEr.js";var C=h({__name:`CuiCameraPipCard`,props:o(l({cameraInfo:{},backButton:{type:Boolean},doubleClickZoom:{type:Boolean},expandableCard:{type:Boolean},expanded:{type:Boolean},flatCard:{type:Boolean},resizable:{type:Boolean},cardProps:{},routerLink:{},cardClickAction:{},viewTransition:{type:Boolean},cardBackgroundColor:{},control:{type:Boolean},controlFastForwardButton:{type:Boolean},controlFsButton:{type:Boolean},controlMicrophoneButton:{type:Boolean},controlPipButton:{type:Boolean},controlPlayPauseButton:{type:Boolean},controlRewindButton:{type:Boolean},controlSpeakerButton:{type:Boolean},subcontrol:{type:Boolean},subcontrolActivityModeButton:{type:Boolean},subcontrolPtzButton:{type:Boolean},subcontrolQualityButton:{type:Boolean},subcontrolStreamingModeButton:{type:Boolean},cameraNameOverlay:{type:Boolean},liveIndicatorOverlay:{type:Boolean},modeOverlay:{type:Boolean},detectionIndicatorOverlay:{type:Boolean},boundingBoxOverlay:{type:Boolean},privacyOverlay:{type:Boolean},showShortcuts:{type:Boolean},toolbar:{type:Boolean},toolbarClass:{type:[Boolean,null,String,Object,Array]},toolbarDetectionButton:{type:Boolean},toolbarPipToggleButton:{type:Boolean},toolbarPipToggleActive:{type:Boolean},toolbarSettingsButton:{type:Boolean},toolbarShareButton:{type:Boolean},toolbarShortcutsButton:{type:Boolean},toolbarSnapshotButton:{type:Boolean},toolbarStyle:{type:[Boolean,null,String,Object,Array]},toolbarTimelineButton:{type:Boolean},toolbarZoneButton:{type:Boolean},toolbarDescriptionButton:{type:Boolean},eventDescription:{},pipSourceRole:{},pipToggleButton:{type:Boolean},isolatedStream:{type:Boolean},nvrController:{}},{pipToggleButton:!0,...a}),{activityMode:{default:`always-on`},activityModeModifiers:{},sourceRole:{},sourceRoleModifiers:{},streamingMode:{},streamingModeModifiers:{}}),emits:o([`swap`,`expand`,`streamFinishedLoading`],[`update:activityMode`,`update:sourceRole`,`update:streamingMode`]),setup(i,{expose:a,emit:o}){let l=i,h=o,C=u(i,`activityMode`),w=u(i,`sourceRole`),T=u(i,`streamingMode`),{pipSourceRole:E,cameraInfo:D,toolbar:O}=te(l),k={flatCard:!0,toolbar:!1,control:!1,subcontrol:!1,expandableCard:!1,cameraNameOverlay:!1,detectionIndicatorOverlay:!1,boundingBoxOverlay:!1,showShortcuts:!1,liveIndicatorOverlay:!1,modeOverlay:!1,doubleClickZoom:!1,resizable:!1,viewTransition:!1,backButton:!1,isolatedStream:!0},A=s(`cardARef`),j=s(`cardBRef`),M=p(!1),N=p(!1),P=p(C.value??`always-on`),F=p(T.value),I=p(`always-on`),L=p(E.value??`low-resolution`),R=p(T.value),ne=g(()=>typeof D.value==`string`?D.value:D.value.name),{camera:z}=e(ne),B=d(t,void 0),V=d(n,void 0),H=!!(B||V),U=g(()=>z.value?.id??``),W=g(()=>{if(B?.value){let e=U.value?B.value.get(U.value):void 0;if(e)return e}return V}),G=r(U,{managed:!0,sourceRole:`scrub`});H&&(v(()=>W.value?.mode.value,(e,t)=>{if(!N.value||!q.value){G.mode.value!==`idle`&&G.stop();return}let n=W.value;n&&(e===`idle`?G.stop():e===`play`&&t!==`play`?(G.speed.value=n.speed.value,G.muted.value=!0,G.play(n.currentTimestamp.value,!0)):e===`pause`&&t===`play`?G.pause():e===`play`&&t===`pause`&&G.resume())}),v(()=>W.value?.currentTimestamp.value,e=>{!N.value||!q.value||e&&W.value?.mode.value===`scrub`&&G.scrub(e,!0)}),v(()=>W.value?.playbackAnchor.value?.targetMs,e=>{if(!N.value||!q.value||!e)return;let t=W.value;!t||t.mode.value!==`play`||(G.speed.value=t.speed.value,G.muted.value=!0,G.play(e*1e3,!0))}),v(()=>W.value?.speed.value,e=>{!N.value||!q.value||e&&W.value?.mode.value===`play`&&G.setSpeed(e)}));let K=g(()=>{if(E.value)return E.value;let e=z.value?.camera.value?.sources;if(!e?.length)return;let t=w.value??`high-resolution`,n=e.find(e=>e.role===t);if(n?.childSourceId)return e.find(e=>e._id===n.childSourceId)?.role}),q=g(()=>!!K.value);H&&v([N,q],([e,t])=>{let n=W.value;e&&t&&n?n.mode.value===`play`?(G.speed.value=n.speed.value,G.muted.value=!0,G.play(n.currentTimestamp.value,!0)):n.mode.value===`scrub`&&n.currentTimestamp.value&&G.scrub(n.currentTimestamp.value,!0):(!e||!t)&&G.mode.value!==`idle`&&G.stop()});let J=g(()=>(M.value?j.value:A.value)?.showControl??!1),Y=g(()=>`${(O.value?68:8)+(J.value?48:0)}px`),X=g(()=>!B&&q.value),re=g(()=>{let e=B?void 0:W.value,t={...l,nvrController:e};return M.value?{...t,...k}:{...t,toolbarPipToggleButton:X.value,toolbarPipToggleActive:N.value}}),ie=g(()=>{let e={...l,nvrController:G};return M.value?{...e,toolbarPipToggleButton:X.value,toolbarPipToggleActive:N.value}:{...e,...k}}),Z=g(()=>M.value?j.value:A.value);function Q(){q.value&&(M.value=!M.value,h(`swap`))}function $(e){let t=e===void 0?!N.value:e;N.value=t}function ae(e){h(`expand`,e)}function oe(e){M.value||h(`streamFinishedLoading`,e)}function se(e){M.value&&h(`streamFinishedLoading`,e)}function ce(){return Z.value?.togglePlay()}function le(e){return Z.value?.toggleSourceRole(e)}function ue(){return Z.value?.togglePictureInPicture()}function de(e){return Z.value?.toggleActivityMode(e)}function fe(e){return Z.value?.toggleStreamingMode(e)}function pe(){return Z.value?.toggleFs()}function me(e){return Z.value?.toggleMute(e)}function he(e,t){return Z.value?.toggleMicrophone(e,t)}function ge(){return Z.value?.toggleShortcuts()}function _e(){return Z.value?.togglePtz()}function ve(){return Z.value?.toggleFastForward()}function ye(){return Z.value?.toggleRewind()}function be(e){return Z.value?.toggleBbox(e)}function xe(){return Z.value?.toggleZones()}function Se(){return Z.value?.toggleTimeline()}function Ce(e){return Z.value?.timelineScroll(e)}function we(){return Z.value?.captureScreenshot()}return v(P,e=>C.value=e),v(F,e=>T.value=e),v(T,e=>{F.value=e,R.value=e}),v(K,e=>{e&&(L.value=e)},{immediate:!0}),a({swapped:M,showPip:N,cardA:A,cardB:j,swap:Q,togglePip:$,togglePlay:ce,toggleSourceRole:le,togglePictureInPicture:ue,toggleActivityMode:de,toggleStreamingMode:fe,toggleFs:pe,toggleMute:me,toggleMicrophone:he,toggleShortcuts:ge,togglePtz:_e,toggleFastForward:ve,toggleRewind:ye,toggleBbox:be,toggleZones:xe,toggleTimeline:Se,micActive:g(()=>Z.value?.micActive??!1),streamHasIntercom:g(()=>Z.value?.streamHasIntercom??!1),micButtonDisabled:g(()=>Z.value?.micButtonDisabled??!0),isFullscreen:g(()=>Z.value?.isFullscreen??!1),timelineState:g(()=>Z.value?.timelineState),timelineScroll:Ce,captureScreenshot:we}),(e,t)=>{let n=ee;return c(),f(`div`,{class:`cui-pip-wrapper`,style:S({"--pip-bottom":m(Y)})},[!m(M)||m(N)?(c(),_(n,x({key:0,ref_key:`cardARef`,ref:A},m(re),{"activity-mode":m(P),"onUpdate:activityMode":t[0]||=e=>y(P)?P.value=e:null,"source-role":w.value,"onUpdate:sourceRole":t[1]||=e=>w.value=e,"streaming-mode":m(F),"onUpdate:streamingMode":t[2]||=e=>y(F)?F.value=e:null,class:{"pip-main-position":!m(M),"pip-overlay-position cursor-pointer":m(M)},onExpand:ae,onStreamFinishedLoading:oe,onTogglePip:$,onClick:t[3]||=e=>m(M)&&Q()}),null,16,[`activity-mode`,`source-role`,`streaming-mode`,`class`])):b(``,!0),m(q)&&(m(M)||m(N))?(c(),_(n,x({key:1,ref_key:`cardBRef`,ref:j},m(ie),{"activity-mode":m(I),"onUpdate:activityMode":t[4]||=e=>y(I)?I.value=e:null,"source-role":m(L),"onUpdate:sourceRole":t[5]||=e=>y(L)?L.value=e:null,"streaming-mode":m(R),"onUpdate:streamingMode":t[6]||=e=>y(R)?R.value=e:null,class:{"pip-main-position":m(M),"pip-overlay-position cursor-pointer":!m(M)},onStreamFinishedLoading:se,onTogglePip:$,onClick:t[7]||=e=>!m(M)&&Q()}),null,16,[`activity-mode`,`source-role`,`streaming-mode`,`class`])):b(``,!0)],4)}}}),w=i(C,[[`__scopeId`,`data-v-e84e88cf`]]);export{w as t};
@@ -1 +0,0 @@
1
- import{A as e,D as t,E as n,Ft as r,Ir as i,M as ee,Vt as te,a,c as o,i as s,k as ne,p as c,vr as l,wi as u,y as d,yr as f}from"./vendor-cameraui-Cf0XVNQ7.js";import{Cn as p,G as m,pt as h}from"./api-CmdQlVDD.js";import{Gn as g,Nn as _,Pn as re,Tn as v,Xn as y,Zn as b,an as x,bn as S,br as C,cn as w,cr as T,en as ie,gr as E,hn as D,in as O,ir as k,on as A,pn as j,rr as M,sn as N,zn as P}from"./vendor-BaiDFVEr.js";import{F as ae,P as oe,U as se}from"./vendor-primevue-BDu2BpXv.js";import{t as ce}from"./ring-resize-DkY5EgVl.js";import{n as le,t as ue}from"./CuiRecordingsGrid-wEaU6-3c.js";import{t as F}from"./utils-gctUU5q_.js";var I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return _(),w(`svg`,I,[...t[0]||=[x(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[x(`path`,{d:`m3 3l18 18m-6-10v-1l4.553-2.276A1 1 0 0 1 21 8.618v6.764a1 1 0 0 1-.675.946`}),x(`path`,{d:`M10 6h3a2 2 0 0 1 2 2v3m0 4v1a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1`})],-1)]])}var de=k({name:`tabler-video-off`,render:L}),R={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function z(e,t){return _(),w(`svg`,R,[...t[0]||=[x(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M16 17a1 1 0 1 0 2 0a1 1 0 1 0-2 0M6 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 11L18 6`},null,-1)]])}var fe=k({name:`tabler-percentage`,render:z}),B={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function V(e,t){return _(),w(`svg`,B,[...t[0]||=[x(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm12-4v4M8 3v4m-4 4h16m-9 4h1m0 0v3`},null,-1)]])}var pe=k({name:`tabler-calendar`,render:V}),H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,t){return _(),w(`svg`,H,[...t[0]||=[x(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 8v8m4-8v8m-6-6h8m-8 4h8M3 7V5a2 2 0 0 1 2-2h2M3 17v2a2 2 0 0 0 2 2h2M17 3h2a2 2 0 0 1 2 2v2m-4 14h2a2 2 0 0 0 2-2v-2`},null,-1)]])}var me=k({name:`tabler-grid-scan`,render:U}),W={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function G(e,t){return _(),w(`svg`,W,[...t[0]||=[x(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 10a7 7 0 1 0 14 0a7 7 0 1 0-14 0m18 11l-6-6`},null,-1)]])}var he=k({name:`tabler-search`,render:G}),K={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function q(e,t){return _(),w(`svg`,K,[...t[0]||=[x(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 12h14M5 12l6 6m-6-6l6-6`},null,-1)]])}var ge=k({name:`tabler-arrow-left`,render:q}),_e={class:`flex flex-col h-full`},ve={class:`recordings-toolbar flex flex-col gap-1 py-1.5`},ye={key:0,class:`flex items-center gap-1`},be={key:0,class:`flex items-center gap-1`},xe={key:1,class:`flex items-center gap-1`},Se={class:`flex items-center`},Ce={class:`flex items-center gap-1 shrink-0`},we={class:`flex items-center`},Te={class:`max-w-[305px]`},Ee={class:`w-48 flex flex-col gap-2`},De={class:`flex items-center justify-between text-xs`},Oe={class:`text-muted`},ke={class:`font-mono`},Ae={class:`flex-1 min-h-0 flex flex-col mt-3`},je={key:1,class:`flex justify-center py-4`},Me={key:2,class:`flex flex-col items-center justify-center py-10 gap-3`},Ne={class:`text-muted text-sm`},J=p(D({__name:`CuiCameraRecordings`,props:{cameraId:{},cameraName:{},camera:{},compact:{type:Boolean,default:!1}},emits:[`scrollToEvent`],setup(p,{emit:D}){let k=p,I=D,{t:L}=i(),R=S(h,void 0);if(typeof VideoDecoder<`u`){let e=d({cacheSize:10});re(c,e),u(()=>e.dispose())}let{icons:z,generic:B}=m(),V=new Set([`motion`,`audio`]),H=new Set(l),U=[...f.filter(e=>!V.has(e)).map(e=>({label:L(`views.recordings.type_${e}`),value:e,icon:z[e]??B})),...l.map(e=>({label:L(`views.recordings.attr_${e}`),value:e,icon:z[e]??B})),{label:L(`views.recordings.type_other`),value:a,icon:z.other??B}],W=T(!1),G=g(`mobileSearchInputRef`),K=T(``),q=T([]),J=T([]),Y=T(),X=T(0),Z=g(`datePopoverRef`),Q=g(`confidencePopoverRef`),Pe=O(()=>[k.cameraId]),Fe=O(()=>{let e=q.value.filter(e=>H.has(e)),t=q.value.length>0||J.value.length>0;return{types:q.value.length>0?q.value.filter(e=>!H.has(e)):void 0,triggers:J.value.length>0?J.value:void 0,attributes:e.length>0?e:void 0,search:K.value||void 0,state:`ended`,hasDetections:!t}}),{events:Ie,isLoading:Le,hasMore:Re,loadMore:ze,loadThumbnails:Be}=s({availableCameraIds:Pe,cameraIds:Pe,realtime:!0,pageSize:30,filter:Fe}),Ve=O(()=>Y.value?Y.value.toLocaleDateString([],{day:`2-digit`,month:`2-digit`,year:`numeric`}):``),$=O(()=>{let e=Ie.value.filter(e=>e.state===`ended`);if(Y.value){let t=Y.value,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),r=n+864e5;e=e.filter(e=>e.startTime>=n&&e.startTime<r)}X.value>0&&(e=e.filter(e=>o(e)>=X.value));let t=R?.regions.value;return t&&t.length>0&&(e=e.filter(e=>e.segments.some(e=>e.detections.some(e=>e.box&&F(e.box,t))))),e});function He(){R&&(R.active.value=!R.active.value,R.active.value||(R.regions.value=[]))}function Ue(){W.value=!0,v(()=>G.value?.$el?.querySelector(`input`)?.focus())}function We(){W.value=!1,K.value=``}return(i,a)=>{let o=ge,s=r,c=he,l=oe,u=ee,d=ae,f=me,m=pe,h=fe,g=t,re=se,v=e,S=ne,T=n,D=le,O=ce,k=de,F=te;return _(),w(`div`,_e,[x(`div`,ve,[E(W)?(_(),w(`div`,ye,[j(s,{text:``,rounded:``,severity:`secondary`,class:`shrink-0 cui-icon-md`,onClick:We},{icon:y(()=>[j(o,{width:`100%`,height:`100%`})]),_:1}),j(d,{class:`flex-1 min-w-0`},{default:y(()=>[j(l,null,{default:y(()=>[j(c,{class:`w-3.5 h-3.5`})]),_:1}),j(u,{ref_key:`mobileSearchInputRef`,ref:G,modelValue:E(K),"onUpdate:modelValue":a[0]||=e=>M(K)?K.value=e:null,placeholder:i.$t(`views.recordings.search_placeholder`),class:`w-full !text-xs !py-1.5`},null,8,[`modelValue`,`placeholder`])]),_:1})])):(_(),w(ie,{key:1},[p.compact?(_(),w(`div`,be,[j(d,{class:`flex-1 min-w-0`},{default:y(()=>[j(l,null,{default:y(()=>[j(c,{class:`w-3.5 h-3.5`})]),_:1}),j(u,{modelValue:E(K),"onUpdate:modelValue":a[1]||=e=>M(K)?K.value=e:null,placeholder:i.$t(`views.recordings.search_placeholder`),class:`w-full !text-xs !py-1.5`},null,8,[`modelValue`,`placeholder`])]),_:1}),E(R)?b((_(),A(s,{key:0,text:``,rounded:``,class:`cui-icon-md shrink-0`,severity:E(R).active.value?`primary`:`secondary`,onClick:He},{icon:y(()=>[j(f,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:i.$t(`views.recordings.grid_search`)},void 0,{top:!0}]]):N(``,!0),b((_(),A(s,{text:``,rounded:``,class:`cui-icon-md shrink-0`,severity:E(Y)?`primary`:`secondary`,onClick:a[2]||=e=>E(Z)?.toggle(e)},{icon:y(()=>[j(m,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:E(Y)?E(Ve):i.$t(`views.recordings.date`)},void 0,{top:!0}]]),b((_(),A(s,{text:``,rounded:``,class:`cui-icon-md shrink-0`,severity:E(X)>0?`primary`:`secondary`,onClick:a[3]||=e=>E(Q)?.toggle(e)},{icon:y(()=>[j(h,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:i.$t(`views.recordings.confidence`)},void 0,{top:!0}]])])):N(``,!0),p.compact?N(``,!0):(_(),w(`div`,xe,[j(g,{modelValue:E(q),"onUpdate:modelValue":a[4]||=e=>M(q)?q.value=e:null,options:U,"option-label":`label`,"option-value":`value`,multiple:``,pt:{root:{class:`flex gap-0.5`},pcToggleButton:{root:{class:`!px-2 !py-1.5 !text-xs`}}}},{option:y(({option:e})=>[b((_(),w(`div`,Se,[(_(),A(P(e.icon),{class:`w-3.5 h-3.5`}))])),[[F,e.label,void 0,{top:!0}]])]),_:1},8,[`modelValue`]),j(re,{class:`ml-auto`,layout:`vertical`}),x(`div`,Ce,[E(R)?b((_(),A(s,{key:0,text:``,rounded:``,class:`cui-icon-md`,severity:E(R).active.value?`primary`:`secondary`,onClick:He},{icon:y(()=>[j(f,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:i.$t(`views.recordings.grid_search`)},void 0,{top:!0}]]):N(``,!0),b((_(),A(s,{text:``,rounded:``,class:`cui-icon-md`,severity:E(Y)?`primary`:`secondary`,onClick:a[5]||=e=>E(Z)?.toggle(e)},{icon:y(()=>[j(m,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:E(Y)?E(Ve):i.$t(`views.recordings.date`)},void 0,{top:!0}]]),b((_(),A(s,{text:``,rounded:``,class:`cui-icon-md`,severity:E(X)>0?`primary`:`secondary`,onClick:a[6]||=e=>E(Q)?.toggle(e)},{icon:y(()=>[j(h,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:i.$t(`views.recordings.confidence`)},void 0,{top:!0}]]),j(d,{class:`hidden xl:flex`},{default:y(()=>[j(l,null,{default:y(()=>[j(c,{class:`w-3.5 h-3.5`})]),_:1}),j(u,{modelValue:E(K),"onUpdate:modelValue":a[7]||=e=>M(K)?K.value=e:null,placeholder:i.$t(`views.recordings.search_placeholder`),class:`!text-xs !py-1.5 !w-36`},null,8,[`modelValue`,`placeholder`])]),_:1}),b((_(),A(s,{text:``,rounded:``,severity:`secondary`,class:`xl:hidden cui-icon-md`,onClick:Ue},{icon:y(()=>[j(c,{width:`100%`,height:`100%`})]),_:1})),[[F,{value:i.$t(`views.recordings.search`)},void 0,{top:!0}]])])])),p.compact?(_(),A(g,{key:2,modelValue:E(q),"onUpdate:modelValue":a[8]||=e=>M(q)?q.value=e:null,options:U,"option-label":`label`,"option-value":`value`,fluid:``,multiple:``,pt:{root:{class:`flex gap-0.5 flex-wrap`},pcToggleButton:{root:{class:`!px-2 !py-1.5 !text-xs`}}}},{option:y(({option:e})=>[b((_(),w(`div`,we,[(_(),A(P(e.icon),{class:`w-3.5 h-3.5`}))])),[[F,e.label,void 0,{top:!0}]])]),_:1},8,[`modelValue`])):N(``,!0)],64))]),j(S,{ref_key:`datePopoverRef`,ref:Z,class:`border-none`,pt:{content:{class:`p-0`}}},{default:y(()=>[x(`div`,Te,[j(v,{modelValue:E(Y),"onUpdate:modelValue":a[9]||=e=>M(Y)?Y.value=e:null,"max-date":new Date,inline:``,"clear-button-props":{class:`hidden`},class:`hover:text-primary active:text-primary focus:text-primary text-muted-color`,pt:{pcInputText:{root:{class:`text-sm !text-color`}},inputIconContainer:{class:`transition-all text-current`}}},null,8,[`modelValue`,`max-date`]),E(Y)?(_(),A(s,{key:0,label:i.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`text-xs mt-2`,fluid:``,onClick:a[10]||=e=>Y.value=void 0},null,8,[`label`])):N(``,!0)])]),_:1},512),j(S,{ref_key:`confidencePopoverRef`,ref:Q,pt:{content:{class:`p-3`}}},{default:y(()=>[x(`div`,Ee,[x(`div`,De,[x(`span`,Oe,C(i.$t(`views.recordings.confidence`)),1),x(`span`,ke,C(Math.round(E(X)*100))+`%`,1)]),j(T,{modelValue:E(X),"onUpdate:modelValue":a[11]||=e=>M(X)?X.value=e:null,min:0,max:1,step:.05,class:`w-full`},null,8,[`modelValue`]),E(X)>0?(_(),A(s,{key:0,label:i.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`text-xs`,fluid:``,onClick:a[12]||=e=>X.value=0},null,8,[`label`])):N(``,!0)])]),_:1},512),x(`div`,Ae,[E($).length?(_(),A(ue,{key:0,items:E($),"min-item-width":150,gap:8,"has-more":E(Re),"load-more":E(ze),"item-key":e=>e.id,class:`flex-1 min-h-0`},{item:y(({item:e})=>[j(D,{event:e,"camera-name":p.cameraName,camera:p.camera,"load-thumbnails":E(Be),onScrollToEvent:a[13]||=e=>I(`scrollToEvent`,e)},null,8,[`event`,`camera-name`,`camera`,`load-thumbnails`])]),_:1},8,[`items`,`has-more`,`load-more`,`item-key`])):N(``,!0),E(Le)?(_(),w(`div`,je,[j(O,{width:`24px`,height:`24px`,class:`text-muted`})])):N(``,!0),!E($).length&&!E(Le)?(_(),w(`div`,Me,[j(k,{class:`w-12 h-12 text-muted opacity-30`}),x(`p`,Ne,C(i.$t(`views.recordings.no_recordings`)),1)])):N(``,!0)])])}}}),[[`__scopeId`,`data-v-72885550`]]);export{J as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./CuiCameraTable-Bk9N-Oc6.js";export{e as default};
@@ -1,5 +0,0 @@
1
- import{$r as e,Ft as t,Ir as n,Oi as r,Ti as i,Vt as a,Xr as o}from"./vendor-cameraui-Cf0XVNQ7.js";import{Cn as s,En as c,a as l,hr as u,i as d}from"./api-CmdQlVDD.js";import{Gn as f,Mn as p,Nn as m,Xn as ee,Zn as te,_r as h,an as g,cn as _,cr as v,dr as ne,gr as y,hn as b,in as re,ir as x,jn as ie,mr as ae,on as S,pn as oe,qn as C}from"./vendor-BaiDFVEr.js";import{a as se,i as ce,n as le,r as ue,t as de}from"./vendor-xterm-BafMBqaV.js";var w={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function T(e,t){return m(),_(`svg`,w,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z`},null,-1)]])}var E=x({name:`mdi-content-copy`,render:T}),D=s(b({__name:`CuiConsole`,props:{options:{default:()=>({fontSize:14})},ignoreBreakpoint:{type:Boolean}},emits:[`resize`],setup(s,{expose:g,emit:b}){let x=s,w=b,{smBreakpoint:T}=c(),{t:D}=n(),O=u(),{options:k,ignoreBreakpoint:fe}=ae(x),A={fontSize:14,scrollback:5e3,allowTransparency:!1,smoothScrollDuration:0,disableStdin:!0,allowProposedApi:!0},j=f(`terminalContainerRef`),M=v(0),N=ne(null),P=v(!1),F=v(!1),I=null,L=null,R=null,z=null,B,V=``,H=!1,U=!0,W=o(j),pe=re(()=>{if(!N.value)return!0;let e=N.value.buffer.active.length-N.value.rows;return M.value>=e});function G(){N.value&&(M.value=N.value.buffer.active.viewportY)}function me(){!N.value||!I||(I.fit(),G(),N.value.cols&&w(`resize`,N.value.cols))}function K(){me(),N.value?.scrollToBottom(),G()}let q=i(G,16),J=i(K,100),{start:he,stop:ge,isPending:_e}=r(()=>{N.value&&V&&(N.value.write(V),V=``,q())},16,{immediate:!1});function ve(e){if(U){if(e=e.replace(/^[\r\n]+/,``),!e)return;U=!1}H&&=(V+=`
2
- `,!1),e.endsWith(`
3
- `)?(V+=e.slice(0,-1),H=!0):e.endsWith(`\r
4
- `)?(V+=e.slice(0,-2),H=!0):V+=e,_e.value||he()}function ye(){requestAnimationFrame(()=>{N.value?.scrollToBottom(),q()})}function Y(){ge(),V=``,H=!1,U=!0,N.value?.reset(),q()}function be(){if(!N.value)return``;let e=N.value.buffer.active,t=[];for(let n=0;n<e.length;n++)t.push(e.getLine(n)?.translateToString(!0)??``);return t.join(`
5
- `).replace(/\s+$/,``)}async function X(e){if(!e)return!1;let t=await d(e);return t?O.add({severity:`success`,detail:D(`components.toast.copied`),life:1500}):O.add({severity:`error`,detail:D(`components.toast.copy_failed`),life:3e3}),t}function Z(){let e=N.value?.getSelection()??``;return e?(X(e),!0):!1}function xe(){X(be())}function Se(e){!(e.metaKey||e.ctrlKey)||e.key.toLowerCase()!==`c`||!P.value||!N.value?.hasSelection()||(e.preventDefault(),Z())}function Ce(e){let t=N.value?.getSelection()??``;if(t){if(l(t)){e.preventDefault(),O.add({severity:`success`,detail:D(`components.toast.copied`),life:1500});return}we(t,e)}}function we(e,t){let n=document.createElement(`textarea`);n.value=e,n.setAttribute(`inputmode`,`none`),n.style.position=`fixed`,n.style.left=`${t.clientX}px`,n.style.top=`${t.clientY}px`,n.style.width=`1px`,n.style.height=`1px`,n.style.opacity=`0`,n.style.fontSize=`12pt`,document.body.appendChild(n),n.focus({preventScroll:!0}),n.select(),n.setSelectionRange(0,e.length);let r=()=>{n.remove(),clearTimeout(i)};n.addEventListener(`copy`,()=>{O.add({severity:`success`,detail:D(`components.toast.copied`),life:1500}),setTimeout(r,0)},{once:!0}),setTimeout(()=>document.addEventListener(`mousedown`,r,{once:!0}),0);let i=setTimeout(r,15e3)}function Q(e){let t=N.value?.element;if(!N.value||!t)return;let n=t.getBoundingClientRect(),r=n.height/N.value.rows;if(r<=0)return;let i=Math.max(0,Math.min(Math.floor((e-n.top)/r),N.value.rows-1));return Math.min(N.value.buffer.active.viewportY+i,N.value.buffer.active.length-1)}function Te(){let e=N.value?.element;if(!e)return;let t=0,n=0,r=0,i=0,a=!1,o,s;function c(){B&&clearInterval(B)}function l(){clearTimeout(o),o=void 0}function u(t){if(!N.value||s===void 0)return;let n=e.getBoundingClientRect();t<n.top+28?N.value.scrollLines(-1):t>n.bottom-28&&N.value.scrollLines(1);let r=Q(t);r!==void 0&&(N.value.selectLines(Math.min(s,r),Math.max(s,r)),q())}function d(e){c(),t=e.touches[0].clientY,n=t,r=0,i=Date.now(),a=!1,s=void 0,l();let u=t;o=setTimeout(()=>{let e=Q(u);e===void 0||!N.value||(s=e,N.value.selectLines(e,e))},500)}function f(e){e.preventDefault();let o=e.touches[0].clientY;if(s!==void 0){u(o);return}let c=Date.now(),d=o-n,f=Math.max(c-i,1);if(i=c,n=o,Math.abs(o-t)>10&&l(),r=Math.max(-1.2,Math.min(d/f,1.2)),N.value&&f>0){let e=-Math.round(d/20);N.value.scrollLines(e),a=!0,q()}}function m(){if(l(),s!==void 0){s=void 0;return}if(!a&&N.value?.hasSelection()&&N.value.clearSelection(),a&&Math.abs(r)>.2){let e=r;B=setInterval(()=>{if(!N.value||Math.abs(e)<.05){c();return}let t=-Math.round(e*12);N.value.scrollLines(t),e*=.92,q()},16)}}e.addEventListener(`touchstart`,d,{passive:!0}),e.addEventListener(`touchmove`,f,{passive:!1}),e.addEventListener(`touchend`,m,{passive:!0}),p(()=>{e.removeEventListener(`touchstart`,d),e.removeEventListener(`touchmove`,f),e.removeEventListener(`touchend`,m),l(),c()})}function $(e){if(e)try{e.dispose()}catch{}}return C(k,()=>{N.value&&(N.value.options=k.value,J())},{deep:!0}),C([W.height,W.width],()=>{J()}),e(j,`pointerenter`,()=>P.value=!0),e(j,`pointerleave`,()=>P.value=!1),e(j,`contextmenu`,Ce),e(document,`keydown`,Se),ie(()=>{N.value=new de({...A,...k.value}),I=new se,z=new le,L=new ce,R=new ue,N.value.loadAddon(L),N.value.loadAddon(R),N.value.loadAddon(z),N.value.loadAddon(I),N.value.open(j.value);let e=j.value.querySelector(`textarea`);e&&(e.disabled=!0,e.tabIndex=-1),N.value.onScroll(()=>{G()}),N.value.onSelectionChange(()=>{F.value=N.value?.hasSelection()??!1}),K(),Te(),z.onContextLoss(()=>{$(z),z=null})}),p(()=>{$(I),$(z),$(L),$(R),$(N.value)}),g({clearTerminal:Y,writeTerminal:ve,resizeHandler:K,scrollToBottom:ye,copySelection:Z,copyAll:xe,atBottom:pe}),(e,n)=>{let r=E,i=t,o=a;return m(),_(`div`,{ref_key:`terminalContainerRef`,ref:j,class:h([`relative w-full h-full bg-none z-1 overflow-hidden p-2 min-w-0`,{"pb-0":!y(T)&&!y(fe)}])},[te((m(),S(i,{type:`button`,rounded:``,disabled:!y(F),class:h([`!absolute top-2 right-2 z-10 !w-8 !h-8 !p-0 opacity-30 text-black`,{"opacity-80":y(F)}]),onClick:Z},{default:ee(()=>[oe(r,{class:`w-4 h-4`})]),_:1},8,[`disabled`,`class`])),[[o,{value:e.$t(`components.form.button.copy`),disabled:!y(F)},void 0,{left:!0}]])],2)}}}),[[`__scopeId`,`data-v-96b93fb8`]]);export{E as n,D as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./PluginConsole-xOY_kwz_.js","./api-CmdQlVDD.js","./rolldown-runtime-C0FnF6B9.js","./vendor-cameraui-Cf0XVNQ7.js","./vendor-BaiDFVEr.js","./intercomService-BjB4QQiX.js","./vendor-zod-Dbq0fBXY.js","./types-R10eIequ.js","./lightbulb-outline-ClK17CO6.js","./vendor-core-u4xNQ-aF.js","./vendor-primevue-BDu2BpXv.js","./vendor-dnd-ChrDrMuz.js","./close-BNAWPz0y.js","./vendor-draggabilly-DSeIE_bQ.js","./api-AVHJeggR.css","./plugins-QEqfAk0G.js","./CuiConsole-De9JpSLz.js","./vendor-xterm-BafMBqaV.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-CmyalQi8.js","./PluginUpdateProgress-Bx0MXwAk.js","./alert-circle-C2AU59aR.js","./usePluginUpdates-CyjxFTTi.js","./VersionsHandler-XEn3uFy7.js","./server-CDm6FwHH.js","./useServerRestart-x8p2rFqn.js","./CuiMarkdownContent-PSq4kE1G.js","./vendor-markdown-Bw_90xkF.js","./vendor-markdown-DtOhvyRx.css","./platformLabels-D-cF6OTP.js","./config-CURuT8_k.js","./useUpdateChannel-ChscS5KW.js"])))=>i.map(i=>d[i]);
2
- import{Ft as e,H as t,Ir as n,Lt as r,Nr as i,Vt as a,jt as o,kr as s,wi as c}from"./vendor-cameraui-Cf0XVNQ7.js";import{Cn as l,Sn as ee,Un as te,Zn as u,_n as ne,cn as re,ct as d,hr as f,sr as p,st as m}from"./api-CmdQlVDD.js";import{$n as h,Dn as ie,Gn as g,Ln as ae,Nn as _,Rt as v,Xn as y,Zn as b,_r as x,an as S,br as C,cn as w,cr as T,dn as E,fn as oe,gr as D,hn as O,in as k,ir as A,mr as j,on as M,or as N,pn as P,qn as se,sn as F,yr as ce}from"./vendor-BaiDFVEr.js";import{q as I}from"./types-R10eIequ.js";import{l as L}from"./vendor-core-u4xNQ-aF.js";import{K as le}from"./vendor-primevue-BDu2BpXv.js";import{t as R}from"./plugins-QEqfAk0G.js";import{t as z}from"./usePluginUpdates-CyjxFTTi.js";import{t as ue}from"./CuiPluginOAuthButton-CNxj7cuf.js";import{t as B}from"./trash-fill-DevIK050.js";import{t as V}from"./deployed-code-update-xHE-blDN.js";var H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,t){return _(),w(`svg`,H,[...t[0]||=[S(`g`,{fill:`currentColor`},[S(`path`,{d:`M15.64 7.025h-3.622v-2h7v7h-2v-3.55l-4.914 4.914l-1.414-1.414z`}),S(`path`,{d:`M10.982 6.975h-6v12h12v-6h-2v4h-8v-8h4z`})],-1)]])}var de=A({name:`gg-external`,render:U}),fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function pe(e,t){return _(),w(`svg`,fe,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M4.47 21h15.06c1.54 0 2.5-1.67 1.73-3L13.73 4.99c-.77-1.33-2.69-1.33-3.46 0L2.74 18c-.77 1.33.19 3 1.73 3M12 14c-.55 0-1-.45-1-1v-2c0-.55.45-1 1-1s1 .45 1 1v2c0 .55-.45 1-1 1m1 4h-2v-2h2z`},null,-1)]])}var me=A({name:`ic-round-warning`,render:pe}),W={viewBox:`0 0 48 48`,width:`1.2em`,height:`1.2em`},G=[`id`],he=[`mask`];function ge(e,t){return _(),w(`svg`,W,[S(`defs`,null,[S(`mask`,{id:e.idMap.SVGREtFiUFR},[...t[0]||=[S(`g`,{fill:`none`,"stroke-width":`4`},[S(`path`,{stroke:`#fff`,d:`M24 44c11.046 0 20-8.954 20-20S35.046 4 24 4S4 12.954 4 24s8.954 20 20 20Z`,"clip-rule":`evenodd`}),S(`path`,{fill:`#fff`,stroke:`#fff`,"stroke-linejoin":`round`,d:`M24 44c11.046 0 20-8.954 20-20S35.046 4 24 4S4 12.954 4 24s8.954 20 20 20Z`}),S(`path`,{stroke:`#000`,"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`m33 27l-9-9l-9 9`})],-1)]],8,G)]),S(`path`,{fill:`currentColor`,d:`M0 0h48v48H0z`,mask:`url(#`+e.idMap.SVGREtFiUFR+`)`},null,8,he)])}var _e=A({name:`icon-park-solid-up-c`,render:ge,setup(){return{idMap:{SVGREtFiUFR:`uicons-`+Math.random().toString(36).substr(2,10)}}}}),ve=[`fill`],ye=O({__name:`CuiJavascriptIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=j(e);return(e,n)=>(_(),w(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,role:`img`,"aria-hidden":`true`,fill:D(t)},[...n[0]||=[S(`g`,null,[S(`path`,{d:`M0,0 L256,0 L256,256 L0,256 L0,0 Z`,fill:`#F7DF1E`}),S(`path`,{d:`M67.311746,213.932292 L86.902654,202.076241 C90.6821079,208.777346 94.1202286,214.447137 102.367086,214.447137 C110.272203,214.447137 115.256076,211.354819 115.256076,199.326883 L115.256076,117.528787 L139.313575,117.528787 L139.313575,199.666997 C139.313575,224.58433 124.707759,235.925943 103.3984,235.925943 C84.1532952,235.925943 72.9819429,225.958603 67.3113397,213.93026`,fill:`#000000`}),S(`path`,{d:`M152.380952,211.354413 L171.969422,200.0128 C177.125994,208.433981 183.827911,214.619835 195.684368,214.619835 C205.652521,214.619835 212.009041,209.635962 212.009041,202.762159 C212.009041,194.513676 205.479416,191.592025 194.481168,186.78207 L188.468419,184.202565 C171.111213,176.81473 159.597308,167.53534 159.597308,147.944838 C159.597308,129.901308 173.344508,116.153295 194.825752,116.153295 C210.119924,116.153295 221.117765,121.48094 229.021663,135.400432 L210.29059,147.428775 C206.166146,140.040127 201.699556,137.119289 194.826159,137.119289 C187.78047,137.119289 183.312254,141.587098 183.312254,147.428775 C183.312254,154.646349 187.78047,157.568406 198.089956,162.036622 L204.103924,164.614095 C224.553448,173.378641 236.067352,182.313448 236.067352,202.418387 C236.067352,224.071924 219.055137,235.927975 196.200432,235.927975 C173.860978,235.927975 159.425829,225.274311 152.381359,211.354413`,fill:`#000000`})],-1)]],8,ve))}}),K=[`fill`],be=l(O({__name:`CuiGoIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=j(e);return(e,n)=>(_(),w(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:D(t)},[...n[0]||=[S(`g`,{fill:`none`},[S(`rect`,{width:`256`,height:`256`,fill:`#00B4E0`,rx:`60`}),S(`path`,{fill:`#fff`,d:`M40.5 113.234c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h35.7c.4 0 .5.3.3.6l-1.7 2.6c-.2.3-.7.6-1 .6zm-15.1 9.2c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h45.6c.4 0 .6.3.5.6l-.8 2.4c-.1.4-.5.6-.9.6zm24.2 9.2c-.4 0-.5-.3-.3-.6l1.4-2.5c.2-.3.6-.6 1-.6h20c.4 0 .6.3.6.7l-.2 2.4c0 .4-.4.7-.7.7zm103.8-20.2c-6.3 1.6-10.6 2.8-16.8 4.4-1.5.4-1.6.5-2.9-1-1.5-1.7-2.6-2.8-4.7-3.8-6.3-3.1-12.4-2.2-18.1 1.5-6.8 4.4-10.3 10.9-10.2 19 .1 8 5.6 14.6 13.5 15.7 6.8.9 12.5-1.5 17-6.6.9-1.1 1.7-2.3 2.7-3.7h-19.3c-2.1 0-2.6-1.3-1.9-3 1.3-3.1 3.7-8.3 5.1-10.9.3-.6 1-1.6 2.5-1.6h36.4c-.2 2.7-.2 5.4-.6 8.1-1.1 7.2-3.8 13.8-8.2 19.6-7.2 9.5-16.6 15.4-28.5 17-9.8 1.3-18.9-.6-26.9-6.6-7.4-5.6-11.6-13-12.7-22.2-1.3-10.9 1.9-20.7 8.5-29.3 7.1-9.3 16.5-15.2 28-17.3 9.4-1.7 18.4-.6 26.5 4.9 5.3 3.5 9.1 8.3 11.6 14.1.6.9.2 1.4-1 1.7`}),S(`path`,{fill:`#fff`,d:`M186.5 166.734c-9.1-.2-17.4-2.8-24.4-8.8-5.9-5.1-9.6-11.6-10.8-19.3-1.8-11.3 1.3-21.3 8.1-30.2 7.3-9.6 16.1-14.6 28-16.7 10.2-1.8 19.8-.8 28.5 5.1 7.9 5.4 12.8 12.7 14.1 22.3 1.7 13.5-2.2 24.5-11.5 33.9-6.6 6.7-14.7 10.9-24 12.8-2.7.5-5.4.6-8 .9m23.8-40.4c-.1-1.3-.1-2.3-.3-3.3-1.8-9.9-10.9-15.5-20.4-13.3-9.3 2.1-15.3 8-17.5 17.4-1.8 7.8 2 15.7 9.2 18.9 5.5 2.4 11 2.1 16.3-.6 7.9-4.1 12.2-10.5 12.7-19.1`})],-1)]],8,K))}}),[[`__scopeId`,`data-v-6c6195ac`]]),xe=[`fill`],Se=O({__name:`CuiPythonIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=j(e);return(e,n)=>(_(),w(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 255`,role:`img`,"aria-hidden":`true`,fill:D(t)},[...n[0]||=[E(`<defs><linearGradient id="linearGradient-1" x1="12.9593594%" y1="12.0393928%" x2="79.6388325%" y2="78.2008538%"><stop stop-color="#387EB8" offset="0%"></stop><stop stop-color="#366994" offset="100%"></stop></linearGradient><linearGradient id="linearGradient-2" x1="19.127525%" y1="20.5791813%" x2="90.7415328%" y2="88.4290372%"><stop stop-color="#FFE052" offset="0%"></stop><stop stop-color="#FFC331" offset="100%"></stop></linearGradient></defs><g><path d="M126.915866,0.0722755491 C62.0835831,0.0722801733 66.1321288,28.1874648 66.1321288,28.1874648 L66.2044043,57.3145115 L128.072276,57.3145115 L128.072276,66.0598532 L41.6307171,66.0598532 C41.6307171,66.0598532 0.144551098,61.3549438 0.144551098,126.771315 C0.144546474,192.187673 36.3546019,189.867871 36.3546019,189.867871 L57.9649915,189.867871 L57.9649915,159.51214 C57.9649915,159.51214 56.8001363,123.302089 93.5968379,123.302089 L154.95878,123.302089 C154.95878,123.302089 189.434218,123.859386 189.434218,89.9830604 L189.434218,33.9695088 C189.434218,33.9695041 194.668541,0.0722755491 126.915866,0.0722755491 L126.915866,0.0722755491 L126.915866,0.0722755491 Z M92.8018069,19.6589497 C98.9572068,19.6589452 103.932242,24.6339846 103.932242,30.7893845 C103.932246,36.9447844 98.9572068,41.9198193 92.8018069,41.9198193 C86.646407,41.9198239 81.6713721,36.9447844 81.6713721,30.7893845 C81.6713674,24.6339846 86.646407,19.6589497 92.8018069,19.6589497 L92.8018069,19.6589497 L92.8018069,19.6589497 Z" fill="url(#linearGradient-1)"></path><path d="M128.757101,254.126271 C193.589403,254.126271 189.540839,226.011081 189.540839,226.011081 L189.468564,196.884035 L127.600692,196.884035 L127.600692,188.138693 L214.042251,188.138693 C214.042251,188.138693 255.528417,192.843589 255.528417,127.427208 C255.52844,62.0108566 219.318366,64.3306589 219.318366,64.3306589 L197.707976,64.3306589 L197.707976,94.6863832 C197.707976,94.6863832 198.87285,130.896434 162.07613,130.896434 L100.714182,130.896434 C100.714182,130.896434 66.238745,130.339138 66.238745,164.215486 L66.238745,220.229038 C66.238745,220.229038 61.0044225,254.126271 128.757101,254.126271 L128.757101,254.126271 L128.757101,254.126271 Z M162.87116,234.539597 C156.715759,234.539597 151.740726,229.564564 151.740726,223.409162 C151.740726,217.253759 156.715759,212.278727 162.87116,212.278727 C169.026563,212.278727 174.001595,217.253759 174.001595,223.409162 C174.001618,229.564564 169.026563,234.539597 162.87116,234.539597 L162.87116,234.539597 L162.87116,234.539597 Z" fill="url(#linearGradient-2)"></path></g>`,2)]],8,xe))}}),Ce={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function we(e,t){return _(),w(`svg`,Ce,[...t[0]||=[S(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2.5`},[S(`path`,{d:`M12 3a9 9 0 1 1-5.657 2`}),S(`path`,{d:`M3 4.5h4v4`})],-1)]])}var Te=A({name:`iconamoon-restart-bold`,render:we}),Ee={HEIGHT:220},De={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Oe(e,t){return _(),w(`svg`,De,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2m6 18a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2Z`},null,-1)]])}var ke=A({name:`carbon-stop-filled`,render:Oe}),Ae={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function je(e,t){return _(),w(`svg`,Ae,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M21.4086 9.35258C23.5305 10.5065 23.5305 13.4935 21.4086 14.6474L8.59662 21.6145C6.53435 22.736 4 21.2763 4 18.9671L4 5.0329C4 2.72368 6.53435 1.26402 8.59661 2.38548L21.4086 9.35258Z`},null,-1)]])}var Me=A({name:`solar-play-bold`,render:je}),Ne={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Pe(e,t){return _(),w(`svg`,Ne,[...t[0]||=[S(`path`,{fill:`currentColor`,"fill-rule":`evenodd`,d:`M16.242 7.757A6 6 0 0 0 6.81 8.986l.734-.376a1 1 0 0 1 .911 1.78l-2.704 1.385l-.438-.856l.438.856a1.222 1.222 0 0 1-1.708-.678l-.985-2.761a1 1 0 0 1 1.884-.672l.123.345a8 8 0 1 1 6.364 11.971a1 1 0 0 1 .142-1.995a6 6 0 0 0 4.672-10.227M12 7.111a1 1 0 0 1 1 1v3.808c0 .317-.126.621-.35.845l-2.443 2.443a1 1 0 0 1-1.414-1.414L11 11.586V8.11a1 1 0 0 1 1-1m-5.657 9.132a1 1 0 0 1 1.414 0q.386.384.815.683a1 1 0 1 1-1.144 1.64a8 8 0 0 1-1.085-.91a1 1 0 0 1 0-1.413`,"clip-rule":`evenodd`},null,-1)]])}var Fe=A({name:`stash-version-solid`,render:Pe}),Ie=5e3,q=new Map,J=new Map,Y=new Map,X=new Map,Z=T([]),Le=null,Q=null;function Re(e,t){switch(t){case I.ERROR:e.statusColor=`#9d5752`;break;case I.STARTING:e.statusColor=`orange`;break;case I.READY:e.statusColor=`yellow`;break;case I.STARTED:e.statusColor=`green`;break;case I.STOPPED:e.statusColor=`red`;break;case I.UPDATE_REQUIRED:case I.SERVER_UPDATE_REQUIRED:e.statusColor=`orange`;break;case I.DISABLED:case I.UNKNOWN:default:e.statusColor=`gray`}}function ze(e,t){let n=q.get(e);n&&(n.status=t.status,Re(n,t.status))}async function $(e){if(Q?.ready.value)try{ze(e,await Q.request(`get-plugin-status`,e))}catch{}}async function Be(){if(Q?.ready.value)try{Z.value=await Q.request(`get-manage-queue`)}catch{}}function Ve(){return Q||(Le=h(!0),Le.run(()=>{let e=p(`/plugins`);Q=e,e.on(`manage-queue`,e=>{Z.value=e}),e.onReady(()=>{for(let e of q.keys())$(e);Be()})}),Q)}function He(e){if(X.has(e))return;let t=Ve().on(`plugin-status-${e}`,t=>ze(e,t));X.set(e,t)}function Ue(e){let t=Y.get(e);t&&(clearTimeout(t),Y.delete(e)),q.has(e)||q.set(e,N({status:I.UNKNOWN,statusColor:`gray`}));let n=q.get(e);J.set(e,(J.get(e)??0)+1);function r(){Ve(),He(e),Q?.connected.value&&$(e)}function i(){$(e)}return c(()=>{let t=(J.get(e)??1)-1;if(J.set(e,t),t>0)return;let n=setTimeout(()=>{(J.get(e)??0)<=0&&(X.get(e)?.(),X.delete(e),q.delete(e),J.delete(e),Y.delete(e))},Ie);Y.set(e,n)}),{isConnected:k(()=>Q?.connected.value??!1),status:k(()=>n.status),statusColor:k(()=>n.statusColor),manageEntry:k(()=>Z.value.find(t=>t.pluginName===e)),connect:r,fetchStatus:i}}var We=d(()=>v(()=>import(`./PluginConsole-xOY_kwz_.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]),import.meta.url)),Ge=d(()=>v(()=>import(`./PluginUpdateProgress-Bx0MXwAk.js`),__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,22,23,20]),import.meta.url)),Ke=d(()=>v(()=>import(`./VersionsHandler-XEn3uFy7.js`),__vite__mapDeps([24,3,2,4,1,5,6,7,8,9,10,11,12,13,14,25,26,15,16,17,18,19,20,27,28,29,22,30,31,32]),import.meta.url));function qe(e){let t=new R,r=L(),i=m(),a=f(),{t:o}=n(),s=Ue(e.value.pluginName),{isUpdating:c,runOf:l,startUpdate:ee}=z(),{data:u}=t.getPluginUpdateQuery(e.value.pluginName),{mutateAsync:ne}=t.installPluginQuery(),{mutate:re,isPending:d}=t.enablePluginQuery(),{mutate:p,isPending:h}=t.disablePluginQuery(),{mutate:g,isPending:ae}=t.startPluginQuery(),{mutate:_,isPending:v}=t.stopPluginQuery(),{mutate:y,isPending:b}=t.restartPluginQuery(),x=T(!e.value.disabled),S=k(()=>s.manageEntry.value?.status===`queued`),C=k(()=>{if(c(e.value.pluginName))return!0;let t=s.manageEntry.value;return t?.action===`install`||t?.action===`update`}),w=k(()=>d.value||h.value||b.value||ae.value||v.value||C.value||!!s.manageEntry.value),E=k(()=>s.status.value===I.STOPPED||s.status.value===I.DISABLED||s.status.value===I.ERROR||s.status.value===I.UNKNOWN||s.status.value===I.UPDATE_REQUIRED||s.status.value===I.SERVER_UPDATE_REQUIRED),oe=k(()=>{let t=[{label:o(`components.plugin_card.update`),icon:V,hide:!u.value?.updateAvailable,buttonProps:{disabled:w.value,severity:`primary`},iconProps:{class:`text-primary`},labelProps:{class:`text-primary`},onClick:()=>{M(`install`)}},{label:o(`components.plugin_card.settings`),icon:te,to:`/plugins/${e.value.pluginName}`},{label:o(`components.plugin_card.select_version`),icon:Fe,hide:e.value.private,buttonProps:{disabled:w.value},onClick:()=>{M(`versions`)}},{label:E.value?o(`components.plugin_card.start`):o(`components.plugin_card.stop`),icon:E.value?Me:ke,hide:e.value.disabled,buttonProps:{disabled:w.value},onClick:()=>{E.value?g({pluginName:e.value.pluginName}):_({pluginName:e.value.pluginName})}},{label:o(`components.plugin_card.restart`),icon:Te,hide:E.value,buttonProps:{disabled:w.value},onClick:()=>{M(`restart`)}},{label:o(`components.plugin_card.uninstall`),icon:B,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{disabled:w.value,severity:`danger`},onClick:()=>{M(`uninstall`)}}];return r.path===`/plugins/${e.value.pluginName}`&&t.splice(1,1),t});async function O(){let t=e.value.pluginName;if(c(t)){A();return}if(s.manageEntry.value){M(`console`);return}let n=u.value?.latestVersion;n&&(await ee(t,n,()=>ne({pluginData:{pluginname:t,pluginversion:n}}))||a.add({severity:`error`,summary:e.value.displayName,detail:l(t)?.error,life:6e3}))}function A(){i.openComponentDialog(Ge,{data:{title:o(`components.plugin_card.update_progress_title`,{name:e.value.displayName}),hideConfirmButton:!0,contentProps:{pluginName:e.value.pluginName},dialogContentClass:`not-md:px-0 h-full md:h-[50vh]`}})}function j(){x.value?p({pluginName:e.value.pluginName},{onError:()=>{x.value=!0},onSuccess:()=>{x.value=!1}}):re({pluginName:e.value.pluginName},{onError:()=>{x.value=!1},onSuccess:()=>{x.value=!0}})}function M(t){switch(t){case`console`:i.openComponentDialog(We,{data:{title:o(`components.dialog.title.log`),confirmText:o(`components.form.button.download`),loading:w,stayActive:!0,contentProps:{plugin:D(e)},dialogContentClass:`not-md:px-0 h-full md:h-[50vh]`}});break;case`versions`:case`install`:i.openComponentDialog(Ke,{data:{title:o(`components.dialog.title.install_version`),confirmText:o(t===`install`?`components.form.button.restart`:`components.form.button.install`),loading:w,contentProps:{target:D(e),installVersion:t===`install`?u.value?.latestVersion:void 0}}});break;case`restart`:i.openTextDialog({data:{title:o(`components.dialog.title.confirm`),contentText:o(`components.dialog.message.confirm_restart_plugin`),confirmText:o(`components.form.button.restart`)},onConfirm:()=>{y({pluginName:e.value.pluginName})}});break;case`uninstall`:i.openComponentDialog(Ke,{data:{title:o(`components.dialog.title.confirm`),confirmText:o(`components.form.button.uninstall`),confirmButtonProps:{severity:`danger`},loading:w,contentProps:{target:D(e),action:`uninstall`}}})}}return se(s.status,e=>{(e===I.STARTING||e===I.READY||e===I.STARTED)&&(x.value=!0)}),ie(()=>{s.connect()}),{pluginsSocket:s,pluginUpdate:u,state:x,queued:S,updating:C,isLoading:w,isPluginStopped:E,items:oe,togglePlugin:j,openDialog:M,handleInlineUpdate:O,openUpdateProgress:A}}var Je={class:`flex flex-col h-full`},Ye={class:`flex items-center w-full gap-4`},Xe={class:`w-16 h-16 relative rounded-full flex-shrink-0 border-2 border-color`},Ze={class:`flex gap-1 items-center min-w-0 w-full`},Qe={class:`text-xl font-semibold truncate`},$e={class:`text-xs text-muted truncate max-w-full`},et={class:`text-sm text-muted my-4 line-clamp-2`},tt={class:`flex items-center space-x-1`},nt={class:`relative w-6 h-6`},rt=l(O({__name:`CuiPluginCard`,props:{plugin:{},selectionMode:{type:Boolean},selected:{type:Boolean}},emits:[`select`],setup(c){let l=new R,d=c,{t:f}=n(),{plugin:p}=j(d),{pluginsSocket:m,pluginUpdate:h,state:ie,queued:v,updating:T,isLoading:E,items:O,togglePlugin:A,openDialog:N,handleInlineUpdate:se}=qe(p),{data:I}=l.getPluginLogoQuery(p.value.pluginName),L=g(`menuRef`),z=p.value.contract&&s(p.value.contract,i.NVR),B=p.value.contract&&s(p.value.contract,i.OAuthCapable),H=k(()=>{let e=[];if(!p.value.compatible){let t=[];p.value.os?.length&&t.push(`os ${p.value.os.join(`/`)}`),p.value.cpu?.length&&t.push(`cpu ${p.value.cpu.join(`/`)}`),e.push(f(`components.plugin_card.compat_platform`,{requirement:t.join(`, `)}))}for(let t of p.value.engineIssues??[]){let n=t.engine===`node`?`Node.js`:`camera.ui`;e.push(f(`components.plugin_card.compat_engine`,{engine:n,required:t.required,current:t.current}))}return p.value.protocolCompat===`pluginTooOld`?e.push(f(`components.plugin_card.compat_protocol_plugin`)):p.value.protocolCompat===`serverTooOld`&&e.push(f(`components.plugin_card.compat_protocol_server`)),e});return(n,i)=>{let s=ne,l=Se,d=be,f=ye,g=r,k=ee,j=_e,R=me,U=ae(`RouterLink`),fe=le,pe=de,W=e,G=o,he=u,ge=te,ve=t,K=a;return _(),w(`div`,{class:`relative`,style:ce({height:`${D(Ee).HEIGHT}px`})},[c.selectionMode?(_(),w(`div`,{key:0,class:`absolute inset-0 z-4 cursor-pointer`,onClick:i[0]||=e=>n.$emit(`select`)})):F(``,!0),P(ve,{class:`cui-card`,pt:{body:{class:`justify-between h-full`}}},{content:y(()=>[S(`div`,Je,[S(`div`,Ye,[c.selectionMode?(_(),w(`div`,{key:0,class:x([`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0`,c.selected?`bg-primary border-primary`:`border-color`])},[c.selected?(_(),M(s,{key:0,class:`w-4 h-4 text-white`})):F(``,!0)],2)):F(``,!0),S(`div`,Xe,[P(g,{class:`absolute right-0 bottom-0 min-w-6 w-6 h-6 rounded-full card-background overflow-hidden p-0 border-4 z-1`},{default:y(()=>[D(p)?.isPython?(_(),M(l,{key:0,class:`w-[24px]`})):D(p)?.isGo?(_(),M(d,{key:1,class:`w-[24px] bg-white`})):(_(),M(f,{key:2,class:`w-[24px]`}))]),_:1}),P(k,{src:D(I),alt:`Plugin icon`,class:`block rounded-full overflow-hidden w-full h-full`,"image-container-class":`w-full h-full`},null,8,[`src`])]),P(U,{to:`/plugins/${D(p).pluginName}`,class:`flex flex-col items-start justify-center min-w-0 flex-grow`},{default:y(()=>[S(`div`,Ze,[S(`h3`,Qe,C(D(p).displayName||`Plugin Name`),1),D(h)?.updateAvailable?b((_(),M(j,{key:0,class:`text-green-500 flex-shrink-0`},null,512)),[[K,{value:n.$t(`components.form.tooltip.update_available`)}]]):F(``,!0),D(H).length?b((_(),M(R,{key:1,class:`text-yellow-500 flex-shrink-0`},null,512)),[[K,{value:D(H).join(` · `)}]]):F(``,!0)]),S(`span`,$e,C(D(p).pluginName),1)]),_:1},8,[`to`]),P(fe,{"model-value":D(ie),class:`ml-auto flex-shrink-0`,"pt:handle:class":`bg-white`,disabled:D(E),onChange:D(A)},null,8,[`model-value`,`disabled`,`onChange`])]),b((_(),w(`p`,et,[oe(C(D(p).description),1)])),[[K,{value:D(p).description},void 0,{bottom:!0}]])])]),footer:y(()=>[S(`div`,tt,[P(W,{severity:`secondary`,rounded:``,class:`cui-button text-xs p-1 font-bold gap-0`,onClick:i[1]||=e=>n.$router.absUrl(D(p).links?.homepage)},{default:y(()=>[S(`span`,null,`v`+C(D(p).installedVersion||D(p).latestVersion),1),P(pe,{class:`mb-[1px] ml-1`})]),_:1}),D(p).restartRequired?b((_(),M(W,{key:0,severity:`warn`,text:``,rounded:``,class:`cui-icon-md`,disabled:D(E),onClick:i[2]||=e=>D(N)(`restart`)},{icon:y(()=>[P(D(Te),{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[K,{value:n.$t(`components.plugin_card.restart_required`)},void 0,{top:!0}]]):F(``,!0),D(h)?.updateAvailable||D(T)?b((_(),M(W,{key:1,text:``,rounded:``,class:`cui-icon-md`,onClick:D(se)},{icon:y(()=>[D(T)?(_(),M(G,{key:0,class:`w-4! h-4! m-0`,"stroke-width":`6`})):(_(),M(D(V),{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`onClick`])),[[K,{value:D(T)?n.$t(D(v)?`components.plugin_card.update_queued`:`components.plugin_card.update_running`):n.$t(`components.plugin_card.update_now`,{version:D(h)?.latestVersion})},void 0,{top:!0}]]):F(``,!0),i[5]||=S(`div`,{class:`ml-auto`},null,-1),b(P(g,{class:`min-w-3 w-3 h-3 mr-3`,style:ce({background:D(m).statusColor.value})},null,8,[`style`]),[[K,{value:n.$t(`components.plugin_card.status_${D(m).status.value}`)},void 0,{top:!0}]]),b((_(),M(W,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:i[3]||=e=>D(N)(`console`)},{icon:y(()=>[P(he,{width:`100%`,height:`100%`})]),_:1})),[[K,{value:n.$t(`components.form.tooltip.console`)},void 0,{top:!0}]]),D(B)?(_(),M(ue,{key:2,"plugin-name":D(p).pluginName,"route-to":D(z)?`/settings/recordings`:void 0},null,8,[`plugin-name`,`route-to`])):F(``,!0),D(z)?b((_(),M(W,{key:3,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:i[4]||=e=>n.$router.push(`/settings/recordings`)},{icon:y(()=>[P(ge,{width:`100%`,height:`100%`})]),_:1})),[[K,{value:n.$t(`components.form.tooltip.nvr_settings`)},void 0,{top:!0}]]):F(``,!0),b((_(),M(W,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,disabled:D(E),onClick:D(L)?.toggleMenu},{icon:y(()=>[S(`div`,nt,[S(`div`,{class:x([`absolute top-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":D(L)?.isOpen,"bg-primary-500":D(h)?.updateAvailable}])},null,2),S(`div`,{class:x([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1 h-1 rounded-full transition-all duration-100 bg-current`,{"opacity-0 scale-0":D(L)?.isOpen,"bg-primary-500":D(h)?.updateAvailable}])},null,2),S(`div`,{class:x([`absolute bottom-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":D(L)?.isOpen,"bg-primary-500":D(h)?.updateAvailable}])},null,2)])]),_:1},8,[`disabled`,`onClick`])),[[K,{value:D(h)?.updateAvailable?n.$t(`components.form.tooltip.update_available`):``},void 0,{top:!0}]])])]),_:1}),P(re,{ref_key:`menuRef`,ref:L,items:D(O),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],4)}}}),[[`__scopeId`,`data-v-ef15cba4`]]);export{ke as a,Me as i,qe as n,Ee as o,Ue as r,_e as s,rt as t};
@@ -1 +0,0 @@
1
- .metrics-tabs[data-v-3e2fa8c0] .p-tablist,.metrics-tabs[data-v-3e2fa8c0] .p-tablist-content{background:0 0}.metrics-tabs[data-v-3e2fa8c0] .p-tablist-tab-list{background:var(--p-card-background);border:1px solid var(--border-color);border-radius:.75rem;gap:.25rem;padding:.375rem}.metrics-tabs[data-v-3e2fa8c0] .p-tab{border-width:0;border-radius:.5rem;margin:0;padding:.5rem 1rem}.metrics-tabs[data-v-3e2fa8c0] .p-tab-active{background:var(--p-content-hover-background)}.metrics-tabs[data-v-3e2fa8c0] .p-tablist-active-bar{display:none}
@@ -1 +0,0 @@
1
- import{Ft as e,H as t,Ir as n,Lt as r,Vt as i,_ as a,jt as o}from"./vendor-cameraui-Cf0XVNQ7.js";import{B as ee,Cn as s,En as te,Wt as ne,_t as re,gr as c,hr as l,pr as u,sr as d,wr as f}from"./api-CmdQlVDD.js";import{$n as p,Dn as m,Mn as h,Nn as g,U as _,Xn as v,Zn as ie,an as y,br as b,cn as x,cr as S,fn as C,gr as w,hn as ae,in as T,on as oe,or as se,pn as E,q as D,qn as O,rr as ce,sn as k,yr as le}from"./vendor-BaiDFVEr.js";import{q as A}from"./types-R10eIequ.js";import{B as ue,G as de,H as fe,S as pe,T as me,V as he,W as ge}from"./vendor-primevue-BDu2BpXv.js";import{t as _e}from"./server-CDm6FwHH.js";import{n as ve}from"./useServerRestart-x8p2rFqn.js";import{t as ye}from"./plugins-QEqfAk0G.js";import{t as be}from"./CuiDataTable-P8bWN0ZK.js";import{t as xe}from"./alert-outline-GrD7-zHq.js";import{t as Se}from"./back-filled-DcBDBvvP.js";import{l as Ce,n as we,o as Te,r as Ee,s as De}from"./vendor-chart-DtwjR6yw.js";import{n as Oe,r as ke,t as Ae}from"./round-restart-alt-B_7HR24a.js";var j=function(e){return e.READY=`ready`,e.RESTARTING=`restarting`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e}({});async function M({parameter:e,signal:t}){return(await f.get(`/frameworkers`,{params:e,signal:t})).data}async function N({frameWorkerName:e}){return(await f.put(`/frameworkers/${e}/restart`)).data}var je=class{_queryClient=D();t=c.global.t;toast=l();queryActivator=S([{name:`getFrameWorkersQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getFrameWorkersQuery(e){return u({queryKey:[`frameWorkerList`,e],queryFn:({signal:t})=>M({parameter:w(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getFrameWorkersQuery`&&e.enabled)})}restartFrameWorkerQuery(){return _({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`frameWorkers`,t.frameWorkerName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.frame_worker_restarted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}},P={pid:-1,cpuLoad:`0.00`,memLoad:`0.00`,timestamp:0};function F(){return{systemProcess:[{name:`system`,type:`system`,...P}],systemProcessInfo:[],serverStatus:j.UNKNOWN,go2rtcStatus:j.UNKNOWN,natsStatus:j.UNKNOWN,coreProcesses:{"camera.ui":{name:`camera.ui`,type:`core`,...P},go2rtc:{name:`go2rtc`,type:`core`,...P},nats:{name:`nats`,type:`core`,...P}},coreProcessInfos:{"camera.ui":[],go2rtc:[],nats:[]},frameWorkerStatus:{},frameWorkersProcess:{},frameWorkersProcessInfos:{},pluginsStatus:{},pluginsProcesses:{},pluginsProcessInfos:{}}}var I=se(F()),L=null,R=null,z=null;function B(){return!!(R?.connected.value&&z?.connected.value)}function Me(e){e[`camera.ui`]&&(I.coreProcesses[`camera.ui`]=e[`camera.ui`]),e.go2rtc&&(I.coreProcesses.go2rtc=e.go2rtc),e.nats&&(I.coreProcesses.nats=e.nats);let t=e.workers??{};for(let e of Object.keys(I.frameWorkersProcess))e in t||(delete I.frameWorkersProcess[e],delete I.frameWorkersProcessInfos[e]);for(let[e,n]of Object.entries(t))I.frameWorkersProcess[e]=n;for(let[t,n]of Object.entries(e.plugins??{}))I.pluginsProcesses[t]=n}function Ne(e){e[`camera.ui`]&&(I.coreProcessInfos[`camera.ui`].push(e[`camera.ui`]),I.coreProcessInfos[`camera.ui`]=I.coreProcessInfos[`camera.ui`].slice(-30)),e.go2rtc&&(I.coreProcessInfos.go2rtc.push(e.go2rtc),I.coreProcessInfos.go2rtc=I.coreProcessInfos.go2rtc.slice(-30)),e.nats&&(I.coreProcessInfos.nats.push(e.nats),I.coreProcessInfos.nats=I.coreProcessInfos.nats.slice(-30));for(let[t,n]of Object.entries(e.workers??{}))I.frameWorkersProcessInfos[t]||(I.frameWorkersProcessInfos[t]=[]),I.frameWorkersProcessInfos[t].push(n),I.frameWorkersProcessInfos[t]=I.frameWorkersProcessInfos[t].slice(-30);for(let[t,n]of Object.entries(e.plugins??{}))I.pluginsProcessInfos[t]||(I.pluginsProcessInfos[t]=[]),I.pluginsProcessInfos[t].push(n),I.pluginsProcessInfos[t]=I.pluginsProcessInfos[t].slice(-30)}async function V(){if(R?.ready.value)try{I.systemProcessInfo=await R.request(`get-system-info`)}catch{}}async function H(){if(!(!R?.ready.value||!z?.ready.value)){z.emit(`get-process-status`);try{I.coreProcessInfos=await R.request(`get-server-process-info`)}catch{}}}async function U(){if(!(!R?.ready.value||!z?.ready.value)){z.emit(`get-frameworker-process-status`);try{I.frameWorkersProcessInfos=await R.request(`get-frameworker-process-info`)}catch{}}}async function W(){if(!(!R?.ready.value||!z?.ready.value)){z.emit(`get-plugin-process-status`);try{I.pluginsProcessInfos=await R.request(`get-plugins-process-info`)}catch{}}}async function G(){await Promise.all([V(),H(),U(),W()])}function Pe(){R&&z||(L=p(!0),L.run(()=>{let e=d(`/metrics`),t=d(`/status`);R=e,z=t,e.on(`process-infos-realtime`,Me),e.on(`process-infos`,Ne),e.on(`system-infos-realtime`,e=>{I.systemProcess=[e]}),e.on(`system-infos`,e=>{I.systemProcessInfo.push(e),I.systemProcessInfo=I.systemProcessInfo.slice(-30)}),t.on(`process-status`,e=>{e[`camera.ui`]&&(I.serverStatus=e[`camera.ui`].status),e.go2rtc&&(I.go2rtcStatus=e.go2rtc.status),e.nats&&(I.natsStatus=e.nats.status)}),t.on(`frameworker-process-status`,e=>{for(let[t,n]of Object.entries(e))I.frameWorkerStatus[t]=n}),t.on(`plugin-process-status`,e=>{for(let[t,n]of Object.entries(e))I.pluginsStatus[t]=n}),e.onReady(()=>{B()&&G()}),t.onReady(()=>{B()&&G()})}))}function Fe(){function e(){Pe(),B()&&G()}function t(){}return{isConnected:T(()=>B()),systemProcess:T(()=>I.systemProcess),systemProcessInfo:T(()=>I.systemProcessInfo),serverStatus:T(()=>I.serverStatus),go2rtcStatus:T(()=>I.go2rtcStatus),natsStatus:T(()=>I.natsStatus),coreProcesses:T(()=>I.coreProcesses),coreProcessInfos:T(()=>I.coreProcessInfos),frameWorkerStatus:T(()=>I.frameWorkerStatus),frameWorkersProcess:T(()=>I.frameWorkersProcess),frameWorkersProcessInfos:T(()=>I.frameWorkersProcessInfos),pluginsStatus:T(()=>I.pluginsStatus),pluginsProcesses:T(()=>I.pluginsProcesses),pluginsProcessInfos:T(()=>I.pluginsProcessInfos),connect:e,disconnect:t,loadAll:G,loadSystemProcessInfos:V,loadCoreProcessInfos:H,loadFrameWorkerProcessInfos:U,loadPluginProcessInfos:W}}var Ie={key:0,class:`page-title`},Le={class:`flex flex-col gap-6`},Re={class:`card-title`},ze={class:`card-title`},Be={class:`card-title`},Ve={class:`card-title`},He={class:`block text-sm text-muted mb-3`},Ue={class:`flex flex-col gap-6`},We={key:0,class:`cui-banner cui-banner-error`},Ge={key:1,class:`cui-banner cui-banner-warn`},Ke={key:2,class:`cui-banner cui-banner-warn`},qe={class:`card-title`},Je={key:0,class:`flex items-center justify-center py-8`},Ye={key:1,class:`text-sm text-muted text-center py-8`},Xe={key:2,class:`flex flex-col sm:flex-row items-center gap-6`},Ze={class:`shrink-0`,style:{width:`180px`,height:`180px`}},Qe={class:`text-color`},$e={class:`font-medium`},et={class:`card-title`},tt={key:0,class:`flex items-center justify-center py-8`},nt={key:1,class:`text-sm text-muted text-center py-8`},rt={class:`flex items-center justify-center`},it={class:`font-medium block max-w-[200px] truncate`},at={class:`text-muted text-sm`},ot=s(ae({__name:`Metrics`,setup(s){Te.register(De,Ee,Ce);let c=new re,l=new ye,u=new je,d=new _e,{t:f}=n(),p=Fe(),{mdBreakpoint:_,smBreakpoint:ae}=te(),{beginServerRestart:se}=ve(),{stats:D,isLoading:M}=a(),N=S(`overview`),F=S({frameworker:1,plugins:1}),I=S({page:1,pageSize:-1}),L=S({page:1,pageSize:-1}),{data:R}=c.getCamerasQuery({page:1,pageSize:-1}),{data:z,isBusy:B,suspense:Me}=l.getPluginsQuery(L),{data:Ne,isBusy:V,suspense:H}=u.getFrameWorkersQuery(I),{mutateAsync:U}=l.restartPluginQuery(),{mutateAsync:W}=u.restartFrameWorkerQuery(),{mutate:G,isPending:Pe}=d.restartGo2RtcQuery(),{mutate:ot,isPending:st}=d.restartServerQuery(),ct={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},K=S([]),q=S([]),lt=p.systemProcess,ut=p.systemProcessInfo,dt=p.serverStatus,ft=p.go2rtcStatus,pt=p.natsStatus,mt=p.coreProcesses,ht=p.coreProcessInfos,J=p.frameWorkerStatus,gt=p.frameWorkersProcess,Y=p.frameWorkersProcessInfos,_t=p.pluginsStatus,vt=p.pluginsProcesses,X=p.pluginsProcessInfos,Z=T(()=>e=>{let t=[{type:`indicator`,field:`status`,columnProps:{alignFrozen:`left`,frozen:!_.value,headerClass:`w-5 max-w-5`,class:`w-5 max-w-5`},color(t){return Lt(It(e,t.name))},tooltip(t){return Rt(It(e,t.name))}},{type:`category`,field:`name`,altName:e===`system`?f(`components.process_table.system`):void 0,name:f(`components.process_table.title_name`),columnProps:{alignFrozen:`left`,frozen:!_.value,headerClass:`w-40 min-w-40 max-w-40`,class:`w-40 min-w-40 max-w-40`},props:{class:`font-bold text-color`}},{type:`category`,field:`pid`,name:f(`components.process_table.title_pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:`cpuLoad`,suffix:`%`,name:f(`components.process_table.title_cpu`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`cpu_chart`,for:`cpuLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`category`,field:`memLoad`,suffix:`%`,name:f(`components.process_table.title_memory`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`memory_chart`,for:`memLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`action`,field:`restart`,icon:Ae,columnProps:{class:`text-right`},loading(t){return e===`core`?t.name===`camera.ui`?st.value:Pe.value:e===`frameworker`?kt.value(t.name):e===`plugins`&&Ot.value(t.name)},disabled(e){return e.name===`nats`},action(e){e.type===`core`&&zt(e.name),e.type===`frameworker`&&Bt(e.name),e.type===`plugin`&&Vt(e.name)}}];return e===`system`&&(t=t.filter(e=>e.field!==`pid`&&e.field!==`restart`&&e.field!==`status`)),e===`frameworker`&&t.splice(t.length-1,0,...yt.value),t}),yt=T(()=>{let e={headerClass:`min-w-24`,class:`min-w-24`},t=e=>`~${e}`,n=e=>!!(e.perf&&!e.perf.frameAnalysis&&e.perf.lowFps===0),r=(e,t)=>{if(t>0){let t=e.perf?.average.minutes??0;return t>=1?`${f(`views.metrics.info_average`)} (${t} min)`:f(`views.metrics.info_average`)}return n(e)?f(`views.metrics.info_external`):void 0};return[{type:`category`,field(e){return e.perf?e.perf.lowFps>0?e.perf.lowFps.toFixed(1):e.perf.average.lowFps>0?t(e.perf.average.lowFps.toFixed(1)):`-`:`-`},name:f(`views.metrics.col_fps_low`),headerTooltip:f(`views.metrics.info_fps_low`),columnProps:e,tooltip:e=>e.perf&&e.perf.lowFps===0?r(e,e.perf.average.lowFps):void 0},{type:`category`,field(e){return e.perf?.mainStreamEnabled?e.perf.activePercent>0&&e.perf.mainFps>0?e.perf.mainFps.toFixed(1):e.perf.average.mainFps>0?t(e.perf.average.mainFps.toFixed(1)):`-`:`-`},name:f(`views.metrics.col_fps_main`),headerTooltip:f(`views.metrics.info_fps_main`),columnProps:e,tooltip:e=>e.perf?.mainStreamEnabled&&e.perf.activePercent===0?r(e,e.perf.average.mainFps):void 0},{type:`category`,field(e){return e.perf?e.perf.activePercent>0?`${e.perf.activePercent}%`:e.perf.average.activePercent>0?t(`${e.perf.average.activePercent}%`):n(e)?`-`:`0%`:`-`},name:f(`views.metrics.col_active`),headerTooltip:f(`views.metrics.info_active`),columnProps:e,tooltip:e=>e.perf&&e.perf.activePercent===0?r(e,e.perf.average.activePercent):void 0},{type:`category`,field(e){return e.perf?e.perf.inferMs>0?`${e.perf.inferMs} ms`:e.perf.average.inferMs>0?t(`${e.perf.average.inferMs} ms`):`-`:`-`},name:f(`views.metrics.col_inference`),headerTooltip:f(`views.metrics.info_inference`),columnProps:e,tooltip(e){if(e.perf)return e.perf.inferMs===0?r(e,e.perf.average.inferMs):[`${f(`views.metrics.tip_decode`)}: ${e.perf.decodeMs} ms`,`${f(`views.metrics.tip_scale`)}: ${e.perf.scaleMs} ms`,`${f(`views.metrics.tip_jpeg`)}: ${e.perf.jpegMs} ms`,`${f(`views.metrics.tip_secondary`)}: ${e.perf.secondaryMs} ms`].join(` · `)}},{type:`category`,field(e){if(!e.perf)return`-`;let r=e.perf.objects+e.perf.faces+e.perf.plates;return r>0?String(r):e.perf.average.detectionsPerMinute>0?t(e.perf.average.detectionsPerMinute.toFixed(1)):n(e)?`-`:`0`},name:f(`views.metrics.col_detections`),headerTooltip:f(`views.metrics.info_detections`),columnProps:e,tooltip(e){if(e.perf)return e.perf.objects+e.perf.faces+e.perf.plates===0?r(e,e.perf.average.detectionsPerMinute):[`${f(`views.metrics.tip_objects`)}: ${e.perf.objects}`,`${f(`views.metrics.tip_faces`)}: ${e.perf.faces}`,`${f(`views.metrics.tip_plates`)}: ${e.perf.plates}`].join(` · `)}}]}),bt=T(()=>lt.value),xt=T(()=>Object.values(mt.value).filter(Boolean)),St=T(()=>Object.values(gt.value).filter(Boolean)),Ct=T(()=>Object.values(vt.value).filter(e=>{let t=z.value?.result.find(t=>t.pluginName===e.name);return t&&!t.disabled}).filter(Boolean)),wt=T(()=>Q(`system`,{system:ut.value})),Tt=T(()=>Q(`core`,ht.value)),Et=T(()=>Q(`frameworker`,Y.value)),Dt=T(()=>Q(`plugins`,X.value)),Ot=T(()=>e=>q.value.includes(e)),kt=T(()=>e=>K.value.includes(e)),At=T(()=>{let e=new Map;for(let t of R.value?.result??[])e.set(t._id,t.name);return e}),jt=T(()=>D.value?.cameras?Object.entries(D.value.cameras).map(([e,t])=>({id:e,name:At.value.get(e)||e,usedBytes:t.usedBytes,daysCount:t.daysCount,bandwidthMBh:t.bandwidthMBh,recordingMode:t.recordingMode,isRecording:t.isRecording})).sort((e,t)=>t.usedBytes-e.usedBytes):[]),Mt=T(()=>D.value?[{label:f(`views.metrics.disk_total`),value:$(D.value.diskTotalGB)},{label:f(`views.metrics.nvr_usage`),value:$(D.value.nvrUsedGB)},{label:f(`views.metrics.quota`),value:D.value.nvrQuotaGB>0?$(D.value.nvrQuotaGB):f(`views.metrics.unlimited`)},{label:f(`views.metrics.retention`),value:D.value.retentionDays>0?f(`views.metrics.days_count`,{count:D.value.retentionDays}):f(`views.metrics.unlimited`)},{label:f(`views.metrics.disk_free`),value:`${$(D.value.diskFreeGB)} (${D.value.diskFreePercent.toFixed(1)}%)`}]:[]),Nt=T(()=>{let e=D.value?.nvrUsedGB??0,t=D.value?.diskFreeGB??0,n=Math.max(0,(D.value?.diskUsedGB??0)-e),r=e===0&&n===0&&t===0;return{labels:[f(`views.metrics.chart_nvr`),f(`views.metrics.chart_other`),f(`views.metrics.chart_free`)],datasets:[{data:r?[0,0,1]:[e,n,t],backgroundColor:[`#df2a4c`,`rgba(223,42,76,0.35)`,`rgba(223,42,76,0.10)`],borderWidth:0}]}}),Pt=T(()=>({responsive:!0,maintainAspectRatio:!0,cutout:`65%`,animation:!1,plugins:{legend:{display:!1},tooltip:{callbacks:{label:e=>`${e.label}: ${$(e.parsed)}`}}}}));function Q(e,t){return Object.keys(t).reduce((n,r)=>(Z.value(e).filter(ke).forEach(e=>{let i=e.for,a=t[r].slice(-30).filter(e=>e[i]!==void 0).map(e=>parseFloat(e[i])),o=t[r].slice(-30).map(e=>e.timestamp),ee=[...a,...Array(30-a.length).fill(0)],s=[...o,...Array(30-o.length).fill(null)];n[`${r}_${i}`]={labels:s,datasets:[{data:ee,backgroundColor:e=>{let t=e.raw;return t>=90?`#FA5252`:t>=70?`#FF9966`:`#df2a4c`},borderWidth:0,borderRadius:3,barPercentage:.8,categoryPercentage:.8,maxBarThickness:4,barThickness:4}]}}),n),{})}function Ft(e,t){F.value[t]=e.page+1}function It(e,t){if(e===`core`)switch(t){case`camera.ui`:return dt.value;case`go2rtc`:return ft.value;case`nats`:return pt.value;default:return j.UNKNOWN}else if(e===`frameworker`)return J.value[t]?.status??A.UNKNOWN;else if(e===`plugins`)return _t.value[t]?.status??A.UNKNOWN;return j.UNKNOWN}function Lt(e){switch(e){case A.ERROR:case j.ERROR:return`#9d5752`;case j.STOPPED:case A.STOPPED:case A.STOPPING:return`red`;case A.READY:case j.READY:return`yellow`;case A.STARTING:case j.STARTING:return`orange`;case A.STARTED:case j.STARTED:return`green`;case A.UNKNOWN:case A.DISABLED:case j.UNKNOWN:return`gray`;default:return`gray`}}function Rt(e){switch(e){case A.ERROR:case j.ERROR:return f(`components.process_table.status_error`);case A.STOPPED:case j.STOPPED:return f(`components.process_table.status_stopped`);case A.STOPPING:return f(`components.process_table.status_stopping`);case A.READY:case j.READY:return f(`components.process_table.status_ready`);case A.STARTING:case j.STARTING:return f(`components.process_table.status_starting`);case A.STARTED:case j.STARTED:return f(`components.process_table.status_started`);case A.DISABLED:return f(`components.process_table.status_disabled`);case A.UNKNOWN:case j.UNKNOWN:return f(`components.process_table.status_unknown`);default:return f(`components.process_table.status_unknown`)}}async function zt(e){e===`camera.ui`?(se(),ot()):e===`go2rtc`&&G()}async function Bt(e){K.value.push(e);try{await W({frameWorkerName:e})}catch{}finally{K.value=K.value.filter(t=>t!==e)}}async function Vt(e){q.value.push(e);try{await U({pluginName:e})}catch{}finally{q.value=q.value.filter(t=>t!==e)}}function $(e){return e>=1e3?`${(e/1e3).toFixed(2)} TB`:e>=1?`${e.toFixed(2)} GB`:`${(e*1e3).toFixed(0)} MB`}function Ht(e){return e>=0xe8d4a51000?`${(e/0xe8d4a51000).toFixed(2)} TB`:e>=1e9?`${(e/1e9).toFixed(2)} GB`:e>=1e6?`${(e/1e6).toFixed(0)} MB`:`${(e/1e3).toFixed(0)} KB`}function Ut(e){let t=e*24/1e3;return t>=1?`${t.toFixed(1)} GB/d`:`${(t*1e3).toFixed(0)} MB/d`}return O(Y,e=>{for(let[t,n]of Object.entries(e))gt.value[t]=n[n.length-1]??{...P,name:t,type:`frameworker`}},{deep:!0,immediate:!0}),O(X,e=>{for(let[t,n]of Object.entries(e))vt.value[t]=n[n.length-1]??{...P,name:t,type:`plugin`}},{deep:!0,immediate:!0}),O(Ne,e=>{if(e)for(let t of e.result)Y.value[t.name]||(Y.value[t.name]=[]),J.value[t.name]||(J.value[t.name]={name:t.name,status:A.UNKNOWN})},{deep:!0,immediate:!0}),O(z,e=>{if(e)for(let t of e.result)t.disabled||(X.value[t.pluginName]||(X.value[t.pluginName]=[]),_t.value[t.pluginName]||(_t.value[t.pluginName]={name:t.pluginName,status:A.UNKNOWN}))},{deep:!0,immediate:!0}),m(async()=>{p.connect(),await Promise.all([Me(),H()]),await new Promise(e=>setTimeout(e,10)),p.loadAll()}),h(()=>{p.disconnect()}),(n,a)=>{let s=Se,te=e,re=ee,c=ue,l=he,u=Oe,d=fe,f=ne,p=xe,m=o,h=pe,_=be,S=t,T=r,se=me,O=ge,A=de,_e=i;return g(),x(`div`,null,[w(ae)?k(``,!0):(g(),x(`h1`,Ie,b(n.$t(`views.${String(n.$route.name).toLowerCase()}.title`)),1)),E(re,{position:`left`},{default:v(()=>[E(te,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>n.$router.push(`/menu`)},{icon:v(()=>[E(s,{class:`w-6 h-6`})]),_:1})]),_:1}),E(A,{value:w(N),"onUpdate:value":a[3]||=e=>ce(N)?N.value=e:null,class:`metrics-tabs`},{default:v(()=>[E(l,{class:`mb-4`},{default:v(()=>[E(c,{value:`overview`,class:`text-sm`},{default:v(()=>[C(b(n.$t(`views.metrics.tab_overview`)),1)]),_:1}),E(c,{value:`cameras`,class:`text-sm`},{default:v(()=>[C(b(n.$t(`views.metrics.tab_cameras`)),1)]),_:1}),E(c,{value:`storage`,class:`text-sm`},{default:v(()=>[C(b(n.$t(`views.metrics.tab_storage`)),1)]),_:1})]),_:1}),E(O,{class:`!p-0 !bg-transparent`},{default:v(()=>[E(d,{value:`overview`},{default:v(()=>[y(`div`,Le,[y(`div`,null,[y(`span`,Re,b(n.$t(`views.metrics.general`)),1),E(u,{items:w(bt),headers:w(Z)(`system`),"chart-data":w(wt),"empty-message":n.$t(`views.metrics.no_system`)},null,8,[`items`,`headers`,`chart-data`,`empty-message`])]),y(`div`,null,[y(`span`,ze,b(n.$t(`views.metrics.core`)),1),E(u,{items:w(xt),headers:w(Z)(`core`),"chart-data":w(Tt),"empty-message":n.$t(`views.metrics.no_core`)},null,8,[`items`,`headers`,`chart-data`,`empty-message`])]),y(`div`,null,[y(`span`,Be,b(n.$t(`views.metrics.plugins`)),1),E(u,{items:w(Ct),headers:w(Z)(`plugins`),"chart-data":w(Dt),loading:w(B),paginator:``,pagination:{page:w(F).plugins},"total-records":w(Ct).length,"empty-message":n.$t(`views.metrics.no_plugins`),"onUpdate:page":a[1]||=e=>Ft(e,`plugins`)},null,8,[`items`,`headers`,`chart-data`,`loading`,`pagination`,`total-records`,`empty-message`])])])]),_:1}),E(d,{value:`cameras`},{default:v(()=>[y(`div`,null,[y(`span`,Ve,b(n.$t(`views.metrics.cameras`)),1),y(`span`,He,b(n.$t(`views.metrics.cameras_hint`)),1),E(u,{items:w(St),headers:w(Z)(`frameworker`),"chart-data":w(Et),loading:w(V),paginator:``,pagination:{page:w(F).frameworker},"total-records":w(St).length,"empty-message":n.$t(`views.metrics.no_cameras`),"onUpdate:page":a[2]||=e=>Ft(e,`frameworker`)},null,8,[`items`,`headers`,`chart-data`,`loading`,`pagination`,`total-records`,`empty-message`])])]),_:1}),E(d,{value:`storage`},{default:v(()=>[y(`div`,Ue,[w(D)&&w(D).paused===!0?(g(),x(`div`,We,[E(f,{class:`shrink-0 w-5 h-5`}),y(`span`,null,b(n.$t(`views.metrics.disk_critical`)),1)])):w(D)&&w(D).diskFreePercent>0&&w(D).diskFreePercent<8?(g(),x(`div`,Ge,[E(p,{class:`shrink-0 w-5 h-5`}),y(`span`,null,b(n.$t(`views.metrics.disk_warning`)),1)])):k(``,!0),w(D)&&w(D).smallVolume?(g(),x(`div`,Ke,[E(p,{class:`shrink-0 w-5 h-5`}),y(`span`,null,b(n.$t(`views.metrics.disk_small_volume`)),1)])):k(``,!0),y(`div`,null,[y(`span`,qe,b(n.$t(`views.metrics.storage_overview`)),1),E(S,{class:`cui-card`},{content:v(()=>[w(M)&&!w(D)?(g(),x(`div`,Je,[E(m,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):w(D)?(g(),x(`div`,Xe,[y(`div`,Ze,[E(w(we),{data:w(Nt),options:w(Pt)},null,8,[`data`,`options`])]),E(_,{value:w(Mt),pt:ct,"striped-rows":``,"show-headers":!1,class:`w-full`},{default:v(()=>[E(h,{field:`label`},{body:v(({data:e})=>[y(`span`,Qe,b(e.label),1)]),_:1}),E(h,{field:`value`,style:{"text-align":`right`}},{body:v(({data:e})=>[y(`span`,$e,b(e.value),1)]),_:1})]),_:1},8,[`value`])])):(g(),x(`div`,Ye,b(n.$t(`views.metrics.storage_not_available`)),1))]),_:1})]),y(`div`,null,[y(`span`,et,b(n.$t(`views.metrics.camera_storage`)),1),E(S,{class:`cui-card`},{content:v(()=>[w(M)&&!w(D)?(g(),x(`div`,tt,[E(m,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):w(D)?(g(),oe(_,{key:2,value:w(jt),pt:ct,"striped-rows":``,scrollable:``},{empty:v(()=>[y(`span`,at,b(n.$t(`views.metrics.no_cameras`)),1)]),default:v(()=>[E(h,{field:`status`,header:``,style:{width:`3rem`}},{body:v(({data:e})=>[y(`div`,rt,[ie(E(T,{style:le({background:e.isRecording?`green`:`gray`})},null,8,[`style`]),[[_e,{value:e.isRecording?n.$t(`views.metrics.status_recording`):n.$t(`views.metrics.status_stopped`)}]])])]),_:1}),E(h,{field:`name`,header:n.$t(`views.metrics.col_camera`)},{body:v(({data:e})=>[y(`span`,it,b(e.name),1)]),_:1},8,[`header`]),E(h,{field:`size`,header:n.$t(`views.metrics.col_size`)},{body:v(({data:e})=>[C(b(Ht(e.usedBytes)),1)]),_:1},8,[`header`]),E(h,{field:`daysCount`,header:n.$t(`views.metrics.col_days`)},null,8,[`header`]),E(h,{field:`rate`,header:n.$t(`views.metrics.col_rate`)},{body:v(({data:e})=>[C(b(e.bandwidthMBh>0?Ut(e.bandwidthMBh):`-`),1)]),_:1},8,[`header`]),E(h,{field:`recordingMode`,header:n.$t(`views.metrics.col_mode`)},{body:v(({data:e})=>[E(se,{label:e.recordingMode,class:`text-xs`},null,8,[`label`])]),_:1},8,[`header`])]),_:1},8,[`value`])):(g(),x(`div`,nt,b(n.$t(`views.metrics.storage_not_available`)),1))]),_:1})])])]),_:1})]),_:1})]),_:1},8,[`value`])])}}}),[[`__scopeId`,`data-v-3e2fa8c0`]]);export{ot as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-XEn3uFy7.js","./vendor-cameraui-Cf0XVNQ7.js","./rolldown-runtime-C0FnF6B9.js","./vendor-BaiDFVEr.js","./api-CmdQlVDD.js","./intercomService-BjB4QQiX.js","./vendor-zod-Dbq0fBXY.js","./types-R10eIequ.js","./lightbulb-outline-ClK17CO6.js","./vendor-core-u4xNQ-aF.js","./vendor-primevue-BDu2BpXv.js","./vendor-dnd-ChrDrMuz.js","./close-BNAWPz0y.js","./vendor-draggabilly-DSeIE_bQ.js","./api-AVHJeggR.css","./server-CDm6FwHH.js","./useServerRestart-x8p2rFqn.js","./plugins-QEqfAk0G.js","./CuiConsole-De9JpSLz.js","./vendor-xterm-BafMBqaV.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-CmyalQi8.js","./CuiMarkdownContent-PSq4kE1G.js","./vendor-markdown-Bw_90xkF.js","./vendor-markdown-DtOhvyRx.css","./alert-circle-C2AU59aR.js","./platformLabels-D-cF6OTP.js","./config-CURuT8_k.js","./useUpdateChannel-ChscS5KW.js"])))=>i.map(i=>d[i]);
2
- import{Ft as e,Ir as t,Vt as n,jt as r}from"./vendor-cameraui-Cf0XVNQ7.js";import{Cn as i,Sn as ee,Wn as te,c as a,ct as o,l as s,st as c}from"./api-CmdQlVDD.js";import{Fn as l,Nn as u,Rt as d,Xn as f,Zn as p,an as m,br as h,cn as g,en as _,fn as v,gr as y,hn as b,in as x,ir as S,mr as C,on as w,pn as T,sn as E}from"./vendor-BaiDFVEr.js";import{U as ne,a as re,q as ie}from"./vendor-primevue-BDu2BpXv.js";import{t as D}from"./plugins-QEqfAk0G.js";import{t as ae}from"./home-CUykMSBW.js";import{t as O}from"./clock-outline-DF1wLNzs.js";import{t as oe}from"./source-branch-ztDB0e13.js";import{t as se}from"./CuiPluginTrustBadge-DYsEz6WI.js";import{t as ce}from"./account-DuSFtIHf.js";import{t as le}from"./check-circle-Do_mBN_A.js";import{t as ue}from"./CuiMarkdownContent-PSq4kE1G.js";import{t as de}from"./alert-circle-C2AU59aR.js";import{i as fe,t as pe}from"./CuiPluginCategoryChip-CQ2FJafE.js";import{t as me}from"./download-BCPfm6aN.js";import{n as k,r as A}from"./platformLabels-D-cF6OTP.js";var j={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function M(e,t){return u(),g(`svg`,j,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M12 3c-1.27 0-2.4.8-2.82 2H3v2h1.95L2 14c-.47 2 1 3 3.5 3s4.06-1 3.5-3L6.05 7h3.12c.33.85.98 1.5 1.83 1.83V20H2v2h20v-2h-9V8.82c.85-.32 1.5-.97 1.82-1.82h3.13L15 14c-.47 2 1 3 3.5 3s4.06-1 3.5-3l-2.95-7H21V5h-6.17C14.4 3.8 13.27 3 12 3m0 2a1 1 0 0 1 1 1a1 1 0 0 1-1 1a1 1 0 0 1-1-1a1 1 0 0 1 1-1m-6.5 5.25L7 14H4zm13 0L20 14h-3z`},null,-1)]])}var N=S({name:`mdi-scale-balance`,render:M}),P={class:`plugin-detail`},F={class:`flex items-start gap-4`},I={class:`w-16 h-16 relative rounded-2xl flex-shrink-0 border-2 border-color overflow-hidden`},L={class:`flex flex-col min-w-0 flex-1`},R={class:`flex items-center gap-2 flex-wrap`},z={class:`text-xl font-semibold truncate`},he={class:`text-sm text-muted truncate`},ge={key:0,class:`text-sm mt-1`},_e={class:`flex flex-wrap items-center gap-2 mt-4`},ve={key:0,class:`detail-meta`},ye={key:1,class:`detail-meta`},be={key:2,class:`detail-meta`},xe={key:3,class:`detail-meta`},Se={key:0,class:`flex flex-wrap items-center gap-1 mt-4`},Ce={key:1,class:`mt-4 flex flex-col gap-3`},we={class:`flex items-center gap-1`},Te={key:0,class:`flex flex-wrap items-center gap-1`},B={key:1,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},Ee={class:`flex flex-col gap-1 min-w-0`},De={class:`text-sm font-semibold text-orange-400`},Oe={key:0},ke={class:`text-xs text-orange-600 dark:text-orange-300`},Ae={class:`text-sm text-orange-400`},je={key:2,class:`mt-5`},Me={class:`text-base font-semibold mb-2`},Ne={class:`screenshots-row custom-scrollbar`},Pe={class:`readme-section`},Fe={key:0,class:`flex w-full items-center justify-center py-10`},V=i(b({__name:`PluginDetail`,props:{plugin:{}},setup(i,{expose:b}){let S=o(()=>d(()=>import(`./VersionsHandler-XEn3uFy7.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),import.meta.url)),j=new D,M=i,V=c(),{t:H}=t(),{plugin:U}=C(M),{data:W}=j.getPluginLogoQuery(U.value.pluginName),{data:Ie,isBusy:Le}=j.getPluginReadmeQuery(U.value.pluginName),{data:G}=j.getPluginCompatQuery(U.value.pluginName),Re=x(()=>U.value.logo||W.value),K=x(()=>{let e=U.value.downloads?.weekly;return typeof e==`number`?H(`components.plugin_search.downloads_per_week`,{count:a(e)}):void 0}),q=x(()=>U.value.lastUpdated?s(U.value.lastUpdated):void 0),ze=x(()=>!!(U.value.links?.npm||U.value.links?.repository||U.value.links?.homepage||U.value.links?.bugs)),J=x(()=>(G.value?.os??[]).map(A)),Y=x(()=>(G.value?.cpu??[]).map(k)),X=x(()=>[...J.value,...Y.value].join(` · `)),Z=x(()=>G.value?.platformCompatible??!0),Be=x(()=>!!G.value&&(J.value.length>0||Y.value.length>0||!Z.value||(G.value?.issues?.length??0)>0));function Q(){V.openComponentDialog(S,{data:{title:H(`components.dialog.title.install`),confirmText:H(`components.form.button.install`),contentProps:{target:y(U),installVersion:`latest`}}})}return b({onConfirm:Q}),(t,i)=>{let a=ee,o=se,s=pe,c=me,d=O,b=N,x=ce,S=fe,C=e,D=oe,k=ae,A=te,j=le,M=re,V=de,H=ie,W=ne,Q=r,Ve=ue,$=n;return u(),g(`div`,P,[m(`div`,F,[m(`div`,I,[T(a,{src:y(Re),alt:`Plugin icon`,class:`block w-full h-full`,"image-container-class":`w-full h-full`,"image-class":`object-contain`},null,8,[`src`])]),m(`div`,L,[m(`div`,R,[m(`h2`,z,h(y(U).displayName),1),T(o,{trust:y(U).trust,"show-label":!1},null,8,[`trust`])]),m(`div`,he,h(y(U).pluginName),1),y(U).tagline||y(U).description?(u(),g(`p`,ge,h(y(U).tagline||y(U).description),1)):E(``,!0)])]),m(`div`,_e,[T(s,{category:y(U).category},null,8,[`category`]),y(K)?(u(),g(`span`,ve,[T(c,{class:`detail-meta-icon`}),v(` `+h(y(K)),1)])):E(``,!0),y(q)?(u(),g(`span`,ye,[T(d,{class:`detail-meta-icon`}),v(` `+h(t.$t(`components.plugin_search.updated_ago`,{time:y(q)})),1)])):E(``,!0),y(U).license?(u(),g(`span`,be,[T(b,{class:`detail-meta-icon`}),v(` `+h(y(U).license),1)])):E(``,!0),y(U).author?(u(),g(`span`,xe,[T(x,{class:`detail-meta-icon`}),v(` `+h(y(U).author),1)])):E(``,!0)]),y(ze)?(u(),g(`div`,Se,[y(U).links?.npm?p((u(),w(C,{key:0,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:i[0]||=e=>t.$router.absUrl(y(U).links.npm,!0)},{icon:f(()=>[T(S,{width:`100%`,height:`100%`})]),_:1})),[[$,{value:`NPM`},void 0,{top:!0}]]):E(``,!0),y(U).links?.repository?p((u(),w(C,{key:1,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:i[1]||=e=>t.$router.absUrl(y(U).links.repository,!0)},{icon:f(()=>[T(D,{width:`100%`,height:`100%`})]),_:1})),[[$,{value:t.$t(`components.plugin_search.repository`)},void 0,{top:!0}]]):E(``,!0),y(U).links?.homepage?p((u(),w(C,{key:2,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:i[2]||=e=>t.$router.absUrl(y(U).links.homepage,!0)},{icon:f(()=>[T(k,{width:`100%`,height:`100%`})]),_:1})),[[$,{value:t.$t(`components.plugin_search.homepage`)},void 0,{top:!0}]]):E(``,!0),y(U).links?.bugs?p((u(),w(C,{key:3,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:i[3]||=e=>t.$router.absUrl(y(U).links.bugs,!0)},{icon:f(()=>[T(A,{width:`100%`,height:`100%`})]),_:1})),[[$,{value:t.$t(`components.plugin_search.bugs`)},void 0,{top:!0}]]):E(``,!0)])):E(``,!0),y(Be)?(u(),g(`div`,Ce,[y(Z)?(u(),g(_,{key:0},[T(M,{severity:`success`,class:`self-start`},{default:f(()=>[m(`span`,we,[T(j),v(` `+h(t.$t(`components.plugin_search.compatible_system`)),1)])]),_:1}),y(J).length||y(Y).length?(u(),g(`div`,Te,[(u(!0),g(_,null,l(y(J),e=>(u(),w(M,{key:`os-${e}`,severity:`secondary`,value:e},null,8,[`value`]))),128)),(u(!0),g(_,null,l(y(Y),e=>(u(),w(M,{key:`cpu-${e}`,severity:`secondary`,value:e},null,8,[`value`]))),128))])):E(``,!0)],64)):(u(),g(`div`,B,[T(V,{class:`w-5 h-5 shrink-0 text-orange-400 mt-0.5`}),m(`div`,Ee,[m(`span`,De,[v(h(t.$t(`components.plugin_search.incompatible_system`)),1),y(X)?(u(),g(`span`,Oe,` — `+h(y(X)),1)):E(``,!0)]),m(`span`,ke,h(t.$t(`components.plugin_search.incompatible_worker_hint`)),1)])])),(u(!0),g(_,null,l(y(G)?.issues??[],e=>(u(),g(`div`,{key:e.engine,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},[T(V,{class:`w-5 h-5 shrink-0 text-orange-400 mt-0.5`}),m(`span`,Ae,h(t.$t(`components.dialog.message.compatibility_engine`,{engine:e.engine,required:e.required,current:e.current})),1)]))),128))])):E(``,!0),y(U).screenshots?.length?(u(),g(`div`,je,[m(`h3`,Me,h(t.$t(`components.plugin_search.screenshots`)),1),m(`div`,Ne,[(u(!0),g(_,null,l(y(U).screenshots,(e,t)=>(u(),w(H,{key:t,src:e,alt:`Screenshot`,preview:``,class:`screenshot-thumb`},null,8,[`src`]))),128))])])):E(``,!0),T(W),m(`div`,Pe,[y(Le)?(u(),g(`div`,Fe,[T(Q,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(u(),w(Ve,{key:1,content:y(Ie)||t.$t(`views.plugin.no_readme`)},null,8,[`content`]))])])}}}),[[`__scopeId`,`data-v-332ce412`]]);export{V as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./PluginSearch-RGhSeM1T.js";export{e as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-XEn3uFy7.js","./vendor-cameraui-Cf0XVNQ7.js","./rolldown-runtime-C0FnF6B9.js","./vendor-BaiDFVEr.js","./api-CmdQlVDD.js","./intercomService-BjB4QQiX.js","./vendor-zod-Dbq0fBXY.js","./types-R10eIequ.js","./lightbulb-outline-ClK17CO6.js","./vendor-core-u4xNQ-aF.js","./vendor-primevue-BDu2BpXv.js","./vendor-dnd-ChrDrMuz.js","./close-BNAWPz0y.js","./vendor-draggabilly-DSeIE_bQ.js","./api-AVHJeggR.css","./server-CDm6FwHH.js","./useServerRestart-x8p2rFqn.js","./plugins-QEqfAk0G.js","./CuiConsole-De9JpSLz.js","./vendor-xterm-BafMBqaV.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-CmyalQi8.js","./CuiMarkdownContent-PSq4kE1G.js","./vendor-markdown-Bw_90xkF.js","./vendor-markdown-DtOhvyRx.css","./alert-circle-C2AU59aR.js","./platformLabels-D-cF6OTP.js","./config-CURuT8_k.js","./useUpdateChannel-ChscS5KW.js","./PluginDetail-D2RncxpL.js","./home-CUykMSBW.js","./clock-outline-DF1wLNzs.js","./source-branch-ztDB0e13.js","./CuiPluginTrustBadge-DYsEz6WI.js","./CuiPluginTrustBadge-QHTLaN1n.css","./account-DuSFtIHf.js","./check-circle-Do_mBN_A.js","./CuiPluginCategoryChip-CQ2FJafE.js","./bell-ring-DSX81yd4.js","./CuiPluginCategoryChip-CdGrTCxH.css","./download-BCPfm6aN.js","./PluginDetail-BYqji8yN.css"])))=>i.map(i=>d[i]);
2
- import{Ft as e,Ir as t,Lt as n,M as r,U as i,Vt as a}from"./vendor-cameraui-Cf0XVNQ7.js";import{Cn as o,N as s,Sn as c,c as l,ct as u,l as d,st as f,yn as p}from"./api-CmdQlVDD.js";import{$t as ee,Fn as m,Nn as h,Qt as g,Rt as _,Xn as v,Zn as y,_r as b,an as x,bn as S,br as C,cn as w,cr as T,en as E,fn as D,gr as O,hn as k,in as A,ir as j,on as M,pn as N,qn as te,rr as P,sn as F}from"./vendor-BaiDFVEr.js";import{L as ne,R as re,U as ie,a as I,d as ae,j as oe}from"./vendor-primevue-BDu2BpXv.js";import{t as se}from"./close-BNAWPz0y.js";import{t as ce}from"./plugins-QEqfAk0G.js";import{t as L}from"./clock-outline-DF1wLNzs.js";import{t as R}from"./CuiPluginTrustBadge-DYsEz6WI.js";import{i as z,n as le,r as ue,t as B}from"./CuiPluginCategoryChip-CQ2FJafE.js";import{t as V}from"./download-BCPfm6aN.js";var H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,t){return h(),w(`svg`,H,[...t[0]||=[x(`path`,{fill:`currentColor`,d:`M13 15.6c.3.2.7.2 1 0l5-2.9v.3c.7 0 1.4.1 2 .4v-1.8l1-.6c.5-.3.6-.9.4-1.4l-1.5-2.5c-.1-.2-.2-.4-.4-.5l-7.9-4.4c-.2-.1-.4-.2-.6-.2s-.4.1-.6.2L3.6 6.6c-.2.1-.4.2-.5.4L1.6 9.6c-.3.5-.1 1.1.4 1.4c.3.2.7.2 1 0v5.5c0 .4.2.7.5.9l7.9 4.4c.2.1.4.2.6.2s.4-.1.6-.2l.9-.5c-.3-.6-.4-1.3-.5-2m-2 0l-6-3.4V9.2l6 3.4zm9.1-9.6l-6.3 3.6l-.6-1l6.3-3.6zM12 10.8V4.2l6 3.3zm8 4.2v3h3v2h-3v3h-2v-3h-3v-2h3v-3z`},null,-1)]])}var de=j({name:`mdi-package-variant-plus`,render:U}),W={class:`plugin-store-card-body`},G={class:`flex items-start gap-3 min-w-0`},K={class:`plugin-store-icon flex-shrink-0`},q={class:`min-w-0 flex-1`},J={class:`flex items-center gap-2 min-w-0`},fe={class:`font-medium text-base truncate`},pe={class:`text-sm text-muted truncate`},me={class:`plugin-store-card-description`},Y={class:`flex flex-wrap items-center gap-x-3 gap-y-1 mt-auto pt-2`},X={key:2,class:`plugin-store-meta`},Z={key:3,class:`plugin-store-meta`},Q={class:`flex gap-1`},he=o(k({__name:`CuiPluginStoreCard`,props:{plugin:{},inProgress:{type:Boolean}},emits:[`open`,`install`],setup(n,{emit:r}){let i=n,o=r,{t:u}=t(),f=A(()=>i.plugin),p=A(()=>{let e=f.value.downloads?.weekly;return typeof e==`number`?u(`components.plugin_search.downloads_per_week`,{count:l(e)}):void 0}),m=A(()=>f.value.lastUpdated?d(f.value.lastUpdated):void 0);return(t,r)=>{let i=c,l=R,u=I,d=B,_=V,S=L,T=s,E=e,k=z,A=a;return h(),w(`div`,{class:b([`plugin-store-card shadow-sm transition-default card-background custom-scrollbar`,{"opacity-50 in-progress":n.inProgress}]),role:`button`,tabindex:`0`,onClick:r[4]||=e=>o(`open`,O(f)),onKeydown:r[5]||=g(e=>o(`open`,O(f)),[`enter`])},[x(`div`,W,[x(`div`,G,[x(`div`,K,[N(i,{src:O(f).logo,alt:`Plugin logo`,class:`block w-full h-full`,"image-container-class":`w-full h-full`,"image-class":`object-contain`},null,8,[`src`])]),x(`div`,q,[x(`div`,J,[x(`h4`,fe,C(O(f).displayName),1),N(l,{trust:O(f).trust,"show-label":!1,class:`flex-shrink-0`},null,8,[`trust`])]),x(`div`,pe,C(O(f).pluginName),1)])]),x(`p`,me,C(O(f).tagline||O(f).description),1),x(`div`,Y,[O(f).compatible===!1?y((h(),M(u,{key:0,severity:`warn`,value:t.$t(`components.plugin_search.incompatible`)},null,8,[`value`])),[[A,{value:t.$t(`components.plugin_search.incompatible_system`)},void 0,{top:!0}]]):F(``,!0),O(f).protocolCompat===`serverTooOld`?y((h(),M(u,{key:1,severity:`warn`,value:t.$t(`components.plugin_search.requires_newer_server`)},null,8,[`value`])),[[A,{value:t.$t(`components.plugin_search.requires_newer_server_hint`)},void 0,{top:!0}]]):F(``,!0),N(d,{category:O(f).category},null,8,[`category`]),O(p)?(h(),w(`span`,X,[N(_,{class:`plugin-store-meta-icon`}),D(` `+C(O(p)),1)])):F(``,!0),O(m)?(h(),w(`span`,Z,[N(S,{class:`plugin-store-meta-icon`}),D(` `+C(t.$t(`components.plugin_search.updated_ago`,{time:O(m)})),1)])):F(``,!0)])]),x(`div`,{class:`plugin-store-card-actions`,onClick:r[3]||=ee(()=>{},[`stop`])},[x(`div`,Q,[O(f).links?.repository||O(f).links?.homepage?y((h(),M(E,{key:0,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:r[0]||=e=>t.$router.absUrl(O(f).links?.repository||O(f).links?.homepage,!0)},{icon:v(()=>[N(T,{width:`100%`,height:`100%`})]),_:1})),[[A,{value:`Github`},void 0,{top:!0}]]):F(``,!0),O(f).links?.npm?y((h(),M(E,{key:1,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:r[1]||=e=>t.$router.absUrl(O(f).links.npm,!0)},{icon:v(()=>[N(k,{width:`100%`,height:`100%`})]),_:1})),[[A,{value:`NPM`},void 0,{top:!0}]]):F(``,!0)]),N(E,{class:`cui-button-medium ml-auto`,label:t.$t(`components.form.button.install`),disabled:n.inProgress,onClick:r[2]||=e=>o(`install`,O(f))},null,8,[`label`,`disabled`])])],34)}}}),[[`__scopeId`,`data-v-870f576c`]]),ge={class:`cui-label`},_e={class:`flex flex-wrap gap-2 mt-4`},ve={key:0,class:`mt-6`},ye={class:`featured-row custom-scrollbar mt-3`},be={class:`flex flex-row items-center justify-center w-full mt-8`},xe={key:3,class:`text-center py-10`},Se={class:`text-muted mb-2`},Ce={class:`text-muted`},we={key:4,class:`w-full`},Te={key:5,class:`w-full plugin-list`},$=o(k({__name:`PluginSearch`,setup(o,{expose:s}){let c=u(()=>_(()=>import(`./VersionsHandler-XEn3uFy7.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),import.meta.url)),l=u(()=>_(()=>import(`./PluginDetail-D2RncxpL.js`),__vite__mapDeps([30,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,31,32,33,34,35,36,37,23,24,25,26,38,39,40,41,27,42]),import.meta.url)),d=new ce,g=f(),{t:b}=t(),D=S(`dialogRefProps`),k=T(``),j=T({}),I=T([]),L=T(`all`),R=T(`all`),z=T(`name`),B=T(!1),{data:V,isBusy:H,refetch:U}=d.searchPluginsQuery(j,{page:1,pageSize:-1},B),{data:W,isBusy:G,refetch:K}=d.getPluginsProgressQuery({page:1,pageSize:-1}),q=A(()=>H.value||G.value),J=A(()=>!!(D.loading?.value||q.value)),fe=A(()=>[{label:b(`components.plugin_search.filter_all_categories`),value:`all`},...ue.map(e=>({label:b(le[e].labelKey),value:e}))]),pe=A(()=>[{label:b(`components.plugin_search.filter_all_trust`),value:`all`},{label:b(`components.plugin_search.trust_official`),value:`official`},{label:b(`components.plugin_search.trust_verified`),value:`verified`},{label:b(`components.plugin_search.trust_community`),value:`community`}]),me=A(()=>[{label:b(`components.plugin_search.sort_name`),value:`name`},{label:b(`components.plugin_search.sort_downloads`),value:`downloads`},{label:b(`components.plugin_search.sort_updated`),value:`updated`}]),Y=A(()=>{let e=I.value.slice();return L.value!==`all`&&(e=e.filter(e=>e.category===L.value)),R.value!==`all`&&(e=e.filter(e=>e.trust===R.value)),e.sort((e,t)=>{switch(z.value){case`downloads`:return(t.downloads?.weekly??0)-(e.downloads?.weekly??0);case`updated`:return new Date(t.lastUpdated??0).getTime()-new Date(e.lastUpdated??0).getTime();default:return(e.displayName||e.pluginName).localeCompare(t.displayName||t.pluginName)}}),e}),X=A(()=>Y.value.filter(e=>e.featured)),Z=A(()=>Y.value.filter(e=>!e.featured));function Q(e){return W.value?.result.some(t=>t.pluginName===e)}function $(e){e?.preventDefault(),j.value.pluginname=k.value??``}function Ee(){k.value=``,j.value={},L.value=`all`,R.value=`all`,z.value=`name`,$()}function De(){B.value=!0,Promise.all([U(),K()]).finally(()=>{B.value=!1})}function Oe(e){g.openComponentDialog(c,{data:{title:b(`components.dialog.title.install`),loading:J,contentProps:{target:O(e),installVersion:`latest`}}})}function ke(e){g.openComponentDialog(l,{data:{title:b(`components.dialog.title.details`),confirmText:b(`components.form.button.install`),contentProps:{plugin:O(e)}}})}return te(V,e=>{e?.result&&(I.value=e.result.filter(e=>!e.installPath))},{immediate:!0,deep:!0}),s({isLoading:J}),(t,o)=>{let s=r,c=se,l=e,u=ne,d=re,f=oe,g=he,_=p,b=n,S=ae,T=ie,D=de,A=i,j=a;return h(),w(`div`,null,[x(`form`,{onSubmit:ee($,[`prevent`])},[x(`label`,ge,C(t.$t(`components.form.label.name`)),1),N(d,null,{default:v(()=>[N(s,{modelValue:O(k),"onUpdate:modelValue":o[0]||=e=>P(k)?k.value=e:null,modelModifiers:{trim:!0},loading:O(q),placeholder:`camera-ui-`,type:`text`},null,8,[`modelValue`,`loading`]),N(u,null,{default:v(()=>[N(l,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:Ee},{icon:v(()=>[N(c,{width:`100%`,height:`100%`})]),_:1})]),_:1})]),_:1})],32),x(`div`,_e,[N(f,{modelValue:O(L),"onUpdate:modelValue":o[1]||=e=>P(L)?L.value=e:null,options:O(fe),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:t.$t(`components.plugin_search.filter_category`)},null,8,[`modelValue`,`options`,`placeholder`]),N(f,{modelValue:O(R),"onUpdate:modelValue":o[2]||=e=>P(R)?R.value=e:null,options:O(pe),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:t.$t(`components.plugin_search.filter_trust`)},null,8,[`modelValue`,`options`,`placeholder`]),N(f,{modelValue:O(z),"onUpdate:modelValue":o[3]||=e=>P(z)?z.value=e:null,options:O(me),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:t.$t(`components.plugin_search.sort_by`)},null,8,[`modelValue`,`options`,`placeholder`])]),!O(q)&&O(X).length?(h(),w(`div`,ve,[x(`h3`,null,C(t.$t(`components.plugin_search.featured`)),1),x(`div`,ye,[(h(!0),w(E,null,m(O(X),e=>(h(),w(`div`,{key:e.pluginName,class:`featured-item`},[N(g,{plugin:e,"in-progress":Q(e.pluginName),onOpen:ke,onInstall:Oe},null,8,[`plugin`,`in-progress`])]))),128))])])):F(``,!0),x(`div`,be,[x(`h3`,null,C(t.$t(`components.plugin_search.plugins`)),1),y((h(),M(l,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md ml-auto`,onClick:De},{icon:v(()=>[N(_,{width:`100%`,height:`100%`})]),_:1})),[[j,{value:t.$t(`components.plugin_search.refresh`)},void 0,{left:!0}]]),N(b,{size:`small`,class:`ml-2 rounded-full`,value:String(O(Z).length)},null,8,[`value`])]),O(q)?(h(),M(S,{key:1,mode:`indeterminate`,class:`my-3 !h-[1px]`})):(h(),M(T,{key:2,class:`m-0 py-3`})),!O(q)&&!O(Z).length?(h(),w(`div`,xe,[x(`div`,Se,[N(D,{class:`w-12 h-12 mx-auto opacity-30`})]),x(`p`,Ce,C(t.$t(`views.plugins.no_plugins`)),1)])):O(q)?(h(),w(`div`,we,[(h(),w(E,null,m(6,e=>N(A,{key:e,class:`mb-2`,height:`132px`})),64))])):(h(),w(`div`,Te,[(h(!0),w(E,null,m(O(Z),e=>y((h(),M(g,{key:e.pluginName,plugin:e,"in-progress":Q(e.pluginName),onOpen:ke,onInstall:Oe},null,8,[`plugin`,`in-progress`])),[[j,{value:Q(e.pluginName)?t.$t(`components.plugin_search.in_progress`):void 0}]])),128))]))])}}}),[[`__scopeId`,`data-v-8faee7ef`]]);export{$ as t};
@@ -1 +0,0 @@
1
- import{A as e,D as t,E as n,Ft as r,Ir as i,L as a,M as o,Pr as s,Ti as c,Tr as l,Vt as u,Wr as d,a as f,b as p,i as m,jt as h,ki as g,p as _,u as v,vr as ee,wi as y,wt as b,y as x,yr as S}from"./vendor-cameraui-Cf0XVNQ7.js";import{B as te,Cn as C,Dn as w,En as T,G as ne,H as E,I as D,L as O,R as re,Tn as k,U as ie,Ut as A,V as j,_t as M,bn as ae,cn as oe,fn as se,fr as ce,g as le,hn as ue,hr as de,nt as fe,rt as pe,st as me,wn as he,xn as ge,z as N,zn as _e}from"./api-CmdQlVDD.js";import{Fn as P,Gn as ve,Jn as ye,Nn as F,Pn as be,Xn as I,Zn as xe,_r as Se,an as L,bn as R,br as z,cn as B,cr as V,dr as Ce,en as H,fn as U,gr as W,hn as we,in as G,ir as K,jn as Te,nn as Ee,on as q,or as De,pn as J,qn as Y,rr as X,sn as Z,yr as Oe,zn as Q}from"./vendor-BaiDFVEr.js";import{a as ke,i as Ae,j as je,l as $,z as Me}from"./vendor-primevue-BDu2BpXv.js";import{t as Ne}from"./close-BNAWPz0y.js";import{t as Pe}from"./ring-resize-DkY5EgVl.js";import{n as Fe,t as Ie}from"./CuiRecordingsGrid-wEaU6-3c.js";import{t as Le}from"./utils-gctUU5q_.js";import{t as Re}from"./settings-BUEZ5iRE.js";import{n as ze,t as Be}from"./round-alt-arrow-left-bold-CfccdiWp.js";var Ve={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function He(e,t){return F(),B(`svg`,Ve,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M22 18.605a.75.75 0 0 1-.75.75h-5.1a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h7.74a2.93 2.93 0 0 1 5.66 0h5.1a.75.75 0 0 1 .75.75m0-13.21a.75.75 0 0 1-.75.75H18.8a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h10.39a2.93 2.93 0 0 1 5.66 0h2.45a.74.74 0 0 1 .75.75m0 6.6a.74.74 0 0 1-.75.75H9.55a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h1.14a2.93 2.93 0 0 1 5.66 0h11.7a.75.75 0 0 1 .75.75`},null,-1)]])}var Ue=K({name:`mage-filter-fill`,render:He}),We={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ge(e,t){return F(),B(`svg`,We,[...t[0]||=[L(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-miterlimit":`10`,"stroke-width":`1.5`,d:`M21.25 12H8.895m-4.361 0H2.75m18.5 6.607h-5.748m-4.361 0H2.75m18.5-13.214h-3.105m-4.361 0H2.75m13.214 2.18a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm-9.25 6.607a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm6.607 6.608a2.18 2.18 0 1 0 0-4.361a2.18 2.18 0 0 0 0 4.36Z`},null,-1)]])}var Ke=K({name:`mage-filter`,render:Ge}),qe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Je(e,t){return F(),B(`svg`,qe,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`m14 2l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm4 18V9h-5V4H6v16zm-2-2l-2.5-1.7V18H8v-5h5.5v1.7L16 13z`},null,-1)]])}var Ye=K({name:`mdi-file-video-outline`,render:Je}),Xe={class:`flex flex-col gap-6`},Ze={class:`flex flex-col field-gap`},Qe={class:`cui-label`},$e={class:`flex flex-col field-gap`},et={class:`cui-label`},tt={class:`grid grid-cols-1 xs:grid-cols-2 gap-3`},nt={class:`flex flex-col gap-1`},rt={class:`text-xs text-muted`},it={class:`flex flex-col gap-1`},at={class:`text-xs text-muted`},ot={class:`grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4`},st={class:`flex flex-col field-gap`},ct={class:`cui-label`},lt={class:`flex flex-col field-gap`},ut={class:`cui-label`},dt={class:`flex flex-col field-gap`},ft={class:`flex items-center gap-3`},pt={class:`cui-label !mb-0`},mt={key:0,class:`ml-auto flex items-center gap-2.5 text-sm tabular-nums`},ht={class:`font-semibold`},gt={class:`font-semibold`},_t={class:`border border-color rounded-xl card-background overflow-hidden`},vt={class:`flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5`},yt={key:0,class:`flex items-center justify-center gap-2 text-muted text-sm py-6`},bt={key:1,class:`text-center text-muted text-sm py-6`},xt={class:`text-xs text-muted px-0.5`},St={class:`font-mono text-xs truncate flex-1`},Ct={class:`text-xs text-muted tabular-nums shrink-0`},wt={class:`font-mono text-xs text-muted tabular-nums shrink-0 min-w-[58px] text-right`},Tt=30,Et=we({__name:`ExportRecordings`,props:{cameras:{},preselect:{}},setup(n,{expose:r}){let a=n,{t:o}=i(),s=de(),c=R(`dialogRefProps`),{plugin:l}=b(`@camera.ui/camera-ui-nvr`),u=V([]),d=V(!1),f=V(a.preselect?.length?[...a.preselect]:[]),p=V(`best`),m=V(0),_=V(new Date(new Date().setHours(0,0,0,0))),v=V(new Date),ee=G(()=>[{label:o(`views.recordings.export.quality_best`),value:`best`},{label:o(`views.recordings.export.quality_smallest`),value:`smallest`}]),y=G(()=>[0,1,2,5,10,30,60,120,180,240,300].map(e=>({label:e===0?o(`views.recordings.export.timelapse_off`):e<60?`${e} s`:`${e/60} min`,value:e}))),x=G(()=>m.value>0),S=G(()=>x.value?`~`:``),te=G(()=>new Map(a.cameras.map(e=>[e.id,e.name]))),C=G(()=>_.value instanceof Date&&v.value instanceof Date&&_.value<v.value),w=G(()=>{if(!C.value)return[];let e=[],t=_.value.getTime(),n=v.value.getTime(),r=new Date(_.value);r.setHours(0,0,0,0);let i=new Date(v.value);for(i.setHours(0,0,0,0);r.getTime()<=i.getTime();){let i=new Date(r),a=new Date(r);a.setDate(a.getDate()+1);let o=Math.max(i.getTime(),t),s=Math.min(a.getTime(),n);s>o&&e.push({day:re(i),startUs:o*1e3,endUs:s*1e3}),r.setDate(r.getDate()+1)}return e}),T=G(()=>u.value.map(e=>{let t=te.value.get(e.cameraId)??e.cameraId,n=new Date(e.startUs/1e3),r=new Date(e.endUs/1e3),i=n.getHours()===0&&n.getMinutes()===0&&e.endUs-e.startUs===864e8,a=r.getHours()===0&&r.getMinutes()===0?`24:00`:k(r);return{cameraId:e.cameraId,cameraName:t,name:`${ie(t)}_${e.day}${x.value?`_timelapse`:``}.mp4`,span:i?o(`views.recordings.export.whole_day`):`${k(n)}–${a}`,bytes:x.value?e.bytes/Tt:e.bytes}})),ne=G(()=>{let e=new Map;for(let t of T.value){let n=e.get(t.cameraId);n||(n={cameraId:t.cameraId,cameraName:t.cameraName,files:[],bytes:0},e.set(t.cameraId,n)),n.files.push(t),n.bytes+=t.bytes}return[...e.values()]}),E=G(()=>T.value.reduce((e,t)=>e+t.bytes,0)),D=G(()=>f.value.length===0?o(`views.recordings.export.no_cameras`):C.value?o(`views.recordings.export.no_footage`):o(`views.recordings.export.no_range`));function O(e){return String(e).padStart(2,`0`)}function re(e){return`${e.getFullYear()}-${O(e.getMonth()+1)}-${O(e.getDate())}`}function k(e){return`${O(e.getHours())}:${O(e.getMinutes())}`}function ie(e){return e.replace(/[^a-zA-Z0-9-_]/g,`_`)}function A(e){if(e<=0)return`0 MB`;let t=e/1e6;if(t<1e3)return`${t<10?t.toFixed(1):Math.round(t)} MB`;let n=e/1e9;return`${n.toFixed(+(n<10))} GB`}async function j(){let e=l.value;if(!e?.nvrExportEstimate||f.value.length===0||w.value.length===0){u.value=[],d.value=!1;return}d.value=!0;try{let t=await e.nvrExportEstimate({cameras:f.value,slices:w.value,quality:p.value});u.value=t.files??[]}catch{u.value=[]}finally{d.value=!1}}async function M(){if(!C.value||f.value.length===0||w.value.length===0)return null;let e=l.value;if(!e?.nvrExportBatch)return s.add({severity:`error`,detail:o(`views.recordings.export.plugin_missing`),life:3e3}),null;let t=await e.nvrExportBatch({cameras:f.value,slices:w.value,quality:p.value,timelapseIntervalSec:x.value?m.value:0});await ge({url:t.url,filename:t.filename})}return g([f,w,p],j,{debounce:350,immediate:!0,deep:!0}),ye(()=>{c.disabled&&(c.disabled.value=!C.value||f.value.length===0||!d.value&&T.value.length===0)}),r({onConfirm:M}),(r,i)=>{let a=$,o=e,s=Me,c=t,l=je,u=ke,g=h,b=Ye;return F(),B(`div`,Xe,[L(`div`,Ze,[L(`label`,Qe,z(r.$t(`views.recordings.export.cameras`)),1),J(a,{modelValue:W(f),"onUpdate:modelValue":i[0]||=e=>X(f)?f.value=e:null,options:n.cameras,"option-label":`name`,"option-value":`id`,display:`chip`,filter:``,placeholder:r.$t(`views.recordings.export.cameras_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])]),L(`div`,$e,[L(`label`,et,z(r.$t(`views.recordings.export.range`)),1),L(`div`,tt,[L(`div`,nt,[L(`span`,rt,z(r.$t(`views.recordings.export.from`)),1),J(o,{modelValue:W(_),"onUpdate:modelValue":i[1]||=e=>X(_)?_.value=e:null,"show-time":``,"hour-format":`24`,fluid:``,"max-date":W(v)},null,8,[`modelValue`,`max-date`])]),L(`div`,it,[L(`span`,at,z(r.$t(`views.recordings.export.to`)),1),J(o,{modelValue:W(v),"onUpdate:modelValue":i[2]||=e=>X(v)?v.value=e:null,"show-time":``,"hour-format":`24`,fluid:``,"min-date":W(_)},null,8,[`modelValue`,`min-date`])])]),W(C)?(F(),q(s,{key:1,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:I(()=>[U(z(r.$t(`views.recordings.export.range_hint`)),1)]),_:1})):(F(),q(s,{key:0,severity:`error`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:I(()=>[U(z(r.$t(`views.recordings.export.invalid_range`)),1)]),_:1}))]),L(`div`,ot,[L(`div`,st,[L(`label`,ct,z(r.$t(`views.recordings.export.quality`)),1),J(c,{modelValue:W(p),"onUpdate:modelValue":i[3]||=e=>X(p)?p.value=e:null,options:W(ee),"option-label":`label`,"option-value":`value`,"allow-empty":!1,pt:{root:{class:`flex w-full`},pcToggleButton:{root:{class:`flex-1`}}}},null,8,[`modelValue`,`options`])]),L(`div`,lt,[L(`label`,ut,z(r.$t(`views.recordings.export.timelapse`)),1),J(l,{modelValue:W(m),"onUpdate:modelValue":i[4]||=e=>X(m)?m.value=e:null,options:W(y),"option-label":`label`,"option-value":`value`,class:`w-full`},null,8,[`modelValue`,`options`])])]),L(`div`,dt,[L(`div`,ft,[L(`label`,pt,z(r.$t(`views.recordings.export.result`)),1),W(T).length?(F(),B(`div`,mt,[L(`span`,ht,z(W(T).length)+` `+z(W(T).length===1?r.$t(`views.recordings.export.file`):r.$t(`views.recordings.export.files`)),1),i[5]||=L(`span`,{class:`text-muted`},`·`,-1),L(`span`,gt,z(W(S))+z(A(W(E))),1),J(u,{value:W(T).length===1?`MP4`:`ZIP`,severity:`info`},null,8,[`value`])])):Z(``,!0)]),L(`div`,_t,[L(`div`,vt,[W(d)&&!W(T).length?(F(),B(`div`,yt,[J(g,{style:{width:`1rem`,height:`1rem`},"stroke-width":`4`,class:`m-0`}),L(`span`,null,z(r.$t(`views.recordings.export.estimating`)),1)])):W(T).length?(F(!0),B(H,{key:2},P(W(ne),e=>(F(),B(`div`,{key:e.cameraId,class:`flex flex-col gap-1`},[L(`span`,xt,z(e.cameraName)+` · `+z(e.files.length)+` · `+z(W(S))+z(A(e.bytes)),1),(F(!0),B(H,null,P(e.files,e=>(F(),B(`div`,{key:e.name,class:`flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2`},[J(b,{class:`w-4 h-4 text-muted shrink-0`}),L(`span`,St,z(e.name),1),L(`span`,Ct,z(e.span),1),L(`span`,wt,z(W(S))+z(A(e.bytes)),1)]))),128))]))),128)):(F(),B(`div`,bt,z(W(D)),1))])])])])}}}),Dt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ot(e,t){return F(),B(`svg`,Dt,[...t[0]||=[L(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 9l6 6l6-6`},null,-1)]])}var kt=K({name:`tabler-chevron-down`,render:Ot}),At={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function jt(e,t){return F(),B(`svg`,At,[...t[0]||=[L(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 15l6-6l6 6`},null,-1)]])}var Mt=K({name:`tabler-chevron-up`,render:jt}),Nt={class:`flex flex-col gap-2`},Pt={class:`sidebar-section-title`},Ft={class:`p-input-icon-left w-full`},It={class:`text-xs text-muted`},Lt={class:`flex flex-col gap-2`},Rt={class:`sidebar-section-title flex items-center gap-1.5`},zt={key:0,class:`inline-flex items-center gap-1 text-xs text-muted`},Bt={key:1,class:`flex flex-col gap-1.5 mt-1`},Vt={class:`text-xs text-muted`},Ht={class:`flex items-center gap-3`},Ut={class:`text-xs font-mono w-8 text-right shrink-0`},Wt={class:`flex flex-col gap-2`},Gt={class:`sidebar-section-title`},Kt={class:`flex flex-col gap-2`},qt={class:`sidebar-section-title`},Jt={class:`relative rounded-md overflow-hidden`},Yt={class:`flex flex-col gap-2`},Xt={class:`sidebar-section-title`},Zt={class:`flex items-center gap-3`},Qt={class:`text-xs font-mono w-8 text-right shrink-0`},$t={class:`flex flex-col gap-2`},en={class:`sidebar-section-title`},tn={class:`flex flex-wrap gap-1`},nn={class:`flex flex-col gap-2`},rn={key:0,class:`flex flex-col gap-2`},an={class:`flex items-center gap-2 cursor-pointer text-sm`},on={key:0,class:`flex flex-col gap-2 ml-6`},sn={class:`filter-logic-divider`},cn={class:`flex flex-col gap-2`},ln={key:0,class:`flex flex-col gap-2`},un={class:`filter-logic-divider`},dn={class:`flex flex-col gap-2`},fn={key:0,class:`flex flex-col gap-2`},pn={class:`flex items-center gap-2 cursor-pointer text-sm`},mn=288,hn=C(we({__name:`RecordingsFilterSidebar`,props:{filters:{},cameras:{},isOpen:{type:Boolean},isOverlay:{type:Boolean},resultCount:{},semanticCount:{},semanticSearchAvailable:{type:Boolean},semanticSearchLoading:{type:Boolean}},emits:[`update:filters`,`semantic-search`,`close`],setup(e,{expose:u,emit:p}){let m={doorbell:`views.recordings.audio_doorbell`,glass_break:`views.recordings.audio_glass_break`,siren:`views.recordings.audio_siren`,speaking:`views.recordings.audio_speaking`,gunshot:`views.recordings.audio_gunshot`,dog_bark:`views.recordings.audio_dog_bark`,baby_cry:`views.recordings.audio_baby_cry`,alarm:`views.recordings.audio_alarm`,scream:`views.recordings.audio_scream`,cat:`views.recordings.audio_cat`,car_alarm:`views.recordings.audio_car_alarm`,smoke_alarm:`views.recordings.audio_smoke_alarm`},h={face:`views.recordings.attr_face`,license_plate:`views.recordings.attr_license_plate`},g={motion:`views.recordings.sensor_motion`,audio:`views.recordings.sensor_audio`,contact:`views.recordings.sensor_contact`,doorbell:`views.recordings.sensor_doorbell`,switch:`views.recordings.sensor_switch`,light:`views.recordings.sensor_light`,siren:`views.recordings.sensor_siren`,security_system:`views.recordings.sensor_security_system`,"line-crossing":`views.recordings.sensor_line_crossing`},_=new Set([`motion`,`audio`]),v=e,y=p,{t:b}=i(),{xlBreakpoint:x}=T(),{topbarOffset:te,bottombarHeight:C}=w(),{icons:E,generic:D}=ne(),O=E,re=Mt,k=kt,ie=ve(`sidebarRef`),j=V(v.filters.semanticQuery??``),M=De({eventTypes:!0,attributes:!0,sensorEvents:!0}),oe=G(()=>v.isOpen?mn:0),ce=G(()=>v.cameras.map(e=>({id:e.id,name:e.name}))),le=G(()=>{if(v.filters.cameraIds.length===1)return v.cameras.find(e=>e.id===v.filters.cameraIds[0])?.name}),ue=G(()=>[{label:b(`views.recordings.filter_and`),value:`and`},{label:b(`views.recordings.filter_or`),value:`or`}]),de=G(()=>[{label:b(`views.recordings.time_1h`),value:`1h`},{label:b(`views.recordings.time_1d`),value:`1d`},{label:b(`views.recordings.time_1w`),value:`1w`},{label:b(`views.recordings.time_1m`),value:`1m`}]),fe=G(()=>S.filter(e=>!_.has(e)).map(e=>({label:b(`views.recordings.type_${e}`),value:e,icon:E[e]??D}))),pe=G(()=>({label:b(`views.recordings.type_other`),value:f,icon:E.other??D})),me=G(()=>s.map(e=>({label:b(g[e]??`views.recordings.sensor_${e}`),value:e,icon:O[e]??D}))),he=G(()=>l.map(e=>({label:b(m[e]??e),value:e,icon:E[e]??D}))),ge=G(()=>ee.map(e=>({label:b(h[e]??`views.recordings.attr_${e}`),value:e,icon:E[e]??D})));function N(e,t){y(`update:filters`,{...v.filters,[e]:t})}let _e=c(e=>{N(`search`,e)},300);function ye(){let e=j.value.trim();N(`semanticQuery`,e),y(`semantic-search`,e)}function be(e){let t=[...v.filters.eventTypes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),N(`eventTypes`,t)}function I(e){let t=[...v.filters.audioLabels],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),N(`audioLabels`,t)}function xe(e){let t=[...v.filters.sensorEvents],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),N(`sensorEvents`,t)}function Se(e){let t=[...v.filters.hasAttributes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),N(`hasAttributes`,t)}function R(e){M[e]=!M[e]}return Y(j,e=>{!e?.trim()&&v.filters.semanticQuery&&N(`semanticQuery`,``)}),d(ie,e=>{let t=e.target;t.closest(`#recordings-sidebar-toggle`)||t.closest(`[data-pc-section="overlay"], [data-pc-section="panel"], .p-connected-overlay`)||v.isOpen&&(v.isOverlay||!x.value)&&y(`close`)}),u({sidebarWidth:oe}),(i,s)=>{let c=o,l=se,u=Ae,d=r,f=n,p=$,m=ae,h=A,g=a,_=t;return F(),B(`nav`,{ref_key:`sidebarRef`,ref:ie,class:`recordings-sidebar fixed transition-all duration-200 overflow-x-hidden overflow-y-auto md:!pl-0 pl-safe pb-safe flex flex-col z-4`,style:Oe({width:`${W(oe)}px`,borderRightWidth:e.isOpen?`1px`:`0px`,paddingBottom:`calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + ${W(C)}px + ${W(te)}px)`})},[L(`div`,{class:`flex flex-col gap-4 p-4`,style:Oe({width:`${mn}px`})},[L(`div`,Nt,[L(`label`,Pt,z(i.$t(`views.recordings.search`)),1),L(`span`,Ft,[J(c,{"model-value":e.filters.search,placeholder:i.$t(`views.recordings.search_placeholder`),class:`w-full text-sm`,"onUpdate:modelValue":s[0]||=e=>W(_e)(e)},null,8,[`model-value`,`placeholder`])]),L(`span`,It,z(i.$t(`views.recordings.result_count`,{count:e.resultCount})),1)]),s[18]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,Lt,[L(`label`,Rt,[J(l,{class:`w-3.5 h-3.5`}),U(` `+z(i.$t(`views.recordings.semantic_search`)),1)]),J(u,{modelValue:W(j),"onUpdate:modelValue":s[1]||=e=>X(j)?j.value=e:null,placeholder:i.$t(`views.recordings.semantic_search_placeholder`),class:`w-full text-sm semantic-textarea`,rows:`3`,disabled:!e.semanticSearchAvailable},null,8,[`modelValue`,`placeholder`,`disabled`]),J(d,{label:i.$t(`views.recordings.semantic_search_button`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,loading:e.semanticSearchLoading,disabled:!e.semanticSearchAvailable||!W(j)?.trim(),onClick:ye},null,8,[`label`,`loading`,`disabled`]),e.semanticCount==null?Z(``,!0):(F(),B(`span`,zt,[J(l,{class:`w-3 h-3`}),U(` `+z(i.$t(`views.recordings.semantic_results`,{count:e.semanticCount})),1)])),e.filters.semanticQuery?(F(),B(`div`,Bt,[L(`label`,Vt,z(i.$t(`views.recordings.min_match_score`)),1),L(`div`,Ht,[J(f,{"model-value":e.filters.minSemanticScore,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":s[2]||=e=>N(`minSemanticScore`,e)},null,8,[`model-value`]),L(`span`,Ut,z(Math.round(e.filters.minSemanticScore*100))+`%`,1)])])):Z(``,!0)]),s[19]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,Wt,[L(`label`,Gt,z(i.$t(`views.recordings.cameras`)),1),J(p,{"model-value":e.filters.cameraIds,options:W(ce),"option-label":`name`,"option-value":`id`,placeholder:i.$t(`views.recordings.all_cameras`),class:`w-full text-sm`,"max-selected-labels":2,"show-toggle-all":!1,pt:{overlay:{style:`position: fixed`}},"onUpdate:modelValue":s[3]||=e=>N(`cameraIds`,e)},null,8,[`model-value`,`options`,`placeholder`])]),W(le)?(F(),B(H,{key:0},[s[13]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,Kt,[L(`label`,qt,z(i.$t(`views.recordings.grid_search`)),1),L(`div`,Jt,[J(m,{camera:W(le),"object-fit":`cover`},null,8,[`camera`]),J(h,{"model-value":e.filters.gridRegions,"onUpdate:modelValue":s[4]||=e=>N(`gridRegions`,e)},null,8,[`model-value`])]),J(d,{label:i.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,disabled:e.filters.gridRegions.length===0,onClick:s[5]||=e=>N(`gridRegions`,[])},null,8,[`label`,`disabled`])])],64)):Z(``,!0),s[20]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,Yt,[L(`label`,Xt,z(i.$t(`views.recordings.confidence`)),1),L(`div`,Zt,[J(f,{"model-value":e.filters.minConfidence,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":s[6]||=e=>N(`minConfidence`,e)},null,8,[`model-value`]),L(`span`,Qt,z(Math.round(e.filters.minConfidence*100))+`%`,1)])]),s[21]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,$t,[L(`label`,en,z(i.$t(`views.recordings.time_range`)),1),L(`div`,tn,[(F(!0),B(H,null,P(W(de),t=>(F(),q(d,{key:t.value,label:t.label,severity:e.filters.timeRange===t.value?void 0:`secondary`,outlined:e.filters.timeRange!==t.value,size:`small`,class:`text-xs flex-1 min-w-0`,onClick:n=>N(`timeRange`,e.filters.timeRange===t.value?null:t.value)},null,8,[`label`,`severity`,`outlined`,`onClick`]))),128))])]),s[22]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,nn,[L(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:s[7]||=e=>R(`sensorEvents`)},[L(`span`,null,z(i.$t(`views.recordings.sensor_events`)),1),(F(),q(Q(W(M).sensorEvents?W(re):W(k)),{class:`w-4 h-4 text-muted`}))]),W(M).sensorEvents?(F(),B(`div`,rn,[(F(!0),B(H,null,P(W(me),t=>(F(),B(H,{key:t.value},[L(`label`,an,[J(g,{"model-value":e.filters.sensorEvents.includes(t.value),binary:!0,"onUpdate:modelValue":e=>xe(t.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(F(),q(Q(t.icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,z(t.label),1)]),t.value===`audio`&&e.filters.sensorEvents.includes(`audio`)?(F(),B(`div`,on,[(F(!0),B(H,null,P(W(he),t=>(F(),B(`label`,{key:t.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[J(g,{"model-value":e.filters.audioLabels.includes(t.value),binary:!0,"onUpdate:modelValue":e=>I(t.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(F(),q(Q(t.icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,z(t.label),1)]))),128))])):Z(``,!0)],64))),128))])):Z(``,!0)]),L(`div`,sn,[s[14]||=L(`div`,{class:`filter-logic-line`},null,-1),J(_,{"model-value":e.filters.filterLogicTriggers,options:W(ue),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":s[8]||=e=>N(`filterLogicTriggers`,e)},null,8,[`model-value`,`options`]),s[15]||=L(`div`,{class:`filter-logic-line`},null,-1)]),L(`div`,cn,[L(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:s[9]||=e=>R(`eventTypes`)},[L(`span`,null,z(i.$t(`views.recordings.event_type`)),1),(F(),q(Q(W(M).eventTypes?W(re):W(k)),{class:`w-4 h-4 text-muted`}))]),W(M).eventTypes?(F(),B(`div`,ln,[(F(!0),B(H,null,P(W(fe),t=>(F(),B(`label`,{key:t.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[J(g,{"model-value":e.filters.eventTypes.includes(t.value),binary:!0,"onUpdate:modelValue":e=>be(t.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(F(),q(Q(t.icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,z(t.label),1)]))),128))])):Z(``,!0)]),L(`div`,un,[s[16]||=L(`div`,{class:`filter-logic-line`},null,-1),J(_,{"model-value":e.filters.filterLogicAttributes,options:W(ue),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":s[10]||=e=>N(`filterLogicAttributes`,e)},null,8,[`model-value`,`options`]),s[17]||=L(`div`,{class:`filter-logic-line`},null,-1)]),L(`div`,dn,[L(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:s[11]||=e=>R(`attributes`)},[L(`span`,null,z(i.$t(`views.recordings.attributes`)),1),(F(),q(Q(W(M).attributes?W(re):W(k)),{class:`w-4 h-4 text-muted`}))]),W(M).attributes?(F(),B(`div`,fn,[(F(!0),B(H,null,P(W(ge),t=>(F(),B(`label`,{key:t.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[J(g,{"model-value":e.filters.hasAttributes.includes(t.value),binary:!0,"onUpdate:modelValue":e=>Se(t.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(F(),q(Q(t.icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,z(t.label),1)]))),128)),L(`label`,pn,[J(g,{"model-value":e.filters.eventTypes.includes(W(pe).value),binary:!0,"onUpdate:modelValue":s[12]||=e=>be(W(pe).value)},null,8,[`model-value`]),(F(),q(Q(W(pe).icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,z(W(pe).label),1)])])):Z(``,!0)])],4)],4)}}}),[[`__scopeId`,`data-v-0eed0371`]]),gn={class:`font-semibold text-xl truncate`},_n={class:`w-full h-full relative`},vn={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10`},yn={class:`relative z-2 page-title !m-0`},bn={key:1,class:`fixed right-0 z-10 h-[calc(40px+1rem)] py-2 pr-2 flex items-center`},xn={key:1,class:`flex justify-center py-4`},Sn={key:2,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},Cn={class:`text-muted text-sm`},wn=288,Tn=we({__name:`Recordings`,setup(e){let t=new M,n=new ce,a=me(),o=le(),{openEpisodePlayer:s}=ie(),c=v(`@camera.ui/camera-ui-nvr`),l=de(),{t:d}=i(),{smBreakpoint:f,xlBreakpoint:h,mdBreakpoint:g}=T(),{registerScrollToTop:ee}=j();if(typeof VideoDecoder<`u`){let e=x({cacheSize:20});be(_,e),y(()=>e.dispose())}let{results:b,isSearching:S,isAvailable:C,hasSearched:w,search:ne,clear:A}=p(),{data:ae}=t.getCamerasQuery({page:1,pageSize:-1}),{data:ge}=n.getUserQuery(G(()=>o.user?.username??``)),P={"1h":36e5,"1d":864e5,"1w":6048e5,"1m":2592e6},ye=ve(`gridRef`),R=ve(`viewMenuRef`),U=V(`closed`),we=V(!1),K=V({search:``,semanticQuery:``,filterLogicTriggers:`or`,filterLogicAttributes:`or`,cameraIds:[],timeRange:null,customDateRange:null,eventTypes:[],audioLabels:[],hasAttributes:[],sensorEvents:[],gridRegions:[],minConfidence:.5,minSemanticScore:.5,onlyWithRecordings:!0}),De=Ce({state:`ended`,hasDetections:!0,withRecordingInfo:!0,hasRecording:!0}),X=JSON.stringify(De.value),Q=V(!1),ke=Ce([]),Ae=V(null),je=!1,$=G(()=>h.value?!0:U.value===`opened`),Me=G(()=>g.value),Ve=G(()=>g.value?`0px`:$.value?`${wn}px`:`0px`),He=G(()=>(ae.value?.result??[]).map(e=>({id:e._id,name:e.name}))),We=G(()=>{let e=new Map;for(let t of He.value)e.set(t.id,t.name);return e}),Ge=G(()=>{let e=new Map;for(let t of ae.value?.result??[])e.set(t._id,t);return e}),qe=G(()=>K.value.cameraIds),Je=G(()=>He.value.map(e=>e.id));ee(()=>ye.value?.scrollToTop());let{events:Ye,isLoading:Xe,hasMore:Ze,loadMore:Qe,loadThumbnails:$e,deleteEvents:et}=m({availableCameraIds:Je,cameraIds:qe,realtime:!0,pageSize:40,filter:De,withEpisodes:!0}),tt=G(()=>{let e=new Map;for(let t of b.value??[]){let n=e.get(t.eventId);(!n||t.score>n)&&e.set(t.eventId,t.score)}return e}),nt=G(()=>w.value),rt=G(()=>{let e=Ye.value.filter(e=>e.state===`ended`),t=K.value;if(t.timeRange&&P[t.timeRange]){let n=Date.now()-P[t.timeRange];e=e.filter(e=>e.startTime>=n)}if(t.gridRegions.length>0&&(e=e.filter(e=>e.segments.some(e=>e.detections.some(e=>e.box&&Le(e.box,t.gridRegions))))),nt.value){let n=t.minSemanticScore*.23+.15;e=e.filter(e=>{let t=tt.value.get(e.id);return t!=null&&t>=n}),e.sort((e,t)=>(tt.value.get(t.id)??0)-(tt.value.get(e.id)??0))}return e}),it=G(()=>{if(Q.value||nt.value)return[];c.storeVersion.value;let e=K.value;if(e.gridRegions.length>0)return[];let t=qe.value.length>0?qe.value:Je.value,n=e.timeRange&&P[e.timeRange]?Date.now()-P[e.timeRange]:0;if(Ze.value){let e=1/0;for(let t of Ye.value)e=Math.min(e,t.thumbnailAt??t.startTime);n=Math.max(n,e)}let r=[];for(let e of c.getEpisodes())e.description&&(n&&e.endTime<n||t.length>0&&!e.members.some(e=>t.includes(e.cameraId))||r.push({event:void 0,key:`episode:${e.id}`,episode:e}));return r});function at(e){return e.episode?e.episode.endTime:e.event.thumbnailAt??e.event.startTime}let ot=G(()=>{if(Q.value&&ke.value.length)return ke.value;let e=rt.value.map(e=>({event:e,key:e.id}));return it.value.length&&(e.push(...it.value),e.sort((e,t)=>at(t)-at(e))),e}),st=G(()=>ue(void 0,`admin`)),{selectionMode:ct,selectedIds:lt,allSelected:ut,bulkBusy:dt,enterSelectionMode:ft,exitSelectionMode:pt,toggleSelectAll:mt,toggleSelection:ht}=D(rt,e=>e.id);function gt(){let e=[...lt.value];!e.length||dt.value||a.openTextDialog({data:{title:d(`components.dialog.title.confirm`),contentText:d(`views.recordings.delete_selected_confirm`,{count:e.length}),confirmText:d(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{dt.value=!0;try{await et(e),pt(),l.add({severity:`success`,detail:d(`views.recordings.delete_selected_done`,{count:e.length}),life:5e3})}catch(e){l.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{dt.value=!1}}})}let _t=G(()=>[{key:`ungroup`,label:d(`views.recordings.ungroup`),description:d(`views.recordings.ungroup_hint`),toggle:!0,toggleState:Q.value,onClick:()=>{je=!0,Q.value=!Q.value,o.updateUser({preferences:{recordings:{ungrouped:Q.value}}})}},{key:`onlyWithRecordings`,label:d(`views.recordings.only_with_recordings`),description:d(`views.recordings.only_with_recordings_hint`),toggle:!0,toggleState:K.value.onlyWithRecordings,onClick:()=>{K.value={...K.value,onlyWithRecordings:!K.value.onlyWithRecordings}}}]);function vt(){a.openComponentDialog(Et,{data:{title:d(`views.recordings.export.title`),contentProps:{cameras:He.value,preselect:K.value.cameraIds?.length?K.value.cameraIds:[]},confirmText:d(`views.recordings.export.confirm`)}})}function yt(){let e=U.value;U.value=e===`opened`?`closed`:`opened`}function bt(){U.value=`closed`}function xt(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}function St(e){!e.semanticQuery?.trim()&&K.value.semanticQuery?.trim()&&A(),K.value=e}function Ct(e){if(!e.trim()){A();return}ne(e)}async function wt(e){let t=c.getEpisode(e);t||=(await c.loadEpisodes({limit:50}),c.getEpisode(e)),t&&s(t,Ge.value)}function Tt(e){let t=Ge.value.get(e.cameraId);t&&a.openComponentDialog(fe,{data:{title:t.name,stayActive:!0,hideCancelButton:!0,hideConfirmButton:!0,contentProps:{camera:t,eventTimestamp:e.startTime},headerActions:e.segments?.some(e=>e?.description)?[{icon:se,toggle:!0,onClick:()=>{}}]:void 0,draggable:!0,blockDragOnSelectors:[`.p-dialog-body`],dismissableMask:!1,modal:!1,dialogContentClass:`!px-0 h-full`,goTo:`/cameras/${t.name}?startTs=${e.startTime}`},dialogSize:{desktop:{maxWidth:`800px`,maxHeight:`calc(100vh - max(1rem, env(safe-area-inset-top, 0px)) - max(1rem, env(safe-area-inset-bottom, 0px)))`,width:`50vw`}}})}return Y(h,e=>{e&&(U.value=`closed`)}),Y(K,e=>{let t=e.eventTypes.length>0||e.sensorEvents.length>0||e.audioLabels.length>0||e.hasAttributes.length>0,n={types:e.eventTypes.length>0?e.eventTypes:void 0,triggers:e.sensorEvents.length>0?e.sensorEvents:void 0,triggerLabels:e.audioLabels.length>0?e.audioLabels:void 0,attributes:e.hasAttributes.length>0?e.hasAttributes:void 0,filterLogicTriggers:t?e.filterLogicTriggers:void 0,filterLogicAttributes:t?e.filterLogicAttributes:void 0,search:e.search||void 0,minConfidence:e.minConfidence>0?e.minConfidence:void 0,state:`ended`,hasDetections:!t,withRecordingInfo:!0,hasRecording:e.onlyWithRecordings||void 0},r=JSON.stringify(n);r!==X&&(X=r,De.value=n)},{deep:!0,immediate:!0}),Y(ge,e=>{if(!e||je)return;let t=e.preferences?.recordings?.ungrouped;t!==void 0&&(Q.value=t)},{immediate:!0}),Y([Q,rt],([e,t])=>{ke.value=e?xt(t):[]}),Y(()=>K.value.cameraIds,e=>{e.length!==1&&K.value.gridRegions.length>0&&(K.value={...K.value,gridRegions:[]})}),Te(()=>{requestAnimationFrame(()=>{we.value=!0})}),(e,t)=>{let n=te,i=Ke,a=Ue,o=r,s=Re,c=Be,l=ze,d=E,p=Fe,m=Ie,g=Pe,_=_e,v=he,ee=k,y=u;return F(),B(`div`,null,[J(n,{position:`center`},{default:I(()=>[L(`span`,gn,z(e.$t(`views.recordings.title`)),1)]),_:1}),J(n,{position:`left`},{default:I(()=>[J(o,{id:`recordings-sidebar-toggle`,severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:yt},{icon:I(()=>[W(U)===`closed`?(F(),q(i,{key:0,width:`100%`,height:`100%`})):(F(),q(a,{key:1,width:`100%`,height:`100%`}))]),_:1})]),_:1}),J(n,{position:`right`},{default:I(()=>[J(o,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:t[0]||=e=>W(R)?.toggleMenu(e)},{icon:I(()=>[J(s,{width:`100%`,height:`100%`})]),_:1})]),_:1}),J(hn,{filters:W(K),cameras:W(He),"is-open":W($),"is-overlay":W(Me),"result-count":W(ot).length,"semantic-count":W(nt)?W(tt).size:void 0,"semantic-search-available":W(C),"semantic-search-loading":W(S),"onUpdate:filters":St,onSemanticSearch:Ct,onClose:bt},null,8,[`filters`,`cameras`,`is-open`,`is-overlay`,`result-count`,`semantic-count`,`semantic-search-available`,`semantic-search-loading`]),(F(),q(Ee,{to:`#container`,defer:``},[W($)&&W(Me)?(F(),B(`div`,{key:0,class:`fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1`,onClick:bt})):Z(``,!0)])),L(`main`,{class:`relative w-full h-full`,style:Oe({paddingLeft:W(Ve),transition:W(we)?`padding-left 200ms`:void 0})},[L(`div`,_n,[W(f)?Z(``,!0):(F(),B(`div`,vn,[t[3]||=L(`div`,{class:`ml-2`},null,-1),W(h)?Z(``,!0):(F(),q(o,{key:0,id:`recordings-sidebar-toggle`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:yt},{icon:I(()=>[W($)?(F(),q(c,{key:0,width:`100%`,height:`100%`})):(F(),q(l,{key:1,width:`100%`,height:`100%`}))]),_:1})),L(`h1`,yn,z(e.$t(`views.recordings.title`)),1),t[4]||=L(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[L(`div`),L(`div`),L(`div`),L(`div`),L(`div`),L(`div`)],-1)])),W(f)?Z(``,!0):(F(),B(`div`,bn,[xe((F(),q(o,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,onClick:t[1]||=e=>W(R)?.toggleMenu(e)},{icon:I(()=>[J(s,{width:`100%`,height:`100%`})]),_:1})),[[y,{value:e.$t(`views.recordings.view_options`)},void 0,{bottom:!0}]])])),L(`div`,{class:Se([`px-2 h-full w-full flex flex-col`,{"pt-4":W(f),"pt-[calc(40px+2rem)]":!W(f)}])},[W(ot).length?(F(),q(m,{key:0,ref_key:`gridRef`,ref:ye,items:W(ot),"min-item-width":W(f)?160:180,gap:8,"has-more":W(Ze),"load-more":W(Qe),"item-key":e=>e.key,class:`flex-1 min-h-0`},{item:I(({item:e})=>[e.episode?(F(),q(d,{key:0,episode:e.episode,"camera-by-id":W(Ge),fluid:``,"click-disabled":W(ct)},null,8,[`episode`,`camera-by-id`,`click-disabled`])):(F(),q(p,{key:1,event:e.event,"camera-name":W(We).get(e.event.cameraId),camera:W(Ge).get(e.event.cameraId),"load-thumbnails":W($e),"semantic-score":W(tt).get(e.event.id),"seg-index":e.segIndex,"selection-mode":W(ct),selected:W(lt).has(e.event.id),"sibling-active":e.segIndex!==void 0&&W(Ae)===e.event.id,onSelect:t=>W(ht)(e.event.id),onScrollToEvent:()=>Tt(e.event),onOpenEpisode:wt,onMouseenter:t=>Ae.value=e.segIndex===void 0?null:e.event.id,onMouseleave:t[2]||=e=>Ae.value=null},null,8,[`event`,`camera-name`,`camera`,`load-thumbnails`,`semantic-score`,`seg-index`,`selection-mode`,`selected`,`sibling-active`,`onSelect`,`onScrollToEvent`,`onMouseenter`]))]),_:1},8,[`items`,`min-item-width`,`has-more`,`load-more`,`item-key`])):Z(``,!0),W(Xe)||W(S)?(F(),B(`div`,xn,[J(g,{width:`24px`,height:`24px`,class:`text-muted`})])):Z(``,!0),!W(rt).length&&!W(Xe)&&!W(S)?(F(),B(`div`,Sn,[J(_,{class:`w-12 h-12 text-muted`}),L(`span`,Cn,z(e.$t(`views.recordings.no_recordings`)),1)])):Z(``,!0)],2)])],4),W(He).length?(F(),q(ee,{key:0,"force-visible":W(ct),"scroll-y":W(ye)?.scrollY??0},{default:I(()=>[W(ct)?(F(),B(H,{key:1},[J(v,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:W(Ne),"icon-props":{width:`100%`,height:`100%`},onClick:W(pt)},null,8,[`tooltip-props`,`icon`,`onClick`]),J(v,{grouped:``,"tooltip-props":{value:W(ut)?e.$t(`components.form.tooltip.deselect_all`):e.$t(`components.form.tooltip.select_all`)},"button-props":{severity:W(ut)?`primary`:`secondary`},icon:W(N),"icon-props":{width:`100%`,height:`100%`},onClick:W(mt)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),J(v,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.delete_selected`)},"button-props":{severity:`danger`,disabled:!W(lt).size||W(dt)},icon:W(re),"icon-props":{width:`100%`,height:`100%`},onClick:gt},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(F(),B(H,{key:0},[W(st)&&W(rt).length?(F(),q(v,{key:0,grouped:``,"tooltip-props":{value:e.$t(`views.recordings.select`)},"button-props":{severity:`secondary`},icon:W(O),"icon-props":{width:`100%`,height:`100%`},onClick:W(ft)},null,8,[`tooltip-props`,`icon`,`onClick`])):Z(``,!0),J(v,{grouped:``,"tooltip-props":{value:e.$t(`views.recordings.export.title`)},"button-props":{class:`text-white`},icon:W(pe),"icon-props":{width:`26px`,height:`26px`},onClick:vt},null,8,[`tooltip-props`,`icon`])],64))]),_:1},8,[`force-visible`,`scroll-y`])):Z(``,!0),J(oe,{ref_key:`viewMenuRef`,ref:R,items:W(_t),"auto-hide":!1,popover:{pt:{root:{class:`w-[22rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{Tn as default};
@@ -1 +0,0 @@
1
- .recordings-sidebar[data-v-0eed0371]{background:var(--subnavbar-background);border-right-style:solid;border-right-color:var(--border-color);height:100%}.sidebar-section-title[data-v-0eed0371]{text-transform:uppercase;color:var(--text-muted-color);letter-spacing:.05em;background:0 0;border:none;padding:0;font-size:.7rem;font-weight:700}.sidebar-divider[data-v-0eed0371]{border-top:1px solid var(--border-color)}.filter-logic-divider[data-v-0eed0371]{align-items:center;gap:.5rem;display:flex}.filter-logic-line[data-v-0eed0371]{background:var(--border-color);flex:1;height:1px}[data-v-0eed0371] .filter-logic-toggle{flex-shrink:0}[data-v-0eed0371] .filter-logic-toggle .p-togglebutton{letter-spacing:.05em;text-transform:uppercase;min-width:0;padding:.15rem .5rem;font-size:.6rem;font-weight:700}.semantic-textarea[data-v-0eed0371]{resize:vertical;min-height:2.5rem}
@@ -1 +0,0 @@
1
- import{t as e}from"./SettingsAccount-DUy_W02_.js";export{e as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./SettingsAppearance-CoTdsIwM.js";export{e as default};
@@ -1 +0,0 @@
1
- import{$r as e,Ft as t,H as n}from"./vendor-cameraui-Cf0XVNQ7.js";import{Fn as r,Nn as i,Xn as a,an as o,br as s,cn as c,cr as l,en as u,fn as d,gr as f,hn as p,jn as m,on as h,pn as g,sn as _}from"./vendor-BaiDFVEr.js";import{a as v,z as y}from"./vendor-primevue-BDu2BpXv.js";import{t as b}from"./usePermissions-C2wQBWmH.js";var x={class:`flex flex-col w-full gap-6`},S={class:`card-title`},C={class:`flex flex-col gap-6`},w={class:`text-sm`},T={class:`flex flex-col field-switch-gap min-w-0`},E={class:`cui-label-switch`},D={class:`flex items-center gap-2 ml-auto shrink-0`},O=p({__name:`SettingsPermissions`,setup(p){let{states:O,canOpenSettings:k,refresh:A,request:j,openSettings:M}=b(),N=[{name:`microphone`},{name:`location`},{name:`notifications`}],P=l(null);function F(e){return e===`granted`?`success`:e===`denied`?`danger`:e===`prompt`?`warn`:`secondary`}async function I(e){P.value=e;try{await j(e)}finally{P.value=null}}return e(document,`visibilitychange`,()=>{document.visibilityState===`visible`&&A()}),m(()=>{A()}),(e,l)=>{let p=y,m=v,b=t,A=n;return i(),c(`div`,null,[o(`div`,x,[o(`div`,null,[o(`span`,S,s(e.$t(`views.settings.permissions.general`)),1),g(A,{class:`cui-card`},{content:a(()=>[o(`div`,C,[o(`span`,w,s(e.$t(`views.settings.permissions.general_info`)),1),(i(),c(u,null,r(N,t=>o(`div`,{key:t.name,class:`flex items-center gap-4`},[o(`div`,T,[o(`label`,E,s(e.$t(`views.settings.permissions.${t.name}`)),1),g(p,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:a(()=>[d(s(e.$t(`views.settings.permissions.${t.name}_info`)),1)]),_:2},1024),f(O)[t.name]===`denied`&&!f(k)?(i(),h(p,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:a(()=>[d(s(e.$t(`views.settings.permissions.browser_hint`)),1)]),_:1})):_(``,!0)]),o(`div`,D,[g(m,{severity:F(f(O)[t.name]),value:e.$t(`views.settings.permissions.state_${f(O)[t.name]}`)},null,8,[`severity`,`value`]),f(O)[t.name]===`prompt`||f(O)[t.name]===`unknown`?(i(),h(b,{key:0,loading:f(P)===t.name,class:`cui-button-small`,label:e.$t(`views.settings.permissions.request`),onClick:e=>I(t.name)},null,8,[`loading`,`label`,`onClick`])):f(O)[t.name]===`denied`&&f(k)?(i(),h(b,{key:1,severity:`secondary`,class:`cui-button-small`,label:e.$t(`views.settings.permissions.open_settings`),onClick:f(M)},null,8,[`label`,`onClick`])):_(``,!0)])])),64))])]),_:1})])])])}}});export{O as default};
@@ -1 +0,0 @@
1
- .cf-login-setup[data-v-788da547],.cui-pair-layout[data-v-788da547]{flex-direction:column;gap:1.5rem;display:flex}@media (width>=768px){.cf-login-setup[data-v-788da547],.cui-pair-layout[data-v-788da547]{flex-direction:row;align-items:flex-start;gap:2rem}}.cf-login-qr[data-v-788da547],.cui-pair-qr[data-v-788da547]{flex-direction:column;flex-shrink:0;align-items:center;display:flex}