@camera.ui/server 2.0.10 → 2.0.11

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 (274) hide show
  1. package/dist/interface/assets/{404-ChR2IVti.js → 404-COkoHYdK.js} +1 -1
  2. package/dist/interface/assets/{About-CDQ55crC.js → About-qJICwbGH.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-CiJGwx7_.js → Adminpanel-D58GDcYK.js} +1 -1
  4. package/dist/interface/assets/Automation-Dp_xaEqJ.js +2 -0
  5. package/dist/interface/assets/{AutomationImport-DWQkfeuR.js → AutomationImport-jG2DzCAw.js} +2 -2
  6. package/dist/interface/assets/AutomationStore-4JFCinMU.js +2 -0
  7. package/dist/interface/assets/{AutomationStoreDetail-D15G_MQy.js → AutomationStoreDetail-yBtpTcZc.js} +2 -2
  8. package/dist/interface/assets/Automations-BGsRPCnO.js +2 -0
  9. package/dist/interface/assets/{Camera-Brp9vdg2.js → Camera-C1_jdI_c.js} +2 -2
  10. package/dist/interface/assets/{CameraConsole-dx9vB5ht.js → CameraConsole-BjtK8-Jv.js} +2 -2
  11. package/dist/interface/assets/{Cameras-DDut77Xv.js → Cameras-BmjWXAZ8.js} +2 -2
  12. package/dist/interface/assets/Camview-wGaYaDmi.js +1 -0
  13. package/dist/interface/assets/{Config-Cy5j6yf_.js → Config-CuF6eGTD.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionCameraControl-CrWmGvdE.js → ConfigActionCameraControl-DjD6pSYf.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionDelay-1kd69ysm.js → ConfigActionDelay-DGZlBe84.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-XY-r_hEX.js → ConfigActionHttp-h5zpYYny.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-DJovQd4V.js → ConfigActionImageInput-xab5Mae-.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-DsX-q9M_.js → ConfigActionMqtt-BnNmQUNe.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-BM2X-K-D.js → ConfigActionNotification-DGwL1eKM.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionOutput-DMYPThT1.js → ConfigActionOutput-h2IebNMX.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionPlugin-rCaB0HjK.js → ConfigActionPlugin-B6pIqGWe.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionSensor-gxpOX2DC.js → ConfigActionSensor-DBf7_RrD.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSnapshot-8vrwtN10.js → ConfigActionSnapshot-Cs2TG5fZ.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionVariable-Dy8ZnhCO.js → ConfigActionVariable-BPK-FHZ-.js} +1 -1
  25. package/dist/interface/assets/{ConfigConditionIfElse-DK9Z6-kN.js → ConfigConditionIfElse-BNfUIXNh.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionSensorState-BaFj9WYl.js → ConfigConditionSensorState-D1IWa7jK.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSwitch-_Gxu6OYc.js → ConfigConditionSwitch-C7_-2l4Z.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionTime-Ce8AortY.js → ConfigConditionTime-DCTdB9RZ.js} +1 -1
  29. package/dist/interface/assets/{ConfigSensorValueInput-BIiQ8NN6.js → ConfigSensorValueInput-Dt09C19b.js} +1 -1
  30. package/dist/interface/assets/{ConfigTriggerDetection-CCCi-Tof.js → ConfigTriggerDetection-CVTb6TEu.js} +1 -1
  31. package/dist/interface/assets/ConfigTriggerGeofence-Cb62v6rf.js +1 -0
  32. package/dist/interface/assets/{ConfigTriggerManual-DZPdLXoe.js → ConfigTriggerManual-agJhIaCy.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerMqtt-4Gp-qhCg.js → ConfigTriggerMqtt-DWZ79tPv.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerSchedule-DQX6czW4.js → ConfigTriggerSchedule-C38lrm2R.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSensor-CLnC2yvE.js → ConfigTriggerSensor-BKXoFFFT.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSystem-Gae5o59O.js → ConfigTriggerSystem-DqoMfULb.js} +1 -1
  37. package/dist/interface/assets/ConfigTriggerWebhook-DunygdEo.js +1 -0
  38. package/dist/interface/assets/Console-DL4o8TCN.js +1 -0
  39. package/dist/interface/assets/{CuiActionButton-BAlSwXzv.js → CuiActionButton-iaZkXylf.js} +1 -1
  40. package/dist/interface/assets/{CuiAvatar-DeBKq6dT.js → CuiAvatar--d4yBFev.js} +1 -1
  41. package/dist/interface/assets/{CuiBBoxPlayground-yYOBCXTq.js → CuiBBoxPlayground-BuDfU2lQ.js} +1 -1
  42. package/dist/interface/assets/CuiBottomSheet-DluJK839.js +1 -0
  43. package/dist/interface/assets/{CuiBottomSheet-udULz0wI.js → CuiBottomSheet-o1iNIub8.js} +1 -1
  44. package/dist/interface/assets/CuiCameraCard-CNkJcJNk.js +1 -0
  45. package/dist/interface/assets/{CuiCameraPipCard-BxbUK-93.js → CuiCameraPipCard-NA4CctaN.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraRecordings-C5bd4VAf.js → CuiCameraRecordings-Dg_xNATQ.js} +1 -1
  47. package/dist/interface/assets/CuiCameraShares-BSdoTLlP.js +1 -0
  48. package/dist/interface/assets/CuiCameraSnapshot-Dp6cLkMa.js +1 -0
  49. package/dist/interface/assets/{CuiCameraTable-CDpfm8fi.js → CuiCameraTable-16e0lAA5.js} +1 -1
  50. package/dist/interface/assets/{CuiDataTable-CB7aMmp9.js → CuiDataTable-BDb1Qvzm.js} +1 -1
  51. package/dist/interface/assets/{CuiFloatingButton-DdI-E8dh.js → CuiFloatingButton-B64PYWE2.js} +1 -1
  52. package/dist/interface/assets/{CuiImage-DBQAYfn1.js → CuiImage-D_DDxN1t.js} +1 -1
  53. package/dist/interface/assets/{CuiMenu--tB8FqMF.js → CuiMenu-BmgnEZun.js} +1 -1
  54. package/dist/interface/assets/{CuiPluginCard-Cb0XSLIr.js → CuiPluginCard-C0GXkGJ3.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginCategoryChip-yMnZpSGr.js → CuiPluginCategoryChip-R5WUBAUw.js} +1 -1
  56. package/dist/interface/assets/CuiPluginOAuthButton-CY3c3HRs.js +2 -0
  57. package/dist/interface/assets/{CuiPluginTrustBadge-Bcnptf84.js → CuiPluginTrustBadge-QRsixP01.js} +1 -1
  58. package/dist/interface/assets/{CuiQRCode-D9QNUEmx.js → CuiQRCode-CsxVDVaU.js} +1 -1
  59. package/dist/interface/assets/{CuiRecordingsGrid-DlKUfbeS.js → CuiRecordingsGrid-DycYYi7W.js} +1 -1
  60. package/dist/interface/assets/CuiSchema-D1-Z2sTy.js +1 -0
  61. package/dist/interface/assets/{CuiTopNavbarItem--MOi9UUw.js → CuiTopNavbarItem-CIO_h1T0.js} +1 -1
  62. package/dist/interface/assets/{CuiTopbarSlot-Bcw46PzA.js → CuiTopbarSlot-C6t4NmW-.js} +1 -1
  63. package/dist/interface/assets/Faces-QSA5E6EG.js +1 -0
  64. package/dist/interface/assets/FirstSteps-CP26tE1m.js +1 -0
  65. package/dist/interface/assets/Instances-Bdy0n3fB.js +1 -0
  66. package/dist/interface/assets/Logs-Bs0C7Yu1.js +6 -0
  67. package/dist/interface/assets/{Menu-GbuCaA_6.js → Menu-DX0KhBBs.js} +1 -1
  68. package/dist/interface/assets/OAuthDeviceFlow-Cci9ex4G.js +1 -0
  69. package/dist/interface/assets/Plugin-CG02A29i.js +1 -0
  70. package/dist/interface/assets/{PluginConsole-CLGkDl1F.js → PluginConsole-Fffl7Yh_.js} +2 -2
  71. package/dist/interface/assets/PluginDetail-CRCMotvN.js +2 -0
  72. package/dist/interface/assets/{PluginSchema-Dy9kDPML.js → PluginSchema-BNEfEDJU.js} +1 -1
  73. package/dist/interface/assets/PluginSearch-CwNCQedL.js +2 -0
  74. package/dist/interface/assets/PluginSearch-GD7qtALl.js +1 -0
  75. package/dist/interface/assets/Plugins-BNiQus_y.js +1 -0
  76. package/dist/interface/assets/{Recordings-Cz4uWsI9.js → Recordings-dY0k4i3E.js} +1 -1
  77. package/dist/interface/assets/{Settings-is528I5i2.js → Settings-TkiQG2I9.js} +1 -1
  78. package/dist/interface/assets/{SettingsAccount-Y7hpH8Y3.css → SettingsAccount-CBJ_h7eM.css} +1 -1
  79. package/dist/interface/assets/SettingsAccount-Cln0bZPI.js +1 -0
  80. package/dist/interface/assets/SettingsAccount-DvrdANbI.js +1 -0
  81. package/dist/interface/assets/SettingsAppearance-CVMAyxFr.js +1 -0
  82. package/dist/interface/assets/{SettingsAppearance-CGaG9lml.js → SettingsAppearance-CWWSQkIY.js} +1 -1
  83. package/dist/interface/assets/{SettingsBackup-JI_xqcVS.js → SettingsBackup-CZEKi84z.js} +1 -1
  84. package/dist/interface/assets/SettingsMqtt-CeurNe8m.js +1 -0
  85. package/dist/interface/assets/{SettingsNotifications-FWWveQMH.js → SettingsNotifications-BBYcFlOe.js} +1 -1
  86. package/dist/interface/assets/{SettingsRecordings-D-S7rofE.js → SettingsRecordings-8JRnUwvv.js} +1 -1
  87. package/dist/interface/assets/SettingsRemote-BXLy9grM.js +1 -0
  88. package/dist/interface/assets/SettingsRemote-DYld6-1F.css +1 -0
  89. package/dist/interface/assets/SettingsSystem-BwVJ2-Ws.js +2 -0
  90. package/dist/interface/assets/{SettingsUsers-DvuiYjNg.js → SettingsUsers-CMsX8YO6.js} +1 -1
  91. package/dist/interface/assets/{Terminal-CNzw8wk3.js → Terminal-CNAaV5h5.js} +3 -3
  92. package/dist/interface/assets/{VariableInput-DW39Zo4d.js → VariableInput-BuXTKXXC.js} +1 -1
  93. package/dist/interface/assets/{VariableSuggestions-DwhFBKzJ.js → VariableSuggestions-BIPtw8GW.js} +1 -1
  94. package/dist/interface/assets/VersionsHandler-0Ol7oxfg.js +7 -0
  95. package/dist/interface/assets/Workers-BYGXvih8.js +2 -0
  96. package/dist/interface/assets/{Workers-E6LM_yAl.css → Workers-DmcQx0L8.css} +1 -1
  97. package/dist/interface/assets/api-BEwr0GLC.css +2 -0
  98. package/dist/interface/assets/api-CeJqvqFj.js +2 -0
  99. package/dist/interface/assets/{api-Br3Jmdj6.js → api-DudQz5TK.js} +1 -1
  100. package/dist/interface/assets/auth-BKlPnLfY.js +1 -0
  101. package/dist/interface/assets/automations-Dtp3-KSy.js +1 -0
  102. package/dist/interface/assets/{automations-Dd-6vvka.js → automations-eQnuQOEs.js} +1 -1
  103. package/dist/interface/assets/bell-outline-CHhIZudN.js +1 -0
  104. package/dist/interface/assets/{cameras-DCMMwuui.js → cameras-BySMxwdP.js} +1 -1
  105. package/dist/interface/assets/{cameras.schema-99F6GE0u.js → cameras.schema-DVnsQl9j.js} +1 -1
  106. package/dist/interface/assets/cloudHandoff-DOYq2IS2.js +1 -0
  107. package/dist/interface/assets/{config-BiEjYldh.js → config-CDCKrp2V.js} +1 -1
  108. package/dist/interface/assets/{deviceId-sq3mLBKa.js → deviceId-O-kfs3nO.js} +1 -1
  109. package/dist/interface/assets/{hasPermission-Dm18Z17u.js → hasPermission-DADXQ_dj.js} +1 -1
  110. package/dist/interface/assets/instances-DVk8sRuN.js +1 -0
  111. package/dist/interface/assets/main-DHUUsPUM.js +3 -0
  112. package/dist/interface/assets/nodeDefinitions-DUlwYSC1.js +1 -0
  113. package/dist/interface/assets/{notifications-D87Lhlir.js → notifications-Dnh_ylVF.js} +1 -1
  114. package/dist/interface/assets/plugins-CHRZiPTq.js +1 -0
  115. package/dist/interface/assets/{round-restart-alt-CcJGggln.js → round-restart-alt-BRh54UpI.js} +1 -1
  116. package/dist/interface/assets/router-B6AZz5fb.js +2 -0
  117. package/dist/interface/assets/{router-qrIK2v9X.css → router-M08TaIji.css} +1 -1
  118. package/dist/interface/assets/{routerState-B08WcvfU.js → routerState-CencmCOo.js} +1 -1
  119. package/dist/interface/assets/{server-D7bl4wSy.js → server-zkNDKqjz.js} +1 -1
  120. package/dist/interface/assets/shares-DooKpXt5.js +1 -0
  121. package/dist/interface/assets/{theme-BG6n3TRA.js → theme-Dlx1uc6I.js} +1 -1
  122. package/dist/interface/assets/transit-connection-variant-DfztpRMW.js +1 -0
  123. package/dist/interface/assets/types-DwLgLlNL.js +1 -0
  124. package/dist/interface/assets/{ui-Cv0M3koY.js → ui-BajsbwJJ.js} +1 -1
  125. package/dist/interface/assets/{useAppVersion-DCmhFeIs.js → useAppVersion-Vx2rWjdR.js} +1 -1
  126. package/dist/interface/assets/useBackupRestore-CtDDTNYM.js +1 -0
  127. package/dist/interface/assets/{useBiometricCredentials-Tq1nEG8V.js → useBiometricCredentials-DnEuKj2Y.js} +1 -1
  128. package/dist/interface/assets/useCameraOptions-CurEfrEs.js +1 -0
  129. package/dist/interface/assets/{useCuiCameraDrawer-BcAYizqy.js → useCuiCameraDrawer-eH0m75Mk.js} +1 -1
  130. package/dist/interface/assets/{useCuiDialog-DLoFzodG.js → useCuiDialog-CGak2kyV.js} +1 -1
  131. package/dist/interface/assets/{useFileDownload-C5quSdZR.js → useFileDownload-CaB5Myfa.js} +1 -1
  132. package/dist/interface/assets/useLogsSocket-B47qvN41.js +5 -0
  133. package/dist/interface/assets/useLogsSocket-CoA-Nq-_.css +1 -0
  134. package/dist/interface/assets/{useServerRestart-DnT0ZOYm.js → useServerRestart-COGxcO4B.js} +1 -1
  135. package/dist/interface/assets/{useSharedComposables-ffwWlpSL.js → useSharedComposables-DC7dAxBt.js} +1 -1
  136. package/dist/interface/assets/{useStreamStatus-CD18kTqt.js → useStreamStatus-Cr_bBYAe.js} +1 -1
  137. package/dist/interface/assets/{useUpdateChannel-DbBXpySY.js → useUpdateChannel-D_SN9IPN.js} +1 -1
  138. package/dist/interface/assets/{useUserOptions-Bb0ACtxn.js → useUserOptions-CtgFdv3y.js} +1 -1
  139. package/dist/interface/assets/{users.schema-BGeyXreN.js → users.schema-vs5FAhpT.js} +1 -1
  140. package/dist/interface/assets/vendor-cameraui-D5fd9Ars.js +1978 -0
  141. package/dist/interface/assets/{vendor-core-CZuWsjWr.js → vendor-core-D9amXF-u.js} +1 -1
  142. package/dist/interface/assets/{vendor-primevue-DB14kOh6.js → vendor-primevue-Ba4LruKV.js} +1 -1
  143. package/dist/interface/assets/{view-grid-DRwNJzxD.js → view-grid-jcP3VugM.js} +1 -1
  144. package/dist/interface/index.html +46 -45
  145. package/dist/interface/sw.js +1 -1
  146. package/dist/server/package.json +7 -7
  147. package/dist/server/requirements.txt +1 -1
  148. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +10 -2
  149. package/dist/server/src/api/controllers/instances.controller.d.ts +2 -2
  150. package/dist/server/src/api/controllers/instances.controller.js +7 -7
  151. package/dist/server/src/api/controllers/instances.controller.js.map +1 -1
  152. package/dist/server/src/api/controllers/plugins.controller.js +1 -1
  153. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  154. package/dist/server/src/api/database/types.d.ts +8 -0
  155. package/dist/server/src/api/routes/instances.routes.js +2 -1
  156. package/dist/server/src/api/routes/instances.routes.js.map +1 -1
  157. package/dist/server/src/api/schemas/config.schema.d.ts +2 -0
  158. package/dist/server/src/api/schemas/config.schema.js +1 -0
  159. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  160. package/dist/server/src/api/schemas/instances.schema.d.ts +4 -0
  161. package/dist/server/src/api/schemas/instances.schema.js +5 -0
  162. package/dist/server/src/api/schemas/instances.schema.js.map +1 -1
  163. package/dist/server/src/api/services/backupScheduler.service.js +1 -1
  164. package/dist/server/src/api/services/backupScheduler.service.js.map +1 -1
  165. package/dist/server/src/api/services/instances.service.d.ts +12 -3
  166. package/dist/server/src/api/services/instances.service.js +123 -36
  167. package/dist/server/src/api/services/instances.service.js.map +1 -1
  168. package/dist/server/src/api/services/plugins.service.js +14 -2
  169. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  170. package/dist/server/src/api/services/virtualsensors.service.js +2 -2
  171. package/dist/server/src/api/services/virtualsensors.service.js.map +1 -1
  172. package/dist/server/src/api/types/index.d.ts +4 -1
  173. package/dist/server/src/api/websocket/nsp/server.d.ts +1 -0
  174. package/dist/server/src/api/websocket/nsp/server.js +3 -1
  175. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  176. package/dist/server/src/camera/controller.d.ts +2 -1
  177. package/dist/server/src/camera/controller.js +18 -4
  178. package/dist/server/src/camera/controller.js.map +1 -1
  179. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  180. package/dist/server/src/camera/decoder/detection-coordinator.js +37 -6
  181. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  182. package/dist/server/src/camera/decoder/frame-source.d.ts +4 -0
  183. package/dist/server/src/camera/decoder/frame-source.js +22 -1
  184. package/dist/server/src/camera/decoder/frame-source.js.map +1 -1
  185. package/dist/server/src/camera/decoder/worker.d.ts +1 -0
  186. package/dist/server/src/camera/decoder/worker.js +7 -0
  187. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  188. package/dist/server/src/camera/index.d.ts +5 -1
  189. package/dist/server/src/camera/index.js.map +1 -1
  190. package/dist/server/src/camera/sensors/controller.js +4 -3
  191. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  192. package/dist/server/src/go2rtc/api/routes/snapshot.d.ts +3 -3
  193. package/dist/server/src/go2rtc/api/routes/snapshot.js +1 -1
  194. package/dist/server/src/go2rtc/api/routes/snapshot.js.map +1 -1
  195. package/dist/server/src/go2rtc/types.d.ts +3 -0
  196. package/dist/server/src/go2rtc/types.js.map +1 -1
  197. package/dist/server/src/mqtt/bridge.js +1 -1
  198. package/dist/server/src/mqtt/bridge.js.map +1 -1
  199. package/dist/server/src/plugins/schema.js +1 -1
  200. package/dist/server/src/plugins/schema.js.map +1 -1
  201. package/dist/server/src/remote/services/cloudflare-managed.js +16 -5
  202. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
  203. package/dist/server/src/remote/services/cloudflare.d.ts +2 -2
  204. package/dist/server/src/remote/services/cloudflare.js +16 -17
  205. package/dist/server/src/remote/services/cloudflare.js.map +1 -1
  206. package/dist/server/src/remote/services/cloudflaredBinary.d.ts +2 -0
  207. package/dist/server/src/remote/services/cloudflaredBinary.js +20 -0
  208. package/dist/server/src/remote/services/cloudflaredBinary.js.map +1 -0
  209. package/dist/server/src/remote/services/index.d.ts +1 -0
  210. package/dist/server/src/remote/services/index.js +20 -5
  211. package/dist/server/src/remote/services/index.js.map +1 -1
  212. package/dist/server/src/remote/services/urlReadiness.d.ts +11 -0
  213. package/dist/server/src/remote/services/urlReadiness.js +129 -0
  214. package/dist/server/src/remote/services/urlReadiness.js.map +1 -0
  215. package/dist/server/src/rpc/interfaces/device.d.ts +6 -0
  216. package/dist/server/src/services/config/defaults.js +1 -0
  217. package/dist/server/src/services/config/defaults.js.map +1 -1
  218. package/dist/server/src/services/config/types.d.ts +1 -0
  219. package/dist/server/src/utils/npm/index.d.ts +1 -1
  220. package/dist/server/src/utils/npm/index.js +3 -3
  221. package/dist/server/src/utils/npm/index.js.map +1 -1
  222. package/dist/server/src/utils/pythonInstaller.js +3 -3
  223. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  224. package/package.json +7 -7
  225. package/dist/interface/assets/Automation-Kt6pl4MS.js +0 -2
  226. package/dist/interface/assets/AutomationStore-FbQdggSq.js +0 -2
  227. package/dist/interface/assets/Automations-urwh-nzl.js +0 -2
  228. package/dist/interface/assets/Camview-ChimIRuL.js +0 -1
  229. package/dist/interface/assets/ConfigTriggerGeofence-DOxaQSWM.js +0 -1
  230. package/dist/interface/assets/ConfigTriggerWebhook-Czyo2Bs-.js +0 -1
  231. package/dist/interface/assets/Console-DBJHlPg2.js +0 -1
  232. package/dist/interface/assets/CuiBottomSheet-B1jcfI0o.js +0 -1
  233. package/dist/interface/assets/CuiCameraCard-HEi3Hoe-.js +0 -1
  234. package/dist/interface/assets/CuiCameraShares-BNjnm9yr.js +0 -1
  235. package/dist/interface/assets/CuiCameraSnapshot-C-iPOB3g.js +0 -1
  236. package/dist/interface/assets/CuiPluginOAuthButton-CuppMPTq.js +0 -2
  237. package/dist/interface/assets/CuiSchema-B6q285jE.js +0 -1
  238. package/dist/interface/assets/Faces-DtJmIku2.js +0 -1
  239. package/dist/interface/assets/FirstSteps-CsMSK_YI.js +0 -1
  240. package/dist/interface/assets/Instances-BTNzUfGz.js +0 -1
  241. package/dist/interface/assets/Logs-Bic2YIta.js +0 -6
  242. package/dist/interface/assets/OAuthDeviceFlow-DwSJHrqc.js +0 -1
  243. package/dist/interface/assets/Plugin-B8656Gzo.js +0 -1
  244. package/dist/interface/assets/PluginDetail-DS8wUbYr.js +0 -2
  245. package/dist/interface/assets/PluginSearch-DBdp5Ifo.js +0 -1
  246. package/dist/interface/assets/PluginSearch-DFtTwd_R.js +0 -2
  247. package/dist/interface/assets/Plugins-C_kdqAp4.js +0 -1
  248. package/dist/interface/assets/SettingsAccount-CALY2rH0.js +0 -1
  249. package/dist/interface/assets/SettingsAccount-_zSgGuBE.js +0 -1
  250. package/dist/interface/assets/SettingsAppearance-z9tBty3q.js +0 -1
  251. package/dist/interface/assets/SettingsMqtt-B_tzet_5.js +0 -1
  252. package/dist/interface/assets/SettingsRemote-CVuDUBMM.js +0 -1
  253. package/dist/interface/assets/SettingsRemote-T38YVHal.css +0 -1
  254. package/dist/interface/assets/SettingsSystem-J7ZT7oRr.js +0 -2
  255. package/dist/interface/assets/VersionsHandler-CsXazSWK.js +0 -7
  256. package/dist/interface/assets/Workers-BXH8IccG.js +0 -2
  257. package/dist/interface/assets/api-C31uUd3g.css +0 -2
  258. package/dist/interface/assets/api-DR6W2XWy.js +0 -2
  259. package/dist/interface/assets/auth-BJf6VFls.js +0 -1
  260. package/dist/interface/assets/automations-Dt5J3kkY.js +0 -1
  261. package/dist/interface/assets/cloudHandoff-Yc4FJv_l.js +0 -1
  262. package/dist/interface/assets/instances-MscZjRfc.js +0 -1
  263. package/dist/interface/assets/main-4pJkMgxg.js +0 -3
  264. package/dist/interface/assets/nodeDefinitions-5BjF3SJ8.js +0 -1
  265. package/dist/interface/assets/plugins-VeCjoaEi.js +0 -1
  266. package/dist/interface/assets/router-BFG1ClJo.js +0 -2
  267. package/dist/interface/assets/shares-D5xo0sht.js +0 -1
  268. package/dist/interface/assets/transit-connection-variant-CXkATe8I.js +0 -1
  269. package/dist/interface/assets/types-Dyn_Sb2s.js +0 -1
  270. package/dist/interface/assets/useBackupRestore-B-yCV4DL.js +0 -1
  271. package/dist/interface/assets/useCameraOptions-B2lIc9JO.js +0 -1
  272. package/dist/interface/assets/useLogsSocket-4F2-d9fa.css +0 -1
  273. package/dist/interface/assets/useLogsSocket-B1sCzRXK.js +0 -5
  274. package/dist/interface/assets/vendor-cameraui-DDdtrYBn.js +0 -1978
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PluginConsole-CLGkDl1F.js","assets/vendor-ClrOISZp.js","assets/rolldown-runtime-DAXXjFlN.js","assets/useSharedComposables-ffwWlpSL.js","assets/vendor-cameraui-DDdtrYBn.js","assets/vendor-core-CZuWsjWr.js","assets/ui-Cv0M3koY.js","assets/useFileDownload-C5quSdZR.js","assets/api-DR6W2XWy.js","assets/vendor-zod-XsuaxHRY.js","assets/vendor-primevue-DB14kOh6.js","assets/api-C31uUd3g.css","assets/plugins-VeCjoaEi.js","assets/useLogsSocket-B1sCzRXK.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vendor-xterm-IIYDrBG1.js","assets/vendor-xterm-BrP-ENHg.css","assets/useLogsSocket-4F2-d9fa.css","assets/VersionsHandler-CsXazSWK.js","assets/server-D7bl4wSy.js","assets/useServerRestart-DnT0ZOYm.js","assets/useUpdateChannel-DbBXpySY.js","assets/vendor-markdown-D7EhExwE.js","assets/vendor-markdown-DtOhvyRx.css","assets/alert-circle-DeKKKwiu.js","assets/platformLabels-D-cF6OTP.js"])))=>i.map(i=>d[i]);
2
- import{F as e,Ir as t,Ui as n,_n as r,bn as ee,cn as i,on as a}from"./vendor-cameraui-DDdtrYBn.js";import{pt as o,x as s}from"./api-DR6W2XWy.js";import{$n as c,Cr as l,Er as u,Nn as te,Sr as d,Tr as ne,Un as re,Wt as f,Zn as p,_n as m,ar as h,br as g,dn as _,fn as v,fr as y,mn as b,mr as ie,nr as x,pn as S,rr as C,un as w,ur as T,vn as ae,xn as E,yn as D,zn as O}from"./vendor-ClrOISZp.js";import{c as oe}from"./vendor-core-CZuWsjWr.js";import{H as se,W as ce}from"./vendor-primevue-DB14kOh6.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as le}from"./CuiImage-DBQAYfn1.js";import{t as ue}from"./terminal-CNEjR0aR.js";import{t as de}from"./cog-BOiZ8Brk.js";import{t as fe}from"./CuiMenu--tB8FqMF.js";import{n as pe,t as me}from"./useCuiDialog-DLoFzodG.js";import{t as he}from"./plugins-VeCjoaEi.js";import{t as ge}from"./CuiPluginOAuthButton-CuppMPTq.js";import{t as _e}from"./trash-fill-Br00Vept.js";var A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return O(),b(`svg`,A,[...t[0]||=[_(`g`,{fill:`currentColor`},[_(`path`,{d:`M15.64 7.025h-3.622v-2h7v7h-2v-3.55l-4.914 4.914l-1.414-1.414z`}),_(`path`,{d:`M10.982 6.975h-6v12h12v-6h-2v4h-8v-8h4z`})],-1)]])}var ve=T({name:`gg-external`,render:j}),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return O(),b(`svg`,M,[...t[0]||=[_(`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 ye=T({name:`ic-round-warning`,render:N}),P={viewBox:`0 0 48 48`,width:`1.2em`,height:`1.2em`},F=[`id`],I=[`mask`];function L(e,t){return O(),b(`svg`,P,[_(`defs`,null,[_(`mask`,{id:e.idMap.SVGREtFiUFR},[...t[0]||=[_(`g`,{fill:`none`,"stroke-width":`4`},[_(`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`}),_(`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`}),_(`path`,{stroke:`#000`,"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`m33 27l-9-9l-9 9`})],-1)]],8,F)]),_(`path`,{fill:`currentColor`,d:`M0 0h48v48H0z`,mask:`url(#`+e.idMap.SVGREtFiUFR+`)`},null,8,I)])}var be=T({name:`icon-park-solid-up-c`,render:L,setup(){return{idMap:{SVGREtFiUFR:`uicons-`+Math.random().toString(36).substr(2,10)}}}}),R=[`fill`],xe=E({__name:`CuiJavascriptIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=g(e);return(e,n)=>(O(),b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,role:`img`,"aria-hidden":`true`,fill:d(t)},[...n[0]||=[_(`g`,null,[_(`path`,{d:`M0,0 L256,0 L256,256 L0,256 L0,0 Z`,fill:`#F7DF1E`}),_(`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`}),_(`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,R))}}),z=[`fill`],Se=k(E({__name:`CuiGoIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=g(e);return(e,n)=>(O(),b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:d(t)},[...n[0]||=[_(`g`,{fill:`none`},[_(`rect`,{width:`256`,height:`256`,fill:`#00B4E0`,rx:`60`}),_(`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`}),_(`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,z))}}),[[`__scopeId`,`data-v-6c6195ac`]]),Ce=[`fill`],we=E({__name:`CuiPythonIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=g(e);return(e,n)=>(O(),b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 255`,role:`img`,"aria-hidden":`true`,fill:d(t)},[...n[0]||=[m(`<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,Ce))}}),Te={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Ee(e,t){return O(),b(`svg`,Te,[...t[0]||=[_(`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 De=T({name:`carbon-stop-filled`,render:Ee}),Oe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return O(),b(`svg`,Oe,[...t[0]||=[_(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2.5`},[_(`path`,{d:`M12 3a9 9 0 1 1-5.657 2`}),_(`path`,{d:`M3 4.5h4v4`})],-1)]])}var ke=T({name:`iconamoon-restart-bold`,render:B}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return O(),b(`svg`,V,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`m18 22l3-3l-.7-.7l-1.8 1.8V16h-1v4.1l-1.8-1.8l-.7.7zm-6-11.15L6.075 7.425L5 8.05V9.1l7 4.05l7-4.05V8.05l-1.075-.625zm-1 10.875L4 17.7q-.475-.275-.737-.725t-.263-1v-7.95q0-.55.263-1T4 6.3l7-4.025Q11.475 2 12 2t1 .275L20 6.3q.475.275.738.725t.262 1v4.65q-.675-.325-1.437-.5T18 12q-2.9 0-4.95 2.05T11 19q0 .8.163 1.538t.487 1.412q-.175-.05-.337-.087T11 21.725m3.463.813Q13 21.075 13 19t1.463-3.537T18 14t3.538 1.463T23 19t-1.463 3.538T18 24t-3.537-1.463`},null,-1)]])}var Ae=T({name:`material-symbols-deployed-code-update`,render:H}),U={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return O(),b(`svg`,U,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`M21.409 9.353a2.998 2.998 0 0 1 0 5.294L8.597 21.614C6.534 22.737 4 21.277 4 18.968V5.033c0-2.31 2.534-3.769 4.597-2.648z`},null,-1)]])}var je=T({name:`solar-play-bold`,render:W}),Me={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function G(e,t){return O(),b(`svg`,Me,[...t[0]||=[_(`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 Ne=T({name:`stash-version-solid`,render:G}),Pe={HEIGHT:220},Fe=5e3,K=new Map,q=new Map,J=new Map,Y=new Map,Ie=null,X=null;function Le(e,t){switch(t){case o.ERROR:e.statusColor=`#9d5752`;break;case o.STARTING:e.statusColor=`orange`;break;case o.READY:e.statusColor=`yellow`;break;case o.STARTED:e.statusColor=`green`;break;case o.STOPPED:e.statusColor=`red`;break;case o.DISABLED:case o.UNKNOWN:default:e.statusColor=`gray`;break}}function Re(e,t){let n=K.get(e);n&&(n.status=t.status,Le(n,t.status))}async function Z(e){if(X?.ready.value)try{Re(e,await X.request(`get-plugin-status`,e))}catch{}}function Q(){return X||(Ie=h(!0),Ie.run(()=>{let e=s(`/plugins`);X=e,e.onReady(()=>{for(let e of K.keys())Z(e)})}),X)}function ze(e){if(Y.has(e))return;let t=Q().on(`plugin-status-${e}`,t=>Re(e,t));Y.set(e,t)}function $(e){let t=J.get(e);t&&(clearTimeout(t),J.delete(e)),K.has(e)||K.set(e,y({status:o.UNKNOWN,statusColor:`gray`}));let r=K.get(e);q.set(e,(q.get(e)??0)+1);function ee(){Q(),ze(e),X?.connected.value&&Z(e)}function i(){Z(e)}return n(()=>{let t=(q.get(e)??1)-1;if(q.set(e,t),t>0)return;let n=setTimeout(()=>{(q.get(e)??0)<=0&&(Y.get(e)?.(),Y.delete(e),K.delete(e),q.delete(e),J.delete(e))},Fe);J.set(e,n)}),{isConnected:w(()=>X?.connected.value??!1),status:w(()=>r.status),statusColor:w(()=>r.statusColor),connect:ee,fetchStatus:i}}var Be={class:`flex flex-col h-full`},Ve={class:`flex items-center w-full gap-4`},He={class:`w-16 h-16 relative rounded-full flex-shrink-0 border-2 border-color`},Ue={class:`flex gap-1 items-center min-w-0 w-full`},We={class:`text-xl font-semibold truncate`},Ge={class:`text-sm text-muted my-4 line-clamp-2`},Ke={class:`flex items-center space-x-1`},qe={class:`relative w-6 h-6`},Je=k(E({__name:`CuiPluginCard`,props:{plugin:{}},setup(n){let s=pe(()=>f(()=>import(`./PluginConsole-CLGkDl1F.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]))),m=pe(()=>f(()=>import(`./VersionsHandler-CsXazSWK.js`),__vite__mapDeps([18,4,2,1,8,9,5,10,11,19,20,3,6,21,12,13,14,15,16,17,22,23,24,25]))),h=new he,y=n,T=oe(),E=me(),{t:k}=t(),A=$(y.plugin.pluginName),{plugin:j}=g(y),{data:M}=h.getPluginUpdateQuery(j.value.pluginName),{data:N}=h.getPluginLogoQuery(j.value.pluginName),{mutate:P,isPending:F}=h.enablePluginQuery(),{mutate:I,isPending:L}=h.disablePluginQuery(),{mutate:R,isPending:z}=h.startPluginQuery(),{mutate:Ce,isPending:Te}=h.stopPluginQuery(),{mutate:Ee,isPending:Oe}=h.restartPluginQuery(),B=p(`menuRef`),V=ie(!j.value.disabled),H=w(()=>F.value||L.value||Oe.value||z.value||Te.value),U=w(()=>A.status.value===o.STOPPED||A.status.value===o.DISABLED||A.status.value===o.ERROR||A.status.value===o.UNKNOWN),W=j.value.contract&&a(j.value.contract,i.NVR),Me=j.value.contract&&a(j.value.contract,i.OAuthCapable),G=w(()=>{let e=[];if(!j.value.compatible){let t=[];j.value.os?.length&&t.push(`os ${j.value.os.join(`/`)}`),j.value.cpu?.length&&t.push(`cpu ${j.value.cpu.join(`/`)}`),e.push(k(`components.plugin_card.compat_platform`,{requirement:t.join(`, `)}))}for(let t of j.value.engineIssues??[]){let n=t.engine===`node`?`Node.js`:`camera.ui`;e.push(k(`components.plugin_card.compat_engine`,{engine:n,required:t.required,current:t.current}))}return e}),Fe=w(()=>{let e=[{label:k(`components.plugin_card.update`),icon:Ae,hide:!M.value?.updateAvailable,buttonProps:{disabled:H.value,severity:`primary`},iconProps:{class:`text-primary`},labelProps:{class:`text-primary`},onClick:()=>{q(`install`)}},{label:k(`components.plugin_card.settings`),icon:de,to:`/plugins/${j.value.pluginName}`},{label:k(`components.plugin_card.select_version`),icon:Ne,hide:j.value.private,buttonProps:{disabled:H.value},onClick:()=>{q(`versions`)}},{label:U.value?k(`components.plugin_card.start`):k(`components.plugin_card.stop`),icon:U.value?je:De,hide:j.value.disabled,buttonProps:{disabled:H.value},onClick:()=>{U.value?R({pluginName:j.value.pluginName}):Ce({pluginName:j.value.pluginName})}},{label:k(`components.plugin_card.restart`),icon:ke,hide:U.value,buttonProps:{disabled:H.value},onClick:()=>{q(`restart`)}},{label:k(`components.plugin_card.uninstall`),icon:_e,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{disabled:H.value,severity:`danger`},onClick:()=>{q(`uninstall`)}}];return T.path===`/plugins/${j.value.pluginName}`&&e.splice(1,1),e});function K(){V.value?I({pluginName:j.value.pluginName},{onError:()=>{V.value=!0},onSuccess:()=>{V.value=!1}}):P({pluginName:j.value.pluginName},{onError:()=>{V.value=!1},onSuccess:()=>{V.value=!0}})}function q(e){switch(e){case`console`:E.openComponentDialog(s,{data:{title:k(`components.dialog.title.log`),confirmText:k(`components.form.button.download`),loading:H,stayActive:!0,contentProps:{plugin:d(j)},dialogContentClass:`not-md:px-0 h-full md:h-[50vh]`}});break;case`versions`:case`install`:E.openComponentDialog(m,{data:{title:k(`components.dialog.title.install_version`),confirmText:k(e===`install`?`components.form.button.restart`:`components.form.button.install`),loading:H,contentProps:{target:d(j),installVersion:e===`install`?M.value?.latestVersion:void 0}}});break;case`restart`:E.openTextDialog({data:{title:k(`components.dialog.title.confirm`),contentText:k(`components.dialog.message.confirm_restart_plugin`),confirmText:k(`components.form.button.restart`)},onConfirm:()=>{Ee({pluginName:j.value.pluginName})}});break;case`uninstall`:E.openComponentDialog(m,{data:{title:k(`components.dialog.title.confirm`),confirmText:k(`components.form.button.uninstall`),confirmButtonProps:{severity:`danger`},loading:H,contentProps:{target:d(j),action:`uninstall`}}});break}}return c(A.status,e=>{(e===o.STARTING||e===o.READY||e===o.STARTED)&&(V.value=!0)}),te(()=>{A.connect()}),(t,n)=>{let i=we,a=Se,o=xe,s=ee,c=le,te=be,f=ye,p=re(`RouterLink`),m=se,h=ve,g=r,y=ue,ie=de,w=e,T=ce;return O(),b(`div`,{style:ne({height:`${d(Pe).HEIGHT}px`})},[D(w,{class:`cui-card`,pt:{body:{class:`justify-between h-full`}}},{content:x(()=>[_(`div`,Be,[_(`div`,Ve,[_(`div`,He,[D(s,{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:x(()=>[d(j)?.isPython?(O(),v(i,{key:0,class:`w-[24px]`})):d(j)?.isGo?(O(),v(a,{key:1,class:`w-[24px] bg-white`})):(O(),v(o,{key:2,class:`w-[24px]`}))]),_:1}),D(c,{src:d(N),alt:`Plugin icon`,class:`block rounded-full overflow-hidden w-full h-full`,"image-container-class":`w-full h-full`},null,8,[`src`])]),D(p,{to:`/plugins/${d(j).pluginName}`,class:`flex flex-col items-start justify-center min-w-0 flex-grow`},{default:x(()=>[_(`div`,Ue,[_(`h3`,We,u(d(j).displayName||`Plugin Name`),1),d(M)?.updateAvailable?C((O(),v(te,{key:0,class:`text-green-500 flex-shrink-0`},null,512)),[[T,{value:t.$t(`components.form.tooltip.update_available`)}]]):S(``,!0),d(G).length?C((O(),v(f,{key:1,class:`text-yellow-500 flex-shrink-0`},null,512)),[[T,{value:d(G).join(` · `)}]]):S(``,!0)])]),_:1},8,[`to`]),D(m,{"model-value":d(V),class:`ml-auto flex-shrink-0`,"pt:handle:class":`bg-white`,disabled:d(H),onChange:K},null,8,[`model-value`,`disabled`])]),C((O(),b(`p`,Ge,[ae(u(d(j).description),1)])),[[T,{value:d(j).description},void 0,{bottom:!0}]])])]),footer:x(()=>[_(`div`,Ke,[D(g,{severity:`secondary`,rounded:``,class:`cui-button text-xs p-1 font-bold gap-0`,onClick:n[0]||=e=>t.$router.absUrl(d(j).links?.homepage)},{default:x(()=>[_(`span`,null,`v`+u(d(j).installedVersion||d(j).latestVersion),1),D(h,{class:`mb-[1px] ml-1`})]),_:1}),d(j).restartRequired?C((O(),v(g,{key:0,severity:`warn`,text:``,rounded:``,class:`cui-icon-md`,disabled:d(H),onClick:n[1]||=e=>q(`restart`)},{icon:x(()=>[D(d(ke),{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[T,{value:t.$t(`components.plugin_card.restart_required`)},void 0,{top:!0}]]):S(``,!0),n[4]||=_(`div`,{class:`ml-auto`},null,-1),C(D(s,{class:`min-w-3 w-3 h-3 mr-3`,style:ne({background:d(A).statusColor.value})},null,8,[`style`]),[[T,{value:t.$t(`components.plugin_card.status_${d(A).status.value}`)},void 0,{top:!0}]]),C((O(),v(g,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:n[2]||=e=>q(`console`)},{icon:x(()=>[D(y,{width:`100%`,height:`100%`})]),_:1})),[[T,{value:t.$t(`components.form.tooltip.console`)},void 0,{top:!0}]]),d(Me)?(O(),v(ge,{key:1,"plugin-name":d(j).pluginName,"route-to":d(W)?`/settings/recordings`:void 0},null,8,[`plugin-name`,`route-to`])):S(``,!0),d(W)?C((O(),v(g,{key:2,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:n[3]||=e=>t.$router.push(`/settings/recordings`)},{icon:x(()=>[D(ie,{width:`100%`,height:`100%`})]),_:1})),[[T,{value:t.$t(`components.form.tooltip.nvr_settings`)},void 0,{top:!0}]]):S(``,!0),C((O(),v(g,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,disabled:d(H),onClick:d(B)?.toggleMenu},{icon:x(()=>[_(`div`,qe,[_(`div`,{class:l([`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(B)?.isOpen,"bg-primary-500":d(M)?.updateAvailable}])},null,2),_(`div`,{class:l([`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(B)?.isOpen,"bg-primary-500":d(M)?.updateAvailable}])},null,2),_(`div`,{class:l([`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(B)?.isOpen,"bg-primary-500":d(M)?.updateAvailable}])},null,2)])]),_:1},8,[`disabled`,`onClick`])),[[T,{value:d(M)?.updateAvailable?t.$t(`components.form.tooltip.update_available`):``},void 0,{top:!0}]])])]),_:1}),D(fe,{ref_key:`menuRef`,ref:B,items:d(Fe),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],4)}}}),[[`__scopeId`,`data-v-24c1b2ea`]]);export{$ as n,Pe as r,Je as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PluginConsole-Fffl7Yh_.js","assets/vendor-ClrOISZp.js","assets/rolldown-runtime-DAXXjFlN.js","assets/useSharedComposables-DC7dAxBt.js","assets/vendor-cameraui-D5fd9Ars.js","assets/vendor-core-D9amXF-u.js","assets/ui-BajsbwJJ.js","assets/useFileDownload-CaB5Myfa.js","assets/api-CeJqvqFj.js","assets/vendor-zod-XsuaxHRY.js","assets/vendor-primevue-Ba4LruKV.js","assets/api-BEwr0GLC.css","assets/plugins-CHRZiPTq.js","assets/useLogsSocket-B47qvN41.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vendor-xterm-IIYDrBG1.js","assets/vendor-xterm-BrP-ENHg.css","assets/useLogsSocket-CoA-Nq-_.css","assets/VersionsHandler-0Ol7oxfg.js","assets/server-zkNDKqjz.js","assets/useServerRestart-COGxcO4B.js","assets/useUpdateChannel-D_SN9IPN.js","assets/vendor-markdown-D7EhExwE.js","assets/vendor-markdown-DtOhvyRx.css","assets/alert-circle-DeKKKwiu.js","assets/platformLabels-D-cF6OTP.js","assets/config-CDCKrp2V.js"])))=>i.map(i=>d[i]);
2
+ import{F as e,Ir as t,Ui as n,_n as r,bn as ee,cn as i,on as a}from"./vendor-cameraui-D5fd9Ars.js";import{C as o,ht as s}from"./api-CeJqvqFj.js";import{$n as c,Cr as l,Er as u,Nn as te,Sr as d,Tr as ne,Un as re,Wt as f,Zn as p,_n as m,ar as h,br as g,dn as _,fn as v,fr as y,mn as b,mr as ie,nr as x,pn as S,rr as C,un as w,ur as T,vn as ae,xn as E,yn as D,zn as O}from"./vendor-ClrOISZp.js";import{c as oe}from"./vendor-core-D9amXF-u.js";import{H as se,W as ce}from"./vendor-primevue-Ba4LruKV.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as le}from"./CuiImage-D_DDxN1t.js";import{t as ue}from"./terminal-CNEjR0aR.js";import{t as de}from"./cog-BOiZ8Brk.js";import{t as fe}from"./CuiMenu-BmgnEZun.js";import{n as pe,t as me}from"./useCuiDialog-CGak2kyV.js";import{t as he}from"./plugins-CHRZiPTq.js";import{t as ge}from"./CuiPluginOAuthButton-CY3c3HRs.js";import{t as _e}from"./trash-fill-Br00Vept.js";var A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return O(),b(`svg`,A,[...t[0]||=[_(`g`,{fill:`currentColor`},[_(`path`,{d:`M15.64 7.025h-3.622v-2h7v7h-2v-3.55l-4.914 4.914l-1.414-1.414z`}),_(`path`,{d:`M10.982 6.975h-6v12h12v-6h-2v4h-8v-8h4z`})],-1)]])}var ve=T({name:`gg-external`,render:j}),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return O(),b(`svg`,M,[...t[0]||=[_(`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 ye=T({name:`ic-round-warning`,render:N}),P={viewBox:`0 0 48 48`,width:`1.2em`,height:`1.2em`},F=[`id`],I=[`mask`];function L(e,t){return O(),b(`svg`,P,[_(`defs`,null,[_(`mask`,{id:e.idMap.SVGREtFiUFR},[...t[0]||=[_(`g`,{fill:`none`,"stroke-width":`4`},[_(`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`}),_(`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`}),_(`path`,{stroke:`#000`,"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`m33 27l-9-9l-9 9`})],-1)]],8,F)]),_(`path`,{fill:`currentColor`,d:`M0 0h48v48H0z`,mask:`url(#`+e.idMap.SVGREtFiUFR+`)`},null,8,I)])}var be=T({name:`icon-park-solid-up-c`,render:L,setup(){return{idMap:{SVGREtFiUFR:`uicons-`+Math.random().toString(36).substr(2,10)}}}}),R=[`fill`],xe=E({__name:`CuiJavascriptIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=g(e);return(e,n)=>(O(),b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,role:`img`,"aria-hidden":`true`,fill:d(t)},[...n[0]||=[_(`g`,null,[_(`path`,{d:`M0,0 L256,0 L256,256 L0,256 L0,0 Z`,fill:`#F7DF1E`}),_(`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`}),_(`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,R))}}),z=[`fill`],Se=k(E({__name:`CuiGoIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=g(e);return(e,n)=>(O(),b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:d(t)},[...n[0]||=[_(`g`,{fill:`none`},[_(`rect`,{width:`256`,height:`256`,fill:`#00B4E0`,rx:`60`}),_(`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`}),_(`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,z))}}),[[`__scopeId`,`data-v-6c6195ac`]]),Ce=[`fill`],we=E({__name:`CuiPythonIcon`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=g(e);return(e,n)=>(O(),b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 255`,role:`img`,"aria-hidden":`true`,fill:d(t)},[...n[0]||=[m(`<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,Ce))}}),Te={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Ee(e,t){return O(),b(`svg`,Te,[...t[0]||=[_(`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 De=T({name:`carbon-stop-filled`,render:Ee}),Oe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return O(),b(`svg`,Oe,[...t[0]||=[_(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2.5`},[_(`path`,{d:`M12 3a9 9 0 1 1-5.657 2`}),_(`path`,{d:`M3 4.5h4v4`})],-1)]])}var ke=T({name:`iconamoon-restart-bold`,render:B}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return O(),b(`svg`,V,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`m18 22l3-3l-.7-.7l-1.8 1.8V16h-1v4.1l-1.8-1.8l-.7.7zm-6-11.15L6.075 7.425L5 8.05V9.1l7 4.05l7-4.05V8.05l-1.075-.625zm-1 10.875L4 17.7q-.475-.275-.737-.725t-.263-1v-7.95q0-.55.263-1T4 6.3l7-4.025Q11.475 2 12 2t1 .275L20 6.3q.475.275.738.725t.262 1v4.65q-.675-.325-1.437-.5T18 12q-2.9 0-4.95 2.05T11 19q0 .8.163 1.538t.487 1.412q-.175-.05-.337-.087T11 21.725m3.463.813Q13 21.075 13 19t1.463-3.537T18 14t3.538 1.463T23 19t-1.463 3.538T18 24t-3.537-1.463`},null,-1)]])}var Ae=T({name:`material-symbols-deployed-code-update`,render:H}),U={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return O(),b(`svg`,U,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`M21.409 9.353a2.998 2.998 0 0 1 0 5.294L8.597 21.614C6.534 22.737 4 21.277 4 18.968V5.033c0-2.31 2.534-3.769 4.597-2.648z`},null,-1)]])}var je=T({name:`solar-play-bold`,render:W}),Me={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function G(e,t){return O(),b(`svg`,Me,[...t[0]||=[_(`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 Ne=T({name:`stash-version-solid`,render:G}),Pe={HEIGHT:220},Fe=5e3,K=new Map,q=new Map,J=new Map,Y=new Map,Ie=null,X=null;function Le(e,t){switch(t){case s.ERROR:e.statusColor=`#9d5752`;break;case s.STARTING:e.statusColor=`orange`;break;case s.READY:e.statusColor=`yellow`;break;case s.STARTED:e.statusColor=`green`;break;case s.STOPPED:e.statusColor=`red`;break;case s.DISABLED:case s.UNKNOWN:default:e.statusColor=`gray`;break}}function Re(e,t){let n=K.get(e);n&&(n.status=t.status,Le(n,t.status))}async function Z(e){if(X?.ready.value)try{Re(e,await X.request(`get-plugin-status`,e))}catch{}}function Q(){return X||(Ie=h(!0),Ie.run(()=>{let e=o(`/plugins`);X=e,e.onReady(()=>{for(let e of K.keys())Z(e)})}),X)}function ze(e){if(Y.has(e))return;let t=Q().on(`plugin-status-${e}`,t=>Re(e,t));Y.set(e,t)}function $(e){let t=J.get(e);t&&(clearTimeout(t),J.delete(e)),K.has(e)||K.set(e,y({status:s.UNKNOWN,statusColor:`gray`}));let r=K.get(e);q.set(e,(q.get(e)??0)+1);function ee(){Q(),ze(e),X?.connected.value&&Z(e)}function i(){Z(e)}return n(()=>{let t=(q.get(e)??1)-1;if(q.set(e,t),t>0)return;let n=setTimeout(()=>{(q.get(e)??0)<=0&&(Y.get(e)?.(),Y.delete(e),K.delete(e),q.delete(e),J.delete(e))},Fe);J.set(e,n)}),{isConnected:w(()=>X?.connected.value??!1),status:w(()=>r.status),statusColor:w(()=>r.statusColor),connect:ee,fetchStatus:i}}var Be={class:`flex flex-col h-full`},Ve={class:`flex items-center w-full gap-4`},He={class:`w-16 h-16 relative rounded-full flex-shrink-0 border-2 border-color`},Ue={class:`flex gap-1 items-center min-w-0 w-full`},We={class:`text-xl font-semibold truncate`},Ge={class:`text-sm text-muted my-4 line-clamp-2`},Ke={class:`flex items-center space-x-1`},qe={class:`relative w-6 h-6`},Je=k(E({__name:`CuiPluginCard`,props:{plugin:{}},setup(n){let o=pe(()=>f(()=>import(`./PluginConsole-Fffl7Yh_.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]))),m=pe(()=>f(()=>import(`./VersionsHandler-0Ol7oxfg.js`),__vite__mapDeps([18,4,2,1,8,9,5,10,11,19,20,3,6,21,12,13,14,15,16,17,22,23,24,25,26]))),h=new he,y=n,T=oe(),E=me(),{t:k}=t(),A=$(y.plugin.pluginName),{plugin:j}=g(y),{data:M}=h.getPluginUpdateQuery(j.value.pluginName),{data:N}=h.getPluginLogoQuery(j.value.pluginName),{mutate:P,isPending:F}=h.enablePluginQuery(),{mutate:I,isPending:L}=h.disablePluginQuery(),{mutate:R,isPending:z}=h.startPluginQuery(),{mutate:Ce,isPending:Te}=h.stopPluginQuery(),{mutate:Ee,isPending:Oe}=h.restartPluginQuery(),B=p(`menuRef`),V=ie(!j.value.disabled),H=w(()=>F.value||L.value||Oe.value||z.value||Te.value),U=w(()=>A.status.value===s.STOPPED||A.status.value===s.DISABLED||A.status.value===s.ERROR||A.status.value===s.UNKNOWN),W=j.value.contract&&a(j.value.contract,i.NVR),Me=j.value.contract&&a(j.value.contract,i.OAuthCapable),G=w(()=>{let e=[];if(!j.value.compatible){let t=[];j.value.os?.length&&t.push(`os ${j.value.os.join(`/`)}`),j.value.cpu?.length&&t.push(`cpu ${j.value.cpu.join(`/`)}`),e.push(k(`components.plugin_card.compat_platform`,{requirement:t.join(`, `)}))}for(let t of j.value.engineIssues??[]){let n=t.engine===`node`?`Node.js`:`camera.ui`;e.push(k(`components.plugin_card.compat_engine`,{engine:n,required:t.required,current:t.current}))}return e}),Fe=w(()=>{let e=[{label:k(`components.plugin_card.update`),icon:Ae,hide:!M.value?.updateAvailable,buttonProps:{disabled:H.value,severity:`primary`},iconProps:{class:`text-primary`},labelProps:{class:`text-primary`},onClick:()=>{q(`install`)}},{label:k(`components.plugin_card.settings`),icon:de,to:`/plugins/${j.value.pluginName}`},{label:k(`components.plugin_card.select_version`),icon:Ne,hide:j.value.private,buttonProps:{disabled:H.value},onClick:()=>{q(`versions`)}},{label:U.value?k(`components.plugin_card.start`):k(`components.plugin_card.stop`),icon:U.value?je:De,hide:j.value.disabled,buttonProps:{disabled:H.value},onClick:()=>{U.value?R({pluginName:j.value.pluginName}):Ce({pluginName:j.value.pluginName})}},{label:k(`components.plugin_card.restart`),icon:ke,hide:U.value,buttonProps:{disabled:H.value},onClick:()=>{q(`restart`)}},{label:k(`components.plugin_card.uninstall`),icon:_e,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{disabled:H.value,severity:`danger`},onClick:()=>{q(`uninstall`)}}];return T.path===`/plugins/${j.value.pluginName}`&&e.splice(1,1),e});function K(){V.value?I({pluginName:j.value.pluginName},{onError:()=>{V.value=!0},onSuccess:()=>{V.value=!1}}):P({pluginName:j.value.pluginName},{onError:()=>{V.value=!1},onSuccess:()=>{V.value=!0}})}function q(e){switch(e){case`console`:E.openComponentDialog(o,{data:{title:k(`components.dialog.title.log`),confirmText:k(`components.form.button.download`),loading:H,stayActive:!0,contentProps:{plugin:d(j)},dialogContentClass:`not-md:px-0 h-full md:h-[50vh]`}});break;case`versions`:case`install`:E.openComponentDialog(m,{data:{title:k(`components.dialog.title.install_version`),confirmText:k(e===`install`?`components.form.button.restart`:`components.form.button.install`),loading:H,contentProps:{target:d(j),installVersion:e===`install`?M.value?.latestVersion:void 0}}});break;case`restart`:E.openTextDialog({data:{title:k(`components.dialog.title.confirm`),contentText:k(`components.dialog.message.confirm_restart_plugin`),confirmText:k(`components.form.button.restart`)},onConfirm:()=>{Ee({pluginName:j.value.pluginName})}});break;case`uninstall`:E.openComponentDialog(m,{data:{title:k(`components.dialog.title.confirm`),confirmText:k(`components.form.button.uninstall`),confirmButtonProps:{severity:`danger`},loading:H,contentProps:{target:d(j),action:`uninstall`}}});break}}return c(A.status,e=>{(e===s.STARTING||e===s.READY||e===s.STARTED)&&(V.value=!0)}),te(()=>{A.connect()}),(t,n)=>{let i=we,a=Se,o=xe,s=ee,c=le,te=be,f=ye,p=re(`RouterLink`),m=se,h=ve,g=r,y=ue,ie=de,w=e,T=ce;return O(),b(`div`,{style:ne({height:`${d(Pe).HEIGHT}px`})},[D(w,{class:`cui-card`,pt:{body:{class:`justify-between h-full`}}},{content:x(()=>[_(`div`,Be,[_(`div`,Ve,[_(`div`,He,[D(s,{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:x(()=>[d(j)?.isPython?(O(),v(i,{key:0,class:`w-[24px]`})):d(j)?.isGo?(O(),v(a,{key:1,class:`w-[24px] bg-white`})):(O(),v(o,{key:2,class:`w-[24px]`}))]),_:1}),D(c,{src:d(N),alt:`Plugin icon`,class:`block rounded-full overflow-hidden w-full h-full`,"image-container-class":`w-full h-full`},null,8,[`src`])]),D(p,{to:`/plugins/${d(j).pluginName}`,class:`flex flex-col items-start justify-center min-w-0 flex-grow`},{default:x(()=>[_(`div`,Ue,[_(`h3`,We,u(d(j).displayName||`Plugin Name`),1),d(M)?.updateAvailable?C((O(),v(te,{key:0,class:`text-green-500 flex-shrink-0`},null,512)),[[T,{value:t.$t(`components.form.tooltip.update_available`)}]]):S(``,!0),d(G).length?C((O(),v(f,{key:1,class:`text-yellow-500 flex-shrink-0`},null,512)),[[T,{value:d(G).join(` · `)}]]):S(``,!0)])]),_:1},8,[`to`]),D(m,{"model-value":d(V),class:`ml-auto flex-shrink-0`,"pt:handle:class":`bg-white`,disabled:d(H),onChange:K},null,8,[`model-value`,`disabled`])]),C((O(),b(`p`,Ge,[ae(u(d(j).description),1)])),[[T,{value:d(j).description},void 0,{bottom:!0}]])])]),footer:x(()=>[_(`div`,Ke,[D(g,{severity:`secondary`,rounded:``,class:`cui-button text-xs p-1 font-bold gap-0`,onClick:n[0]||=e=>t.$router.absUrl(d(j).links?.homepage)},{default:x(()=>[_(`span`,null,`v`+u(d(j).installedVersion||d(j).latestVersion),1),D(h,{class:`mb-[1px] ml-1`})]),_:1}),d(j).restartRequired?C((O(),v(g,{key:0,severity:`warn`,text:``,rounded:``,class:`cui-icon-md`,disabled:d(H),onClick:n[1]||=e=>q(`restart`)},{icon:x(()=>[D(d(ke),{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[T,{value:t.$t(`components.plugin_card.restart_required`)},void 0,{top:!0}]]):S(``,!0),n[4]||=_(`div`,{class:`ml-auto`},null,-1),C(D(s,{class:`min-w-3 w-3 h-3 mr-3`,style:ne({background:d(A).statusColor.value})},null,8,[`style`]),[[T,{value:t.$t(`components.plugin_card.status_${d(A).status.value}`)},void 0,{top:!0}]]),C((O(),v(g,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:n[2]||=e=>q(`console`)},{icon:x(()=>[D(y,{width:`100%`,height:`100%`})]),_:1})),[[T,{value:t.$t(`components.form.tooltip.console`)},void 0,{top:!0}]]),d(Me)?(O(),v(ge,{key:1,"plugin-name":d(j).pluginName,"route-to":d(W)?`/settings/recordings`:void 0},null,8,[`plugin-name`,`route-to`])):S(``,!0),d(W)?C((O(),v(g,{key:2,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:n[3]||=e=>t.$router.push(`/settings/recordings`)},{icon:x(()=>[D(ie,{width:`100%`,height:`100%`})]),_:1})),[[T,{value:t.$t(`components.form.tooltip.nvr_settings`)},void 0,{top:!0}]]):S(``,!0),C((O(),v(g,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,disabled:d(H),onClick:d(B)?.toggleMenu},{icon:x(()=>[_(`div`,qe,[_(`div`,{class:l([`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(B)?.isOpen,"bg-primary-500":d(M)?.updateAvailable}])},null,2),_(`div`,{class:l([`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(B)?.isOpen,"bg-primary-500":d(M)?.updateAvailable}])},null,2),_(`div`,{class:l([`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(B)?.isOpen,"bg-primary-500":d(M)?.updateAvailable}])},null,2)])]),_:1},8,[`disabled`,`onClick`])),[[T,{value:d(M)?.updateAvailable?t.$t(`components.form.tooltip.update_available`):``},void 0,{top:!0}]])])]),_:1}),D(fe,{ref_key:`menuRef`,ref:B,items:d(Fe),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],4)}}}),[[`__scopeId`,`data-v-24c1b2ea`]]);export{$ as n,Pe as r,Je as t};
@@ -1 +1 @@
1
- import{Er as e,Gn as t,Sr as n,dn as r,fn as i,mn as a,pn as o,un as s,ur as c,xn as l,zn as u}from"./vendor-ClrOISZp.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as f}from"./motion-sensor-D9ErhY-p.js";import{t as p}from"./cctv-BZIDJlxZ.js";import{t as m}from"./bell-ring-DgLkBDcU.js";import{i as h,n as g,r as _}from"./CuiPluginTrustBadge-Bcnptf84.js";var v={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function y(e,t){return u(),a(`svg`,v,[...t[0]||=[r(`g`,{fill:`none`},[r(`rect`,{width:`16.5`,height:`16.5`,x:`3.75`,y:`3.75`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,rx:`2`}),r(`path`,{fill:`currentColor`,d:`M12 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v11.25h-4z`})],-1)]])}var b=c({name:`proicons-npm`,render:y}),x={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function S(e,t){return u(),a(`svg`,x,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h1a7 7 0 0 1 7 7h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v1a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-1H2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h1a7 7 0 0 1 7-7h1V5.73c-.6-.34-1-.99-1-1.73a2 2 0 0 1 2-2M7.5 13A2.5 2.5 0 0 0 5 15.5A2.5 2.5 0 0 0 7.5 18a2.5 2.5 0 0 0 2.5-2.5A2.5 2.5 0 0 0 7.5 13m9 0a2.5 2.5 0 0 0-2.5 2.5a2.5 2.5 0 0 0 2.5 2.5a2.5 2.5 0 0 0 2.5-2.5a2.5 2.5 0 0 0-2.5-2.5`},null,-1)]])}var C=c({name:`mdi-robot`,render:S}),w={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function T(e,t){return u(),a(`svg`,w,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M21.33 12.91c.09 1.55-.62 3.04-1.89 3.95l.77 1.49c.23.45.26.98.06 1.45c-.19.47-.58.84-1.06 1l-.79.25a1.69 1.69 0 0 1-1.86-.55L14.44 18c-.89-.15-1.73-.53-2.44-1.1c-.5.15-1 .23-1.5.23c-.88 0-1.76-.27-2.5-.79c-.53.16-1.07.23-1.62.22c-.79.01-1.57-.15-2.3-.45a4.1 4.1 0 0 1-2.43-3.61c-.08-.72.04-1.45.35-2.11c-.29-.75-.32-1.57-.07-2.33C2.3 7.11 3 6.32 3.87 5.82c.58-1.69 2.21-2.82 4-2.7c1.6-1.5 4.05-1.66 5.83-.37c.42-.11.86-.17 1.3-.17c1.36-.03 2.65.57 3.5 1.64c2.04.53 3.5 2.35 3.58 4.47c.05 1.11-.25 2.2-.86 3.13c.07.36.11.72.11 1.09m-5-1.41c.57.07 1.02.5 1.02 1.07a1 1 0 0 1-1 1h-.63c-.32.9-.88 1.69-1.62 2.29c.25.09.51.14.77.21c5.13-.07 4.53-3.2 4.53-3.25a2.59 2.59 0 0 0-2.69-2.49a1 1 0 0 1-1-1a1 1 0 0 1 1-1c1.23.03 2.41.49 3.33 1.3c.05-.29.08-.59.08-.89c-.06-1.24-.62-2.32-2.87-2.53c-1.25-2.96-4.4-1.32-4.4-.4c-.03.23.21.72.25.75a1 1 0 0 1 1 1c0 .55-.45 1-1 1c-.53-.02-1.03-.22-1.43-.56c-.48.31-1.03.5-1.6.56c-.57.05-1.04-.35-1.07-.9a.97.97 0 0 1 .88-1.1c.16-.02.94-.14.94-.77c0-.66.25-1.29.68-1.79c-.92-.25-1.91.08-2.91 1.29C6.75 5 6 5.25 5.45 7.2C4.5 7.67 4 8 3.78 9c1.08-.22 2.19-.13 3.22.25c.5.19.78.75.59 1.29c-.19.52-.77.78-1.29.59c-.73-.32-1.55-.34-2.3-.06c-.32.27-.32.83-.32 1.27c0 .74.37 1.43 1 1.83c.53.27 1.12.41 1.71.4q-.225-.39-.39-.81a1.038 1.038 0 0 1 1.96-.68c.4 1.14 1.42 1.92 2.62 2.05c1.37-.07 2.59-.88 3.19-2.13c.23-1.38 1.34-1.5 2.56-1.5m2 7.47l-.62-1.3l-.71.16l1 1.25zm-4.65-8.61a1 1 0 0 0-.91-1.03c-.71-.04-1.4.2-1.93.67c-.57.58-.87 1.38-.84 2.19a1 1 0 0 0 1 1c.57 0 1-.45 1-1c0-.27.07-.54.23-.76c.12-.1.27-.15.43-.15c.55.03 1.02-.38 1.02-.92`},null,-1)]])}var E=c({name:`mdi-brain`,render:T}),D={detection:{icon:f,labelKey:`components.plugin_search.category_detection`},"camera-source":{icon:p,labelKey:`components.plugin_search.category_camera_source`},notification:{icon:m,labelKey:`components.plugin_search.category_notification`},recording:{icon:_,labelKey:`components.plugin_search.category_recording`},automation:{icon:C,labelKey:`components.plugin_search.category_automation`},"ai-model":{icon:E,labelKey:`components.plugin_search.category_ai_model`},utility:{icon:g,labelKey:`components.plugin_search.category_utility`},other:{icon:h,labelKey:`components.plugin_search.category_other`}},O=[`detection`,`camera-source`,`notification`,`recording`,`automation`,`ai-model`,`utility`,`other`];function k(e){return e&&e in D?D[e]:D.other}var A={key:0,class:`cui-category-chip`},j={class:`cui-category-chip-label`},M=d(l({__name:`CuiPluginCategoryChip`,props:{category:{}},setup(c){let l=c,d=s(()=>k(l.category));return(s,l)=>c.category?(u(),a(`span`,A,[(u(),i(t(n(d).icon),{class:`cui-category-chip-icon`})),r(`span`,j,e(s.$t(n(d).labelKey)),1)])):o(``,!0)}}),[[`__scopeId`,`data-v-651645bf`]]);export{b as i,D as n,O as r,M as t};
1
+ import{Er as e,Gn as t,Sr as n,dn as r,fn as i,mn as a,pn as o,un as s,ur as c,xn as l,zn as u}from"./vendor-ClrOISZp.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as f}from"./motion-sensor-D9ErhY-p.js";import{t as p}from"./cctv-BZIDJlxZ.js";import{t as m}from"./bell-ring-DgLkBDcU.js";import{i as h,n as g,r as _}from"./CuiPluginTrustBadge-QRsixP01.js";var v={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function y(e,t){return u(),a(`svg`,v,[...t[0]||=[r(`g`,{fill:`none`},[r(`rect`,{width:`16.5`,height:`16.5`,x:`3.75`,y:`3.75`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,rx:`2`}),r(`path`,{fill:`currentColor`,d:`M12 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v11.25h-4z`})],-1)]])}var b=c({name:`proicons-npm`,render:y}),x={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function S(e,t){return u(),a(`svg`,x,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h1a7 7 0 0 1 7 7h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v1a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-1H2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h1a7 7 0 0 1 7-7h1V5.73c-.6-.34-1-.99-1-1.73a2 2 0 0 1 2-2M7.5 13A2.5 2.5 0 0 0 5 15.5A2.5 2.5 0 0 0 7.5 18a2.5 2.5 0 0 0 2.5-2.5A2.5 2.5 0 0 0 7.5 13m9 0a2.5 2.5 0 0 0-2.5 2.5a2.5 2.5 0 0 0 2.5 2.5a2.5 2.5 0 0 0 2.5-2.5a2.5 2.5 0 0 0-2.5-2.5`},null,-1)]])}var C=c({name:`mdi-robot`,render:S}),w={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function T(e,t){return u(),a(`svg`,w,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M21.33 12.91c.09 1.55-.62 3.04-1.89 3.95l.77 1.49c.23.45.26.98.06 1.45c-.19.47-.58.84-1.06 1l-.79.25a1.69 1.69 0 0 1-1.86-.55L14.44 18c-.89-.15-1.73-.53-2.44-1.1c-.5.15-1 .23-1.5.23c-.88 0-1.76-.27-2.5-.79c-.53.16-1.07.23-1.62.22c-.79.01-1.57-.15-2.3-.45a4.1 4.1 0 0 1-2.43-3.61c-.08-.72.04-1.45.35-2.11c-.29-.75-.32-1.57-.07-2.33C2.3 7.11 3 6.32 3.87 5.82c.58-1.69 2.21-2.82 4-2.7c1.6-1.5 4.05-1.66 5.83-.37c.42-.11.86-.17 1.3-.17c1.36-.03 2.65.57 3.5 1.64c2.04.53 3.5 2.35 3.58 4.47c.05 1.11-.25 2.2-.86 3.13c.07.36.11.72.11 1.09m-5-1.41c.57.07 1.02.5 1.02 1.07a1 1 0 0 1-1 1h-.63c-.32.9-.88 1.69-1.62 2.29c.25.09.51.14.77.21c5.13-.07 4.53-3.2 4.53-3.25a2.59 2.59 0 0 0-2.69-2.49a1 1 0 0 1-1-1a1 1 0 0 1 1-1c1.23.03 2.41.49 3.33 1.3c.05-.29.08-.59.08-.89c-.06-1.24-.62-2.32-2.87-2.53c-1.25-2.96-4.4-1.32-4.4-.4c-.03.23.21.72.25.75a1 1 0 0 1 1 1c0 .55-.45 1-1 1c-.53-.02-1.03-.22-1.43-.56c-.48.31-1.03.5-1.6.56c-.57.05-1.04-.35-1.07-.9a.97.97 0 0 1 .88-1.1c.16-.02.94-.14.94-.77c0-.66.25-1.29.68-1.79c-.92-.25-1.91.08-2.91 1.29C6.75 5 6 5.25 5.45 7.2C4.5 7.67 4 8 3.78 9c1.08-.22 2.19-.13 3.22.25c.5.19.78.75.59 1.29c-.19.52-.77.78-1.29.59c-.73-.32-1.55-.34-2.3-.06c-.32.27-.32.83-.32 1.27c0 .74.37 1.43 1 1.83c.53.27 1.12.41 1.71.4q-.225-.39-.39-.81a1.038 1.038 0 0 1 1.96-.68c.4 1.14 1.42 1.92 2.62 2.05c1.37-.07 2.59-.88 3.19-2.13c.23-1.38 1.34-1.5 2.56-1.5m2 7.47l-.62-1.3l-.71.16l1 1.25zm-4.65-8.61a1 1 0 0 0-.91-1.03c-.71-.04-1.4.2-1.93.67c-.57.58-.87 1.38-.84 2.19a1 1 0 0 0 1 1c.57 0 1-.45 1-1c0-.27.07-.54.23-.76c.12-.1.27-.15.43-.15c.55.03 1.02-.38 1.02-.92`},null,-1)]])}var E=c({name:`mdi-brain`,render:T}),D={detection:{icon:f,labelKey:`components.plugin_search.category_detection`},"camera-source":{icon:p,labelKey:`components.plugin_search.category_camera_source`},notification:{icon:m,labelKey:`components.plugin_search.category_notification`},recording:{icon:_,labelKey:`components.plugin_search.category_recording`},automation:{icon:C,labelKey:`components.plugin_search.category_automation`},"ai-model":{icon:E,labelKey:`components.plugin_search.category_ai_model`},utility:{icon:g,labelKey:`components.plugin_search.category_utility`},other:{icon:h,labelKey:`components.plugin_search.category_other`}},O=[`detection`,`camera-source`,`notification`,`recording`,`automation`,`ai-model`,`utility`,`other`];function k(e){return e&&e in D?D[e]:D.other}var A={key:0,class:`cui-category-chip`},j={class:`cui-category-chip-label`},M=d(l({__name:`CuiPluginCategoryChip`,props:{category:{}},setup(c){let l=c,d=s(()=>k(l.category));return(s,l)=>c.category?(u(),a(`span`,A,[(u(),i(t(n(d).icon),{class:`cui-category-chip-icon`})),r(`span`,j,e(s.$t(n(d).labelKey)),1)])):o(``,!0)}}),[[`__scopeId`,`data-v-651645bf`]]);export{b as i,D as n,O as r,M as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OAuthDeviceFlow-Cci9ex4G.js","assets/vendor-cameraui-D5fd9Ars.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-ClrOISZp.js","assets/api-CeJqvqFj.js","assets/vendor-zod-XsuaxHRY.js","assets/vendor-core-D9amXF-u.js","assets/vendor-primevue-Ba4LruKV.js","assets/api-BEwr0GLC.css","assets/CuiActionButton-iaZkXylf.js","assets/copy-16-filled-DfOe7jyi.js","assets/cloud-check-C2zK34QI.js","assets/CuiQRCode-CsxVDVaU.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/theme-Dlx1uc6I.js","assets/CuiQRCode-BtErH65J.css"])))=>i.map(i=>d[i]);
2
+ import{Ir as e,_n as t,gn as n,pt as r}from"./vendor-cameraui-D5fd9Ars.js";import{Sr as i,Wt as a,fn as o,nr as s,rr as c,un as l,xn as u,zn as d}from"./vendor-ClrOISZp.js";import{l as f}from"./vendor-core-D9amXF-u.js";import{W as p}from"./vendor-primevue-Ba4LruKV.js";import{t as m}from"./cloud-outline-BooRVJGO.js";import{n as h,t as g}from"./useCuiDialog-CGak2kyV.js";import{n as _,t as v}from"./cloud-check-C2zK34QI.js";var y=u({__name:`CuiPluginOAuthButton`,props:{pluginName:{},routeTo:{}},setup(u){let y=h(()=>a(()=>import(`./OAuthDeviceFlow-Cci9ex4G.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),b=u,x=g(),S=f(),{t:C}=e(),{state:w}=r(b.pluginName),T=l(()=>{switch(w.value.status){case`connected`:return C(`components.oauth.tooltip_connected`,{email:w.value.userEmail||`—`});case`awaiting_user`:case`polling`:return C(`components.oauth.tooltip_authorizing`);case`error`:return C(`components.oauth.tooltip_error`);default:return C(`components.oauth.tooltip_connect`)}});function E(){if(b.routeTo){S.push(b.routeTo);return}x.openComponentDialog(y,{data:{title:C(`components.oauth.dialog_title`),stayActive:!0,hideConfirmButton:l(()=>w.value.status===`awaiting_user`||w.value.status===`polling`),confirmText:l(()=>w.value.status===`connected`?C(`components.oauth.disconnect`):C(`components.oauth.connect`)),cancelText:l(()=>w.value.status===`connected`?C(`components.form.button.close`):C(`components.form.button.cancel`)),contentProps:{pluginName:b.pluginName}}})}return(e,r)=>{let a=v,l=n,u=_,f=m,h=t,g=p;return c((d(),o(h,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:E},{icon:s(()=>[i(w).status===`connected`?(d(),o(a,{key:0,class:`text-green-500`,width:`100%`,height:`100%`})):i(w).status===`awaiting_user`||i(w).status===`polling`?(d(),o(l,{key:1,class:`w-5 h-5 m-0`,"stroke-width":`6`})):i(w).status===`error`?(d(),o(u,{key:2,class:`text-red-500`,width:`100%`,height:`100%`})):(d(),o(f,{key:3,width:`100%`,height:`100%`}))]),_:1})),[[g,{value:i(T)},void 0,{top:!0}]])}}});export{y as t};
@@ -1 +1 @@
1
- import{Cr as e,Er as t,Gn as n,Sr as r,dn as i,fn as a,mn as o,pn as s,rr as c,un as l,ur as u,xn as d,zn as f}from"./vendor-ClrOISZp.js";import{W as p}from"./vendor-primevue-DB14kOh6.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as h}from"./shield-check-0hUJRszq.js";var g={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function _(e,t){return f(),o(`svg`,g,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`M20.5 11H19V7a2 2 0 0 0-2-2h-4V3.5A2.5 2.5 0 0 0 10.5 1A2.5 2.5 0 0 0 8 3.5V5H4a2 2 0 0 0-2 2v3.8h1.5c1.5 0 2.7 1.2 2.7 2.7S5 16.2 3.5 16.2H2V20a2 2 0 0 0 2 2h3.8v-1.5c0-1.5 1.2-2.7 2.7-2.7s2.7 1.2 2.7 2.7V22H17a2 2 0 0 0 2-2v-4h1.5a2.5 2.5 0 0 0 2.5-2.5a2.5 2.5 0 0 0-2.5-2.5`},null,-1)]])}var v=u({name:`mdi-puzzle`,render:_}),y={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function b(e,t){return f(),o(`svg`,y,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`M12.5 5A7.5 7.5 0 0 0 5 12.5a7.5 7.5 0 0 0 7.5 7.5a7.5 7.5 0 0 0 7.5-7.5A7.5 7.5 0 0 0 12.5 5M7 10h2a1 1 0 0 1 1 1v1c0 .5-.38.9-.86.97L10.31 15H9.15L8 13v2H7m5-5h2v1h-2v1h2v1h-2v1h2v1h-2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1m4 0h2v1h-2v3h2v1h-2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1m-8 1v1h1v-1`},null,-1)]])}var x=u({name:`mdi-record-rec`,render:b}),S={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function C(e,t){return f(),o(`svg`,S,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`m21.71 20.29l-1.42 1.42a1 1 0 0 1-1.41 0L7 9.85A3.8 3.8 0 0 1 6 10a4 4 0 0 1-3.78-5.3l2.54 2.54l.53-.53l1.42-1.42l.53-.53L4.7 2.22A4 4 0 0 1 10 6a3.8 3.8 0 0 1-.15 1l11.86 11.88a1 1 0 0 1 0 1.41M2.29 18.88a1 1 0 0 0 0 1.41l1.42 1.42a1 1 0 0 0 1.41 0l5.47-5.46l-2.83-2.83M20 2l-4 2v2l-2.17 2.17l2 2L18 8h2l2-4Z`},null,-1)]])}var w=u({name:`mdi-tools`,render:C}),T={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function E(e,t){return f(),o(`svg`,T,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`m23 12l-2.44-2.78l.34-3.68l-3.61-.82l-1.89-3.18L12 3L8.6 1.54L6.71 4.72l-3.61.81l.34 3.68L1 12l2.44 2.78l-.34 3.69l3.61.82l1.89 3.18L12 21l3.4 1.46l1.89-3.18l3.61-.82l-.34-3.68zm-13 5l-4-4l1.41-1.41L10 14.17l6.59-6.59L18 9z`},null,-1)]])}var D=u({name:`mdi-check-decagram`,render:E}),O={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function k(e,t){return f(),o(`svg`,O,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`M12 5.5A3.5 3.5 0 0 1 15.5 9a3.5 3.5 0 0 1-3.5 3.5A3.5 3.5 0 0 1 8.5 9A3.5 3.5 0 0 1 12 5.5M5 8c.56 0 1.08.15 1.53.42c-.15 1.43.27 2.85 1.13 3.96C7.16 13.34 6.16 14 5 14a3 3 0 0 1-3-3a3 3 0 0 1 3-3m14 0a3 3 0 0 1 3 3a3 3 0 0 1-3 3c-1.16 0-2.16-.66-2.66-1.62a5.54 5.54 0 0 0 1.13-3.96c.45-.27.97-.42 1.53-.42M5.5 18.25c0-2.07 2.91-3.75 6.5-3.75s6.5 1.68 6.5 3.75V20h-13zM0 20v-1.5c0-1.39 1.89-2.56 4.45-2.9c-.59.68-.95 1.62-.95 2.65V20zm24 0h-3.5v-1.75c0-1.03-.36-1.97-.95-2.65c2.56.34 4.45 1.51 4.45 2.9z`},null,-1)]])}var A=u({name:`mdi-account-group`,render:k}),j={official:{icon:D,labelKey:`components.plugin_search.trust_official`,descriptionKey:`components.plugin_search.trust_official_description`,class:`cui-trust-official`},verified:{icon:h,labelKey:`components.plugin_search.trust_verified`,descriptionKey:`components.plugin_search.trust_verified_description`,class:`cui-trust-verified`},community:{icon:A,labelKey:`components.plugin_search.trust_community`,descriptionKey:`components.plugin_search.trust_community_description`,class:`cui-trust-community`}},M={key:0,class:`cui-trust-badge-label`},N=m(d({__name:`CuiPluginTrustBadge`,props:{trust:{},showLabel:{type:Boolean,default:!0}},setup(i){let u=i,d=l(()=>u.trust?j[u.trust]:void 0);return(l,u)=>{let m=p;return r(d)?c((f(),o(`span`,{key:0,class:e([`cui-trust-badge`,r(d).class])},[(f(),a(n(r(d).icon),{class:`cui-trust-badge-icon`})),i.showLabel?(f(),o(`span`,M,t(l.$t(r(d).labelKey)),1)):s(``,!0)],2)),[[m,{value:l.$t(r(d).descriptionKey)},void 0,{top:!0}]]):s(``,!0)}}}),[[`__scopeId`,`data-v-e8a7c661`]]);export{v as i,w as n,x as r,N as t};
1
+ import{Cr as e,Er as t,Gn as n,Sr as r,dn as i,fn as a,mn as o,pn as s,rr as c,un as l,ur as u,xn as d,zn as f}from"./vendor-ClrOISZp.js";import{W as p}from"./vendor-primevue-Ba4LruKV.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as h}from"./shield-check-0hUJRszq.js";var g={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function _(e,t){return f(),o(`svg`,g,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`M20.5 11H19V7a2 2 0 0 0-2-2h-4V3.5A2.5 2.5 0 0 0 10.5 1A2.5 2.5 0 0 0 8 3.5V5H4a2 2 0 0 0-2 2v3.8h1.5c1.5 0 2.7 1.2 2.7 2.7S5 16.2 3.5 16.2H2V20a2 2 0 0 0 2 2h3.8v-1.5c0-1.5 1.2-2.7 2.7-2.7s2.7 1.2 2.7 2.7V22H17a2 2 0 0 0 2-2v-4h1.5a2.5 2.5 0 0 0 2.5-2.5a2.5 2.5 0 0 0-2.5-2.5`},null,-1)]])}var v=u({name:`mdi-puzzle`,render:_}),y={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function b(e,t){return f(),o(`svg`,y,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`M12.5 5A7.5 7.5 0 0 0 5 12.5a7.5 7.5 0 0 0 7.5 7.5a7.5 7.5 0 0 0 7.5-7.5A7.5 7.5 0 0 0 12.5 5M7 10h2a1 1 0 0 1 1 1v1c0 .5-.38.9-.86.97L10.31 15H9.15L8 13v2H7m5-5h2v1h-2v1h2v1h-2v1h2v1h-2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1m4 0h2v1h-2v3h2v1h-2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1m-8 1v1h1v-1`},null,-1)]])}var x=u({name:`mdi-record-rec`,render:b}),S={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function C(e,t){return f(),o(`svg`,S,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`m21.71 20.29l-1.42 1.42a1 1 0 0 1-1.41 0L7 9.85A3.8 3.8 0 0 1 6 10a4 4 0 0 1-3.78-5.3l2.54 2.54l.53-.53l1.42-1.42l.53-.53L4.7 2.22A4 4 0 0 1 10 6a3.8 3.8 0 0 1-.15 1l11.86 11.88a1 1 0 0 1 0 1.41M2.29 18.88a1 1 0 0 0 0 1.41l1.42 1.42a1 1 0 0 0 1.41 0l5.47-5.46l-2.83-2.83M20 2l-4 2v2l-2.17 2.17l2 2L18 8h2l2-4Z`},null,-1)]])}var w=u({name:`mdi-tools`,render:C}),T={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function E(e,t){return f(),o(`svg`,T,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`m23 12l-2.44-2.78l.34-3.68l-3.61-.82l-1.89-3.18L12 3L8.6 1.54L6.71 4.72l-3.61.81l.34 3.68L1 12l2.44 2.78l-.34 3.69l3.61.82l1.89 3.18L12 21l3.4 1.46l1.89-3.18l3.61-.82l-.34-3.68zm-13 5l-4-4l1.41-1.41L10 14.17l6.59-6.59L18 9z`},null,-1)]])}var D=u({name:`mdi-check-decagram`,render:E}),O={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function k(e,t){return f(),o(`svg`,O,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`M12 5.5A3.5 3.5 0 0 1 15.5 9a3.5 3.5 0 0 1-3.5 3.5A3.5 3.5 0 0 1 8.5 9A3.5 3.5 0 0 1 12 5.5M5 8c.56 0 1.08.15 1.53.42c-.15 1.43.27 2.85 1.13 3.96C7.16 13.34 6.16 14 5 14a3 3 0 0 1-3-3a3 3 0 0 1 3-3m14 0a3 3 0 0 1 3 3a3 3 0 0 1-3 3c-1.16 0-2.16-.66-2.66-1.62a5.54 5.54 0 0 0 1.13-3.96c.45-.27.97-.42 1.53-.42M5.5 18.25c0-2.07 2.91-3.75 6.5-3.75s6.5 1.68 6.5 3.75V20h-13zM0 20v-1.5c0-1.39 1.89-2.56 4.45-2.9c-.59.68-.95 1.62-.95 2.65V20zm24 0h-3.5v-1.75c0-1.03-.36-1.97-.95-2.65c2.56.34 4.45 1.51 4.45 2.9z`},null,-1)]])}var A=u({name:`mdi-account-group`,render:k}),j={official:{icon:D,labelKey:`components.plugin_search.trust_official`,descriptionKey:`components.plugin_search.trust_official_description`,class:`cui-trust-official`},verified:{icon:h,labelKey:`components.plugin_search.trust_verified`,descriptionKey:`components.plugin_search.trust_verified_description`,class:`cui-trust-verified`},community:{icon:A,labelKey:`components.plugin_search.trust_community`,descriptionKey:`components.plugin_search.trust_community_description`,class:`cui-trust-community`}},M={key:0,class:`cui-trust-badge-label`},N=m(d({__name:`CuiPluginTrustBadge`,props:{trust:{},showLabel:{type:Boolean,default:!0}},setup(i){let u=i,d=l(()=>u.trust?j[u.trust]:void 0);return(l,u)=>{let m=p;return r(d)?c((f(),o(`span`,{key:0,class:e([`cui-trust-badge`,r(d).class])},[(f(),a(n(r(d).icon),{class:`cui-trust-badge-icon`})),i.showLabel?(f(),o(`span`,M,t(l.$t(r(d).labelKey)),1)):s(``,!0)],2)),[[m,{value:l.$t(r(d).descriptionKey)},void 0,{top:!0}]]):s(``,!0)}}}),[[`__scopeId`,`data-v-e8a7c661`]]);export{v as i,w as n,x as r,N as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{gn as t}from"./vendor-cameraui-DDdtrYBn.js";import{Ct as n,St as r}from"./api-DR6W2XWy.js";import{$n as i,$t as a,Cr as o,Ln as s,Sr as c,Zn as l,b as u,dn as d,jn as f,mn as p,mr as m,nr as h,pn as g,un as _,xn as v,yn as y,zn as b}from"./vendor-ClrOISZp.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as S}from"./theme-BG6n3TRA.js";var C=e(u(),1),w={class:`cui-qrcode`},T={key:0,class:`qrcode-loading`},E=x(v({__name:`CuiQRCode`,props:{value:{},size:{default:200},logoSize:{default:44},margin:{default:2}},setup(e){let u=e,v=n(),x=S(),E=l(`canvasRef`),D=m(!0),O=m(null),k=_(()=>x.theme===`dark`),A=_(()=>({dark:k.value?`#ffffff`:`#171717`,light:k.value?`#171717`:`#ffffff`}));function j(){return new Promise((e,t)=>{if(O.value){e(O.value);return}let n=new Image;n.onload=()=>{O.value=n,e(n)},n.onerror=t,n.src=r})}function M(e,t){let n=e.getContext(`2d`);if(!n)return;let r=u.logoSize,i=(e.width-r)/2,a=(e.height-r)/2,o=r/2+8;n.beginPath(),n.arc(e.width/2,e.height/2,o,0,Math.PI*2),n.fillStyle=A.value.light,n.fill(),n.drawImage(t,i,a,r,r)}async function N(){if(await f(),!(!E.value||!u.value)){D.value=!0;try{let[e]=await Promise.all([j(),C.toCanvas(E.value,u.value,{width:u.size,margin:u.margin,errorCorrectionLevel:`H`,color:A.value})]);M(E.value,e)}catch(e){v.error(`Failed to generate QR code:`,e)}finally{D.value=!1}}}return i([()=>u.value,()=>u.size,A],()=>{u.value&&N()}),s(()=>{u.value&&N()}),(e,n)=>{let r=t;return b(),p(`div`,w,[d(`canvas`,{ref_key:`canvasRef`,ref:E,class:o([`qrcode-canvas`,{"opacity-0":c(D)}])},null,2),y(a,{name:`fade`},{default:h(()=>[c(D)?(b(),p(`div`,T,[y(r,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):g(``,!0)]),_:1})])}}}),[[`__scopeId`,`data-v-7027dcdc`]]);export{E as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{gn as t}from"./vendor-cameraui-D5fd9Ars.js";import{Tt as n,wt as r}from"./api-CeJqvqFj.js";import{$n as i,$t as a,Cr as o,Ln as s,Sr as c,Zn as l,b as u,dn as d,jn as f,mn as p,mr as m,nr as h,pn as g,un as _,xn as v,yn as y,zn as b}from"./vendor-ClrOISZp.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as S}from"./theme-Dlx1uc6I.js";var C=e(u(),1),w={class:`cui-qrcode`},T={key:0,class:`qrcode-loading`},E=x(v({__name:`CuiQRCode`,props:{value:{},size:{default:200},logoSize:{default:44},margin:{default:2}},setup(e){let u=e,v=n(),x=S(),E=l(`canvasRef`),D=m(!0),O=m(null),k=_(()=>x.theme===`dark`),A=_(()=>({dark:k.value?`#ffffff`:`#171717`,light:k.value?`#171717`:`#ffffff`}));function j(){return new Promise((e,t)=>{if(O.value){e(O.value);return}let n=new Image;n.onload=()=>{O.value=n,e(n)},n.onerror=t,n.src=r})}function M(e,t){let n=e.getContext(`2d`);if(!n)return;let r=u.logoSize,i=(e.width-r)/2,a=(e.height-r)/2,o=r/2+8;n.beginPath(),n.arc(e.width/2,e.height/2,o,0,Math.PI*2),n.fillStyle=A.value.light,n.fill(),n.drawImage(t,i,a,r,r)}async function N(){if(await f(),!(!E.value||!u.value)){D.value=!0;try{let[e]=await Promise.all([j(),C.toCanvas(E.value,u.value,{width:u.size,margin:u.margin,errorCorrectionLevel:`H`,color:A.value})]);M(E.value,e)}catch(e){v.error(`Failed to generate QR code:`,e)}finally{D.value=!1}}}return i([()=>u.value,()=>u.size,A],()=>{u.value&&N()}),s(()=>{u.value&&N()}),(e,n)=>{let r=t;return b(),p(`div`,w,[d(`canvas`,{ref_key:`canvasRef`,ref:E,class:o([`qrcode-canvas`,{"opacity-0":c(D)}])},null,2),y(a,{name:`fade`},{default:h(()=>[c(D)?(b(),p(`div`,T,[y(r,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):g(``,!0)]),_:1})])}}}),[[`__scopeId`,`data-v-7027dcdc`]]);export{E as t};
@@ -1 +1 @@
1
- import{Cn as e,I as t,Ir as n,Jn as r,Zn as i,_n as a,a as o,c as s,gn as c,gt as l,i as u,m as d,ur as f,xn as p,yi as m,yr as h}from"./vendor-cameraui-DDdtrYBn.js";import{Ct as g,T as _,a as v}from"./api-DR6W2XWy.js";import{$n as y,An as b,Cr as x,En as ee,Er as S,Gn as C,Hn as w,Ln as te,Sr as T,Tr as E,Un as D,Vn as O,Zn as k,an as ne,dn as A,fn as j,jn as M,mn as N,mr as P,nr as F,on as I,pn as L,rn as re,rr as R,un as z,xn as B,yn as V,zn as H}from"./vendor-ClrOISZp.js";import{A as U,W as ie}from"./vendor-primevue-DB14kOh6.js";import{t as W}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ae}from"./CuiImage-DBQAYfn1.js";import{n as oe,t as se}from"./eventIcons-OxuOsPp8.js";import{t as ce}from"./useFileDownload-C5quSdZR.js";import{t as le}from"./download-DLRWZxWu.js";var ue={class:`bg-neutral-900 w-full rounded-xl overflow-hidden relative`,style:{"aspect-ratio":`1/1`}},de={key:2,class:`w-full h-full flex items-center justify-center bg-neutral-800/80`},fe={class:`absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]`},pe={class:`flex items-center gap-1.5`},me={class:`text-xs font-semibold text-white truncate min-w-0 flex-1`},he={class:`text-[10px] text-white/70`},ge={class:`absolute bottom-2 left-2 flex items-center gap-1 z-[3]`},_e={key:0,class:`text-[10px] text-white/60 font-medium`},ve={key:1,class:`text-[11px] text-white/80 font-medium truncate max-w-[100px]`},ye={key:4,class:`absolute inset-0 z-[4] flex items-center justify-center pointer-events-none`},be={key:5,class:`absolute bottom-1 right-1 flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200 z-[3]`},xe=[`src`,`alt`],G=.15,Se=.38,K=W(B({__name:`RecordingCard`,props:{event:{},cameraName:{},camera:{},loadThumbnails:{type:Function},semanticScore:{},thumbnailOverride:{}},emits:[`scrollToEvent`],setup(e,{emit:r}){let i=e,f=r,p=g(),m=_(),{t:h}=n(),y=d(`@camera.ui/camera-ui-nvr`),{plugin:b}=l(`@camera.ui/camera-ui-nvr`),w=[`person`,`vehicle`,`animal`,`package`],{icons:E}=se(),D=i.thumbnailOverride?void 0:y.getCachedThumbnails(i.event.id),M=i.thumbnailOverride?`loaded`:D?u(D,i.event).url?`loaded`:`empty`:`loading`,B=ee(s,void 0),U=k(`previewCanvasRef`),W=P(!1),K=P(D??null),q=P(M),J=P(!1),Y=z(()=>i.event.segments?.find(e=>e?.description)?.description?.title),X=z(()=>{if(i.semanticScore==null)return;let e=Math.max(0,Math.min(1,(i.semanticScore-G)/(Se-G)));return{pct:e,label:`${(e*100).toFixed(0)}%`,color:e>=.5?`bg-green-500/80`:e>=.25?`bg-yellow-500/80`:`bg-red-400/80`}}),Z=z(()=>K.value?u(K.value,i.event):null),Q=z(()=>i.thumbnailOverride?.url??Z.value?.url),$=z(()=>i.thumbnailOverride?i.thumbnailOverride.label:Z.value?.label),Ce=z(()=>i.thumbnailOverride?.type??Z.value?.type??i.event.types[0]??`motion`),we=z(()=>i.thumbnailOverride?[i.thumbnailOverride.type].filter(e=>e!==`motion`&&e!==`audio`&&e!==`scene`):[...new Set(i.event.types.filter(e=>e!==`motion`&&e!==`audio`))]),Te=z(()=>we.value.slice(0,2)),Ee=z(()=>Math.max(0,we.value.length-2)),De=z(()=>i.cameraName??i.event.cameraId),Oe=z(()=>{let e=K.value;if(!e)return[];let t=Z.value?.url,n=[],r=(e,r)=>!e||e===t||n.length>=5?!1:(n.push({url:e,type:r}),!0);if(e.attributes)for(let[t,n]of Object.entries(e.attributes))r(o(n),t.split(`:`)[0]);if(e.detections){for(let t of w)for(let[n,i]of Object.entries(e.detections))if(n.endsWith(`:${t}`)){r(o(i),t);break}for(let[t,n]of Object.entries(e.detections)){let e=t.includes(`:`)?t.split(`:`).slice(1).join(`:`):t;w.includes(e)||r(o(n),e)}}if(e.scenes){let t=Object.keys(e.scenes).sort((e,t)=>Number(e)-Number(t));for(let n of t)r(o(e.scenes[n]),`scene`)}return n}),ke=z(()=>{let e=new Date(i.event.startTime),t=new Date,n=e.toDateString()===t.toDateString(),r=e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});return n?r:`${e.toLocaleDateString([],{month:`short`,day:`numeric`})} ${r}`}),Ae=z(()=>!!(b.value&&i.event.endTime&&i.event.hasRecording!==!1));function je(){if(!B||!i.event.endTime||i.event.hasRecording===!1)return;let e=U.value;e&&(W.value=!0,B.onHoverStart(e,i.event.cameraId,i.event.id,i.event.startTime,i.event.endTime))}function Me(){B&&(W.value=!1,B.onHoverEnd())}async function Ne(e=2){let t=await i.loadThumbnails(i.event.id,i.event.startTime);if(t){K.value=t;let e=u(t,i.event);q.value=e.url?`loaded`:`empty`}else if(e>0)return await new Promise(e=>setTimeout(e,500)),Ne(e-1);else q.value=`empty`}function Pe(){f(`scrollToEvent`,i.event.startTime)}async function Fe(){if(J.value)return;let e=b.value;if(!(!e?.nvrExport||!i.event.endTime)){J.value=!0;try{let t=await e.nvrExport(i.event.cameraId,i.event.startTime*1e3,i.event.endTime*1e3);await ce({url:t.url,filename:t.filename})}catch(e){p.error(`Download failed:`,e),m.add({severity:`error`,summary:h(`views.recordings.download_failed`),detail:v(e),life:5e3})}finally{J.value=!1}}}return te(()=>{M===`loading`&&Ne()}),(n,r)=>{let i=t,o=ae,s=oe,l=le,u=a,d=c,f=ie;return H(),N(`div`,{class:`recording-card relative group cursor-pointer`,onClick:Pe,onMouseenter:je,onMouseleave:Me},[A(`div`,ue,[T(q)===`loading`?(H(),j(i,{key:0,width:`100%`,height:`100%`,class:`rounded-xl`})):T(Q)?(H(),j(o,{key:1,src:T(Q),alt:T(De),class:`pointer-events-none w-full h-full transition-transform duration-300 group-hover:scale-105`,"image-style":{objectFit:`cover`},"image-container-class":`w-full h-full`},null,8,[`src`,`alt`])):(H(),N(`div`,de,[(H(),j(C(T(E)[T(Ce)]??T(E).motion),{class:`w-10 h-10 text-white/20`}))])),T(B)?R((H(),N(`canvas`,{key:3,ref_key:`previewCanvasRef`,ref:U,class:`absolute inset-0 w-full h-full object-cover pointer-events-none z-[1]`},null,512)),[[re,T(W)]]):L(``,!0),r[0]||=A(`div`,{class:`absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]`},null,-1),A(`div`,fe,[A(`div`,pe,[T(Y)?(H(),j(s,{key:0,position:`inline`})):L(``,!0),A(`p`,me,S(T(De)),1),T(X)?(H(),N(`span`,{key:1,class:x([`text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0`,T(X).color])},S(T(X).label),3)):L(``,!0),T(Ae)?R((H(),j(u,{key:2,rounded:``,text:``,severity:`secondary`,loading:T(J),class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:ne(Fe,[`stop`])},{icon:F(()=>[V(l,{class:`w-3 h-3 text-white`})]),_:1},8,[`loading`])),[[f,{value:n.$t(`views.recordings.download`)},void 0,{left:!0}]]):L(``,!0)]),A(`p`,he,S(T(ke)),1)]),A(`div`,ge,[(H(!0),N(I,null,O(T(Te),e=>(H(),N(`div`,{key:e,class:`flex items-center justify-center w-5 h-5 rounded-md bg-black/60`},[(H(),j(C(T(E)[e]??T(E).motion),{class:`w-3 h-3 text-white/80`}))]))),128)),T(Ee)>0?(H(),N(`span`,_e,`+`+S(T(Ee)),1)):L(``,!0),T($)?(H(),N(`span`,ve,S(T($)),1)):L(``,!0)]),T(B)&&T(W)&&T(B).isLoading.value?(H(),N(`div`,ye,[V(d,{class:`w-[28px] h-[28px] m-0`,"stroke-width":`6`})])):L(``,!0),T(Oe).length>1&&!e.thumbnailOverride?(H(),N(`div`,be,[(H(!0),N(I,null,O(T(Oe).slice(0,4),(e,t)=>(H(),N(`div`,{key:t,class:`w-7 h-7 rounded overflow-hidden border border-white/20 bg-neutral-800`},[A(`img`,{src:e.url,alt:e.type,decoding:`async`,loading:`lazy`,class:`w-full h-full object-cover`},null,8,xe)]))),128))])):L(``,!0)])],32)}}}),[[`__scopeId`,`data-v-338347a3`]]),q={name:`VirtualScroller`,components:{SpinnerIcon:p},extends:{name:`BaseVirtualScroller`,extends:e,provide(){return{$pcVirtualScroller:this,$parentInstance:this}},props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:`vertical`},rtl:{type:Boolean,default:!1},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1},itemKey:{type:[String,Function],default:null}},style:U,beforeMount(){U.loadCSS({nonce:this.$primevueConfig?.csp?.nonce})}},inheritAttrs:!1,emits:[`update:numToleratedItems`,`scroll`,`scroll-index-change`,`lazy-load`],data(){let e=this.isBoth();return{first:e?{rows:0,cols:0}:0,last:e?{rows:0,cols:0}:0,page:e?{rows:0,cols:0}:0,numItemsInViewport:e?{rows:0,cols:0}:0,lastScrollPos:e?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,computed:{containerClass(){return[`p-virtualscroller`,this.class,{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal(),"p-virtualscroller-rtl":this.rtl&&this.isHorizontal()}]},contentClass(){return[`p-virtualscroller-content`,{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return[`p-virtualscroller-loader`,{"p-virtualscroller-loader-mask":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map(e=>this.columns?e:e.slice(this.appendOnly?0:this.first.cols,this.last.cols)):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){let e=this.isBoth(),t=this.isHorizontal();if(e||t)return this.d_loading&&this.loaderDisabled?e?this.loaderArr[0]:this.loaderArr:this.columns.slice(e?this.first.cols:this.first,e?this.last.cols:this.last)}return this.columns}},watch:{numToleratedItems(e){this.d_numToleratedItems=e},loading(e,t){this.lazy&&e!==t&&e!==this.d_loading&&(this.d_loading=e)},items(e,t){(!t||t.length!==(e||[]).length)&&this.scheduleInit()},itemSize(){this.scheduleInit()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.scheduleInit()},scrollWidth(){this.scheduleInit()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{resolveItemKey(e,t){let n=this.itemKey;return typeof n==`function`?n(e,t)??t:typeof n==`string`&&typeof e==`object`&&e?e[n]??t:t},viewInit(){f(this.element)&&(this.setContentEl(this.content),this.init(),this.calculateAutoSize(),this.bindResizeListener(),this.defaultWidth=r(this.element),this.defaultHeight=i(this.element),this.defaultContentWidth=r(this.content),this.defaultContentHeight=i(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},scheduleInit(){this._initScheduled||(this._initScheduled=!0,Promise.resolve().then(()=>{this._initScheduled=!1,this.init(),this.calculateAutoSize()}))},isVertical(){return this.orientation===`vertical`},isHorizontal(){return this.orientation===`horizontal`},isBoth(){return this.orientation===`both`},scrollTo(e){this.element&&this.element.scrollTo(e)},scrollToIndex(e,t=`auto`){let n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r;if(n?e.every(e=>e>-1):e>-1){let a=this.first,{scrollTop:o=0,scrollLeft:s=0}=this.element,{numToleratedItems:c}=this.calculateNumItems(),l=this.getContentPosition(),u=this.itemSize,d=(e=0,t)=>e<=t?0:e,f=(e,t,n)=>e*t+n,p=(e=0,n=0)=>{i&&(e=this.element.scrollWidth-this.element.clientWidth-e),this.scrollTo({left:e,top:n,behavior:t})},m=n?{rows:0,cols:0}:0,h=!1,g=!1;n?(m={rows:d(e[0],c[0]),cols:d(e[1],c[1])},p(f(m.cols,u[1],l.left),f(m.rows,u[0],l.top)),g=this.lastScrollPos.top!==o||this.lastScrollPos.left!==s,h=m.rows!==a.rows||m.cols!==a.cols):(m=d(e,c),r?p(f(m,u,l.left),o):p(s,f(m,u,l.top)),g=this.lastScrollPos!==(r?s:o),h=m!==a),this.isRangeChanged=h,g&&(this.first=m)}},scrollInView(e,t,n=`auto`){if(t){let r=this.isBoth(),i=this.isHorizontal();if(r?e.every(e=>e>-1):e>-1){let{first:a,viewport:o}=this.getRenderedRange(),s=(e=0,t=0)=>this.scrollTo({left:e,top:t,behavior:n}),c=t===`to-start`,l=t===`to-end`;if(c){if(r)o.first.rows-a.rows>e[0]?s(o.first.cols*this.itemSize[1],(o.first.rows-1)*this.itemSize[0]):o.first.cols-a.cols>e[1]&&s((o.first.cols-1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.first-a>e){let e=(o.first-1)*this.itemSize;i?s(e,0):s(0,e)}}else if(l){if(r)o.last.rows-a.rows<=e[0]+1?s(o.first.cols*this.itemSize[1],(o.first.rows+1)*this.itemSize[0]):o.last.cols-a.cols<=e[1]+1&&s((o.first.cols+1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.last-a<=e+1){let e=(o.first+1)*this.itemSize;i?s(e,0):s(0,e)}}}}else this.scrollToIndex(e,n)},getRenderedRange(){let e=(e,t)=>Math.floor(e/(t||e)),t=this.first,n=0;if(this.element){let r=this.isBoth(),i=this.isHorizontal(),{scrollTop:a,scrollLeft:o}=this.element;r?(t={rows:e(a,this.itemSize[0]),cols:e(o,this.itemSize[1])},n={rows:t.rows+this.numItemsInViewport.rows,cols:t.cols+this.numItemsInViewport.cols}):(t=e(i?o:a,this.itemSize),n=t+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:t,last:n}}},calculateNumItems(){let e=this.isBoth(),t=this.isHorizontal(),n=this.itemSize,r=this.getContentPosition(),i=this.element?this.element.offsetWidth-r.left:0,a=this.element?this.element.offsetHeight-r.top:0,o=(e,t)=>Math.ceil(e/(t||e)),s=e=>Math.ceil(e/2),c=e?{rows:o(a,n[0]),cols:o(i,n[1])}:o(t?i:a,n);return{numItemsInViewport:c,numToleratedItems:this.d_numToleratedItems||(e?[s(c.rows),s(c.cols)]:s(c))}},calculateOptions(){let e=this.isBoth(),t=this.first,{numItemsInViewport:n,numToleratedItems:r}=this.calculateNumItems(),i=(e,t,n,r=!1)=>this.getLast(e+t+(e<n?2:3)*n,r),a=e?{rows:i(t.rows,n.rows,r[0]),cols:i(t.cols,n.cols,r[1],!0)}:i(t,n,r);this.last=a,this.numItemsInViewport=n,this.d_numToleratedItems=r,this.$emit(`update:numToleratedItems`,this.d_numToleratedItems),this.showLoader&&(this.loaderArr=e?Array.from({length:n.rows}).map(()=>Array.from({length:n.cols})):Array.from({length:n})),this.lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this.step?e?{rows:0,cols:t.cols}:0:t,last:Math.min(this.step?this.step:a,this.items?.length-1||0)},this.$emit(`lazy-load`,this.lazyLoadState)})},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.content){let e=this.isBoth(),t=this.isHorizontal(),n=this.isVertical();this.content.style.minHeight=this.content.style.minWidth=`auto`,this.content.style.position=`relative`,this.element.style.contain=`none`;let[a,o]=[r(this.element),i(this.element)];(e||t)&&(this.element.style.width=a<this.defaultWidth?a+`px`:this.scrollWidth||this.defaultWidth+`px`),(e||n)&&(this.element.style.height=o<this.defaultHeight?o+`px`:this.scrollHeight||this.defaultHeight+`px`),this.content.style.minHeight=this.content.style.minWidth=``,this.content.style.position=``,this.element.style.contain=``}})},getLast(e=0,t){return this.items?Math.min(t?(this.columns||this.items[0])?.length||0:this.items?.length||0,e):0},getContentPosition(){if(this.content){let e=getComputedStyle(this.content),t=parseFloat(e.paddingLeft)+Math.max(parseFloat(e.left)||0,0),n=parseFloat(e.paddingRight)+Math.max(parseFloat(e.right)||0,0),r=parseFloat(e.paddingTop)+Math.max(parseFloat(e.top)||0,0),i=parseFloat(e.paddingBottom)+Math.max(parseFloat(e.bottom)||0,0);return{left:t,right:n,top:r,bottom:i,x:t+n,y:r+i}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){let e=this.isBoth(),t=this.isHorizontal(),n=this.element.parentElement,r=this.scrollWidth||`${this.element.offsetWidth||n.offsetWidth}px`,i=this.scrollHeight||`${this.element.offsetHeight||n.offsetHeight}px`,a=(e,t)=>this.element.style[e]=t;e||t?(a(`height`,i),a(`width`,r)):a(`height`,i)}},setSpacerSize(){let e=this.items;if(e){let t=this.isBoth(),n=this.isHorizontal(),r=this.getContentPosition(),i=(e,t,n,r=0)=>this.spacerStyle={...this.spacerStyle,[`${e}`]:(t||[]).length*n+r+`px`};t?(i(`height`,e,this.itemSize[0],r.y),i(`width`,this.columns||e[1],this.itemSize[1],r.x)):n?i(`width`,this.columns||e,this.itemSize,r.x):i(`height`,e,this.itemSize,r.y)}},setContentPosition(e){if(this.content&&!this.appendOnly){let t=this.isBoth(),n=this.isHorizontal(),r=this.rtl&&n,i=e?e.first:this.first,a=(e,t)=>e*t,o=(e=0,t=0)=>{let n=r?-e:e;this.contentStyle={...this.contentStyle,transform:`translate3d(${n}px, ${t}px, 0)`}};if(t){let e=i.rows,t=i.cols,n=this.itemSize;o(a(t,n[1]),a(e,n[0]))}else{let e=i,t=this.itemSize,r=a(e,t);n?o(r,0):o(0,r)}}},onScrollPositionChange(e){let t=e.target,n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r,a=this.getContentPosition(),o=(e,t)=>e?e>t?e-t:e:0,s=(e,t)=>Math.floor(e/(t||e)),c=o(t.scrollTop,a.top),l=o(t.scrollLeft,a.left);i&&l<0&&(l=Math.abs(l));let u=n?{rows:0,cols:0}:0,d=this.last,f=!1,p=this.lastScrollPos;if(n){let e=this.lastScrollPos.top<=c,n=this.lastScrollPos.left<=l;if(!this.appendOnly||this.appendOnly&&(e||n)){let r={rows:s(c,this.itemSize[0]),cols:s(l,this.itemSize[1])},i={rows:this.calculateTriggerIndex(r.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateTriggerIndex(r.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n)};u={rows:this.calculateFirst(r.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateFirst(r.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n,!0)},d={rows:this.calculateLast(r.rows,u.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:this.calculateLast(r.cols,u.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},f=u.rows!==this.first.rows||d.rows!==this.last.rows||u.cols!==this.first.cols||d.cols!==this.last.cols||this.isRangeChanged,p={top:c,left:t.scrollLeft}}}else{let e=r?l:c,t=this.lastScrollPos<=e;if(!this.appendOnly||this.appendOnly&&t){let n=s(e,this.itemSize),r=this.calculateTriggerIndex(n,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t);u=this.calculateFirst(n,r,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t),d=this.calculateLast(n,u,this.last,this.numItemsInViewport,this.d_numToleratedItems),f=u!==this.first||d!==this.last||this.isRangeChanged,p=e}}return{first:u,last:d,isRangeChanged:f,scrollPos:p}},calculateTriggerIndex(e,t,n,r,i,a){return e<=i?i:a?n-r-i:t+i-1},calculateFirst(e,t,n,r,i,a,o,s=!1){if(e<=a)return 0;let c=Math.max(0,o?e<t?n:e-a:e>t?n:e-2*a),l=this.getLast(c,s);return c>l?l-i:c},calculateLast(e,t,n,r,i,a=!1){let o=t+r+2*i;return e>=i&&(o+=i+1),this.getLast(o,a)},onScrollChange(e){let{first:t,last:n,isRangeChanged:r,scrollPos:i}=this.onScrollPositionChange(e);if(r){let e={first:t,last:n};if(this.setContentPosition(e),this.first=t,this.last=n,this.lastScrollPos=i,this.$emit(`scroll-index-change`,e),this.lazy&&this.isPageChanged(t)){let e={first:this.step?Math.min(this.getPageByFirst(t)*this.step,(this.items?.length||0)-this.step):t,last:Math.min(this.step?(this.getPageByFirst(t)+1)*this.step:n,this.items?.length-1||0)};(this.lazyLoadState.first!==e.first||this.lazyLoadState.last!==e.last)&&this.$emit(`lazy-load`,e),this.lazyLoadState=e}}},onScroll(e){if(this.$emit(`scroll`,e),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.isPageChanged()){if(!this.d_loading&&this.showLoader){let{isRangeChanged:t}=this.onScrollPositionChange(e);(t||this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(e),this.d_loading&&this.showLoader&&(!this.lazy||this.loading===void 0)&&(this.d_loading=!1,this.page=this.getPageByFirst())},this.delay)}}else this.onScrollChange(e)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(f(this.element)){let e=this.isBoth(),t=this.isVertical(),n=this.isHorizontal(),[a,o]=[r(this.element),i(this.element)],[s,c]=[a!==this.defaultWidth,o!==this.defaultHeight];(e?s||c:n?s:t&&c)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=a,this.defaultHeight=o,this.defaultContentWidth=r(this.content),this.defaultContentHeight=i(this.content),this.init())}},this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener(`resize`,this.resizeListener),window.addEventListener(`orientationchange`,this.resizeListener))},unbindResizeListener(){this.resizeListener&&=(window.removeEventListener(`resize`,this.resizeListener),window.removeEventListener(`orientationchange`,this.resizeListener),null)},getOptions(e){let t=(this.items||[]).length,n=this.isBoth()?this.first.rows+e:this.first+e;return{index:n,count:t,first:n===0,last:n===t-1,even:n%2==0,odd:n%2!=0}},getLoaderOptions(e,t){let n=this.loaderArr.length;return{index:e,count:n,first:e===0,last:e===n-1,even:e%2==0,odd:e%2!=0,...t}},getPageByFirst(e){return Math.floor(((e??this.first)+this.d_numToleratedItems*4)/(this.step||1))},isPageChanged(e){return this.step&&!this.lazy?this.page!==this.getPageByFirst(e??this.first):!0},setContentEl(e){this.content=e||this.content||h(this.element,`[data-pc-section="content"]`)},elementRef(e){this.element=e},contentRef(e){this.content=e}}},J=[`tabindex`];function Y(e,t,n,r,i,a){let o=D(`SpinnerIcon`);return e.disabled?(H(),N(I,{key:1},[w(e.$slots,`default`),w(e.$slots,`content`,{items:e.items,rows:e.items,columns:a.loadedColumns})],64)):(H(),N(`div`,b({key:0,ref:a.elementRef,class:a.containerClass,tabindex:e.tabindex,style:e.style},e.ptmi(`root`),{onScroll:t[0]||=(...e)=>a.onScroll&&a.onScroll(...e)}),[w(e.$slots,`content`,{styleClass:a.contentClass,items:a.loadedItems,getItemOptions:a.getOptions,loading:i.d_loading,getLoaderOptions:a.getLoaderOptions,itemSize:e.itemSize,rows:a.loadedRows,columns:a.loadedColumns,contentRef:a.contentRef,spacerStyle:i.spacerStyle,contentStyle:i.contentStyle,vertical:a.isVertical(),horizontal:a.isHorizontal(),both:a.isBoth()},()=>[A(`div`,b({ref:a.contentRef,class:a.contentClass,style:i.contentStyle},e.ptm(`content`)),[(H(!0),N(I,null,O(a.loadedItems,(t,n)=>w(e.$slots,`item`,{key:a.resolveItemKey(t,n),item:t,options:a.getOptions(n)})),128))],16)]),e.showSpacer?(H(),N(`div`,b({key:0,class:`p-virtualscroller-spacer`,style:i.spacerStyle},e.ptm(`spacer`)),null,16)):L(``,!0),!e.loaderDisabled&&e.showLoader&&i.d_loading?(H(),N(`div`,b({key:1,class:a.loaderClass},e.ptm(`loader`)),[e.$slots&&e.$slots.loader?(H(!0),N(I,{key:0},O(i.loaderArr,(t,n)=>w(e.$slots,`loader`,{key:n,options:a.getLoaderOptions(n,a.isBoth()&&{numCols:e.d_numItemsInViewport.cols})})),128)):L(``,!0),w(e.$slots,`loadingicon`,{},()=>[V(o,b({spin:``,class:`p-virtualscroller-loading-icon`},e.ptm(`loadingIcon`)),null,16)])],16)):L(``,!0)],16,J))}var X=W(q,[[`render`,Y]]),Z=W(B({__name:`CuiRecordingsGrid`,props:{items:{},minItemWidth:{},aspectRatio:{default:1},gap:{default:8},hasMore:{type:Boolean,default:!1},loadMore:{type:Function,default:void 0},itemKey:{type:Function,default:void 0}},setup(e,{expose:t}){let n=e,r=k(`containerRef`),{width:i,height:a}=m(r),o=z(()=>a.value>0?`${a.value}px`:void 0),s=z(()=>{let e=i.value;if(!e)return 0;let t=n.gap;return Math.max(1,Math.floor((e+t)/(n.minItemWidth+t)))}),c=z(()=>{let e=i.value,t=s.value;return!e||!t?0:Math.floor((e-(t-1)*n.gap)/t)}),l=z(()=>c.value?Math.floor(c.value/n.aspectRatio):0),u=z(()=>l.value?l.value+n.gap:0),d=z(()=>{let e=s.value;if(!e)return[];let t=[];for(let r=0;r<n.items.length;r+=e)t.push(n.items.slice(r,r+e));return t});function f(e){if(n.itemKey)return n.itemKey(e);let t=e;return t.id??t.key??JSON.stringify(e)}function p(e){let t=e;if(!(!t||t.length===0))return f(t[0])}let h=!1,g=null;async function _(){if(h||!n.hasMore||!n.loadMore||g!==null&&n.items.length===g)return;h=!0;let e=n.items.length;try{await Promise.resolve(n.loadMore())}finally{h=!1,g=n.items.length===e?e:null}}function v(e){let t=e.target;if(!t)return;let n=u.value*3;t.scrollTop+t.clientHeight>=t.scrollHeight-n&&_()}function b(){(r.value?.querySelector(`.recordings-scroll`))?.scrollTo({top:0,behavior:`smooth`})}let x=!1;return y([()=>n.items.length,a,u,()=>n.hasMore],()=>{x||(x=!0,M(()=>{if(x=!1,!n.hasMore)return;let e=a.value,t=d.value.length*u.value;e>0&&u.value>0&&t<e+u.value&&_()}))},{flush:`post`}),t({scrollToTop:b}),(t,n)=>{let i=X;return H(),N(`div`,{ref_key:`containerRef`,ref:r,class:`recordings-grid-root`},[T(d).length>0&&T(c)>0?(H(),j(i,{key:0,items:T(d),"item-size":T(u),"scroll-height":T(o),orientation:`vertical`,class:`recordings-scroll`,"num-tolerated-items":2,"item-key":p,onScroll:v},{item:F(({item:n})=>[A(`div`,{class:`recordings-row`,style:E({height:`${T(u)}px`,gap:`${e.gap}px`})},[(H(!0),N(I,null,O(n,e=>(H(),N(`div`,{key:f(e),style:E({width:`${T(c)}px`,height:`${T(l)}px`})},[w(t.$slots,`item`,{item:e},void 0,!0)],4))),128))],4)]),_:3},8,[`items`,`item-size`,`scroll-height`])):L(``,!0)],512)}}}),[[`__scopeId`,`data-v-84f111f8`]]);export{K as n,Z as t};
1
+ import{Cn as e,I as t,Ir as n,Jn as r,Zn as i,_n as a,a as o,c as s,gn as c,gt as l,i as u,m as d,ur as f,vi as p,xn as m,yr as h}from"./vendor-cameraui-D5fd9Ars.js";import{D as g,Tt as _,s as v}from"./api-CeJqvqFj.js";import{$n as y,An as b,Cr as x,En as ee,Er as S,Gn as C,Hn as w,Ln as te,Sr as T,Tr as E,Un as D,Vn as O,Zn as k,an as ne,dn as A,fn as j,jn as M,mn as N,mr as P,nr as F,on as I,pn as L,rn as re,rr as R,un as z,xn as B,yn as V,zn as H}from"./vendor-ClrOISZp.js";import{A as U,W as ie}from"./vendor-primevue-Ba4LruKV.js";import{t as W}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ae}from"./CuiImage-D_DDxN1t.js";import{n as oe,t as se}from"./eventIcons-OxuOsPp8.js";import{t as ce}from"./useFileDownload-CaB5Myfa.js";import{t as le}from"./download-DLRWZxWu.js";var ue={class:`bg-neutral-900 w-full rounded-xl overflow-hidden relative`,style:{"aspect-ratio":`1/1`}},de={key:2,class:`w-full h-full flex items-center justify-center bg-neutral-800/80`},fe={class:`absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]`},pe={class:`flex items-center gap-1.5`},me={class:`text-xs font-semibold text-white truncate min-w-0 flex-1`},he={class:`text-[10px] text-white/70`},ge={class:`absolute bottom-2 left-2 flex items-center gap-1 z-[3]`},_e={key:0,class:`text-[10px] text-white/60 font-medium`},ve={key:1,class:`text-[11px] text-white/80 font-medium truncate max-w-[100px]`},ye={key:4,class:`absolute inset-0 z-[4] flex items-center justify-center pointer-events-none`},be={key:5,class:`absolute bottom-1 right-1 flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200 z-[3]`},xe=[`src`,`alt`],G=.15,Se=.38,K=W(B({__name:`RecordingCard`,props:{event:{},cameraName:{},camera:{},loadThumbnails:{type:Function},semanticScore:{},thumbnailOverride:{}},emits:[`scrollToEvent`],setup(e,{emit:r}){let i=e,f=r,p=_(),m=g(),{t:h}=n(),y=d(`@camera.ui/camera-ui-nvr`),{plugin:b}=l(`@camera.ui/camera-ui-nvr`),w=[`person`,`vehicle`,`animal`,`package`],{icons:E}=se(),D=i.thumbnailOverride?void 0:y.getCachedThumbnails(i.event.id),M=i.thumbnailOverride?`loaded`:D?u(D,i.event).url?`loaded`:`empty`:`loading`,B=ee(s,void 0),U=k(`previewCanvasRef`),W=P(!1),K=P(D??null),q=P(M),J=P(!1),Y=z(()=>i.event.segments?.find(e=>e?.description)?.description?.title),X=z(()=>{if(i.semanticScore==null)return;let e=Math.max(0,Math.min(1,(i.semanticScore-G)/(Se-G)));return{pct:e,label:`${(e*100).toFixed(0)}%`,color:e>=.5?`bg-green-500/80`:e>=.25?`bg-yellow-500/80`:`bg-red-400/80`}}),Z=z(()=>K.value?u(K.value,i.event):null),Q=z(()=>i.thumbnailOverride?.url??Z.value?.url),$=z(()=>i.thumbnailOverride?i.thumbnailOverride.label:Z.value?.label),Ce=z(()=>i.thumbnailOverride?.type??Z.value?.type??i.event.types[0]??`motion`),we=z(()=>i.thumbnailOverride?[i.thumbnailOverride.type].filter(e=>e!==`motion`&&e!==`audio`&&e!==`scene`):[...new Set(i.event.types.filter(e=>e!==`motion`&&e!==`audio`))]),Te=z(()=>we.value.slice(0,2)),Ee=z(()=>Math.max(0,we.value.length-2)),De=z(()=>i.cameraName??i.event.cameraId),Oe=z(()=>{let e=K.value;if(!e)return[];let t=Z.value?.url,n=[],r=(e,r)=>!e||e===t||n.length>=5?!1:(n.push({url:e,type:r}),!0);if(e.attributes)for(let[t,n]of Object.entries(e.attributes))r(o(n),t.split(`:`)[0]);if(e.detections){for(let t of w)for(let[n,i]of Object.entries(e.detections))if(n.endsWith(`:${t}`)){r(o(i),t);break}for(let[t,n]of Object.entries(e.detections)){let e=t.includes(`:`)?t.split(`:`).slice(1).join(`:`):t;w.includes(e)||r(o(n),e)}}if(e.scenes){let t=Object.keys(e.scenes).sort((e,t)=>Number(e)-Number(t));for(let n of t)r(o(e.scenes[n]),`scene`)}return n}),ke=z(()=>{let e=new Date(i.event.startTime),t=new Date,n=e.toDateString()===t.toDateString(),r=e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});return n?r:`${e.toLocaleDateString([],{month:`short`,day:`numeric`})} ${r}`}),Ae=z(()=>!!(b.value&&i.event.endTime&&i.event.hasRecording!==!1));function je(){if(!B||!i.event.endTime||i.event.hasRecording===!1)return;let e=U.value;e&&(W.value=!0,B.onHoverStart(e,i.event.cameraId,i.event.id,i.event.startTime,i.event.endTime))}function Me(){B&&(W.value=!1,B.onHoverEnd())}async function Ne(e=2){let t=await i.loadThumbnails(i.event.id,i.event.startTime);if(t){K.value=t;let e=u(t,i.event);q.value=e.url?`loaded`:`empty`}else if(e>0)return await new Promise(e=>setTimeout(e,500)),Ne(e-1);else q.value=`empty`}function Pe(){f(`scrollToEvent`,i.event.startTime)}async function Fe(){if(J.value)return;let e=b.value;if(!(!e?.nvrExport||!i.event.endTime)){J.value=!0;try{let t=await e.nvrExport(i.event.cameraId,i.event.startTime*1e3,i.event.endTime*1e3);await ce({url:t.url,filename:t.filename})}catch(e){p.error(`Download failed:`,e),m.add({severity:`error`,summary:h(`views.recordings.download_failed`),detail:v(e),life:5e3})}finally{J.value=!1}}}return te(()=>{M===`loading`&&Ne()}),(n,r)=>{let i=t,o=ae,s=oe,l=le,u=a,d=c,f=ie;return H(),N(`div`,{class:`recording-card relative group cursor-pointer`,onClick:Pe,onMouseenter:je,onMouseleave:Me},[A(`div`,ue,[T(q)===`loading`?(H(),j(i,{key:0,width:`100%`,height:`100%`,class:`rounded-xl`})):T(Q)?(H(),j(o,{key:1,src:T(Q),alt:T(De),class:`pointer-events-none w-full h-full transition-transform duration-300 group-hover:scale-105`,"image-style":{objectFit:`cover`},"image-container-class":`w-full h-full`},null,8,[`src`,`alt`])):(H(),N(`div`,de,[(H(),j(C(T(E)[T(Ce)]??T(E).motion),{class:`w-10 h-10 text-white/20`}))])),T(B)?R((H(),N(`canvas`,{key:3,ref_key:`previewCanvasRef`,ref:U,class:`absolute inset-0 w-full h-full object-cover pointer-events-none z-[1]`},null,512)),[[re,T(W)]]):L(``,!0),r[0]||=A(`div`,{class:`absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]`},null,-1),A(`div`,fe,[A(`div`,pe,[T(Y)?(H(),j(s,{key:0,position:`inline`})):L(``,!0),A(`p`,me,S(T(De)),1),T(X)?(H(),N(`span`,{key:1,class:x([`text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0`,T(X).color])},S(T(X).label),3)):L(``,!0),T(Ae)?R((H(),j(u,{key:2,rounded:``,text:``,severity:`secondary`,loading:T(J),class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:ne(Fe,[`stop`])},{icon:F(()=>[V(l,{class:`w-3 h-3 text-white`})]),_:1},8,[`loading`])),[[f,{value:n.$t(`views.recordings.download`)},void 0,{left:!0}]]):L(``,!0)]),A(`p`,he,S(T(ke)),1)]),A(`div`,ge,[(H(!0),N(I,null,O(T(Te),e=>(H(),N(`div`,{key:e,class:`flex items-center justify-center w-5 h-5 rounded-md bg-black/60`},[(H(),j(C(T(E)[e]??T(E).motion),{class:`w-3 h-3 text-white/80`}))]))),128)),T(Ee)>0?(H(),N(`span`,_e,`+`+S(T(Ee)),1)):L(``,!0),T($)?(H(),N(`span`,ve,S(T($)),1)):L(``,!0)]),T(B)&&T(W)&&T(B).isLoading.value?(H(),N(`div`,ye,[V(d,{class:`w-[28px] h-[28px] m-0`,"stroke-width":`6`})])):L(``,!0),T(Oe).length>1&&!e.thumbnailOverride?(H(),N(`div`,be,[(H(!0),N(I,null,O(T(Oe).slice(0,4),(e,t)=>(H(),N(`div`,{key:t,class:`w-7 h-7 rounded overflow-hidden border border-white/20 bg-neutral-800`},[A(`img`,{src:e.url,alt:e.type,decoding:`async`,loading:`lazy`,class:`w-full h-full object-cover`},null,8,xe)]))),128))])):L(``,!0)])],32)}}}),[[`__scopeId`,`data-v-338347a3`]]),q={name:`VirtualScroller`,components:{SpinnerIcon:m},extends:{name:`BaseVirtualScroller`,extends:e,provide(){return{$pcVirtualScroller:this,$parentInstance:this}},props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:`vertical`},rtl:{type:Boolean,default:!1},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1},itemKey:{type:[String,Function],default:null}},style:U,beforeMount(){U.loadCSS({nonce:this.$primevueConfig?.csp?.nonce})}},inheritAttrs:!1,emits:[`update:numToleratedItems`,`scroll`,`scroll-index-change`,`lazy-load`],data(){let e=this.isBoth();return{first:e?{rows:0,cols:0}:0,last:e?{rows:0,cols:0}:0,page:e?{rows:0,cols:0}:0,numItemsInViewport:e?{rows:0,cols:0}:0,lastScrollPos:e?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,computed:{containerClass(){return[`p-virtualscroller`,this.class,{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal(),"p-virtualscroller-rtl":this.rtl&&this.isHorizontal()}]},contentClass(){return[`p-virtualscroller-content`,{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return[`p-virtualscroller-loader`,{"p-virtualscroller-loader-mask":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map(e=>this.columns?e:e.slice(this.appendOnly?0:this.first.cols,this.last.cols)):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){let e=this.isBoth(),t=this.isHorizontal();if(e||t)return this.d_loading&&this.loaderDisabled?e?this.loaderArr[0]:this.loaderArr:this.columns.slice(e?this.first.cols:this.first,e?this.last.cols:this.last)}return this.columns}},watch:{numToleratedItems(e){this.d_numToleratedItems=e},loading(e,t){this.lazy&&e!==t&&e!==this.d_loading&&(this.d_loading=e)},items(e,t){(!t||t.length!==(e||[]).length)&&this.scheduleInit()},itemSize(){this.scheduleInit()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.scheduleInit()},scrollWidth(){this.scheduleInit()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{resolveItemKey(e,t){let n=this.itemKey;return typeof n==`function`?n(e,t)??t:typeof n==`string`&&typeof e==`object`&&e?e[n]??t:t},viewInit(){f(this.element)&&(this.setContentEl(this.content),this.init(),this.calculateAutoSize(),this.bindResizeListener(),this.defaultWidth=r(this.element),this.defaultHeight=i(this.element),this.defaultContentWidth=r(this.content),this.defaultContentHeight=i(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},scheduleInit(){this._initScheduled||(this._initScheduled=!0,Promise.resolve().then(()=>{this._initScheduled=!1,this.init(),this.calculateAutoSize()}))},isVertical(){return this.orientation===`vertical`},isHorizontal(){return this.orientation===`horizontal`},isBoth(){return this.orientation===`both`},scrollTo(e){this.element&&this.element.scrollTo(e)},scrollToIndex(e,t=`auto`){let n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r;if(n?e.every(e=>e>-1):e>-1){let a=this.first,{scrollTop:o=0,scrollLeft:s=0}=this.element,{numToleratedItems:c}=this.calculateNumItems(),l=this.getContentPosition(),u=this.itemSize,d=(e=0,t)=>e<=t?0:e,f=(e,t,n)=>e*t+n,p=(e=0,n=0)=>{i&&(e=this.element.scrollWidth-this.element.clientWidth-e),this.scrollTo({left:e,top:n,behavior:t})},m=n?{rows:0,cols:0}:0,h=!1,g=!1;n?(m={rows:d(e[0],c[0]),cols:d(e[1],c[1])},p(f(m.cols,u[1],l.left),f(m.rows,u[0],l.top)),g=this.lastScrollPos.top!==o||this.lastScrollPos.left!==s,h=m.rows!==a.rows||m.cols!==a.cols):(m=d(e,c),r?p(f(m,u,l.left),o):p(s,f(m,u,l.top)),g=this.lastScrollPos!==(r?s:o),h=m!==a),this.isRangeChanged=h,g&&(this.first=m)}},scrollInView(e,t,n=`auto`){if(t){let r=this.isBoth(),i=this.isHorizontal();if(r?e.every(e=>e>-1):e>-1){let{first:a,viewport:o}=this.getRenderedRange(),s=(e=0,t=0)=>this.scrollTo({left:e,top:t,behavior:n}),c=t===`to-start`,l=t===`to-end`;if(c){if(r)o.first.rows-a.rows>e[0]?s(o.first.cols*this.itemSize[1],(o.first.rows-1)*this.itemSize[0]):o.first.cols-a.cols>e[1]&&s((o.first.cols-1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.first-a>e){let e=(o.first-1)*this.itemSize;i?s(e,0):s(0,e)}}else if(l){if(r)o.last.rows-a.rows<=e[0]+1?s(o.first.cols*this.itemSize[1],(o.first.rows+1)*this.itemSize[0]):o.last.cols-a.cols<=e[1]+1&&s((o.first.cols+1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.last-a<=e+1){let e=(o.first+1)*this.itemSize;i?s(e,0):s(0,e)}}}}else this.scrollToIndex(e,n)},getRenderedRange(){let e=(e,t)=>Math.floor(e/(t||e)),t=this.first,n=0;if(this.element){let r=this.isBoth(),i=this.isHorizontal(),{scrollTop:a,scrollLeft:o}=this.element;r?(t={rows:e(a,this.itemSize[0]),cols:e(o,this.itemSize[1])},n={rows:t.rows+this.numItemsInViewport.rows,cols:t.cols+this.numItemsInViewport.cols}):(t=e(i?o:a,this.itemSize),n=t+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:t,last:n}}},calculateNumItems(){let e=this.isBoth(),t=this.isHorizontal(),n=this.itemSize,r=this.getContentPosition(),i=this.element?this.element.offsetWidth-r.left:0,a=this.element?this.element.offsetHeight-r.top:0,o=(e,t)=>Math.ceil(e/(t||e)),s=e=>Math.ceil(e/2),c=e?{rows:o(a,n[0]),cols:o(i,n[1])}:o(t?i:a,n);return{numItemsInViewport:c,numToleratedItems:this.d_numToleratedItems||(e?[s(c.rows),s(c.cols)]:s(c))}},calculateOptions(){let e=this.isBoth(),t=this.first,{numItemsInViewport:n,numToleratedItems:r}=this.calculateNumItems(),i=(e,t,n,r=!1)=>this.getLast(e+t+(e<n?2:3)*n,r),a=e?{rows:i(t.rows,n.rows,r[0]),cols:i(t.cols,n.cols,r[1],!0)}:i(t,n,r);this.last=a,this.numItemsInViewport=n,this.d_numToleratedItems=r,this.$emit(`update:numToleratedItems`,this.d_numToleratedItems),this.showLoader&&(this.loaderArr=e?Array.from({length:n.rows}).map(()=>Array.from({length:n.cols})):Array.from({length:n})),this.lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this.step?e?{rows:0,cols:t.cols}:0:t,last:Math.min(this.step?this.step:a,this.items?.length-1||0)},this.$emit(`lazy-load`,this.lazyLoadState)})},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.content){let e=this.isBoth(),t=this.isHorizontal(),n=this.isVertical();this.content.style.minHeight=this.content.style.minWidth=`auto`,this.content.style.position=`relative`,this.element.style.contain=`none`;let[a,o]=[r(this.element),i(this.element)];(e||t)&&(this.element.style.width=a<this.defaultWidth?a+`px`:this.scrollWidth||this.defaultWidth+`px`),(e||n)&&(this.element.style.height=o<this.defaultHeight?o+`px`:this.scrollHeight||this.defaultHeight+`px`),this.content.style.minHeight=this.content.style.minWidth=``,this.content.style.position=``,this.element.style.contain=``}})},getLast(e=0,t){return this.items?Math.min(t?(this.columns||this.items[0])?.length||0:this.items?.length||0,e):0},getContentPosition(){if(this.content){let e=getComputedStyle(this.content),t=parseFloat(e.paddingLeft)+Math.max(parseFloat(e.left)||0,0),n=parseFloat(e.paddingRight)+Math.max(parseFloat(e.right)||0,0),r=parseFloat(e.paddingTop)+Math.max(parseFloat(e.top)||0,0),i=parseFloat(e.paddingBottom)+Math.max(parseFloat(e.bottom)||0,0);return{left:t,right:n,top:r,bottom:i,x:t+n,y:r+i}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){let e=this.isBoth(),t=this.isHorizontal(),n=this.element.parentElement,r=this.scrollWidth||`${this.element.offsetWidth||n.offsetWidth}px`,i=this.scrollHeight||`${this.element.offsetHeight||n.offsetHeight}px`,a=(e,t)=>this.element.style[e]=t;e||t?(a(`height`,i),a(`width`,r)):a(`height`,i)}},setSpacerSize(){let e=this.items;if(e){let t=this.isBoth(),n=this.isHorizontal(),r=this.getContentPosition(),i=(e,t,n,r=0)=>this.spacerStyle={...this.spacerStyle,[`${e}`]:(t||[]).length*n+r+`px`};t?(i(`height`,e,this.itemSize[0],r.y),i(`width`,this.columns||e[1],this.itemSize[1],r.x)):n?i(`width`,this.columns||e,this.itemSize,r.x):i(`height`,e,this.itemSize,r.y)}},setContentPosition(e){if(this.content&&!this.appendOnly){let t=this.isBoth(),n=this.isHorizontal(),r=this.rtl&&n,i=e?e.first:this.first,a=(e,t)=>e*t,o=(e=0,t=0)=>{let n=r?-e:e;this.contentStyle={...this.contentStyle,transform:`translate3d(${n}px, ${t}px, 0)`}};if(t){let e=i.rows,t=i.cols,n=this.itemSize;o(a(t,n[1]),a(e,n[0]))}else{let e=i,t=this.itemSize,r=a(e,t);n?o(r,0):o(0,r)}}},onScrollPositionChange(e){let t=e.target,n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r,a=this.getContentPosition(),o=(e,t)=>e?e>t?e-t:e:0,s=(e,t)=>Math.floor(e/(t||e)),c=o(t.scrollTop,a.top),l=o(t.scrollLeft,a.left);i&&l<0&&(l=Math.abs(l));let u=n?{rows:0,cols:0}:0,d=this.last,f=!1,p=this.lastScrollPos;if(n){let e=this.lastScrollPos.top<=c,n=this.lastScrollPos.left<=l;if(!this.appendOnly||this.appendOnly&&(e||n)){let r={rows:s(c,this.itemSize[0]),cols:s(l,this.itemSize[1])},i={rows:this.calculateTriggerIndex(r.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateTriggerIndex(r.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n)};u={rows:this.calculateFirst(r.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateFirst(r.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n,!0)},d={rows:this.calculateLast(r.rows,u.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:this.calculateLast(r.cols,u.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},f=u.rows!==this.first.rows||d.rows!==this.last.rows||u.cols!==this.first.cols||d.cols!==this.last.cols||this.isRangeChanged,p={top:c,left:t.scrollLeft}}}else{let e=r?l:c,t=this.lastScrollPos<=e;if(!this.appendOnly||this.appendOnly&&t){let n=s(e,this.itemSize),r=this.calculateTriggerIndex(n,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t);u=this.calculateFirst(n,r,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t),d=this.calculateLast(n,u,this.last,this.numItemsInViewport,this.d_numToleratedItems),f=u!==this.first||d!==this.last||this.isRangeChanged,p=e}}return{first:u,last:d,isRangeChanged:f,scrollPos:p}},calculateTriggerIndex(e,t,n,r,i,a){return e<=i?i:a?n-r-i:t+i-1},calculateFirst(e,t,n,r,i,a,o,s=!1){if(e<=a)return 0;let c=Math.max(0,o?e<t?n:e-a:e>t?n:e-2*a),l=this.getLast(c,s);return c>l?l-i:c},calculateLast(e,t,n,r,i,a=!1){let o=t+r+2*i;return e>=i&&(o+=i+1),this.getLast(o,a)},onScrollChange(e){let{first:t,last:n,isRangeChanged:r,scrollPos:i}=this.onScrollPositionChange(e);if(r){let e={first:t,last:n};if(this.setContentPosition(e),this.first=t,this.last=n,this.lastScrollPos=i,this.$emit(`scroll-index-change`,e),this.lazy&&this.isPageChanged(t)){let e={first:this.step?Math.min(this.getPageByFirst(t)*this.step,(this.items?.length||0)-this.step):t,last:Math.min(this.step?(this.getPageByFirst(t)+1)*this.step:n,this.items?.length-1||0)};(this.lazyLoadState.first!==e.first||this.lazyLoadState.last!==e.last)&&this.$emit(`lazy-load`,e),this.lazyLoadState=e}}},onScroll(e){if(this.$emit(`scroll`,e),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.isPageChanged()){if(!this.d_loading&&this.showLoader){let{isRangeChanged:t}=this.onScrollPositionChange(e);(t||this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(e),this.d_loading&&this.showLoader&&(!this.lazy||this.loading===void 0)&&(this.d_loading=!1,this.page=this.getPageByFirst())},this.delay)}}else this.onScrollChange(e)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(f(this.element)){let e=this.isBoth(),t=this.isVertical(),n=this.isHorizontal(),[a,o]=[r(this.element),i(this.element)],[s,c]=[a!==this.defaultWidth,o!==this.defaultHeight];(e?s||c:n?s:t&&c)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=a,this.defaultHeight=o,this.defaultContentWidth=r(this.content),this.defaultContentHeight=i(this.content),this.init())}},this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener(`resize`,this.resizeListener),window.addEventListener(`orientationchange`,this.resizeListener))},unbindResizeListener(){this.resizeListener&&=(window.removeEventListener(`resize`,this.resizeListener),window.removeEventListener(`orientationchange`,this.resizeListener),null)},getOptions(e){let t=(this.items||[]).length,n=this.isBoth()?this.first.rows+e:this.first+e;return{index:n,count:t,first:n===0,last:n===t-1,even:n%2==0,odd:n%2!=0}},getLoaderOptions(e,t){let n=this.loaderArr.length;return{index:e,count:n,first:e===0,last:e===n-1,even:e%2==0,odd:e%2!=0,...t}},getPageByFirst(e){return Math.floor(((e??this.first)+this.d_numToleratedItems*4)/(this.step||1))},isPageChanged(e){return this.step&&!this.lazy?this.page!==this.getPageByFirst(e??this.first):!0},setContentEl(e){this.content=e||this.content||h(this.element,`[data-pc-section="content"]`)},elementRef(e){this.element=e},contentRef(e){this.content=e}}},J=[`tabindex`];function Y(e,t,n,r,i,a){let o=D(`SpinnerIcon`);return e.disabled?(H(),N(I,{key:1},[w(e.$slots,`default`),w(e.$slots,`content`,{items:e.items,rows:e.items,columns:a.loadedColumns})],64)):(H(),N(`div`,b({key:0,ref:a.elementRef,class:a.containerClass,tabindex:e.tabindex,style:e.style},e.ptmi(`root`),{onScroll:t[0]||=(...e)=>a.onScroll&&a.onScroll(...e)}),[w(e.$slots,`content`,{styleClass:a.contentClass,items:a.loadedItems,getItemOptions:a.getOptions,loading:i.d_loading,getLoaderOptions:a.getLoaderOptions,itemSize:e.itemSize,rows:a.loadedRows,columns:a.loadedColumns,contentRef:a.contentRef,spacerStyle:i.spacerStyle,contentStyle:i.contentStyle,vertical:a.isVertical(),horizontal:a.isHorizontal(),both:a.isBoth()},()=>[A(`div`,b({ref:a.contentRef,class:a.contentClass,style:i.contentStyle},e.ptm(`content`)),[(H(!0),N(I,null,O(a.loadedItems,(t,n)=>w(e.$slots,`item`,{key:a.resolveItemKey(t,n),item:t,options:a.getOptions(n)})),128))],16)]),e.showSpacer?(H(),N(`div`,b({key:0,class:`p-virtualscroller-spacer`,style:i.spacerStyle},e.ptm(`spacer`)),null,16)):L(``,!0),!e.loaderDisabled&&e.showLoader&&i.d_loading?(H(),N(`div`,b({key:1,class:a.loaderClass},e.ptm(`loader`)),[e.$slots&&e.$slots.loader?(H(!0),N(I,{key:0},O(i.loaderArr,(t,n)=>w(e.$slots,`loader`,{key:n,options:a.getLoaderOptions(n,a.isBoth()&&{numCols:e.d_numItemsInViewport.cols})})),128)):L(``,!0),w(e.$slots,`loadingicon`,{},()=>[V(o,b({spin:``,class:`p-virtualscroller-loading-icon`},e.ptm(`loadingIcon`)),null,16)])],16)):L(``,!0)],16,J))}var X=W(q,[[`render`,Y]]),Z=W(B({__name:`CuiRecordingsGrid`,props:{items:{},minItemWidth:{},aspectRatio:{default:1},gap:{default:8},hasMore:{type:Boolean,default:!1},loadMore:{type:Function,default:void 0},itemKey:{type:Function,default:void 0}},setup(e,{expose:t}){let n=e,r=k(`containerRef`),{width:i,height:a}=p(r),o=z(()=>a.value>0?`${a.value}px`:void 0),s=z(()=>{let e=i.value;if(!e)return 0;let t=n.gap;return Math.max(1,Math.floor((e+t)/(n.minItemWidth+t)))}),c=z(()=>{let e=i.value,t=s.value;return!e||!t?0:Math.floor((e-(t-1)*n.gap)/t)}),l=z(()=>c.value?Math.floor(c.value/n.aspectRatio):0),u=z(()=>l.value?l.value+n.gap:0),d=z(()=>{let e=s.value;if(!e)return[];let t=[];for(let r=0;r<n.items.length;r+=e)t.push(n.items.slice(r,r+e));return t});function f(e){if(n.itemKey)return n.itemKey(e);let t=e;return t.id??t.key??JSON.stringify(e)}function m(e){let t=e;if(!(!t||t.length===0))return f(t[0])}let h=!1,g=null;async function _(){if(h||!n.hasMore||!n.loadMore||g!==null&&n.items.length===g)return;h=!0;let e=n.items.length;try{await Promise.resolve(n.loadMore())}finally{h=!1,g=n.items.length===e?e:null}}function v(e){let t=e.target;if(!t)return;let n=u.value*3;t.scrollTop+t.clientHeight>=t.scrollHeight-n&&_()}function b(){(r.value?.querySelector(`.recordings-scroll`))?.scrollTo({top:0,behavior:`smooth`})}let x=!1;return y([()=>n.items.length,a,u,()=>n.hasMore],()=>{x||(x=!0,M(()=>{if(x=!1,!n.hasMore)return;let e=a.value,t=d.value.length*u.value;e>0&&u.value>0&&t<e+u.value&&_()}))},{flush:`post`}),t({scrollToTop:b}),(t,n)=>{let i=X;return H(),N(`div`,{ref_key:`containerRef`,ref:r,class:`recordings-grid-root`},[T(d).length>0&&T(c)>0?(H(),j(i,{key:0,items:T(d),"item-size":T(u),"scroll-height":T(o),orientation:`vertical`,class:`recordings-scroll`,"num-tolerated-items":2,"item-key":m,onScroll:v},{item:F(({item:n})=>[A(`div`,{class:`recordings-row`,style:E({height:`${T(u)}px`,gap:`${e.gap}px`})},[(H(!0),N(I,null,O(n,e=>(H(),N(`div`,{key:f(e),style:E({width:`${T(c)}px`,height:`${T(l)}px`})},[w(t.$slots,`item`,{item:e},void 0,!0)],4))),128))],4)]),_:3},8,[`items`,`item-size`,`scroll-height`])):L(``,!0)],512)}}}),[[`__scopeId`,`data-v-84f111f8`]]);export{K as n,Z as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{F as t,O as n,_n as r,ui as i}from"./vendor-cameraui-D5fd9Ars.js";import{A as a,B as o,F as s,G as c,H as ee,I as l,K as u,L as te,N as d,P as f,R as p,Tt as m,U as ne,V as h,W as g,j as _,k as v,o as y,z as re}from"./api-CeJqvqFj.js";import{$n as b,$t as x,An as S,Bn as C,Cr as w,En as T,Er as E,F as D,Hn as O,I as k,P as A,Sr as j,Un as ie,Vn as M,Yn as N,Zn as ae,an as P,b as oe,br as F,dn as I,fn as L,kn as R,lr as z,mn as B,mr as V,nr as H,on as U,pn as W,rn as G,rr as K,un as q,ur as J,vn as Y,xn as X,yn as Z,zn as Q}from"./vendor-ClrOISZp.js";import{f as $}from"./vendor-core-D9amXF-u.js";import{B as se,C as ce,E as le,F as ue,H as de,N as fe,O as pe,P as me,R as he,S as ge,T as _e,V as ve,W as ye,h as be,l as xe,s as Se,w as Ce}from"./vendor-primevue-Ba4LruKV.js";import{t as we}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Te}from"./close-BTPBtoEq.js";import{t as Ee}from"./CuiImage-D_DDxN1t.js";import{t as De}from"./theme-Dlx1uc6I.js";import{t as Oe}from"./check-COWE52r_.js";var ke=X({__name:`CuiChipGroup`,props:R({selectedClass:{},disabled:{type:Boolean},mandatory:{type:Boolean},multiple:{type:Boolean}},{modelValue:{required:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=N(e,`modelValue`),{selectedClass:r,disabled:i,mandatory:a,multiple:o}=F(t);function s(e){if(!i.value)if(o.value){let t=[...Array.isArray(n.value)?n.value:[]];t.includes(e)?(!a.value||t.length>1)&&(t=t.filter(t=>t!==e)):t.push(e),n.value=t}else n.value===e?a.value||(n.value=void 0):n.value=e}return C(`chipGroup`,{modelValue:n,selectedClass:r,disabled:i,mandatory:a,updateSelected:s}),(e,t)=>(Q(),B(`div`,{class:w([`flex flex-wrap gap-2`,{"opacity-60 pointer-events-none":j(i)}])},[O(e.$slots,`default`)],2))}}),Ae={key:0,class:`absolute left-1 top-1/2 transform -translate-y-1/2 flex items-center justify-center cui-icon-sm`},je=we(X({__name:`CuiChip`,props:{value:{},removable:{type:Boolean},disabled:{type:Boolean},size:{},filter:{type:Boolean}},setup(e){let{value:t,removable:n,disabled:r,size:i,filter:a}=F(e),o=T(`chipGroup`),s=q(()=>!!(r.value||o?.disabled.value)),c=q(()=>{if(!o)return!1;let e=o.modelValue.value;return Array.isArray(e)?e.includes(t.value):e===t.value}),ee=q(()=>c.value?o?.selectedClass.value:void 0);function l(){s.value||o?.updateSelected(t.value)}return(e,t)=>{let r=Oe,o=ge;return Q(),L(o,{removable:j(n),disabled:j(s),class:w([`cui-chip inline-flex cursor-pointer transition-all rounded-full py-1 px-2 relative justify-center items-center`,[{"cui-chip-selected":j(c),"cui-chip-disabled":j(s),"cui-chip-small":j(i)===`small`,"cui-chip-medium":j(i)===`medium`,"cui-chip-large":j(i)===`large`,"pl-7":j(a)&&j(c)},j(ee)]]),onClick:l},{default:H(()=>[Z(x,{name:`fade`},{default:H(()=>[j(a)&&j(c)?(Q(),B(`div`,Ae,[Z(r,{width:`100%`,height:`100%`})])):W(``,!0)]),_:1}),O(e.$slots,`default`,{},void 0,!0),O(e.$slots,`append`,{},void 0,!0)]),_:3},8,[`removable`,`disabled`,`class`])}}}),[[`__scopeId`,`data-v-d10419fb`]]),Me={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ne(e,t){return Q(),B(`svg`,Me,[...t[0]||=[I(`path`,{fill:`currentColor`,d:`M17 13h-4v4h-2v-4H7v-2h4V7h2v4h4m-5-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2`},null,-1)]])}var Pe=J({name:`mdi-plus-circle`,render:Ne}),Fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ie(e,t){return Q(),B(`svg`,Fe,[...t[0]||=[I(`path`,{fill:`currentColor`,d:`M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2`},null,-1)]])}var Le=J({name:`mdi-information`,render:Ie}),Re=e(oe(),1),ze={key:0,class:`flex flex-col field-gap`},Be=[`for`],Ve={key:1,class:`flex flex-col field-gap`},He=[`for`],Ue=[`for`],We=[`for`],Ge={class:`flex items-center gap-4`},Ke={class:`flex flex-col field-switch-gap`},qe=[`for`],Je=[`for`],Ye={class:`flex gap-2 items-center w-full`},Xe={class:`text-color`},Ze={class:`w-full h-full flex flex-col gap-6`},Qe={class:`flex flex-row w-full items-center justify-center mt-3`},$e=X({__name:`CuiSchemaField`,props:R({schemaField:{},configKey:{},arrayItem:{},loading:{type:Boolean,default:!1}},{modelValue:{type:Object,required:!0},modelModifiers:{}}),emits:R([`onAction`,`onSubmit`,`onTrigger`],[`update:modelValue`]),setup(e,{emit:a}){let c=e,d=a,p=N(e,`modelValue`),{theme:m}=$(De()),{schemaField:g,configKey:v}=F(c),y=V(0),C=V(0),w=V(g.value.opened?[v.value]:[]),T=i(async()=>{if(h(g.value)&&g.value.format===`qrCode`){let e;return e=m.value===`dark`?{dark:`#FFFFFFFF`,light:`#FF000000`}:{dark:`#404040FF`,light:`#FFFFFFFF`},await Re.toDataURL(k.value||``,{margin:.5,type:`image/png`,color:e,scale:10})}},void 0,{lazy:!0}),O=q(()=>{if(h(g.value)&&g.value.format===`image`)return k.value}),k=q({get:()=>(y.value,f(p.value,v.value)),set:e=>{let t=g.value,n=e;re(t)?n=t.multiple?Array.isArray(e)?e:[e]:e&&e.toString():h(t)?n=e==null?``:e.toString():o(t)?n=typeof e==`number`?e:parseFloat(e)||0:l(t)&&(n=e===`true`||e===!0),u(p.value,v.value,n),y.value++}});function ae(e,t){let n=f(e,t);return Array.isArray(n)?n:[]}function oe(e){let t=f(p.value,e),n=Array.isArray(t)?[...t]:[];s(g.value)&&g.value.items&&(n.push(_(g.value.items)),u(p.value,e,n),C.value++)}function R(e,t){let n=f(p.value,e);if(Array.isArray(n)){let r=[...n];r.splice(t,1),u(p.value,e,r),C.value++,d(`onTrigger`)}}return b(p,()=>{y.value++},{deep:!0}),(i,a)=>{let c=Ee,u=n,f=Se,m=Te,_=r,y=fe,b=me,N=ue,F=be,V=de,G=pe,q=xe,J=Le,X=_e,$=ie(`CuiSchemaField`,!0),se=Pe,he=le,ge=Ce,ve=ce,we=t,De=ye;return Q(),B(`div`,null,[j(h)(j(g))&&j(g).format===`qrCode`?(Q(),B(`div`,ze,[I(`label`,{for:j(v),class:`cui-label`},E(j(g).title),9,Be),Z(c,{src:j(T),class:`mb-3`,"image-container-class":`w-full h-full`},null,8,[`src`])])):W(``,!0),j(h)(j(g))&&j(g).format===`image`?(Q(),B(`div`,Ve,[I(`label`,{for:j(v),class:`cui-label`},E(j(g).title),9,He),Z(c,{src:j(O),class:`mb-3`,"image-container-class":`w-full h-full`},null,8,[`src`])])):j(ne)(j(g))?(Q(),L(j(D),{key:2,modelValue:j(k),"onUpdate:modelValue":a[1]||=e=>z(k)?k.value=e:null,modelModifiers:{trim:!0},name:j(v),as:`div`,class:`flex flex-col field-gap`},{default:H(({field:t,errors:n})=>[I(`label`,{for:j(v),class:`cui-label`},E(j(g).title),9,Ue),Z(b,null,{default:H(()=>[j(g).format===`password`?(Q(),L(f,S({key:1,"model-value":j(k),invalid:n.length>0,readonly:j(g).readonly},t,{feedback:!1,"toggle-mask":``}),null,16,[`model-value`,`invalid`,`readonly`])):(Q(),L(u,S({key:0},t,{invalid:n.length>0,readonly:j(g).readonly,placeholder:j(g).placeholder,loading:e.loading,type:`text`}),null,16,[`invalid`,`readonly`,`placeholder`,`loading`])),e.arrayItem?(Q(),L(y,{key:2},{default:H(()=>[Z(_,{text:``,severity:`secondary`,loading:e.loading,onClick:a[0]||=t=>R(e.arrayItem.key,e.arrayItem.index)},{icon:H(()=>[Z(m)]),_:1},8,[`loading`])]),_:1})):W(``,!0)]),_:2},1024),Z(x,{name:`fade`},{default:H(()=>[Z(j(A),{name:j(v),class:`cui-input-error`},null,8,[`name`])]),_:1}),!n.length&&j(g).description?(Q(),L(N,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:H(()=>[Y(E(j(g).description),1)]),_:1})):W(``,!0)]),_:1},8,[`modelValue`,`name`])):j(o)(j(g))?(Q(),L(j(D),{key:3,"model-value":j(k),name:j(v),as:`div`,class:`flex flex-col field-gap`},{default:H(({field:t,errors:n})=>[I(`label`,{for:j(v),class:`cui-label`},E(j(g).title),9,We),Z(b,null,{default:H(()=>[Z(F,S(t,{modelValue:j(k),"onUpdate:modelValue":a[2]||=e=>z(k)?k.value=e:null,invalid:n.length>0,readonly:j(g).readonly,step:j(g).step||1,min:j(g).minimum,max:j(g).maximum,"use-grouping":!1,loading:e.loading,onValueChange:a[3]||=e=>k.value=e??void 0,onInput:a[4]||=e=>k.value=e.value??void 0}),null,16,[`modelValue`,`invalid`,`readonly`,`step`,`min`,`max`,`loading`]),e.arrayItem?(Q(),L(y,{key:0},{default:H(()=>[Z(_,{text:``,rounded:``,severity:`danger`,loading:e.loading,onClick:a[5]||=t=>R(e.arrayItem.key,e.arrayItem.index)},{icon:H(()=>[Z(m)]),_:1},8,[`loading`])]),_:1})):W(``,!0)]),_:2},1024),Z(x,{name:`fade`},{default:H(()=>[Z(j(A),{name:j(v),class:`cui-input-error`},null,8,[`name`])]),_:1}),!n.length&&j(g).description?(Q(),L(N,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:H(()=>[Y(E(j(g).description),1)]),_:1})):W(``,!0)]),_:1},8,[`model-value`,`name`])):j(l)(j(g))?(Q(),L(j(D),{key:4,"model-value":j(k),value:!0,"unchecked-value":!1,type:`checkbox`,name:j(v),as:`div`,class:`flex flex-col field-gap cui-toggle-switch`},{default:H(({field:t,errors:n})=>[I(`div`,Ge,[I(`div`,Ke,[I(`label`,{for:j(v),class:`cui-label-switch`},E(j(g).title),9,qe),Z(N,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:H(()=>[Y(E(j(g).description),1)]),_:1}),Z(x,{name:`fade`},{default:H(()=>[Z(j(A),{name:j(v),class:`cui-input-switch-error`},null,8,[`name`])]),_:1})]),Z(V,S({"model-value":j(k)},t,{invalid:n.length>0,loading:e.loading,class:`ml-auto shrink-0`,onValueChange:a[6]||=e=>k.value=e}),null,16,[`model-value`,`invalid`,`loading`])])]),_:1},8,[`model-value`,`name`])):j(re)(j(g))?(Q(),L(j(D),{key:5,"model-value":j(k),name:j(v),as:`div`,class:`flex flex-col field-gap`},{default:H(({field:t,errors:n})=>[I(`label`,{for:j(v),class:`cui-label`},E(j(g).title),9,Je),Z(b,null,{default:H(()=>[j(g).multiple?(Q(),L(q,S({key:1},t,{"model-value":j(k),options:j(g).enum,invalid:n.length>0,disabled:j(g).readonly,placeholder:j(g).placeholder,"show-clear":!j(g).required&&!j(g).readonly,"show-toggle-all":!1,"max-selected-labels":3,loading:e.loading,onValueChange:a[8]||=e=>k.value=e}),null,16,[`model-value`,`options`,`invalid`,`disabled`,`placeholder`,`show-clear`,`loading`])):(Q(),L(G,S({key:0},t,{"model-value":j(k),options:j(g).enum,invalid:n.length>0,disabled:j(g).readonly,placeholder:j(g).placeholder,loading:e.loading,onValueChange:a[7]||=e=>k.value=e}),null,16,[`model-value`,`options`,`invalid`,`disabled`,`placeholder`,`loading`])),e.arrayItem?(Q(),L(y,{key:2},{default:H(()=>[Z(_,{text:``,rounded:``,severity:`danger`,loading:e.loading,onClick:a[9]||=t=>R(e.arrayItem.key,e.arrayItem.index)},{icon:H(()=>[Z(m)]),_:1},8,[`loading`])]),_:1})):W(``,!0)]),_:2},1024),Z(x,{name:`fade`},{default:H(()=>[Z(j(A),{name:j(v),class:`cui-input-error`},null,8,[`name`])]),_:1}),!n.length&&j(g).description?(Q(),L(N,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:H(()=>[Y(E(j(g).description),1)]),_:1})):W(``,!0)]),_:1},8,[`model-value`,`name`])):j(te)(j(g))?(Q(),B(U,{key:6},[Z(_,{fluid:``,class:`mt-3 mb-1 cui-button-medium`,severity:j(g).color,loading:e.loading,label:j(g).title,onClick:a[10]||=P(e=>d(`onAction`,{key:j(v)}),[`prevent`])},null,8,[`severity`,`loading`,`label`]),j(g).description?(Q(),L(N,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:H(()=>[Y(E(j(g).description),1)]),_:1})):W(``,!0)],64)):j(ee)(j(g))?(Q(),B(U,{key:7},[Z(_,{fluid:``,class:`mt-3 mb-1 cui-button-medium`,severity:j(g).color,loading:e.loading,label:j(g).title,onClick:a[11]||=P(e=>d(`onSubmit`,{key:j(g).key}),[`prevent`])},null,8,[`severity`,`loading`,`label`]),j(g).description?(Q(),L(N,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:H(()=>[Y(E(j(g).description),1)]),_:1})):W(``,!0)],64)):j(s)(j(g))&&j(g).items?(Q(),L(we,{key:8,class:`cui-card border-color-inner`,pt:{body:{class:`p-1`}}},{content:H(()=>[(Q(),L(ve,{key:j(C),value:j(w),"onUpdate:value":a[18]||=e=>z(w)?w.value=e:null,multiple:``},{default:H(()=>[Z(ge,{value:j(v)??`0`,class:`border-none`},{default:H(()=>[Z(X,null,{default:H(()=>[I(`div`,Ye,[j(g).description?K((Q(),L(J,{key:0,class:`text-muted`},null,512)),[[De,{value:j(g).description}]]):W(``,!0),I(`span`,Xe,E(j(g).title||j(v)),1),e.arrayItem?(Q(),L(_,{key:1,text:``,rounded:``,severity:`danger`,class:`cui-icon-md ml-auto mr-2`,loading:e.loading,onClick:a[12]||=t=>R(e.arrayItem.key,e.arrayItem.index)},{icon:H(()=>[Z(m,{width:`100%`,height:`100%`})]),_:1},8,[`loading`])):W(``,!0)])]),_:1}),Z(he,null,{default:H(()=>[I(`div`,Ze,[(Q(!0),B(U,null,M(ae(p.value,j(v)),(t,n)=>(Q(),L($,{key:`item-${n}`,modelValue:p.value,"onUpdate:modelValue":a[13]||=e=>p.value=e,"schema-field":j(g).items,"config-key":`${j(v)}[${n}]`,"array-item":{key:j(v),index:n},loading:e.loading,onOnAction:a[14]||=e=>d(`onAction`,e),onOnSubmit:a[15]||=e=>d(`onSubmit`,e),onOnTrigger:a[16]||=()=>C.value++},null,8,[`modelValue`,`schema-field`,`config-key`,`array-item`,`loading`]))),128)),I(`div`,Qe,[Z(_,{text:``,rounded:``,class:`cui-icon-md`,loading:e.loading,onClick:a[17]||=P(e=>oe(j(v)),[`prevent`])},{icon:H(()=>[Z(se,{width:`100%`,height:`100%`})]),_:1},8,[`loading`])])])]),_:1})]),_:1},8,[`value`])]),_:1},8,[`value`]))]),_:1})):W(``,!0)])}}}),et={key:0,class:`flex flex-col gap-6`},tt={key:1,class:`flex flex-col gap-6`},nt=X({__name:`CuiSchema`,props:{schemaForm:{},loading:{type:Boolean,default:!1},disableButton:{type:Boolean},saveButton:{type:Boolean,default:!0},saveButtonLabel:{},saveButtonColor:{},showButton:{type:Boolean,default:!1}},emits:[`onSubmit`,`onAction`,`onFormSubmit`,`changeGroup`],setup(e,{expose:t,emit:n}){let i=e,o=n,{schemaForm:s,loading:l,saveButton:u,saveButtonLabel:f,showButton:ne,disableButton:_,saveButtonColor:re}=F(i),x=m(),C=ae(`formRef`),w=V(``),T=V(!1),D=V({}),O=q(()=>d(s.value.schema)),A=q(()=>{let e=[];return s.value.schema.forEach(t=>{t.group&&!t.hidden&&!e.includes(t.group)&&e.push(t.group)}),e});b(A,e=>{e.length?e.includes(w.value)||(w.value=e[0]):w.value&&=``},{immediate:!0});let ie=q(()=>g(s.value.schema,w.value)),N=q(()=>c(s.value.schema,w.value)),P=q(()=>s.value.schema.filter(e=>!e.group&&!e.hidden));function oe(e){return s.value.schema.filter(t=>t.group===e&&!t.hidden)}function R(e){let t=h(e)&&e.format===`qrCode`,n=h(e)&&e.format===`image`,r=te(e)||ee(e);return!t&&!n&&!r}function J(e){return`condition`in e&&e.condition&&!v(e.condition,D.value)?!1:!e.hidden||e.hidden&&R(e)}async function X(){return await C.value?.validate()}function $(e){o(`onAction`,e)}async function ce(e){let t=await X();t?.valid&&t?.values?(T.value=!1,o(`onSubmit`,{key:e.key,payload:t.values})):(T.value=!0,x.error(`result`,t))}async function le(){let e=await X();e?.valid&&e?.values?(T.value=!1,o(`onFormSubmit`,e.values)):(T.value=!0,x.error(`Form validation failed:`,e))}function ue(){C.value?.resetForm()}return b([s,C],([])=>{C.value&&(!p(C.value.values,s.value.schema)||T.value)&&(D.value=C.value.values),s.value.config&&Object.keys(s.value.config).length?D.value={...a(s.value.schema),...y(s.value.config)}:D.value=a(s.value.schema)},{immediate:!0,deep:!0}),b(w,e=>{e&&o(`changeGroup`,e)}),t({reset:ue,validate:X}),(e,t)=>{let n=je,i=ke,a=$e,o=he,c=se,ee=ve,te=r;return Q(),B(`div`,null,[Z(j(k),{ref_key:`formRef`,ref:C,"validation-schema":j(O),onSubmit:le},{default:H(()=>[j(A).length?(Q(),B(`div`,et,[Z(i,{modelValue:j(w),"onUpdate:modelValue":t[0]||=e=>z(w)?w.value=e:null,mandatory:``},{default:H(()=>[(Q(!0),B(U,null,M(j(A),e=>(Q(),L(n,{key:e,size:`small`,value:e},{default:H(()=>[Y(E(e),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`]),Z(ee,{value:j(w),"onUpdate:value":t[2]||=e=>z(w)?w.value=e:null,scrollable:``,class:`w-full h-full`},{default:H(()=>[Z(c,{class:`p-0`},{default:H(()=>[(Q(!0),B(U,null,M(j(A),(e,n)=>(Q(),L(o,{key:n,value:e,"as-child":``},{default:H(n=>[K(I(`div`,S({class:n.class},{ref_for:!0},n.a11yAttrs,{class:`flex flex-col gap-6`}),[(Q(!0),B(U,null,M(oe(e),e=>(Q(),B(U,{key:e.key},[J(e)?K((Q(),L(a,{key:0,modelValue:j(D),"onUpdate:modelValue":t[1]||=e=>z(D)?D.value=e:null,"schema-field":e,"config-key":e.key,loading:j(l),onOnAction:$,onOnSubmit:ce},null,8,[`modelValue`,`schema-field`,`config-key`,`loading`])),[[G,!e.hidden]]):W(``,!0)],64))),128))],16),[[G,n.active]])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`value`]),(Q(!0),B(U,null,M(j(P),e=>(Q(),B(U,{key:e.key},[J(e)?K((Q(),L(a,{key:0,modelValue:j(D),"onUpdate:modelValue":t[3]||=e=>z(D)?D.value=e:null,"schema-field":e,"config-key":e.key,loading:j(l),onOnAction:$,onOnSubmit:ce},null,8,[`modelValue`,`schema-field`,`config-key`,`loading`])),[[G,!e.hidden]]):W(``,!0)],64))),128))])):(Q(),B(`div`,tt,[(Q(!0),B(U,null,M(j(s).schema,e=>(Q(),B(U,{key:e.key},[J(e)?K((Q(),L(a,{key:0,modelValue:j(D),"onUpdate:modelValue":t[4]||=e=>z(D)?D.value=e:null,"schema-field":e,"config-key":e.key,loading:j(l),onOnAction:$,onOnSubmit:ce},null,8,[`modelValue`,`schema-field`,`config-key`,`loading`])),[[G,!e.hidden]]):W(``,!0)],64))),128))])),!j(ie)&&j(N)&&j(u)||j(ne)?(Q(),L(te,{key:2,fluid:``,class:`mt-7 cui-button-medium`,severity:j(re),type:`submit`,loading:j(l),disabled:j(_),label:j(f)||e.$t(`components.form.button.save`)},null,8,[`severity`,`loading`,`disabled`,`label`])):W(``,!0)]),_:1},8,[`validation-schema`])])}}});export{ke as a,je as i,Le as n,Pe as r,nt as t};
@@ -1 +1 @@
1
- import{_n as e,bn as t}from"./vendor-cameraui-DDdtrYBn.js";import{$n as n,Cr as r,Er as i,Hn as a,Sr as o,Tr as s,Zn as c,an as l,br as u,dn as d,fn as f,jn as p,mn as m,nr as h,on as g,pn as _,un as v,xn as y,yn as b,zn as x}from"./vendor-ClrOISZp.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as C}from"./close-BTPBtoEq.js";import{t as w}from"./chevron-down-Bu7d-Y9N.js";import{t as T}from"./ring-resize-QxO72Hs5.js";var E={class:`flex flex-row w-full h-full justify-between items-center gap-2`},D={class:`flex flex-row items-center gap-1 shrink-0`},O=S(y({__name:`CuiTopNavbar`,props:{scrollable:{type:Boolean,default:!1},leftOffset:{default:0},animate:{type:Boolean}},setup(e){let{scrollable:t,leftOffset:n,animate:i}=u(e);return(e,c)=>(x(),m(`div`,{class:r([`cui-topnavbar fixed h-[55px] w-full p-2 pr-safe-offset-2 z-2 left-0 right-0`,{"overflow-x-scroll":o(t)}]),style:s({paddingLeft:`calc(${o(n)}px + max(8px, env(safe-area-inset-left, 0px)))`,transition:o(i)?`padding-left 200ms`:void 0})},[d(`div`,E,[e.$slots.full?(x(),m(`div`,{key:0,class:r([`flex flex-row items-center gap-1 w-full`,{"overflow-x-auto hide-scrollbar":o(t)}])},[a(e.$slots,`full`,{},void 0,!0)],2)):(x(),m(g,{key:1},[d(`div`,{class:r([`flex flex-row items-center gap-1 min-w-0`,{"overflow-x-auto hide-scrollbar":o(t)}])},[a(e.$slots,`left`,{},void 0,!0)],2),c[0]||=d(`div`,{class:`flex-grow shrink`},null,-1),d(`div`,D,[a(e.$slots,`right`,{},void 0,!0)])],64))])],6))}}),[[`__scopeId`,`data-v-6e7cb26a`]]),k={key:0,class:`w-2 h-2 rounded-full bg-green-500 shrink-0`},A={key:2,class:`w-2 h-2 rounded-full bg-red-500 shrink-0`},j={key:1,class:`cui-topnavbar-item-label`},M=S(y({__name:`CuiTopNavbarItem`,props:{active:{type:Boolean,default:!1},closeable:{type:Boolean},menuOpen:{type:Boolean},primary:{type:Boolean},type:{default:`button`},status:{},label:{},disabled:{type:[Boolean,String],default:!1},badge:{},badgeSeverity:{default:`secondary`},loading:{type:Boolean}},emits:[`click`,`close`],setup(s,{emit:y}){let S=s,E=y,{type:D,label:O,active:M,disabled:N,badge:P,badgeSeverity:F,closeable:I,status:L,loading:R,menuOpen:z,primary:B}=u(S),V=c(`buttonRef`),H=v(()=>!O.value&&D.value===`button`),U=v(()=>[`shrink-0`,{"cui-topnavbar-item":!B.value,"cui-topnavbar-item-primary":B.value,"cui-topnavbar-item-active":M.value,"cui-topnavbar-item-tab":D.value===`tab`,"cui-topnavbar-item-dropdown":D.value===`dropdown`,"cui-icon-md":H.value,disabled:N.value}]);function W(e){N.value||E(`click`,e)}return n(M,e=>{e&&p(()=>{V.value?.$el?.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})})},{immediate:!0}),(n,s)=>{let c=T,u=t,p=w,v=C,y=e;return x(),f(y,{ref_key:`buttonRef`,ref:V,class:r(o(U)),disabled:o(N),loading:o(R),text:``,size:`small`,rounded:o(H),onClick:W},{default:h(()=>[d(`div`,{class:r([`flex items-center gap-1.5`,{"cursor-not-allowed":o(N)}])},[o(L)?(x(),m(g,{key:0},[o(L)===`connected`?(x(),m(`span`,k)):o(L)===`connecting`?(x(),f(c,{key:1,class:`w-3 h-3 text-yellow-500 shrink-0`})):(x(),m(`span`,A))],64)):_(``,!0),a(n.$slots,`icon`,{},void 0,!0),o(O)?(x(),m(`span`,j,i(o(O)),1)):_(``,!0),o(P)?(x(),f(u,{key:2,value:o(P),severity:o(F),class:`ml-1`},null,8,[`value`,`severity`])):_(``,!0),o(D)===`dropdown`?(x(),f(p,{key:3,class:r([`w-4 h-4 transform transition-transform duration-300`,{"rotate-180":o(z)}])},null,8,[`class`])):_(``,!0),o(I)?(x(),f(y,{key:4,severity:`secondary`,text:``,rounded:``,class:`!p-0 !w-5 !h-5 ml-1`,onClick:s[0]||=l(e=>n.$emit(`close`),[`stop`])},{icon:h(()=>[b(v,{class:`w-3 h-3 opacity-60 hover:opacity-100`})]),_:1})):_(``,!0)],2)]),_:3},8,[`class`,`disabled`,`loading`,`rounded`])}}}),[[`__scopeId`,`data-v-5e6d8fe6`]]);export{O as n,M as t};
1
+ import{_n as e,bn as t}from"./vendor-cameraui-D5fd9Ars.js";import{$n as n,Cr as r,Er as i,Hn as a,Sr as o,Tr as s,Zn as c,an as l,br as u,dn as d,fn as f,jn as p,mn as m,nr as h,on as g,pn as _,un as v,xn as y,yn as b,zn as x}from"./vendor-ClrOISZp.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as C}from"./close-BTPBtoEq.js";import{t as w}from"./chevron-down-Bu7d-Y9N.js";import{t as T}from"./ring-resize-QxO72Hs5.js";var E={class:`flex flex-row w-full h-full justify-between items-center gap-2`},D={class:`flex flex-row items-center gap-1 shrink-0`},O=S(y({__name:`CuiTopNavbar`,props:{scrollable:{type:Boolean,default:!1},leftOffset:{default:0},animate:{type:Boolean}},setup(e){let{scrollable:t,leftOffset:n,animate:i}=u(e);return(e,c)=>(x(),m(`div`,{class:r([`cui-topnavbar fixed h-[55px] w-full p-2 pr-safe-offset-2 z-2 left-0 right-0`,{"overflow-x-scroll":o(t)}]),style:s({paddingLeft:`calc(${o(n)}px + max(8px, env(safe-area-inset-left, 0px)))`,transition:o(i)?`padding-left 200ms`:void 0})},[d(`div`,E,[e.$slots.full?(x(),m(`div`,{key:0,class:r([`flex flex-row items-center gap-1 w-full`,{"overflow-x-auto hide-scrollbar":o(t)}])},[a(e.$slots,`full`,{},void 0,!0)],2)):(x(),m(g,{key:1},[d(`div`,{class:r([`flex flex-row items-center gap-1 min-w-0`,{"overflow-x-auto hide-scrollbar":o(t)}])},[a(e.$slots,`left`,{},void 0,!0)],2),c[0]||=d(`div`,{class:`flex-grow shrink`},null,-1),d(`div`,D,[a(e.$slots,`right`,{},void 0,!0)])],64))])],6))}}),[[`__scopeId`,`data-v-6e7cb26a`]]),k={key:0,class:`w-2 h-2 rounded-full bg-green-500 shrink-0`},A={key:2,class:`w-2 h-2 rounded-full bg-red-500 shrink-0`},j={key:1,class:`cui-topnavbar-item-label`},M=S(y({__name:`CuiTopNavbarItem`,props:{active:{type:Boolean,default:!1},closeable:{type:Boolean},menuOpen:{type:Boolean},primary:{type:Boolean},type:{default:`button`},status:{},label:{},disabled:{type:[Boolean,String],default:!1},badge:{},badgeSeverity:{default:`secondary`},loading:{type:Boolean}},emits:[`click`,`close`],setup(s,{emit:y}){let S=s,E=y,{type:D,label:O,active:M,disabled:N,badge:P,badgeSeverity:F,closeable:I,status:L,loading:R,menuOpen:z,primary:B}=u(S),V=c(`buttonRef`),H=v(()=>!O.value&&D.value===`button`),U=v(()=>[`shrink-0`,{"cui-topnavbar-item":!B.value,"cui-topnavbar-item-primary":B.value,"cui-topnavbar-item-active":M.value,"cui-topnavbar-item-tab":D.value===`tab`,"cui-topnavbar-item-dropdown":D.value===`dropdown`,"cui-icon-md":H.value,disabled:N.value}]);function W(e){N.value||E(`click`,e)}return n(M,e=>{e&&p(()=>{V.value?.$el?.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})})},{immediate:!0}),(n,s)=>{let c=T,u=t,p=w,v=C,y=e;return x(),f(y,{ref_key:`buttonRef`,ref:V,class:r(o(U)),disabled:o(N),loading:o(R),text:``,size:`small`,rounded:o(H),onClick:W},{default:h(()=>[d(`div`,{class:r([`flex items-center gap-1.5`,{"cursor-not-allowed":o(N)}])},[o(L)?(x(),m(g,{key:0},[o(L)===`connected`?(x(),m(`span`,k)):o(L)===`connecting`?(x(),f(c,{key:1,class:`w-3 h-3 text-yellow-500 shrink-0`})):(x(),m(`span`,A))],64)):_(``,!0),a(n.$slots,`icon`,{},void 0,!0),o(O)?(x(),m(`span`,j,i(o(O)),1)):_(``,!0),o(P)?(x(),f(u,{key:2,value:o(P),severity:o(F),class:`ml-1`},null,8,[`value`,`severity`])):_(``,!0),o(D)===`dropdown`?(x(),f(p,{key:3,class:r([`w-4 h-4 transform transition-transform duration-300`,{"rotate-180":o(z)}])},null,8,[`class`])):_(``,!0),o(I)?(x(),f(y,{key:4,severity:`secondary`,text:``,rounded:``,class:`!p-0 !w-5 !h-5 ml-1`,onClick:s[0]||=l(e=>n.$emit(`close`),[`stop`])},{icon:h(()=>[b(v,{class:`w-3 h-3 opacity-60 hover:opacity-100`})]),_:1})):_(``,!0)],2)]),_:3},8,[`class`,`disabled`,`loading`,`rounded`])}}}),[[`__scopeId`,`data-v-5e6d8fe6`]]);export{O as n,M as t};
@@ -1 +1 @@
1
- import{Hn as e,Rn as t,Sr as n,_r as r,cn as i,fn as a,fr as o,pn as s,xn as c,zn as l}from"./vendor-ClrOISZp.js";import{t as u}from"./useSharedComposables-ffwWlpSL.js";var d=o(new Map),f=r();function p(){return{hasSlot:e=>(d.get(e)||0)>0,registerSlot:e=>{d.set(e,(d.get(e)||0)+1),t(()=>{let t=d.get(e)||0;t<=1?d.delete(e):d.set(e,t-1)})},registerScrollToTop:e=>{f.value=e,t(()=>{f.value===e&&(f.value=void 0)})},scrollToTop:()=>{f.value?f.value():window.scrollTo({top:0,behavior:`smooth`})}}}var m=c({__name:`CuiTopbarSlot`,props:{position:{}},setup(t){let r=t,{smBreakpoint:o}=u(),{registerSlot:c}=p();return c(r.position),(r,c)=>n(o)?(l(),a(i,{key:0,to:`#cui-topbar-${t.position}`,defer:``},[e(r.$slots,`default`)],8,[`to`])):s(``,!0)}});export{p as n,m as t};
1
+ import{Hn as e,Rn as t,Sr as n,_r as r,cn as i,fn as a,fr as o,pn as s,xn as c,zn as l}from"./vendor-ClrOISZp.js";import{t as u}from"./useSharedComposables-DC7dAxBt.js";var d=o(new Map),f=r();function p(){return{hasSlot:e=>(d.get(e)||0)>0,registerSlot:e=>{d.set(e,(d.get(e)||0)+1),t(()=>{let t=d.get(e)||0;t<=1?d.delete(e):d.set(e,t-1)})},registerScrollToTop:e=>{f.value=e,t(()=>{f.value===e&&(f.value=void 0)})},scrollToTop:()=>{f.value?f.value():window.scrollTo({top:0,behavior:`smooth`})}}}var m=c({__name:`CuiTopbarSlot`,props:{position:{}},setup(t){let r=t,{smBreakpoint:o}=u(),{registerSlot:c}=p();return c(r.position),(r,c)=>n(o)?(l(),a(i,{key:0,to:`#cui-topbar-${t.position}`,defer:``},[e(r.$slots,`default`)],8,[`to`])):s(``,!0)}});export{p as n,m as t};
@@ -0,0 +1 @@
1
+ import{F as e,I as t,Ir as n,O as r,_n as i,a,cn as o,on as s,p as c}from"./vendor-cameraui-D5fd9Ars.js";import{D as l,u}from"./api-CeJqvqFj.js";import{$n as d,Cr as f,Er as p,Sr as m,Tr as h,Vn as g,Zn as _,an as v,dn as y,fn as b,lr as x,mn as S,mr as C,nr as w,on as T,pn as E,rr as D,un as O,ur as k,xn as A,yn as j,zn as M}from"./vendor-ClrOISZp.js";import{C as N,E as ee,O as P,T as te,W as ne,w as re,x as F}from"./vendor-primevue-Ba4LruKV.js";import{a as I,t as L}from"./useSharedComposables-DC7dAxBt.js";import{t as ie}from"./close-BTPBtoEq.js";import{t as ae}from"./face-recognition-CPwwcApe.js";import{t as oe}from"./CuiFloatingButton-B64PYWE2.js";import{t as R}from"./useCuiDialog-CGak2kyV.js";import{t as se}from"./CuiTopbarSlot-C6t4NmW-.js";import{t as z}from"./plugins-CHRZiPTq.js";import{t as B}from"./delete-BEupTYe7.js";import{t as ce}from"./back-filled-LVLhJP7G.js";import{t as le}from"./plus-CJ2GnX_q.js";var V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return M(),S(`svg`,V,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M13 8a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4a4 4 0 0 1 4 4m4 10v2H1v-2c0-2.21 3.58-4 8-4s8 1.79 8 4m3.5-3.5V16H19v-1.5zm-2-5H17V9a3 3 0 0 1 3-3a3 3 0 0 1 3 3c0 .97-.5 1.88-1.29 2.41l-.3.19c-.57.4-.91 1.01-.91 1.7v.2H19v-.2c0-1.19.6-2.3 1.59-2.95l.29-.19c.39-.26.62-.69.62-1.16A1.5 1.5 0 0 0 20 7.5A1.5 1.5 0 0 0 18.5 9z`},null,-1)]])}var ue=k({name:`mdi-account-question`,render:H}),U={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return M(),S(`svg`,U,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M15 14c-2.67 0-8 1.33-8 4v2h16v-2c0-2.67-5.33-4-8-4m-9-4V7H4v3H1v2h3v3h2v-3h3v-2m6 2a4 4 0 0 0 4-4a4 4 0 0 0-4-4a4 4 0 0 0-4 4a4 4 0 0 0 4 4`},null,-1)]])}var G=k({name:`mdi-account-plus`,render:W}),K={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function q(e,t){return M(),S(`svg`,K,[...t[0]||=[y(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 12h14`},null,-1)]])}var J=k({name:`tabler-minus`,render:q}),Y={class:`aspect-square overflow-hidden flex items-center justify-center bg-black/5 dark:bg-black/30`},de=[`src`],fe=[`src`],pe={class:`font-medium truncate`},X={class:`text-xs text-muted`},Z={key:1,class:`relative cursor-default`},me={class:`bg-neutral-900 w-full rounded-xl overflow-hidden relative border-[1px] border-color shadow-lg`,style:{"aspect-ratio":`1 / 1`}},he=[`src`],ge={key:1,class:`w-full h-full flex items-center justify-center bg-neutral-800/80`},_e=[`src`],ve={class:`absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/60 to-transparent`},ye={class:`flex items-center justify-between`},be={class:`text-xs text-white/70`},xe={class:`absolute bottom-0 left-0 right-0 p-1.5 bg-gradient-to-t from-black/60 to-transparent flex items-center justify-center gap-1 dark-mode`},Se=A({__name:`CuiFaceCard`,props:{variant:{},thumbnail:{},name:{},imageCount:{},cameraName:{},timestamp:{},confidence:{},compact:{type:Boolean},showRemove:{type:Boolean},assignValue:{},assignOptions:{}},emits:[`click`,`assign`,`assign-prompt`,`skip`,`remove`],setup(t){let n=t,r=u(),a=O(()=>n.confidence?n.confidence>=.9?`text-green-400`:n.confidence>=.7?`text-yellow-400`:`text-red-400`:`text-white/50`),o=O(()=>n.timestamp?new Date(n.timestamp).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}):``);return(n,s)=>{let c=e,l=J,u=i,d=G,h=B,g=ne;return t.variant===`known`?(M(),b(c,{key:0,class:`cui-card transition-shadow cursor-pointer hover:shadow-md`,onClick:s[0]||=e=>n.$emit(`click`)},{header:w(()=>[y(`div`,Y,[t.thumbnail?(M(),S(`img`,{key:0,src:t.thumbnail,class:`w-full h-full object-cover`},null,8,de)):(M(),S(`img`,{key:1,src:m(r),class:`w-1/2 h-1/2 object-contain`},null,8,fe))])]),content:w(()=>[y(`div`,pe,p(t.name),1),y(`div`,X,p(t.imageCount)+` `+p(n.$t(`views.faces.images`)),1)]),_:1})):(M(),S(`div`,Z,[y(`div`,me,[t.thumbnail?(M(),S(`img`,{key:0,src:t.thumbnail,class:`w-full h-full object-cover`},null,8,he)):(M(),S(`div`,ge,[y(`img`,{src:m(r),class:`w-1/3 h-1/3 object-contain opacity-20`},null,8,_e)])),y(`div`,ve,[y(`div`,ye,[y(`span`,be,p(m(o)),1),t.confidence?(M(),S(`span`,{key:0,class:f([`text-xs font-medium`,m(a)])},p(Math.round(t.confidence*100))+`%`,3)):E(``,!0)])]),y(`div`,xe,[t.showRemove?D((M(),b(u,{key:0,severity:`secondary`,rounded:``,size:`small`,class:`cui-icon-sm text-white`,onClick:s[1]||=v(e=>n.$emit(`remove`),[`stop`])},{icon:w(()=>[j(l,{class:`w-4 h-4`})]),_:1})),[[g,n.$t(`views.faces.remove_from_cluster`),void 0,{top:!0}]]):D((M(),b(u,{key:1,severity:`secondary`,rounded:``,size:`small`,class:`cui-icon-sm text-white`,onClick:s[2]||=v(e=>n.$emit(`assign-prompt`),[`stop`])},{icon:w(()=>[j(d,{width:`100%`,height:`100%`})]),_:1})),[[g,n.$t(`views.faces.assign`),void 0,{top:!0}]]),D((M(),b(u,{severity:`danger`,rounded:``,size:`small`,class:`cui-icon-sm text-white`,onClick:s[3]||=v(e=>n.$emit(`skip`),[`stop`])},{icon:w(()=>[j(h,{width:`100%`,height:`100%`})]),_:1})),[[g,n.$t(`views.faces.discard`),void 0,{top:!0}]])])])]))}}}),Ce={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function we(e,t){return M(),S(`svg`,Ce,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 0 0-8 8a8 8 0 0 0 8 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z`},null,-1)]])}var Te=k({name:`mdi-refresh`,render:we}),Ee={key:0,class:`text-sm text-muted mb-4`},De={key:1,class:`grid grid-cols-3 gap-2`},Oe=[`src`],ke={key:2,class:`text-muted text-sm text-center py-8`},Ae=A({__name:`FaceDetail`,props:{face:{},onRemoveImage:{type:Function},onDeletePerson:{type:Function}},setup(e,{expose:t}){let n=e,r=O(()=>n.face);return t({onConfirm:async()=>(n.onDeletePerson(),!0)}),(t,n)=>{let a=ie,o=i;return M(),S(`div`,null,[m(r).imageCount?(M(),S(`div`,Ee,p(m(r).imageCount)+` `+p(t.$t(`views.faces.training_images`)),1)):E(``,!0),m(r).images.length?(M(),S(`div`,De,[(M(!0),S(T,null,g(m(r).images,(t,n)=>(M(),S(`div`,{key:n,class:`relative aspect-square rounded-2xl overflow-hidden bg-surface-100 dark:bg-surface-800`},[y(`img`,{src:t.src,class:`w-full h-full object-cover`},null,8,Oe),t.confidence?(M(),S(`div`,{key:0,class:f([`absolute bottom-0.5 right-0.5 text-[10px] font-medium px-1 rounded bg-black/60`,t.confidence>=.9?`text-green-400`:t.confidence>=.7?`text-yellow-400`:`text-red-400`])},p(Math.round(t.confidence*100))+`% `,3)):E(``,!0),j(o,{severity:`danger`,rounded:``,class:`!absolute top-1 right-1 cui-icon-sm text-white`,onClick:t=>e.onRemoveImage(n)},{icon:w(()=>[j(a,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])]))),128))])):(M(),S(`div`,ke,p(t.$t(`views.faces.no_known_faces`)),1))])}}}),je={class:`flex flex-col gap-2 w-full`},Me={for:`personName`,class:`cui-label`},Q=A({__name:`FaceNewPerson`,props:{knownNames:{}},setup(e,{expose:t}){let n=e,r=C(``),i=C([]);function a(e){let t=e.query.toLowerCase();i.value=(n.knownNames??[]).filter(e=>e.toLowerCase().includes(t))}return t({onConfirm:async()=>r.value.trim()||null}),(e,t)=>{let n=F;return M(),S(`div`,je,[y(`label`,Me,p(e.$t(`views.faces.name`)),1),j(n,{id:`personName`,modelValue:m(r),"onUpdate:modelValue":t[0]||=e=>x(r)?r.value=e:null,suggestions:m(i),class:`w-full`,fluid:``,placeholder:e.$t(`views.faces.enter_name`),autofocus:``,onComplete:a},null,8,[`modelValue`,`suggestions`,`placeholder`])])}}}),Ne={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Pe(e,t){return M(),S(`svg`,Ne,[...t[0]||=[y(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 9l5-5l5 5m-5-5v12`},null,-1)]])}var Fe=k({name:`tabler-upload`,render:Pe}),$=[`image/jpeg`,`image/png`,`image/webp`],Ie={class:`flex flex-col gap-6`},Le={class:`cui-label`},Re={class:`cui-label`},ze={key:0},Be={class:`text-sm text-muted`},Ve={key:1},He=[`src`],Ue=[`accept`],We={key:0,class:`text-xs text-red-500 mt-1`},Ge={class:`flex items-center justify-center mt-2 text-xs text-muted`},Ke=A({__name:`FaceUpload`,props:{onEnroll:{type:Function}},setup(e,{expose:t}){let i=new z,a=e,{t:c}=n(),{data:l}=i.getPluginsExtensionsQuery({page:1,pageSize:-1}),u=C(``),f=C(``),h=C(``),g=C(null),_=C(``),b=C(),w=O(()=>(l.value?.result??[]).filter(e=>s(e.contract,o.FaceDetection)).map(e=>({label:e.displayName,value:e.pluginName})));function T(){b.value?.click()}function D(e){let t=e.target.files?.[0];t&&N(t)}function k(e){let t=e.dataTransfer?.files[0];t&&N(t)}function A(e){return $.includes(e.type)?e.size>10485760?c(`views.faces.file_too_large`,{maxSize:10}):null:c(`views.faces.invalid_format`)}function N(e){_.value=``;let t=A(e);if(t){_.value=t,g.value=null,h.value=``;return}let n=new FileReader;n.onload=()=>{g.value=new Uint8Array(n.result)},n.readAsArrayBuffer(e);let r=new FileReader;r.onload=()=>{h.value=r.result},r.readAsDataURL(e)}return d(w,e=>{!f.value&&e.length===1&&(f.value=e[0].value)},{immediate:!0}),t({onConfirm:async()=>!u.value||!f.value||!g.value?null:(await a.onEnroll(u.value,g.value,f.value),!0)}),(e,t)=>{let n=r,i=P,a=Fe;return M(),S(`div`,Ie,[y(`div`,null,[y(`label`,Le,p(e.$t(`views.faces.name`)),1),j(n,{modelValue:m(u),"onUpdate:modelValue":t[0]||=e=>x(u)?u.value=e:null,modelModifiers:{trim:!0},placeholder:e.$t(`views.faces.enter_name`),class:`w-full`,autofocus:``},null,8,[`modelValue`,`placeholder`])]),y(`div`,null,[y(`label`,Re,p(e.$t(`views.faces.face_plugin`)),1),j(i,{modelValue:m(f),"onUpdate:modelValue":t[1]||=e=>x(f)?f.value=e:null,options:m(w),"option-label":`label`,"option-value":`value`,placeholder:e.$t(`views.faces.select_plugin`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])]),y(`div`,null,[t[3]||=y(`label`,{class:`cui-label mb-1`},`Image`,-1),y(`div`,{class:`border-2 border-dashed border-surface-300 dark:border-surface-600 rounded-lg p-6 text-center cursor-pointer hover:border-primary transition-colors`,onClick:T,onDragover:t[2]||=v(()=>{},[`prevent`]),onDrop:v(k,[`prevent`])},[m(h)?(M(),S(`div`,Ve,[y(`img`,{src:m(h),class:`max-h-48 mx-auto rounded`},null,8,He)])):(M(),S(`div`,ze,[j(a,{class:`w-8 h-8 text-muted mx-auto mb-2`}),y(`div`,Be,p(e.$t(`views.faces.drop_image`)),1)]))],32),y(`input`,{ref_key:`fileInput`,ref:b,type:`file`,accept:m($).join(`,`),class:`hidden`,onChange:D},null,40,Ue),m(_)?(M(),S(`div`,We,p(m(_)),1)):E(``,!0),y(`div`,Ge,[y(`span`,null,`(`+p(m(10))+`MB, `+p(m($).join(`, `))+`)`,1)])])])}}}),qe={class:`flex flex-col`},Je={key:0,class:`page-title`},Ye={class:`p-3`},Xe={key:0,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},Ze={class:`text-muted text-sm`},Qe={class:`mb-6 p-px`},$e={class:`flex items-center justify-between mb-3`},et={class:`card-title m-0!`},tt={key:1,class:`text-muted text-sm`},nt={class:`mb-6 p-px`},rt={class:`flex items-center justify-between mb-3`},it={class:`card-title m-0!`},at={class:`flex items-center gap-3 w-full`},ot={class:`w-10 h-10 rounded-full overflow-hidden bg-surface-100 dark:bg-surface-800 shrink-0`},st=[`src`],ct={class:`font-medium`},lt={class:`flex items-center gap-3 w-full`},ut={class:`w-10 h-10 rounded-full overflow-hidden bg-surface-100 dark:bg-surface-800 shrink-0 flex items-center justify-center`},dt={class:`font-medium`},ft={key:1,class:`text-muted text-sm`},pt=A({__name:`Faces`,setup(r){let o=R(),s=l(),{t:u}=n(),{smBreakpoint:d}=L(),{width:x}=I(),k=c(),A=k.clusteredUnknowns,P=_(`knownSkeletonRef`),F=C(!1),ie=O(()=>{x.value;let e=d.value?140:160,t=P.value?.clientWidth??x.value;return Math.floor((t+12)/(e+12))||4});async function z(){F.value=!0;try{let e=await k.rescanFaces();e>0?s.add({severity:`success`,detail:u(`views.faces.rescan_complete`,{count:e}),life:3e3}):s.add({severity:`info`,detail:u(`views.faces.rescan_no_matches`),life:3e3})}catch(e){s.add({severity:`error`,detail:e,life:3e3})}finally{F.value=!1}}async function V(e){let t=C([]);try{t.value=(await k.getFaceImages(e.name)).map(e=>{let t=a(e.jpeg);return t?{id:e.id,src:t,confidence:e.confidence??0}:null}).filter(Boolean)}catch{}let n=o.openComponentDialog(Ae,{data:{title:e.name,contentProps:{face:O(()=>({...e,images:t.value,imageCount:t.value.length})),onRemoveImage:async n=>{let r=t.value[n];if(r)try{await k.removeFaceImage(e.name,r.id),t.value.splice(n,1),s.add({severity:`success`,detail:u(`views.faces.image_removed`),life:3e3}),await k.refresh(!0)}catch(e){s.add({severity:`error`,detail:e,life:3e3})}},onDeletePerson:async()=>{try{await k.deleteFace(e.name),s.add({severity:`success`,detail:u(`views.faces.person_deleted`),life:3e3}),n.close(),await k.refresh(!0)}catch(e){s.add({severity:`error`,detail:e,life:3e3})}}},confirmText:u(`views.faces.delete_person`),confirmButtonProps:{severity:`danger`}}})}function H(){o.openComponentDialog(Ke,{data:{title:u(`views.faces.add_face`),confirmText:u(`views.faces.enroll`),contentProps:{onEnroll:async(e,t,n)=>{await k.enrollFace(e,t,n),s.add({severity:`success`,detail:u(`views.faces.face_enrolled`),life:3e3}),await k.refresh(!0)}}}})}async function U(e,t){let n=e.faces.map(e=>e.id);if(t===`__new__`){W(n);return}try{await k.enrollCluster(t,n),s.add({severity:`success`,detail:u(`views.faces.face_assigned`),life:3e3})}catch(e){s.add({severity:`error`,detail:e,life:3e3})}}function W(e){o.openComponentDialog(Q,{data:{title:u(`views.faces.enter_person_name`),confirmText:u(`views.faces.enroll`),contentProps:{knownNames:k.knownFaces.value.map(e=>e.name)}},onConfirm:async t=>{try{await k.enrollCluster(t,e),s.add({severity:`success`,detail:u(`views.faces.face_enrolled`),life:3e3})}catch(e){s.add({severity:`error`,detail:e,life:3e3})}}})}async function K(e){try{await k.deleteUnknownFacesByCluster(e.clusterId)}catch(e){s.add({severity:`error`,detail:e,life:3e3})}}async function q(e){try{await k.deleteUnknownFace(e.id)}catch(e){s.add({severity:`error`,detail:e,life:3e3})}}async function J(e){try{await k.removeFromCluster(e.id)}catch(e){s.add({severity:`error`,detail:e,life:3e3})}}function Y(e){o.openComponentDialog(Q,{data:{title:u(`views.faces.assign`),confirmText:u(`views.faces.enroll`),contentProps:{knownNames:k.knownFaces.value.map(e=>e.name)}},onConfirm:async t=>{try{await k.enrollFromEvent(t,e.id),s.add({severity:`success`,detail:u(`views.faces.face_assigned`),life:3e3}),await k.refresh(!0)}catch(e){s.add({severity:`error`,detail:e,life:3e3})}}})}async function de(){try{await k.deleteUngroupedUnknownFaces(),s.add({severity:`success`,detail:u(`views.faces.all_unknown_cleared`),life:3e3})}catch(e){s.add({severity:`error`,detail:e,life:3e3})}}return(n,r)=>{let o=ce,s=i,c=se,l=t,u=ae,_=Te,x=Se,C=G,O=B,I=te,L=ee,R=re,W=ue,fe=N,pe=e,X=oe,Z=ne;return M(),S(`div`,qe,[m(d)?E(``,!0):(M(),S(`h1`,Je,p(n.$t(`views.faces.title`)),1)),j(c,{position:`left`},{default:w(()=>[j(s,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=e=>n.$router.push(`/menu`)},{icon:w(()=>[j(o,{class:`w-6 h-6`})]),_:1})]),_:1}),m(k).isLoading.value?(M(),S(`section`,{key:1,ref_key:`knownSkeletonRef`,ref:P,class:`mb-6 p-px`},[j(l,{height:`16px`,width:`140px`,class:`mb-3`}),y(`div`,{class:`grid w-full gap-3 p-px`,style:h({gridTemplateColumns:`repeat(auto-fill, minmax(${m(d)?`140px`:`160px`}, 1fr))`})},[(M(!0),S(T,null,g(m(ie),e=>(M(),S(`div`,{key:e,class:`cui-card overflow-hidden`},[j(l,{class:`aspect-square`,width:`100%`,height:`100%`}),y(`div`,Ye,[j(l,{height:`14px`,width:`70%`,class:`mb-1`}),j(l,{height:`12px`,width:`40%`})])]))),128))],4)],512)):(M(),S(T,{key:2},[!m(k).knownFaces.value.length&&!m(k).unknownFaces.value.length?(M(),S(`div`,Xe,[j(u,{class:`w-12 h-12 text-muted`}),y(`span`,Ze,p(n.$t(`views.faces.no_faces_yet`)),1)])):(M(),S(T,{key:1},[y(`section`,Qe,[y(`div`,$e,[y(`span`,et,p(n.$t(`views.faces.known_faces`))+` (`+p(m(k).knownFaces.value.length)+`)`,1),m(k).knownFaces.value.length?D((M(),b(s,{key:0,severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg`,loading:m(F),onClick:z},{icon:w(()=>[j(_,{class:`w-4 h-4`})]),_:1},8,[`loading`])),[[Z,n.$t(`views.faces.rescan_events`),void 0,{top:!0}]]):E(``,!0)]),m(k).knownFaces.value.length?(M(),S(`div`,{key:0,class:`grid w-full gap-3 p-px`,style:h({gridTemplateColumns:`repeat(auto-fill, minmax(${m(d)?`140px`:`160px`}, 1fr))`})},[(M(!0),S(T,null,g(m(k).knownFaces.value,e=>(M(),b(x,{key:e.name,variant:`known`,thumbnail:m(a)(e.thumbnail),name:e.name,"image-count":e.imageCount,onClick:t=>V(e)},null,8,[`thumbnail`,`name`,`image-count`,`onClick`]))),128))],4)):(M(),S(`div`,tt,p(n.$t(`views.faces.no_known_faces`)),1))]),y(`section`,nt,[y(`div`,rt,[y(`span`,it,p(n.$t(`views.faces.unknown_faces`))+` (`+p(m(k).unknownFaces.value.length)+`)`,1)]),m(k).unknownFaces.value.length||m(A).ungrouped.length?(M(),b(pe,{key:0,class:`cui-card border-color-inner h-auto!`,pt:{body:{class:`pb-0`}}},{content:w(()=>[m(k).unknownFaces.value.length?(M(),b(fe,{key:0,multiple:``},{default:w(()=>[(M(!0),S(T,null,g(m(A).clusters,(e,t)=>(M(),b(R,{key:e.clusterId,value:e.clusterId,class:f({"border-b-0":m(A).ungrouped.length===0&&t===m(A).clusters.length-1})},{default:w(()=>[j(I,{class:f({"px-0 pt-0":t===0,"px-0":t!==0,"pb-5":m(A).ungrouped.length===0&&t===m(A).clusters.length-1})},{default:w(()=>[y(`span`,at,[y(`div`,ot,[e.bestThumbnail?(M(),S(`img`,{key:0,src:e.bestThumbnail,class:`w-full h-full object-cover`},null,8,st)):E(``,!0)]),y(`span`,ct,p(e.faces.length)+` `+p(n.$t(`views.faces.faces_in_cluster`)),1),y(`span`,{class:`ml-auto flex items-center gap-1 mr-2`,onClick:r[1]||=v(()=>{},[`stop`])},[D((M(),b(s,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg`,onClick:t=>U(e,`__new__`)},{icon:w(()=>[j(C,{class:`w-4 h-4`})]),_:1},8,[`onClick`])),[[Z,n.$t(`views.faces.assign_cluster`),void 0,{top:!0}]]),D((M(),b(s,{severity:`danger`,text:``,rounded:``,class:`cui-icon-lg`,onClick:t=>K(e)},{icon:w(()=>[j(O,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[Z,n.$t(`views.faces.discard`),void 0,{top:!0}]])])])]),_:2},1032,[`class`]),j(L,{pt:{content:{class:{"px-0":!0,"pb-5":m(A).ungrouped.length===0&&t===m(A).clusters.length-1}}}},{default:w(()=>[y(`div`,{class:`grid w-full gap-3`,style:h({gridTemplateColumns:`repeat(auto-fill, minmax(${m(d)?`120px`:`140px`}, 1fr))`})},[(M(!0),S(T,null,g(e.faces,e=>(M(),b(x,{key:e.id,variant:`unknown`,"show-remove":``,thumbnail:m(a)(e.thumbnail),timestamp:e.timestamp,confidence:e.confidence,onAssignPrompt:t=>Y(e),onRemove:t=>J(e),onSkip:t=>q(e)},null,8,[`thumbnail`,`timestamp`,`confidence`,`onAssignPrompt`,`onRemove`,`onSkip`]))),128))],4)]),_:2},1032,[`pt`])]),_:2},1032,[`value`,`class`]))),128)),m(A).ungrouped.length?(M(),b(R,{key:0,value:`__ungrouped__`,class:f({"border-b-0":!0})},{default:w(()=>[j(I,{class:f({"px-0 pt-0":m(A).clusters.length===0,"px-0":m(A).clusters.length!==0,"pb-5":!0})},{default:w(()=>[y(`span`,lt,[y(`div`,ut,[j(W,{class:`w-5 h-5 text-muted`})]),y(`span`,dt,p(m(A).ungrouped.length)+` `+p(n.$t(`views.faces.ungrouped`)),1),y(`span`,{class:`ml-auto flex items-center gap-1 mr-2`,onClick:r[2]||=v(()=>{},[`stop`])},[D((M(),b(s,{severity:`danger`,text:``,rounded:``,class:`cui-icon-lg`,onClick:de},{icon:w(()=>[j(O,{width:`100%`,height:`100%`})]),_:1})),[[Z,n.$t(`views.faces.discard`),void 0,{top:!0}]])])])]),_:1},8,[`class`]),j(L,{pt:{content:{class:{"px-0 pb-0":!0,"mb-5":!0}}}},{default:w(()=>[y(`div`,{class:`grid w-full gap-3`,style:h({gridTemplateColumns:`repeat(auto-fill, minmax(${m(d)?`120px`:`140px`}, 1fr))`})},[(M(!0),S(T,null,g(m(A).ungrouped,e=>(M(),b(x,{key:e.id,variant:`unknown`,thumbnail:m(a)(e.thumbnail),timestamp:e.timestamp,confidence:e.confidence,onAssignPrompt:t=>Y(e),onSkip:t=>q(e)},null,8,[`thumbnail`,`timestamp`,`confidence`,`onAssignPrompt`,`onSkip`]))),128))],4)]),_:1})]),_:1})):E(``,!0)]),_:1})):E(``,!0)]),_:1})):(M(),S(`div`,ft,p(n.$t(`views.faces.no_unknown_faces`)),1))])],64))],64)),j(X,{"tooltip-props":{value:n.$t(`views.faces.add_face`)},"button-props":{class:`text-white`},icon:m(le),"icon-props":{width:`30px`,height:`30px`},onClick:H},null,8,[`tooltip-props`,`icon`])])}}});export{pt as default};
@@ -0,0 +1 @@
1
+ import{F as e,Ir as t,_n as n}from"./vendor-cameraui-D5fd9Ars.js";import{D as r,Tt as i,h as a,o,u as s}from"./api-CeJqvqFj.js";import{Cr as c,Er as l,G as u,Sr as d,Vn as ee,Zn as f,_r as p,dn as m,er as h,fn as g,lr as te,mn as _,mr as v,nr as y,on as b,pn as x,un as S,ur as ne,xn as C,yn as w,zn as T}from"./vendor-ClrOISZp.js";import{f as re}from"./vendor-core-D9amXF-u.js";import{B as ie,R as ae,V as oe}from"./vendor-primevue-Ba4LruKV.js";import{n as se}from"./useBackupRestore-CtDDTNYM.js";import{t as ce}from"./hasPermission-DADXQ_dj.js";import{t as le}from"./useCuiDialog-CGak2kyV.js";import{t as ue}from"./SettingsAccount-Cln0bZPI.js";import{t as de}from"./SettingsAppearance-CWWSQkIY.js";var E={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function D(e,t){return T(),_(`svg`,E,[...t[0]||=[m(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m5 12l5 5L20 7`},null,-1)]])}var fe=ne({name:`tabler-check`,render:D}),pe={class:`h-full flex flex-col`},me={class:`border-color-bottom draggable-region`},O={class:`max-w-3xl mx-auto flex items-center justify-between px-4 py-3`},k={class:`flex items-center gap-2`},A={class:`flex-1 overflow-auto`},j={class:`max-w-3xl mx-auto px-4 py-6 flex flex-col gap-6`},M={class:`flex items-center w-full`},N={class:`flex flex-col items-center gap-2 flex-shrink-0`},P={key:1},F={class:`flex flex-col items-center gap-6 py-6`},I={class:`text-muted`},L={class:`flex flex-row items-center justify-center gap-2`},R={class:`max-w-[375px] text-center text-muted`},z={key:0,class:`flex flex-col items-center gap-3 w-full`},he={class:`text-center text-muted max-w-[375px]`},ge={class:`flex flex-row items-center justify-center gap-2`},_e={class:`flex flex-col items-center gap-6 py-8`},ve={class:`text-center text-muted max-w-[375px]`},ye={class:`flex items-center justify-between gap-2`},be={key:1},B=C({__name:`FirstSteps`,setup(ne){let C=i(),E=le(),D=r(),{t:B}=t(),V=a(),{loginLoading:xe}=re(V),H=v([`welcome`,`appearance`,`account`,`finish`]),U=f(`accountFormRef`),W=f(`backupFileInputRef`),G=p(),K=p(),q=v(0),J=v(!1),Y=v(),X=S(()=>J.value||xe.value),Z=S(()=>ce(void 0,`master`)),Q=S(()=>U.value?.formRef);function Se(e){return e<q.value?`bg-primary-500 text-white`:e===q.value?`bg-primary-500 text-white ring-4 ring-primary-500/20`:`border border-color text-muted`}async function $(){if(q.value<H.value.length-1)if(q.value===2){let e=Q.value?.getValues();if(e){if(!e.password||!e.passwordConfirm){Q.value?.setFieldError(`password`,`Required`),Q.value?.setFieldError(`passwordConfirm`,`Required`);return}if(!e.username){Q.value?.setFieldError(`username`,`Required`);return}}let t=await Q.value?.validate();t?.valid?(Y.value=o(e),q.value++):t?.valid||(C.error(`Validation failed`,t),D.add({severity:`error`,detail:B(`components.toast.validation_failed`),life:3e3}))}else q.value++}function Ce(){q.value>0&&q.value--}async function we(){try{await V.logout()}catch(e){C.error(e.response?.data?.message??e.message??e)}}function Te(){W.value?.click()}function Ee(e){let t=e.target;t.files&&t.files[0]&&(K.value=t.files[0],E.openTextDialog({data:{title:B(`components.dialog.title.confirm`),confirmText:B(`components.form.button.restore_and_restart`),contentText:B(`components.dialog.message.confirm_restore`),loading:X},onConfirm:De})),t.value=``}async function De(){K.value&&(J.value=!0,await se().run(K.value),J.value=!1)}async function Oe(){if(!Y.value){D.add({severity:`error`,detail:B(`components.toast.validation_failed`),life:3e3});return}let e,t=o(Y.value);t.firstLogin=!1,delete t.upload;try{G.value&&(e=new FormData,e.append(`upload`,G.value)),await V.updateUser(t,e),V.logout()}catch{}}return h(()=>{q.value===2&&(Y.value=void 0)}),(t,r)=>{let i=n,a=fe,o=e,f=ae,p=ie,h=oe;return T(),_(`div`,pe,[m(`div`,me,[m(`div`,O,[m(`div`,k,[w(d(u),{src:d(s)(`logo_animated.svg`),width:`20px`,height:`22px`,title:`camera.ui`,"aria-label":`camera.ui`},null,8,[`src`]),r[1]||=m(`span`,{class:`font-semibold`},`camera.ui`,-1)]),w(i,{class:`cui-button-small non-draggable-region`,severity:`secondary`,variant:`text`,label:t.$t(`components.form.button.logout`),onClick:we},null,8,[`label`])])]),m(`div`,A,[m(`div`,j,[m(`div`,M,[(T(!0),_(b,null,ee(d(H),(e,n)=>(T(),_(b,{key:e},[m(`div`,N,[m(`div`,{class:c([`w-9 h-9 rounded-full flex items-center justify-center text-sm font-semibold transition-all duration-200`,Se(n)])},[n<d(q)?(T(),g(a,{key:0,class:`w-4 h-4`})):(T(),_(`span`,P,l(n+1),1))],2),m(`span`,{class:c([`text-xs font-medium hidden sm:block whitespace-nowrap`,n<=d(q)?`text-color`:`text-muted`])},l(t.$t(`views.firststeps.step_${e}`)),3)]),n<d(H).length-1?(T(),_(`div`,{key:0,class:c([`flex-1 h-px mx-2 sm:mx-3 transition-colors duration-200`,n<d(q)?`bg-primary-500`:`bg-[var(--border-color)]`])},null,2)):x(``,!0)],64))),128))]),w(h,{value:d(q),"onUpdate:value":r[0]||=e=>te(q)?q.value=e:null,lazy:``},{default:y(()=>[w(p,{class:`!p-0 !bg-transparent`},{default:y(()=>[w(f,{value:0},{default:y(()=>[w(o,{class:`cui-card`},{content:y(()=>[m(`div`,F,[m(`span`,I,l(t.$t(`views.firststeps.welcome_to`)),1),m(`div`,L,[w(d(u),{src:d(s)(`logo_animated.svg`),width:`26px`,height:`32px`,title:`camera.ui`,"aria-label":`camera.ui`},null,8,[`src`]),r[2]||=m(`span`,{class:`text-4xl`},`camera.ui`,-1)]),m(`p`,R,l(t.$t(`views.firststeps.slogan`)),1),d(Z)?(T(),_(`div`,z,[m(`p`,he,l(t.$t(`views.firststeps.start_message`)),1),m(`div`,ge,[w(i,{class:`cui-button-medium`,loading:d(X),label:t.$t(`views.firststeps.new_installation`),onClick:$},null,8,[`loading`,`label`]),w(i,{class:`cui-button-medium`,severity:`secondary`,loading:d(X),label:t.$t(`views.firststeps.from_backup`),onClick:Te},null,8,[`loading`,`label`])]),m(`input`,{ref_key:`backupFileInputRef`,ref:W,type:`file`,accept:`application/gzip, .tar, .tar.gz`,class:`hidden`,onChange:Ee},null,544)])):(T(),g(i,{key:1,class:`cui-button-medium`,loading:d(X),label:t.$t(`views.firststeps.start`),onClick:$},null,8,[`loading`,`label`]))])]),_:1})]),_:1}),w(f,{value:1},{default:y(()=>[w(de)]),_:1}),w(f,{value:2},{default:y(()=>[w(ue,{ref_key:`accountFormRef`,ref:U,firststeps:``},null,512)]),_:1}),w(f,{value:3},{default:y(()=>[w(o,{class:`cui-card`},{content:y(()=>[m(`div`,_e,[w(d(u),{src:d(s)(`logo_animated.svg`),width:`78px`,height:`84px`,title:`camera.ui`,"aria-label":`camera.ui`},null,8,[`src`]),m(`p`,ve,l(t.$t(`views.firststeps.finish_message`)),1)])]),_:1})]),_:1})]),_:1})]),_:1},8,[`value`]),m(`div`,ye,[d(q)>0?(T(),g(i,{key:0,class:`cui-button-medium`,severity:`secondary`,label:t.$t(`components.form.button.previous`),onClick:Ce},null,8,[`label`])):(T(),_(`span`,be)),d(q)>0&&d(q)<d(H).length-1?(T(),g(i,{key:2,class:`cui-button-medium`,label:t.$t(`components.form.button.next`),onClick:$},null,8,[`label`])):d(q)===d(H).length-1?(T(),g(i,{key:3,class:`cui-button-medium`,loading:d(X),label:t.$t(`views.firststeps.enjoy`),onClick:Oe},null,8,[`loading`,`label`])):x(``,!0)])])])])}}});export{B as default};
@@ -0,0 +1 @@
1
+ import{F as e,Gi as t,I as n,Ir as r,O as i,_n as a,wt as o}from"./vendor-cameraui-D5fd9Ars.js";import{D as s}from"./api-CeJqvqFj.js";import{$n as c,$t as l,Cr as u,Er as d,Pn as f,Sr as p,Tr as m,Vn as h,Zn as g,an as _,br as v,dn as y,fn as b,fr as x,lr as S,mn as C,mr as w,nr as T,on as E,pn as D,un as O,ur as k,xn as A,yn as j,zn as M}from"./vendor-ClrOISZp.js";import{M as ee,a as N,j as te}from"./vendor-primevue-Ba4LruKV.js";import{a as ne,t as re}from"./useSharedComposables-DC7dAxBt.js";import{i as P,n as ie,r as ae,t as oe}from"./instances-DVk8sRuN.js";import{t as se}from"./CuiFloatingButton-B64PYWE2.js";import{t as ce}from"./CuiMenu-BmgnEZun.js";import{t as le}from"./useCuiDialog-CGak2kyV.js";import{t as ue}from"./CuiTopbarSlot-C6t4NmW-.js";import{t as de}from"./search-BgYt2zqA.js";import{t as fe}from"./back-filled-LVLhJP7G.js";import{t as pe}from"./plus-CJ2GnX_q.js";import{t as me}from"./trash-fill-Br00Vept.js";var F={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function I(e,t){return M(),C(`svg`,F,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2m6 2a6 6 0 0 0-6 6c0 3.31 2.69 6 6.1 6l-.88-2.23a1.01 1.01 0 0 1 .37-1.37l.86-.5a1.01 1.01 0 0 1 1.37.37l1.92 2.42A5.98 5.98 0 0 0 18 10a6 6 0 0 0-6-6m0 5a1 1 0 0 1 1 1a1 1 0 0 1-1 1a1 1 0 0 1-1-1a1 1 0 0 1 1-1m-5 9a1 1 0 0 0-1 1a1 1 0 0 0 1 1a1 1 0 0 0 1-1a1 1 0 0 0-1-1m5.09-4.73l2.49 6.31l2.59-1.5l-4.22-5.31z`},null,-1)]])}var L=k({name:`mdi-harddisk`,render:I}),R={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function z(e,t){return M(),C(`svg`,R,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 2a8 8 0 0 1 8 8a8 8 0 0 1-8 8a8 8 0 0 1-8-8a8 8 0 0 1 8-8m0 5a3 3 0 0 0-3 3a3 3 0 0 0 3 3a3 3 0 0 0 3-3a3 3 0 0 0-3-3`},null,-1)]])}var B=k({name:`mdi-record-circle-outline`,render:z}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return M(),C(`svg`,V,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M9.153 5.408C10.42 3.136 11.053 2 12 2s1.58 1.136 2.847 3.408l.328.588c.36.646.54.969.82 1.182s.63.292 1.33.45l.636.144c2.46.557 3.689.835 3.982 1.776c.292.94-.546 1.921-2.223 3.882l-.434.507c-.476.557-.715.836-.822 1.18c-.107.345-.071.717.001 1.46l.066.677c.253 2.617.38 3.925-.386 4.506s-1.918.051-4.22-1.009l-.597-.274c-.654-.302-.981-.452-1.328-.452s-.674.15-1.328.452l-.596.274c-2.303 1.06-3.455 1.59-4.22 1.01c-.767-.582-.64-1.89-.387-4.507l.066-.676c.072-.744.108-1.116 0-1.46c-.106-.345-.345-.624-.821-1.18l-.434-.508c-1.677-1.96-2.515-2.941-2.223-3.882S3.58 8.328 6.04 7.772l.636-.144c.699-.158 1.048-.237 1.329-.45s.46-.536.82-1.182z`},null,-1)]])}var U=k({name:`solar-star-bold`,render:H}),W={class:`flex flex-col gap-2`},G={class:`flex items-center justify-between gap-2`},K={class:`flex items-center gap-1.5 min-w-0`},q={class:`text-xl font-semibold truncate`},J={class:`flex items-center gap-1 shrink-0`},he={class:`relative w-5 h-5`},Y={class:`flex items-center gap-2`},X={class:`text-sm text-muted-color truncate`},ge={key:0,class:`text-xs text-muted-color ml-auto shrink-0`},Z={key:0,class:`flex flex-col gap-2 mt-2`},_e={class:`cui-progress-track w-full h-2 rounded-full overflow-hidden`},ve={class:`flex items-center justify-between text-sm text-muted-color`},ye={key:1,class:`mt-1`},be={class:`text-sm text-orange-500`},xe={key:2,class:`mt-1`},Se={class:`text-sm text-orange-500`},Ce={key:3,class:`mt-1`},we={class:`text-sm text-muted-color`},Te={class:`flex items-center text-muted-color`},Ee={key:0,class:`flex items-center gap-4`},De={class:`flex items-center gap-1.5`},Oe={class:`text-sm text-color font-medium`},ke={class:`flex items-center gap-1.5`},Ae={class:`text-sm text-color font-medium`},je={key:1,class:`flex items-center gap-1.5 ml-auto`},Me={class:`text-sm text-color font-medium`},Ne=A({__name:`CuiInstanceCard`,props:{instance:{},menuOpen:{type:Boolean}},emits:[`toggle-favorite`,`open-menu`],setup(t,{emit:n}){let r=t,i=n,{instance:o}=v(r),s=O(()=>o.value.lastUpdatedAt?h(o.value.lastUpdatedAt):``);function c(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e} MB`}function l(e){return e>=1e6?`${(e/1e6).toFixed(1)} TB`:e>=1e3?`${(e/1e3).toFixed(0)} GB`:`${e} MB`}function f(e){return e>=90?`bg-red-500`:e>=70?`bg-orange-400`:e>=50?`bg-yellow-400`:`bg-green-500`}function h(e){let t=Date.now()-(typeof e==`number`?e:new Date(e).getTime()),n=Math.floor(t/6e4);if(n<1)return`< 1m`;if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}return(n,r)=>{let h=U,g=a,v=N,x=P,S=B,w=L,E=e;return M(),b(E,{class:u([`cui-card transition-shadow h-[176px]`,{"ring-1 ring-primary":p(o).active,"cursor-pointer hover:shadow-md":p(o).status!==`offline`,"opacity-60":p(o).status===`offline`}])},{content:T(()=>[y(`div`,W,[y(`div`,G,[y(`div`,K,[j(g,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0 !ml-[calc(-0.25rem*2)]`,onClick:r[0]||=_(e=>i(`toggle-favorite`),[`stop`])},{icon:T(()=>[p(o).favorite?(M(),b(h,{key:0,class:`w-4 h-4 text-yellow-500`})):(M(),b(h,{key:1,class:`w-4 h-4`}))]),_:1}),y(`h3`,q,d(p(o).name),1)]),y(`div`,J,[p(o).pending2fa?(M(),b(v,{key:0,severity:`warn`,value:`2FA`,class:`text-xs`})):D(``,!0),p(o).status===`offline`?(M(),b(v,{key:1,severity:`danger`,value:n.$t(`views.instances.offline`),class:`text-xs`},null,8,[`value`])):D(``,!0),p(o).active?(M(),b(v,{key:2,severity:`success`,value:n.$t(`views.instances.active`)},null,8,[`value`])):D(``,!0),j(g,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm`,onClick:r[1]||=_(e=>i(`open-menu`,e),[`stop`])},{icon:T(()=>[y(`div`,he,[y(`div`,{class:u([`absolute top-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-3.5 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":t.menuOpen}])},null,2),y(`div`,{class:u([`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":t.menuOpen}])},null,2),y(`div`,{class:u([`absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-3.5 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":t.menuOpen}])},null,2)])]),_:1})])]),y(`div`,Y,[y(`div`,{class:u([`w-2 h-2 rounded-full shrink-0`,{"bg-green-500":p(o).status===`online`,"bg-red-500":p(o).status===`offline`,"bg-gray-400":p(o).status===`unknown`}])},null,2),y(`span`,X,d(p(o).version?`v${p(o).version}`:p(o).url||``),1),p(s)?(M(),C(`span`,ge,d(p(s)),1)):D(``,!0)]),p(o).resources?(M(),C(`div`,Z,[y(`div`,_e,[y(`div`,{class:u([`h-full rounded-full transition-all duration-300`,f(p(o).resources.cpuUsage)]),style:m({width:`${p(o).resources.cpuUsage}%`})},null,6)]),y(`div`,ve,[y(`span`,null,`CPU `+d(p(o).resources.cpuUsage)+`%`,1),y(`span`,null,d(c(p(o).resources.memUsed))+` / `+d(c(p(o).resources.memTotal)),1)])])):p(o).hasCredentials?p(o).pending2fa?(M(),C(`div`,xe,[y(`span`,Se,d(n.$t(`views.instances.two_factor_pending_hint`)),1)])):(M(),C(`div`,Ce,[y(`span`,we,d(p(o).status===`offline`?n.$t(`views.instances.server_offline`):n.$t(`views.instances.no_data`)),1)])):(M(),C(`div`,ye,[y(`span`,be,d(n.$t(`views.instances.credentials_required`)),1)]))])]),footer:T(()=>[y(`div`,Te,[p(o).cameras?(M(),C(`div`,Ee,[y(`div`,De,[j(x,{class:`w-4 h-4`}),y(`span`,Oe,d(p(o).cameras.online)+`/`+d(p(o).cameras.total),1)]),y(`div`,ke,[j(S,{class:`w-4 h-4 text-red-500`}),y(`span`,Ae,d(p(o).cameras.recording),1)])])):D(``,!0),p(o).resources?(M(),C(`div`,je,[j(w,{class:`w-4 h-4`}),y(`span`,Me,d(l(p(o).resources.diskUsed))+` / `+d(l(p(o).resources.diskTotal)),1)])):D(``,!0)])]),_:1},8,[`class`])}}}),Pe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Fe(e,t){return M(),C(`svg`,Pe,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`m14.06 9l.94.94L5.92 19H5v-.92zm3.6-6c-.25 0-.51.1-.7.29l-1.83 1.83l3.75 3.75l1.83-1.83c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29m-3.6 3.19L3 17.25V21h3.75L17.81 9.94z`},null,-1)]])}var Ie=k({name:`mdi-pencil-outline`,render:Fe}),Le={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Re(e,t){return M(),C(`svg`,Le,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M2 7v2h4v2H4a2 2 0 0 0-2 2v4h6v-2H4v-2h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zm7 0v10h2v-4h3v-2h-3V9h4V7zm9 0a2 2 0 0 0-2 2v8h2v-3h2v3h2V9a2 2 0 0 0-2-2zm0 2h2v3h-2z`},null,-1)]])}var ze=k({name:`mdi-two-factor-authentication`,render:Re}),Be={class:`flex flex-col gap-6 w-full`},Ve={class:`flex flex-col field-gap`},He={for:`instanceName`,class:`cui-label`},Ue={class:`flex flex-col field-gap`},We={for:`instanceUrl`,class:`cui-label`},Ge={class:`flex flex-col field-gap`},Ke={for:`credUsername`,class:`cui-label`},qe={class:`flex flex-col field-gap`},Je={for:`credPassword`,class:`cui-label`},Q=A({__name:`EditInstanceDialog`,props:{currentName:{},currentUrl:{},hasCredentials:{type:Boolean}},setup(e,{expose:t}){let n=e,{t:a}=r(),o=s(),c=w(n.currentName),l=w(n.currentUrl??``),u=w(``),f=w(``),m=O(()=>!n.currentName),h=O(()=>!!n.hasCredentials);return t({onConfirm:async()=>{let e=c.value.trim();if(!e)return null;if(m.value){let t=l.value.trim();if(!t)return null;let n=u.value.trim();return!n||!f.value?(o.add({severity:`warn`,detail:a(`views.settings.instances.credentials_required`),life:3e3}),null):{name:e,url:t,credentials:{username:n,password:f.value}}}return{name:e,credentials:u.value.trim()&&f.value?{username:u.value.trim(),password:f.value}:void 0}}}),(t,n)=>{let r=i;return M(),C(`div`,Be,[y(`div`,Ve,[y(`label`,He,d(t.$t(`views.settings.instances.name`)),1),j(r,{id:`instanceName`,modelValue:p(c),"onUpdate:modelValue":n[0]||=e=>S(c)?c.value=e:null,placeholder:t.$t(`views.settings.instances.name`),class:`w-full`,autofocus:``},null,8,[`modelValue`,`placeholder`])]),y(`div`,Ue,[y(`label`,We,d(t.$t(`views.settings.instances.url`)),1),p(m)?(M(),b(r,{key:0,id:`instanceUrl`,modelValue:p(l),"onUpdate:modelValue":n[1]||=e=>S(l)?l.value=e:null,placeholder:t.$t(`views.settings.instances.url_placeholder`),class:`w-full`},null,8,[`modelValue`,`placeholder`])):(M(),b(r,{key:1,id:`instanceUrl`,"model-value":e.currentUrl,class:`w-full`,readonly:``},null,8,[`model-value`]))]),y(`div`,Ge,[y(`label`,Ke,d(t.$t(`views.settings.instances.credentials_username`)),1),j(r,{id:`credUsername`,modelValue:p(u),"onUpdate:modelValue":n[2]||=e=>S(u)?u.value=e:null,placeholder:p(h)?t.$t(`views.settings.instances.credentials_unchanged`):t.$t(`views.settings.instances.credentials_username`),class:`w-full`,autocomplete:`off`},null,8,[`modelValue`,`placeholder`])]),y(`div`,qe,[y(`label`,Je,d(t.$t(`views.settings.instances.credentials_password`)),1),j(r,{id:`credPassword`,modelValue:p(f),"onUpdate:modelValue":n[3]||=e=>S(f)?f.value=e:null,type:`password`,placeholder:p(h)?t.$t(`views.settings.instances.credentials_unchanged`):t.$t(`views.settings.instances.credentials_password`),class:`w-full`,autocomplete:`new-password`},null,8,[`modelValue`,`placeholder`])])])}}}),Ye={class:`flex flex-col`},Xe={key:0,class:`page-title`},Ze={class:`flex gap-2 mb-4`},Qe={key:`empty`,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},$e={class:`text-muted text-sm`},et=176,$=280,tt=15e3,nt=A({__name:`Instances`,setup(e){let u=new ie,{t:_}=r(),{smBreakpoint:v}=re(),{width:k,height:A}=ne(),N=le(),P=s(),F=oe(),I=O(()=>F.serverInstances.filter(e=>!!e.credentials)),{data:L,isPending:R}=u.listQuery(),{mutateAsync:z}=u.createMutation(),{mutateAsync:B}=u.updateMutation(),{mutateAsync:V}=u.deleteMutation(),{mutateAsync:H}=u.toggleFavoriteMutation(),U=u.statusQueries(I),W,G=g(`menuRef`),K=w(!1),q=w(``),J=x({}),he=O(()=>(v.value?1:Math.max(1,Math.floor(k.value/$)))*Math.max(1,Math.ceil(A.value/184))),Y=O(()=>{let e=0;return F.serverInstances.map(t=>{let n=!!t.credentials;if(!n)return{id:t.id,name:t.name,url:t.url,status:`unknown`,active:t.id===F.activeId,favorite:F.isFavorite(t.id),hasCredentials:n};let r=U.value[e++],i=r?.data,a=J[t.id],o=`unknown`;return a===`online`?o=`online`:a===`offline`&&(o=`offline`),{id:t.id,name:t.name,url:t.url,status:o,active:t.id===F.activeId,favorite:F.isFavorite(t.id),hasCredentials:n,pending2fa:!!t.pending2fa,version:i?.version,lastUpdatedAt:r?.dataUpdatedAt,cameras:i?.cameras,resources:i?{cpuUsage:i.cpuUsage,memUsed:i.memUsed,memTotal:i.memTotal,diskUsed:i.diskUsed,diskTotal:i.diskTotal}:void 0}})}),X=O(()=>{let e=q.value.toLowerCase().trim();return e?Y.value.filter(t=>t.name.toLowerCase().includes(e)||t.url?.toLowerCase().includes(e)):Y.value}),ge=O(()=>[{label:_(`views.instances.two_factor_enter_code`),icon:ze,hide:!G.value?.data?.pending2fa,onClick:e=>{F.complete2FALogin(e.id,e.name)}},{label:_(`views.settings.edit`),icon:Ie,onClick:e=>{let t=_e(e);t&&be(t)}},{label:_(`views.settings.remove`),icon:me,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{severity:`danger`},onClick:e=>{xe(e.id)}}]);function Z(){W?.abort(),W=new AbortController;let{signal:e}=W;for(let t of I.value)J[t.id]===void 0&&(J[t.id]=`checking`),F.probeInstance(t.id,e).then(n=>{e.aborted||(J[t.id]=n?`online`:`offline`)}).catch(()=>{e.aborted||(J[t.id]=`offline`)})}function _e(e){let t=F.serverInstances.find(t=>t.id===e.id);if(!t)return;let n=F.instanceTokens[t.id];return{id:t.id,name:t.name,url:t.url,hasCredentials:!!t.credentials,favorite:t.favorite??!0,userData:n?.userData??null,lastConnectedAt:n?.lastConnectedAt??null,isHome:!1}}function ve(e){if(!(e.active||e.status===`offline`)){if(e.pending2fa){F.complete2FALogin(e.id,e.name);return}e.id===`__home__`?F.switchInstance(null):F.switchInstance(e.id)}}function ye(){N.openComponentDialog(Q,{data:{title:_(`views.instances.add`),confirmText:_(`components.form.button.add`),contentProps:{currentName:``,hasCredentials:!1}},onConfirm:async e=>{if(e)try{let t=await z({name:e.name,url:e.url,credentials:e.credentials});t.requires2fa&&await F.complete2FALogin(t.id,t.name)}catch(e){P.add({severity:`error`,detail:e,life:3e3})}}})}function be(e){N.openComponentDialog(Q,{data:{title:_(`views.settings.instances.edit`),confirmText:_(`components.form.button.save`),contentProps:{currentName:e.name,currentUrl:e.url,hasCredentials:e.hasCredentials}},onConfirm:async t=>{if(t)try{let n=await B({id:e.id,data:{name:t.name===e.name?void 0:t.name,credentials:t.credentials??void 0}});n.requires2fa&&await F.complete2FALogin(n.id,n.name)}catch(e){P.add({severity:`error`,detail:e,life:3e3})}}})}function xe(e){N.openTextDialog({data:{title:_(`components.dialog.title.confirm`),contentText:_(`views.settings.instances.confirm_remove`),confirmText:_(`views.settings.instances.remove`),loading:K},onConfirm:async()=>{K.value=!0;try{await V(e)}catch(e){P.add({severity:`error`,detail:e,life:3e3})}K.value=!1}})}return c(L,e=>{e&&(o(F.serverInstances,e.instances)||(F.serverInstances=e.instances),F.serverHomeId!==e.homeId&&(F.serverHomeId=e.homeId))},{immediate:!0}),c(I,Z,{immediate:!0,deep:!0}),t(Z,tt),f(()=>{W?.abort()}),(e,t)=>{let r=fe,o=a,s=ue,c=de,u=te,f=i,g=ee,x=n,w=Ne,O=ae,k=se;return M(),C(`div`,Ye,[p(v)?D(``,!0):(M(),C(`h1`,Xe,d(e.$t(`views.instances.title`)),1)),j(s,{position:`left`},{default:T(()=>[j(o,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:t[0]||=t=>e.$router.push(`/menu`)},{icon:T(()=>[j(r,{class:`w-6 h-6`})]),_:1})]),_:1}),y(`div`,Ze,[j(g,{class:`flex-1`},{default:T(()=>[j(u,null,{default:T(()=>[j(c,{class:`w-4 h-4`})]),_:1}),j(f,{modelValue:p(q),"onUpdate:modelValue":t[1]||=e=>S(q)?q.value=e:null,placeholder:p(_)(`views.instances.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1})]),j(l,{name:`fade-2`,mode:`out-in`},{default:T(()=>[p(R)?(M(),C(`div`,{key:`loading`,class:`grid w-full gap-2 p-px`,style:m({gridTemplateColumns:`repeat(auto-fill, minmax(${p(v)?`100%`:`${$}px`}, 1fr))`})},[(M(!0),C(E,null,h(p(he),e=>(M(),b(x,{key:e,height:`${et}px`,class:`cui-card`},null,8,[`height`]))),128))],4)):p(X).length?(M(),C(`div`,{key:`content`,class:`grid w-full gap-2 p-px`,style:m({gridTemplateColumns:`repeat(auto-fill, minmax(${p(v)?`100%`:`${$}px`}, 1fr))`})},[(M(!0),C(E,null,h(p(X),e=>(M(),b(w,{key:e.id,instance:e,"menu-open":p(G)?.isOpen&&p(G)?.data?.id===e.id,onClick:t=>ve(e),onToggleFavorite:t=>p(H)(e.id),onOpenMenu:t=>p(G)?.toggleMenu(t,void 0,e)},null,8,[`instance`,`menu-open`,`onClick`,`onToggleFavorite`,`onOpenMenu`]))),128))],4)):(M(),C(`div`,Qe,[j(O,{class:`w-12 h-12 text-muted`}),y(`span`,$e,d(e.$t(`views.instances.no_instances`)),1)]))]),_:1}),j(k,{"tooltip-props":{value:e.$t(`views.instances.add`)},"button-props":{class:`text-white`},icon:p(pe),"icon-props":{width:`30px`,height:`30px`},onClick:ye},null,8,[`tooltip-props`,`icon`]),j(ce,{ref_key:`menuRef`,ref:G,items:p(ge),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{nt as default};
@@ -0,0 +1,6 @@
1
+ import{Ir as e,O as t,Wi as n,_n as r}from"./vendor-cameraui-D5fd9Ars.js";import{D as i}from"./api-CeJqvqFj.js";import{$n as a,An as ee,Cr as o,Gn as te,Nn as s,Rn as c,Sr as l,Tr as ne,Zn as u,br as d,dn as f,fn as p,gn as re,jn as m,lr as h,mn as g,mr as _,nr as v,rr as ie,un as y,ur as b,xn as x,yn as S,zn as C}from"./vendor-ClrOISZp.js";import{f as w}from"./vendor-core-D9amXF-u.js";import{M as ae,W as oe,j as se,o as ce}from"./vendor-primevue-Ba4LruKV.js";import{i as T,n as E}from"./server-zkNDKqjz.js";import{n as le}from"./ui-BajsbwJJ.js";import{t as ue}from"./useFileDownload-CaB5Myfa.js";import{t as de}from"./CuiMenu-BmgnEZun.js";import{n as fe,r as pe,t as me}from"./cameras-BySMxwdP.js";import{t as he}from"./useCuiDialog-CGak2kyV.js";import{t as ge}from"./CuiTopbarSlot-C6t4NmW-.js";import{n as _e,r as ve,t as ye}from"./plugins-CHRZiPTq.js";import{t as D}from"./search-BgYt2zqA.js";import{n as O,r as k,t as A}from"./useLogsSocket-B47qvN41.js";import{t as j}from"./back-filled-LVLhJP7G.js";import{n as M,t as N}from"./zoom-in-CKM5nWQX.js";import{n as P,t as be}from"./CuiTopNavbarItem-CIO_h1T0.js";import{t as xe}from"./arrow-left-DroMCfOc.js";import{t as Se}from"./trash-2-CAa4rD_d.js";var F={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function I(e,t){return C(),g(`svg`,F,[...t[0]||=[f(`path`,{fill:`currentColor`,d:`M16 18L6 8l1.4-1.4l8.6 8.6l8.6-8.6L26 8zM4 22h24v2H4z`},null,-1)]])}var Ce=b({name:`carbon-down-to-bottom`,render:I}),L={viewBox:`0 0 20 20`,width:`1.2em`,height:`1.2em`};function R(e,t){return C(),g(`svg`,L,[...t[0]||=[f(`path`,{fill:`currentColor`,"fill-rule":`evenodd`,d:`M3 17a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1m3.293-7.707a1 1 0 0 1 1.414 0L9 10.586V3a1 1 0 1 1 2 0v7.586l1.293-1.293a1 1 0 1 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414`,"clip-rule":`evenodd`},null,-1)]])}var we=b({name:`heroicons-solid-download`,render:R}),Te={class:`h-full w-full dark-mode relative`},Ee={class:`relative w-6 h-6`},De=5e3,z=x({__name:`Logs`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(b){let x=new me,F=new ye,I=b,{t:L}=e(),R=he(),z=i(),{uiSettings:B}=w(le()),{data:Oe}=x.getCamerasQuery({page:1,pageSize:-1}),{data:ke}=F.getPluginsQuery({page:1,pageSize:-1}),V=[{id:`server`,label:`Server`},{id:`go2rtc`,label:`go2rtc`},{id:`nats`,label:`nats`},{id:`tunnel`,label:`tunnel`}],{navbarWidth:Ae,navbarLeft:je}=d(I),H=u(`consoleRef`),U=u(`menuRef`),W=u(`mobileSearchInput`),G=_({kind:`all`}),K=_(``),q=_([]),J=_(!1),Y=_(!1),Me=y(()=>Ae.value+je.value),Ne=y(()=>G.value.kind===`all`?`all`:G.value.id),Pe=y(()=>{let e=G.value;return e.kind===`all`?`All`:e.kind===`system`?V.find(t=>t.id===e.id)?.label??e.id??``:e.id??``}),Fe=y(()=>{let e=[],t=(e,t,n)=>({key:`${e.kind}:${e.id??``}`,label:t,group:n,active:Be(e),onClick:()=>Ve(e)});e.push(t({kind:`all`},`All`));for(let n of V)e.push(t({kind:`system`,id:n.id},n.label,L(`views.logs.groups.system`)));let n=L(`views.logs.groups.plugins`);for(let r of ke.value?.result??[])e.push(t({kind:`plugin`,id:r.pluginName},r.pluginName,n));let r=L(`views.logs.groups.cameras`);for(let n of Oe.value?.result??[])e.push(t({kind:`camera`,id:n.name},n.name,r));return e}),Ie=y(()=>({fontSize:B.value.console.zoom}));function Le(){J.value=!0,m(()=>{W.value?.$el?.focus()})}function X(){J.value=!1,K.value=``}function Z(e,t){return!t.trim()||e.replace(/\x1b\[[0-9;]*m/g,``).toLowerCase().includes(t.toLowerCase())}function Q(){q.value=[],H.value?.clearTerminal()}function Re(){if(H.value){H.value.clearTerminal();for(let e of q.value)Z(e,K.value)&&H.value.writeTerminal(e)}}let ze=n(Re,300);function Be(e){return G.value.kind===e.kind&&G.value.id===e.id}function Ve(e){G.value=e,Q(),$.switchSource(e)}let $=A({onStdout:e=>{let t=e.split(/(?<=\r?\n)/);for(let e of t)e.trim()&&q.value.push(e);q.value.length>De&&(q.value=q.value.slice(-5e3)),Z(e,K.value)&&H.value?.writeTerminal(e)},onDisconnect:()=>H.value?.writeTerminal(`\r
2
+ Websocket failed to connect! Is the server running?\r
3
+ \r
4
+ `),onClearLog:e=>{e===Ne.value&&Q()},onReconnected:()=>{Q(),H.value?.writeTerminal(`--- Reconnected ---\r
5
+ \r
6
+ `)}});async function He(){Y.value=!0;try{let e=G.value;e.kind===`camera`&&e.id?(await fe({cameraname:e.id}),Q()):e.kind===`plugin`&&e.id?(await _e({pluginName:e.id}),Q()):await E(e.kind===`system`?e.id:void 0),z.add({severity:`success`,detail:L(`components.toast.log_cleared`),life:3e3})}finally{Y.value=!1}}async function Ue(){Y.value=!0;try{let e=G.value,t=new AbortController,n,r;if(e.kind===`camera`&&e.id)n=await pe({cameraname:e.id,signal:t.signal}),r=`camera.ui.${e.id}.log.txt`;else if(e.kind===`plugin`&&e.id)n=await ve({pluginName:e.id,signal:t.signal}),r=`camera.ui.${e.id}.log.txt`;else{let i=e.kind===`system`?e.id:`all`;n=await T({signal:t.signal,source:i}),r=i&&i!==`all`?`${i}.log.txt`:`camera.ui.log.txt`}await ue({blob:new Blob([n]),filename:r,mimeType:`text/plain`})}finally{Y.value=!1}}function We(){B.value.console.zoom!==20&&B.value.console.zoom++}function Ge(){B.value.console.zoom!==8&&B.value.console.zoom--}let Ke=_([{label:L(`components.form.tooltip.download`),icon:we,buttonProps:{severity:`success`},command:()=>{Ue()}},{label:L(`components.form.tooltip.delete`),icon:Se,buttonProps:{severity:`danger`},command:()=>{R.openTextDialog({data:{title:L(`components.dialog.title.confirm`),contentText:L(`components.dialog.message.confirm_clear_log`),confirmText:L(`components.form.button.clear`),confirmButtonProps:{severity:`danger`}},onConfirm:He})}},{label:L(`components.form.tooltip.copy_all`),icon:k,command:()=>{H.value?.copyAll()}},{label:L(`components.form.tooltip.zoom_out`),icon:M,command:()=>{Ge()}},{label:L(`components.form.tooltip.zoom_in`),icon:N,command:()=>{We()}}]);return a(K,()=>{ze()}),s(()=>{$.connect(),$.switchSource({kind:`all`})}),c(()=>{$.disconnect()}),(e,n)=>{let i=j,a=r,s=ge,c=xe,u=be,d=D,m=se,_=t,y=ae,b=P,x=ce,w=Ce,T=de,E=oe;return C(),g(`div`,Te,[S(s,{position:`left`},{default:v(()=>[S(a,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:n[0]||=t=>e.$router.push(`/menu`)},{icon:v(()=>[S(i,{class:`w-6 h-6`})]),_:1})]),_:1}),S(b,{"left-offset":l(Me),animate:``},re({_:2},[l(J)?{name:`full`,fn:v(()=>[S(u,{class:`sm:hidden`,onClick:X},{icon:v(()=>[S(c,{class:`text-sm`})]),_:1}),S(y,{class:`dark-mode w-full sm:hidden`},{default:v(()=>[S(m,null,{default:v(()=>[S(d,{class:`text-sm`})]),_:1}),S(_,{ref_key:`mobileSearchInput`,ref:W,modelValue:l(K),"onUpdate:modelValue":n[1]||=e=>h(K)?K.value=e:null,placeholder:l(L)(`components.form.placeholder.search`),class:`dark-mode text-xs h-8 w-full`},null,8,[`modelValue`,`placeholder`])]),_:1})]),key:`0`}:void 0,l(J)?void 0:{name:`left`,fn:v(()=>[S(u,{type:`dropdown`,label:l(Pe),"menu-open":l(U)?.isOpen,onClick:n[2]||=e=>l(U)?.toggleMenu(e)},null,8,[`label`,`menu-open`])]),key:`1`},l(J)?void 0:{name:`right`,fn:v(()=>[S(u,{class:`sm:hidden`,onClick:Le},{icon:v(()=>[S(d,{class:`text-sm`})]),_:1}),S(y,{class:`dark-mode hidden sm:flex`},{default:v(()=>[S(m,null,{default:v(()=>[S(d,{class:`text-sm`})]),_:1}),S(_,{modelValue:l(K),"onUpdate:modelValue":n[3]||=e=>h(K)?K.value=e:null,placeholder:l(L)(`components.form.placeholder.search`),class:`dark-mode text-xs h-8 w-40`},null,8,[`modelValue`,`placeholder`])]),_:1})]),key:`2`}]),1032,[`left-offset`]),f(`div`,{class:`w-full h-full flex relative`,style:ne({paddingTop:`${l(55)}px`})},[S(O,{ref_key:`consoleRef`,ref:H,options:l(Ie),onResize:l($).reportSize},null,8,[`options`,`onResize`])],4),S(x,{model:l(Ke),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-3 bottom-3 z-11`,pt:{root:{style:`pointer-events: none`}}},{button:v(({visible:e,toggleCallback:t})=>[S(a,{severity:`secondary`,class:o([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,loading:l(Y),onClick:t},{icon:v(()=>[f(`div`,Ee,[f(`div`,{class:o([`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}]),style:{backgroundColor:`var(--text-color)`}},null,2),f(`div`,{class:o([`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}]),style:{backgroundColor:`var(--text-color)`}},null,2),f(`div`,{class:o([`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}]),style:{backgroundColor:`var(--text-color)`}},null,2)])]),_:2},1032,[`class`,`loading`,`onClick`])]),item:v(({item:e,toggleCallback:t})=>[ie((C(),p(a,ee({loading:l(Y),severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:v(()=>[(C(),p(te(e.icon)))]),_:2},1040,[`loading`,`onClick`])),[[E,{value:e.label}]])]),_:1},8,[`model`]),S(a,{class:o([`dark-mode opacity-40 transition absolute bottom-3 right-14 z-11 text-white`,{"!opacity-20":l(H)?.atBottom,"hover:opacity-100 active:opacity-100 focus:opacity-100":!l(H)?.atBottom}]),rounded:``,loading:l(Y),disabled:l(H)?.atBottom,onClick:l(H)?.scrollToBottom},{icon:v(()=>[S(w,{class:`text-white`})]),_:1},8,[`class`,`loading`,`disabled`,`onClick`]),S(T,{ref_key:`menuRef`,ref:U,items:l(Fe),dividers:`sections`,"max-height":`300px`,class:`dark-mode`,popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{z as default};
@@ -1 +1 @@
1
- import{F as e,Ir as t}from"./vendor-cameraui-DDdtrYBn.js";import{g as n,p as r}from"./api-DR6W2XWy.js";import{An as i,Er as a,Gn as o,Sr as s,Un as c,Vn as l,Xn as u,_n as d,br as f,dn as p,fn as m,mn as h,nr as g,on as _,pn as v,un as y,ur as b,vn as x,xn as S,yn as C,zn as w}from"./vendor-ClrOISZp.js";import{f as T}from"./vendor-core-CZuWsjWr.js";import{n as E}from"./router-BFG1ClJo.js";import{t as D}from"./power-CH_DVgfm.js";import{t as O}from"./CuiAvatar-DeBKq6dT.js";import{t as k}from"./hasPermission-Dm18Z17u.js";import{n as A}from"./CuiMenu--tB8FqMF.js";import{t as j}from"./information-outline-BaVRQ1WL.js";import{t as M}from"./chevron-right-90_Zn7fJ.js";var N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return w(),h(`svg`,N,[...t[0]||=[p(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M17 20V4m0 0l3 3m-3-3l-3 3M7 4v16m0 0l3-3m-3 3l-3-3`},null,-1)]])}var F=b({name:`iconoir-data-transfer-both`,render:P}),I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return w(),h(`svg`,I,[...t[0]||=[d(`<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="1.5"><path d="M11 21H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v7"></path><path stroke-linejoin="round" d="M2 7h20M5 5.01l.01-.011M8 5.01l.01-.011M11 5.01l.01-.011m10.657 11.668C21.047 15.097 19.635 14 17.99 14c-1.758 0-3.252 1.255-3.793 3"></path><path stroke-linejoin="round" d="M19.995 16.772H21.4a.6.6 0 0 0 .6-.6V14.55m-7.666 4.783C14.953 20.903 16.366 22 18.01 22c1.758 0 3.252-1.255 3.793-3"></path><path stroke-linejoin="round" d="M16.005 19.228H14.6a.6.6 0 0 0-.6.6v1.622"></path></g>`,1)]])}var R=b({name:`iconoir-reload-window`,render:L}),z=S({__name:`CuiList`,props:{size:{default:`default`},dividers:{type:Boolean},cardProps:{},cardClass:{type:[Boolean,null,String,Object,Array]},cardStyle:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=u(),{cardProps:a,cardClass:c,cardStyle:d,dividers:p}=f(n),v=y(()=>{let e=r.default?.();if(!e)return[];let t=[];for(let n of e)if(n.type===_&&Array.isArray(n.children))for(let e of n.children)typeof e==`object`&&e&&t.push(e);else t.push(n);return t});return(n,r)=>{let u=e;return w(),m(u,i({class:`cui-card`,pt:{body:{class:`p-0`}}},s(a),{class:s(c),style:s(d)}),{content:g(()=>[(w(!0),h(_,null,l(s(v),(e,n)=>(w(),m(o(e),i({key:n,ref_for:!0},s(p)===!1?{}:{divider:n<s(v).length-1},{size:t.size,radius:s(v).length===1?`both`:n===0?`top`:n===s(v).length-1?`bottom`:`none`}),null,16,[`size`,`radius`]))),128))]),_:1},16,[`class`,`style`])}}}),B={class:`flex flex-col items-center py-8`},V={class:`mt-3 text-lg font-semibold`},H={class:`text-sm text-muted`},U={class:`px-4 mb-4`},W={class:`card-title`},G={key:0,class:`px-4 mb-4`},K={class:`card-title`},q={class:`px-4 mb-4`},J={class:`card-title`},Y={class:`text-primary`},X=S({__name:`Menu`,setup(e){let{t:i}=t(),u=r(),{user:d}=T(u),f=new Set([`Faces`,`Plugins`,`Settings`]),b=y(()=>E.filter(e=>e.meta?.menu&&e.meta.auth&&k(e))),S=y(()=>b.value.filter(e=>f.has(e.name)).map(e=>({to:e.path,label:i(`navigation.${e.name.toLowerCase()}`),icon:e.meta.menu.icon.default}))),N=y(()=>b.value.filter(e=>!f.has(e.name)).map(e=>({to:e.path,label:i(`navigation.${e.name.toLowerCase()}`),icon:e.meta.menu.icon.default})));function P(){window.location.reload()}async function I(){await n()}return(e,t)=>{let n=O,r=c(`RouterLink`),i=M,f=A,y=z,b=j,T=R,E=F,k=D;return w(),h(`div`,null,[p(`section`,B,[C(r,{to:`/settings/account`,class:`flex flex-col items-center justify-center`},{default:g(()=>[C(n,{src:`avatar`,size:80,style:{width:`80px`,height:`80px`}}),p(`div`,V,a(s(d)?.username??`Unknown`),1),p(`div`,H,a(s(d)?.role??`user`),1)]),_:1})]),p(`section`,U,[p(`span`,W,a(e.$t(`views.menu.section_app`)),1),C(y,{size:`large`,dividers:``},{default:g(()=>[(w(!0),h(_,null,l(s(S),e=>(w(),m(f,{key:e.to,to:e.to},{prepend:g(()=>[(w(),m(o(e.icon),{class:`w-5 h-5 text-muted`}))]),append:g(()=>[C(i,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:1})]),s(N).length?(w(),h(`section`,G,[p(`span`,K,a(e.$t(`views.menu.section_system`)),1),C(y,{size:`large`,dividers:``},{default:g(()=>[(w(!0),h(_,null,l(s(N),e=>(w(),m(f,{key:e.to,to:e.to},{prepend:g(()=>[(w(),m(o(e.icon),{class:`w-5 h-5 text-muted`}))]),append:g(()=>[C(i,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:1})])):v(``,!0),p(`section`,q,[p(`span`,J,a(e.$t(`views.menu.section_actions`)),1),C(y,{size:`large`,dividers:``},{default:g(()=>[C(f,{to:`/about`},{prepend:g(()=>[C(b,{class:`w-5 h-5 text-muted`})]),append:g(()=>[C(i,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.$t(`navigation.about`))+` `,1)]),_:1}),C(f,{onClick:P},{prepend:g(()=>[C(T,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.$t(`views.menu.reload`)),1)]),_:1}),s(!1)?(w(),m(f,{key:0,onClick:I},{prepend:g(()=>[C(E,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.$t(`views.menu.switch_server`)),1)]),_:1})):v(``,!0),C(f,{onClick:t[0]||=()=>s(u).logout()},{prepend:g(()=>[C(k,{class:`w-5 h-5 text-primary`})]),default:g(()=>[p(`span`,Y,a(e.$t(`views.menu.logout`)),1)]),_:1})]),_:1})])])}}});export{X as default};
1
+ import{F as e,Ir as t}from"./vendor-cameraui-D5fd9Ars.js";import{h as n,v as r}from"./api-CeJqvqFj.js";import{An as i,Er as a,Gn as o,Sr as s,Un as c,Vn as l,Xn as u,_n as d,br as f,dn as p,fn as m,mn as h,nr as g,on as _,pn as v,un as y,ur as b,vn as x,xn as S,yn as C,zn as w}from"./vendor-ClrOISZp.js";import{f as T}from"./vendor-core-D9amXF-u.js";import{n as E}from"./router-B6AZz5fb.js";import{t as D}from"./power-CH_DVgfm.js";import{t as O}from"./CuiAvatar--d4yBFev.js";import{t as k}from"./hasPermission-DADXQ_dj.js";import{n as A}from"./CuiMenu-BmgnEZun.js";import{t as j}from"./information-outline-BaVRQ1WL.js";import{t as M}from"./chevron-right-90_Zn7fJ.js";var N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return w(),h(`svg`,N,[...t[0]||=[p(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M17 20V4m0 0l3 3m-3-3l-3 3M7 4v16m0 0l3-3m-3 3l-3-3`},null,-1)]])}var F=b({name:`iconoir-data-transfer-both`,render:P}),I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return w(),h(`svg`,I,[...t[0]||=[d(`<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="1.5"><path d="M11 21H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v7"></path><path stroke-linejoin="round" d="M2 7h20M5 5.01l.01-.011M8 5.01l.01-.011M11 5.01l.01-.011m10.657 11.668C21.047 15.097 19.635 14 17.99 14c-1.758 0-3.252 1.255-3.793 3"></path><path stroke-linejoin="round" d="M19.995 16.772H21.4a.6.6 0 0 0 .6-.6V14.55m-7.666 4.783C14.953 20.903 16.366 22 18.01 22c1.758 0 3.252-1.255 3.793-3"></path><path stroke-linejoin="round" d="M16.005 19.228H14.6a.6.6 0 0 0-.6.6v1.622"></path></g>`,1)]])}var R=b({name:`iconoir-reload-window`,render:L}),z=S({__name:`CuiList`,props:{size:{default:`default`},dividers:{type:Boolean},cardProps:{},cardClass:{type:[Boolean,null,String,Object,Array]},cardStyle:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=u(),{cardProps:a,cardClass:c,cardStyle:d,dividers:p}=f(n),v=y(()=>{let e=r.default?.();if(!e)return[];let t=[];for(let n of e)if(n.type===_&&Array.isArray(n.children))for(let e of n.children)typeof e==`object`&&e&&t.push(e);else t.push(n);return t});return(n,r)=>{let u=e;return w(),m(u,i({class:`cui-card`,pt:{body:{class:`p-0`}}},s(a),{class:s(c),style:s(d)}),{content:g(()=>[(w(!0),h(_,null,l(s(v),(e,n)=>(w(),m(o(e),i({key:n,ref_for:!0},s(p)===!1?{}:{divider:n<s(v).length-1},{size:t.size,radius:s(v).length===1?`both`:n===0?`top`:n===s(v).length-1?`bottom`:`none`}),null,16,[`size`,`radius`]))),128))]),_:1},16,[`class`,`style`])}}}),B={class:`flex flex-col items-center py-8`},V={class:`mt-3 text-lg font-semibold`},H={class:`text-sm text-muted`},U={class:`px-4 mb-4`},W={class:`card-title`},G={key:0,class:`px-4 mb-4`},K={class:`card-title`},q={class:`px-4 mb-4`},J={class:`card-title`},Y={class:`text-primary`},X=S({__name:`Menu`,setup(e){let{t:i}=t(),u=n(),{user:d}=T(u),f=new Set([`Faces`,`Plugins`,`Settings`]),b=y(()=>E.filter(e=>e.meta?.menu&&e.meta.auth&&k(e))),S=y(()=>b.value.filter(e=>f.has(e.name)).map(e=>({to:e.path,label:i(`navigation.${e.name.toLowerCase()}`),icon:e.meta.menu.icon.default}))),N=y(()=>b.value.filter(e=>!f.has(e.name)).map(e=>({to:e.path,label:i(`navigation.${e.name.toLowerCase()}`),icon:e.meta.menu.icon.default})));function P(){window.location.reload()}async function I(){await r()}return(e,t)=>{let n=O,r=c(`RouterLink`),i=M,f=A,y=z,b=j,T=R,E=F,k=D;return w(),h(`div`,null,[p(`section`,B,[C(r,{to:`/settings/account`,class:`flex flex-col items-center justify-center`},{default:g(()=>[C(n,{src:`avatar`,size:80,style:{width:`80px`,height:`80px`}}),p(`div`,V,a(s(d)?.username??`Unknown`),1),p(`div`,H,a(s(d)?.role??`user`),1)]),_:1})]),p(`section`,U,[p(`span`,W,a(e.$t(`views.menu.section_app`)),1),C(y,{size:`large`,dividers:``},{default:g(()=>[(w(!0),h(_,null,l(s(S),e=>(w(),m(f,{key:e.to,to:e.to},{prepend:g(()=>[(w(),m(o(e.icon),{class:`w-5 h-5 text-muted`}))]),append:g(()=>[C(i,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:1})]),s(N).length?(w(),h(`section`,G,[p(`span`,K,a(e.$t(`views.menu.section_system`)),1),C(y,{size:`large`,dividers:``},{default:g(()=>[(w(!0),h(_,null,l(s(N),e=>(w(),m(f,{key:e.to,to:e.to},{prepend:g(()=>[(w(),m(o(e.icon),{class:`w-5 h-5 text-muted`}))]),append:g(()=>[C(i,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:1})])):v(``,!0),p(`section`,q,[p(`span`,J,a(e.$t(`views.menu.section_actions`)),1),C(y,{size:`large`,dividers:``},{default:g(()=>[C(f,{to:`/about`},{prepend:g(()=>[C(b,{class:`w-5 h-5 text-muted`})]),append:g(()=>[C(i,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.$t(`navigation.about`))+` `,1)]),_:1}),C(f,{onClick:P},{prepend:g(()=>[C(T,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.$t(`views.menu.reload`)),1)]),_:1}),s(!1)?(w(),m(f,{key:0,onClick:I},{prepend:g(()=>[C(E,{class:`w-5 h-5 text-muted`})]),default:g(()=>[x(` `+a(e.$t(`views.menu.switch_server`)),1)]),_:1})):v(``,!0),C(f,{onClick:t[0]||=()=>s(u).logout()},{prepend:g(()=>[C(k,{class:`w-5 h-5 text-primary`})]),default:g(()=>[p(`span`,Y,a(e.$t(`views.menu.logout`)),1)]),_:1})]),_:1})])])}}});export{X as default};
@@ -0,0 +1 @@
1
+ import{Ir as e,gn as t,pt as n}from"./vendor-cameraui-D5fd9Ars.js";import{i as r}from"./api-CeJqvqFj.js";import{$t as i,Er as a,Sr as o,Vn as s,dn as c,fn as l,mn as u,nr as d,on as f,pn as p,un as m,vn as h,xn as g,yn as _,zn as v}from"./vendor-ClrOISZp.js";import{F as y}from"./vendor-primevue-Ba4LruKV.js";import{t as b}from"./CuiActionButton-iaZkXylf.js";import{t as x}from"./copy-16-filled-DfOe7jyi.js";import{n as S,t as C}from"./cloud-check-C2zK34QI.js";import{t as w}from"./CuiQRCode-CsxVDVaU.js";var T={class:`flex flex-col`},E={key:`intro`,class:`flex flex-col gap-4`},D={key:0,class:`flex flex-col gap-1.5 list-disc pl-5 text-sm text-muted`},O={key:`awaiting`,class:`flex flex-col items-center gap-5 text-center`},k={class:`flex flex-col items-center gap-2`},A={class:`text-sm text-muted`},j={class:`flex items-center gap-1 max-w-full min-w-0`},M=[`href`],N={class:`mt-1 flex items-center gap-1`},P={class:`card-background border border-color rounded-xl px-6 py-3`},F={class:`text-2xl font-mono font-semibold tracking-[0.25em] select-text`},ee={class:`flex items-center gap-2 text-muted`},I={class:`text-sm`},L={key:`connected`,class:`flex flex-col items-center gap-3 py-2 text-center`},R={class:`text-sm`},z={key:`error`,class:`flex flex-col items-center gap-3 py-2 text-center`},B={class:`text-sm`},V=g({__name:`OAuthDeviceFlow`,props:{pluginName:{}},setup(g,{expose:V}){let H=g,{t:U}=e(),{state:W,metadata:G,startDeviceFlow:K,disconnect:q,cancel:J}=n(H.pluginName),Y=m(()=>Object.keys(G.value?.scopeDescriptions??{}));function X(){let e=W.value.verificationUriComplete||W.value.verificationUri;e&&r(e)}function Z(){W.value.userCode&&r(W.value.userCode)}function Q(e){switch(e){case`access_denied`:return U(`components.oauth.error_access_denied`);case`expired_token`:return U(`components.oauth.error_expired`);default:return U(`components.oauth.error_generic`)}}async function $(){return W.value.status===`disconnected`||W.value.status===`error`?await K(Y.value):W.value.status===`connected`&&await q(),null}async function te(){(W.value.status===`awaiting_user`||W.value.status===`polling`)&&await J()}return V({onConfirm:$,onCancel:te}),(e,n)=>{let r=y,m=w,g=b,V=t,H=C,U=S;return v(),u(`div`,T,[_(i,{name:`fade`,mode:`out-in`},{default:d(()=>[o(W).status===`disconnected`?(v(),u(`div`,E,[_(r,{severity:`secondary`,variant:`simple`,size:`small`},{default:d(()=>[h(a(e.$t(`components.oauth.intro`,{idp:o(G)?.idpDisplayName??`cameraui.com`})),1)]),_:1}),o(Y).length?(v(),u(`ul`,D,[(v(!0),u(f,null,s(o(Y),e=>(v(),u(`li`,{key:e},a(o(G)?.scopeDescriptions[e]??e),1))),128))])):p(``,!0)])):o(W).status===`awaiting_user`||o(W).status===`polling`?(v(),u(`div`,O,[o(W).verificationUriComplete?(v(),l(m,{key:0,value:o(W).verificationUriComplete,size:184,"logo-size":36},null,8,[`value`])):p(``,!0),c(`div`,k,[c(`span`,A,a(e.$t(`components.oauth.enter_code_at`)),1),c(`div`,j,[c(`a`,{href:o(W).verificationUriComplete||o(W).verificationUri,target:`_blank`,rel:`noopener`,class:`text-sm font-mono text-primary hover:underline break-all select-text`},a(o(W).verificationUri),9,M),_(g,{"action-text":e.$t(`components.form.tooltip.copied`),icon:o(x),"button-props":{severity:`secondary`,text:!0,size:`small`},onAction:X},null,8,[`action-text`,`icon`])]),c(`div`,N,[c(`div`,P,[c(`span`,F,a(o(W).userCode),1)]),_(g,{"action-text":e.$t(`components.form.tooltip.copied`),icon:o(x),"button-props":{severity:`secondary`,text:!0,size:`small`},onAction:Z},null,8,[`action-text`,`icon`])])]),c(`div`,ee,[_(V,{class:`w-4 h-4 m-0`,"stroke-width":`5`}),c(`span`,I,a(e.$t(`components.oauth.waiting`)),1)])])):o(W).status===`connected`?(v(),u(`div`,L,[_(H,{class:`text-green-500 w-10 h-10`}),c(`span`,R,a(e.$t(`components.oauth.connected_as`,{email:o(W).userEmail||`—`})),1)])):o(W).status===`error`?(v(),u(`div`,z,[_(U,{class:`text-red-500 w-10 h-10`}),c(`span`,B,a(o(W).errorMessage||Q(o(W).errorCode)),1)])):p(``,!0)]),_:1})])}}});export{V as default};