@camera.ui/server 0.0.39 → 0.0.41

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 (165) hide show
  1. package/dist/interface/@intlify.Do1-T-x0.0.0.41.js +15 -0
  2. package/dist/interface/{@tanstack.BoiFrtzX.0.0.39.js → @tanstack.BMdKtFKV.0.0.41.js} +1 -1
  3. package/dist/interface/{@vee-validate.DOPySfe9.0.0.39.js → @vee-validate.BN6pp7gT.0.0.41.js} +1 -1
  4. package/dist/interface/{@vue.BSUQIjRR.0.0.39.js → @vue.HgptpWSe.0.0.41.js} +1 -1
  5. package/dist/interface/{@vueform.DURVfBZu.0.0.39.js → @vueform.o-ddyf2r.0.0.41.js} +1 -1
  6. package/dist/interface/@vueuse.0AqyrsW4.0.0.41.js +1 -0
  7. package/dist/interface/{@xterm.CD6WS-S3.0.0.39.js → @xterm.ChIdrMXz.0.0.41.js} +4 -4
  8. package/dist/interface/{Account.D_eFRBoi.0.0.39.js → Account.rWnoeynZ.0.0.41.js} +1 -1
  9. package/dist/interface/{Adminpanel.BW13-FSk.0.0.39.js → Adminpanel.DmVBZO7B.0.0.41.js} +2 -2
  10. package/dist/interface/{Appearance.BAartkPK.0.0.39.js → Appearance.CWq9SdBF.0.0.41.js} +1 -1
  11. package/dist/interface/{Backup.B8qRu2Lk.0.0.39.js → Backup.gg2dY5Kw.0.0.41.js} +1 -1
  12. package/dist/interface/{Camera.WCQluB3X.0.0.39.js → Camera.DC8dTFKj.0.0.41.js} +1 -1
  13. package/dist/interface/{Cameras.BimRRXnv.0.0.39.js → Cameras.BTbXKjiK.0.0.41.js} +1 -1
  14. package/dist/interface/{Camview.jUT1KeFE.0.0.39.js → Camview.9qmsYNcJ.0.0.41.js} +1 -1
  15. package/dist/interface/{Config.D7fPANlt.0.0.39.js → Config.B6iyCBiG.0.0.41.js} +1 -1
  16. package/dist/interface/{Console.DtTYQDtc.0.0.39.js → Console.D8_i4IrL.0.0.41.js} +1 -1
  17. package/dist/interface/{FirstSteps.DvFz9Ipp.0.0.39.js → FirstSteps.CNdfoio6.0.0.41.js} +1 -1
  18. package/dist/interface/{NewCamera.C2Tj9HIr.0.0.39.js → NewCamera.DboRF8X5.0.0.41.js} +2 -2
  19. package/dist/interface/Plugin.CtbpXA8-.0.0.41.js +1 -0
  20. package/dist/interface/{Plugins.0GLzbC2l.0.0.39.js → Plugins.C-h6Ohpb.0.0.41.js} +1 -1
  21. package/dist/interface/Recordings.DDez2bDG.0.0.41.js +1 -0
  22. package/dist/interface/Recordings.nAMAxDb-.0.0.41.js +1 -0
  23. package/dist/interface/{Settings.CHyfykI9.0.0.39.js → Settings.BLIeDAua.0.0.41.js} +1 -1
  24. package/dist/interface/{System.CcBINQYZ.0.0.39.js → System.ttFMkejl.0.0.41.js} +1 -1
  25. package/dist/interface/{User.CMafVfud.0.0.39.js → User.ByejsWGp.0.0.41.js} +1 -1
  26. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.DxUPvg7f.0.0.39.js → VConfigEditor.vue_vue_type_script_setup_true_lang.Cl2zDL7n.0.0.41.js} +2 -2
  27. package/dist/interface/{VConsole.DDRPOT5i.0.0.39.js → VConsole.C_RAZERN.0.0.41.js} +1 -1
  28. package/dist/interface/VPlayer.C-i6REq9.0.0.41.js +4 -0
  29. package/dist/interface/{VPluginCard.a7_GwM_6.0.0.39.js → VPluginCard.DuHfeDOo.0.0.41.js} +1 -1
  30. package/dist/interface/{ace-builds.DKOJbQcN.0.0.39.js → ace-builds.CJ5_HA6k.0.0.41.js} +4 -4
  31. package/dist/interface/apexcharts.BvzAjsR8.0.0.41.js +838 -0
  32. package/dist/interface/assets/NewCamera.0.0.41.C7CL-ujd.css +1 -0
  33. package/dist/interface/assets/Plugin.0.0.41.YIpAU1_n.css +1 -0
  34. package/dist/interface/assets/{VPlayer.0.0.39.yTIux4rl.css → VPlayer.0.0.41.C4lm2rVR.css} +1 -1
  35. package/dist/interface/assets/{vuetify.0.0.39.BMU5FWcv.css → vuetify.0.0.41.Dua9WSqa.css} +1 -1
  36. package/dist/interface/axios.CG9kBweI.0.0.41.js +6 -0
  37. package/dist/interface/{backup.zxQT-QUB.0.0.39.js → backup.Eqa_gnBJ.0.0.41.js} +1 -1
  38. package/dist/interface/dijkstrajs.C00ieaqj.0.0.41.js +1 -0
  39. package/dist/interface/{dnd-core.DzbP3L03.0.0.39.js → dnd-core.DlR0vdws.0.0.41.js} +1 -1
  40. package/dist/interface/draggabilly.MGblyd4O.0.0.41.js +6 -0
  41. package/dist/interface/{engine.io-client.CF43lzPG.0.0.39.js → engine.io-client.Bmv4tt9j.0.0.41.js} +1 -1
  42. package/dist/interface/ev-emitter.X5f1qa-c.0.0.41.js +1 -0
  43. package/dist/interface/fast-deep-equal.CltXOu8w.0.0.41.js +1 -0
  44. package/dist/interface/highlight.js.BI1DQKiW.0.0.41.js +2 -0
  45. package/dist/interface/index.html +32 -32
  46. package/dist/interface/{linkify-it.CEUGOmX8.0.0.39.js → linkify-it.DIqOOItF.0.0.41.js} +1 -1
  47. package/dist/interface/main.DGoYNhZz.0.0.41.js +5 -0
  48. package/dist/interface/{markdown-it.BoMkMmpx.0.0.39.js → markdown-it.BoSfr4I_.0.0.41.js} +1 -1
  49. package/dist/interface/nprogress.B4qekFjh.0.0.41.js +2 -0
  50. package/dist/interface/pinia.CzEXGLAe.0.0.41.js +5 -0
  51. package/dist/interface/{plugins.BX6fkkXi.0.0.39.js → plugins.5zIS5blM.0.0.41.js} +1 -1
  52. package/dist/interface/qrcode.BIXps75H.0.0.41.js +8 -0
  53. package/dist/interface/{react-dnd-touch-backend.BZ7RUPLh.0.0.39.js → react-dnd-touch-backend.BP3qju5g.0.0.41.js} +1 -1
  54. package/dist/interface/{rxjs.DSklvEf_.0.0.39.js → rxjs.Dq5nE0it.0.0.41.js} +1 -1
  55. package/dist/interface/{socket.io-client.B1p1jCy1.0.0.39.js → socket.io-client.Dd2M9OF7.0.0.41.js} +1 -1
  56. package/dist/interface/{socket.io-parser.D--34e4A.0.0.39.js → socket.io-parser.BP9NTxl9.0.0.41.js} +1 -1
  57. package/dist/interface/sw.js +1 -1
  58. package/dist/interface/{system.urUBVKEs.0.0.39.js → system.CX3eZanU.0.0.41.js} +1 -1
  59. package/dist/interface/unidragger.Coz7gnad.0.0.41.js +5 -0
  60. package/dist/interface/{vee-validate.DTyH9YVQ.0.0.39.js → vee-validate.rx6EoM-V.0.0.41.js} +1 -1
  61. package/dist/interface/vue-i18n.CLbC5t4S.0.0.41.js +5 -0
  62. package/dist/interface/{vue-inline-svg.DlaAtqUH.0.0.39.js → vue-inline-svg.BHDMo3hs.0.0.41.js} +1 -1
  63. package/dist/interface/vue-router.BlIBZAV8.0.0.41.js +5 -0
  64. package/dist/interface/vue3-apexcharts.CJu6sQGy.0.0.41.js +1 -0
  65. package/dist/interface/{vue3-dnd.DI0vFvcT.0.0.39.js → vue3-dnd.CKocKVAc.0.0.41.js} +1 -1
  66. package/dist/interface/vue3-toastify.B344fBI7.0.0.41.js +1 -0
  67. package/dist/interface/vuetify.cl53-mu0.0.0.41.js +5 -0
  68. package/dist/server/package.json +16 -16
  69. package/dist/server/requirements.txt +5 -5
  70. package/dist/server/src/api/controllers/cameras.controller.js +10 -4
  71. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  72. package/dist/server/src/api/database/index.d.ts +1 -1
  73. package/dist/server/src/api/database/index.js +1 -1
  74. package/dist/server/src/api/database/index.js.map +1 -1
  75. package/dist/server/src/api/database/migration.js +49 -0
  76. package/dist/server/src/api/database/migration.js.map +1 -1
  77. package/dist/server/src/api/routes/cameras.routes.js +3 -3
  78. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  79. package/dist/server/src/api/schemas/backup.schema.d.ts +2 -2
  80. package/dist/server/src/api/schemas/cameras.schema.d.ts +14 -14
  81. package/dist/server/src/api/schemas/cameras.schema.js +28 -6
  82. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  83. package/dist/server/src/api/schemas/plugins.schema.d.ts +16 -16
  84. package/dist/server/src/api/services/cameras.service.d.ts +0 -1
  85. package/dist/server/src/api/services/cameras.service.js +17 -60
  86. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  87. package/dist/server/src/api/websocket/go2rtc.js +1 -1
  88. package/dist/server/src/api/websocket/go2rtc.js.map +1 -1
  89. package/dist/server/src/camera/controller.js +2 -1
  90. package/dist/server/src/camera/controller.js.map +1 -1
  91. package/package.json +16 -16
  92. package/dist/interface/@intlify.DA2Uxele.0.0.39.js +0 -15
  93. package/dist/interface/@vueuse.BbKS6Mm_.0.0.39.js +0 -1
  94. package/dist/interface/Plugin.DJZOCVcC.0.0.39.js +0 -1
  95. package/dist/interface/Recordings.BmGJwKCj.0.0.39.js +0 -1
  96. package/dist/interface/Recordings.CGm8tQJ2.0.0.39.js +0 -1
  97. package/dist/interface/VPlayer.B6FnraDr.0.0.39.js +0 -4
  98. package/dist/interface/apexcharts.BNnNkoic.0.0.39.js +0 -795
  99. package/dist/interface/assets/NewCamera.0.0.39.C5BFv264.css +0 -1
  100. package/dist/interface/assets/Plugin.0.0.39.Dr_p_vTx.css +0 -1
  101. package/dist/interface/axios.A8B9OaBI.0.0.39.js +0 -6
  102. package/dist/interface/dijkstrajs.D_NXgYpA.0.0.39.js +0 -1
  103. package/dist/interface/draggabilly.CZQEJIZA.0.0.39.js +0 -6
  104. package/dist/interface/ev-emitter.MaUUfWbo.0.0.39.js +0 -1
  105. package/dist/interface/fast-deep-equal.MattxcKw.0.0.39.js +0 -1
  106. package/dist/interface/highlight.js.CTUlL8NK.0.0.39.js +0 -2
  107. package/dist/interface/main.Cn0OSGo3.0.0.39.js +0 -5
  108. package/dist/interface/nprogress.IoWBc-2H.0.0.39.js +0 -2
  109. package/dist/interface/pinia.C6nkSx2n.0.0.39.js +0 -5
  110. package/dist/interface/qrcode.DcxA8kpR.0.0.39.js +0 -8
  111. package/dist/interface/unidragger.Cau04amP.0.0.39.js +0 -5
  112. package/dist/interface/vue-i18n.DMLEf9uA.0.0.39.js +0 -5
  113. package/dist/interface/vue-router.Dg3VWoln.0.0.39.js +0 -5
  114. package/dist/interface/vue3-apexcharts.CZjjRQ6m.0.0.39.js +0 -1
  115. package/dist/interface/vue3-toastify.BuRDCgSx.0.0.39.js +0 -1
  116. package/dist/interface/vuetify.BVIToxfp.0.0.39.js +0 -5
  117. /package/dist/interface/{@babel.l0sNRNKZ.0.0.39.js → @babel.l0sNRNKZ.0.0.41.js} +0 -0
  118. /package/dist/interface/{@mdi.CbjpODVZ.0.0.39.js → @mdi.CbjpODVZ.0.0.41.js} +0 -0
  119. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.39.js → @react-dnd.CcwRs9xb.0.0.41.js} +0 -0
  120. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.39.js → @socket.io.Dkula2eQ.0.0.41.js} +0 -0
  121. /package/dist/interface/{@turf.l0sNRNKZ.0.0.39.js → @turf.l0sNRNKZ.0.0.41.js} +0 -0
  122. /package/dist/interface/assets/{@vueform.0.0.39.CroAHJs8.css → @vueform.0.0.41.CroAHJs8.css} +0 -0
  123. /package/dist/interface/assets/{@xterm.0.0.39.CFbL2ovg.css → @xterm.0.0.41.CFbL2ovg.css} +0 -0
  124. /package/dist/interface/assets/{Account.0.0.39.Bnw6Lbtd.css → Account.0.0.41.Bnw6Lbtd.css} +0 -0
  125. /package/dist/interface/assets/{Adminpanel.0.0.39.a3t1v3MB.css → Adminpanel.0.0.41.a3t1v3MB.css} +0 -0
  126. /package/dist/interface/assets/{Backup.0.0.39.CX0rT0QJ.css → Backup.0.0.41.CX0rT0QJ.css} +0 -0
  127. /package/dist/interface/assets/{Camera.0.0.39.Br9s6-lM.css → Camera.0.0.41.Br9s6-lM.css} +0 -0
  128. /package/dist/interface/assets/{Cameras.0.0.39.Buf1Dgce.css → Cameras.0.0.41.Buf1Dgce.css} +0 -0
  129. /package/dist/interface/assets/{Camview.0.0.39.B7Cja2ry.css → Camview.0.0.41.B7Cja2ry.css} +0 -0
  130. /package/dist/interface/assets/{Config.0.0.39.DNGo2krN.css → Config.0.0.41.DNGo2krN.css} +0 -0
  131. /package/dist/interface/assets/{Console.0.0.39.Bh8l9QnM.css → Console.0.0.41.Bh8l9QnM.css} +0 -0
  132. /package/dist/interface/assets/{FirstSteps.0.0.39.Mu8VPl13.css → FirstSteps.0.0.41.Mu8VPl13.css} +0 -0
  133. /package/dist/interface/assets/{Plugins.0.0.39.DXSoO9M1.css → Plugins.0.0.41.DXSoO9M1.css} +0 -0
  134. /package/dist/interface/assets/{Settings.0.0.39.CVmui2kE.css → Settings.0.0.41.CVmui2kE.css} +0 -0
  135. /package/dist/interface/assets/{User.0.0.39.BiGtIFqt.css → User.0.0.41.BiGtIFqt.css} +0 -0
  136. /package/dist/interface/assets/{VConsole.0.0.39.BCqKHpmJ.css → VConsole.0.0.41.BCqKHpmJ.css} +0 -0
  137. /package/dist/interface/assets/{VPluginCard.0.0.39.C8Lj6X-J.css → VPluginCard.0.0.41.C8Lj6X-J.css} +0 -0
  138. /package/dist/interface/assets/{highlight.0.0.39.Ch2EwETz.css → highlight.0.0.41.Ch2EwETz.css} +0 -0
  139. /package/dist/interface/assets/{logo-256.0.0.39.BCQk9H1-.png → logo-256.0.0.41.BCQk9H1-.png} +0 -0
  140. /package/dist/interface/assets/{logo-512.0.0.39.DLKVOU2S.png → logo-512.0.0.41.DLKVOU2S.png} +0 -0
  141. /package/dist/interface/assets/{logo.0.0.39.DmEiRk0z.png → logo.0.0.41.DmEiRk0z.png} +0 -0
  142. /package/dist/interface/assets/{main.0.0.39.OJngntGT.css → main.0.0.41.OJngntGT.css} +0 -0
  143. /package/dist/interface/assets/{mode-json.0.0.39.Br7xisR1.js → mode-json.0.0.41.Br7xisR1.js} +0 -0
  144. /package/dist/interface/assets/{mode-yaml.0.0.39.CIYL8U3d.js → mode-yaml.0.0.41.CIYL8U3d.js} +0 -0
  145. /package/dist/interface/assets/{vue3-toastify.0.0.39.DHXAGmwn.css → vue3-toastify.0.0.41.DHXAGmwn.css} +0 -0
  146. /package/dist/interface/{birpc.l0sNRNKZ.0.0.39.js → birpc.l0sNRNKZ.0.0.41.js} +0 -0
  147. /package/dist/interface/{compare-versions.DqEOhma6.0.0.39.js → compare-versions.DqEOhma6.0.0.41.js} +0 -0
  148. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.39.js → engine.io-parser.BiEtp6m2.0.0.41.js} +0 -0
  149. /package/dist/interface/{entities.C20TfXL6.0.0.39.js → entities.C20TfXL6.0.0.41.js} +0 -0
  150. /package/dist/interface/{get-size.D1dS-IaP.0.0.39.js → get-size.D1dS-IaP.0.0.41.js} +0 -0
  151. /package/dist/interface/{hookable.B8xFkYCm.0.0.39.js → hookable.B8xFkYCm.0.0.41.js} +0 -0
  152. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.39.js → mdurl.k9Sl0PQj.0.0.41.js} +0 -0
  153. /package/dist/interface/{perfect-debounce.Cp2ysxOb.0.0.39.js → perfect-debounce.Cp2ysxOb.0.0.41.js} +0 -0
  154. /package/dist/interface/{point-in-polygon-hao.l0sNRNKZ.0.0.39.js → point-in-polygon-hao.l0sNRNKZ.0.0.41.js} +0 -0
  155. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.39.js → punycode.js.Dj65hjkv.0.0.41.js} +0 -0
  156. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.39.js → react-dnd-html5-backend.1HQjlkwI.0.0.41.js} +0 -0
  157. /package/dist/interface/{redux.BFxtlG_c.0.0.39.js → redux.BFxtlG_c.0.0.41.js} +0 -0
  158. /package/dist/interface/{sweepline-intersections.l0sNRNKZ.0.0.39.js → sweepline-intersections.l0sNRNKZ.0.0.41.js} +0 -0
  159. /package/dist/interface/{tslib.9k7AwCpt.0.0.39.js → tslib.9k7AwCpt.0.0.41.js} +0 -0
  160. /package/dist/interface/{types.Cz9TaZAP.0.0.39.js → types.Cz9TaZAP.0.0.41.js} +0 -0
  161. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.39.js → uc.micro.kMc2yuuw.0.0.41.js} +0 -0
  162. /package/dist/interface/{utils.mAKpSMLY.0.0.39.js → utils.mAKpSMLY.0.0.41.js} +0 -0
  163. /package/dist/interface/{uuid.Ch9TGLTe.0.0.39.js → uuid.Ch9TGLTe.0.0.41.js} +0 -0
  164. /package/dist/interface/{vue.l0sNRNKZ.0.0.39.js → vue.l0sNRNKZ.0.0.41.js} +0 -0
  165. /package/dist/interface/{zod.Bn-rxnIN.0.0.39.js → zod.Bn-rxnIN.0.0.41.js} +0 -0
@@ -1,4 +0,0 @@
1
- var co=Object.defineProperty;var mo=(t,n,s)=>n in t?co(t,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[n]=s;var Kt=(t,n,s)=>mo(t,typeof n!="symbol"?n+"":n,s);import{i as ft,x as Be,G as po,H as vo,I as fo,J as go,K as yo,e as Nt,f as ot,a as ho,h as Va,v as za,t as Rt,L as Pa,s as Dt,c as fa,u as bo,U as _o,j as Ta,F as wo,y as $o}from"./main.Cn0OSGo3.0.0.39.js";import{r as g,u as e,G as Ne,t as Ke,c as ae,w as ve,C as Mt,b as i,aa as B,ab as a,d as y,P as l,f as m,n as pt,g as Tt,Q as $e,ad as Pe,p as G,a9 as c,a7 as P,k as R,m as ze,i as Me,ah as ko,j as Qt,$ as Ea,ae as Ma,a5 as Ht,am as It,e as je,v as Et,ac as rt,af as Yt,S as Ba,L as Da,I as Co,a8 as xo,R as So}from"./@vue.BSUQIjRR.0.0.39.js";import{L as Vo,_ as zo,U as La,a2 as Po,a3 as To,a4 as Eo,a5 as Mo,c as Wt,a6 as ga,a7 as Bo,a8 as Do,a9 as ya,s as xt,aa as ea,m as Lo,a as Fo,E as Fa,M as Ia,X as ha,e as Qa,ab as Io,ac as Qo,ad as qo,ae as Oo,i as Ao,Y as No,af as Ro,ag as Uo,ah as jo,ai as Zo,aj as Ko,ak as Ho,al as Yo,am as Wo,an as Xo,h as Jo,ao as Go,ap as en,aq as tn,ar as an,P as on,Q as nn,I as sn,as as ln,at as rn,au as un,av as cn,R as dn,S as mn}from"./@mdi.CbjpODVZ.0.0.39.js";import{D as qa}from"./draggabilly.CZQEJIZA.0.0.39.js";import{F as Te,a as qt}from"./vee-validate.DTyH9YVQ.0.0.39.js";import{i as lt}from"./vue3-toastify.BuRDCgSx.0.0.39.js";import{u as pn,b as Xe,a as gt}from"./@tanstack.BoiFrtzX.0.0.39.js";import{t as Ut}from"./@vee-validate.DOPySfe9.0.0.39.js";import{z as tt,c as Pt}from"./zod.Bn-rxnIN.0.0.39.js";import{j as Ft,o as ta,v as vn,w as fn,x as gn,s as Oa,p as Lt,y as yn}from"./@vueuse.BbKS6Mm_.0.0.39.js";import{a as Ze,l as Je,f as Aa,J as Na,m as Ye,z as mt,b as ie,p as st,e as ee,X as ba,W as hn,U as bn,x as aa,y as oa,c as He,d as Ra,M as yt,N as ht,L as bt,K as _t,Y as $t,D as _n,T as it,G as wn,I as $n,Z as kn,o as _a}from"./vuetify.BVIToxfp.0.0.39.js";import{b as Cn}from"./qrcode.DcxA8kpR.0.0.39.js";import{s as Ua}from"./pinia.C6nkSx2n.0.0.39.js";import{P as na}from"./plugins.BX6fkkXi.0.0.39.js";import{u as xn,a as ja}from"./vue-router.Dg3VWoln.0.0.39.js";import{V as Sn}from"./VConsole.DDRPOT5i.0.0.39.js";const Vn=t=>{const n={};return Object.entries(t.schema).forEach(([s,f])=>{n[s]=Ot(f)}),n},Ot=t=>{switch(t.type){case"string":case"number":case"boolean":return Xt(t)?t.multiple?t.defaultValue!==void 0?[t.defaultValue]:void 0:t.defaultValue!==void 0?t.defaultValue:t.required?t.enum[0]:void 0:t.defaultValue;case"object":return t.properties?Object.entries(t.properties).reduce((n,[s,f])=>(n[s]=Ot(f),n),{}):{};case"array":return t.items?[Ot(t.items)].filter(Boolean):[];default:return}},zn=(t={},n)=>{const s=n.split(".").reduce((x,w)=>{if(w.includes("[")){const[j,p]=w.split("[");x.push(j,p.slice(0,-1))}else x.push(w);return x},[]);let f=t;for(const x of s){if(f===void 0)return;f=f[x]}return f},ut=t=>t.type==="string"&&!("enum"in t),wa=t=>t.type==="number"&&!("enum"in t),$a=t=>t.type==="boolean"&&!("enum"in t),Xt=t=>"enum"in t,Za=t=>t.type==="object",ka=t=>Za(t)&&"buttons"in t,Ca=t=>t.type==="array",Jt=t=>t.type==="button",Pn=t=>ut(t)&&t.format!=="qrCode"&&t.format!=="image",Tn=t=>t.type==="string"&&!("enum"in t),En=t=>t.type==="number"&&!("enum"in t),Mn=t=>"enum"in t,St=t=>t.type==="object",Vt=t=>t.type==="array",Gt=t=>/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?)?$/.test(t),Ka=(t,n)=>(n.mode==="withSeconds"?/^([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/:/^([01]?[0-9]|2[0-3]):([0-5][0-9])$/).test(t),Ha=t=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(t),Ya=t=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(t),At=(t,n)=>(n===4?/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/:/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/).test(t),sa=t=>{switch(!0){case t===void 0:case typeof t>"u":case typeof t=="function":case typeof t=="symbol":case t instanceof Date:throw new TypeError(`Invalid JSON value: ${String(t)}`);case typeof t=="number":return Ln();case typeof t=="boolean":return Fn();case typeof t=="string":return In(t);case Array.isArray(t):return t.every(s=>typeof s=="string"||typeof s=="number"||typeof s=="boolean")?Qn(t):On(t);case t instanceof Object:return qn(t);default:throw new TypeError(`Invalid JSON value: ${t}`)}},Bn=t=>{const n={};return Object.entries(t).forEach(([s,f])=>{n[s]=sa(f)}),{schema:n}},Wu=(t,n)=>{const s={},f=(x,w)=>{if(St(x)&&x.properties){const j={};return Object.entries(x.properties).forEach(([p,D])=>{const q=f(D,w==null?void 0:w[p]);q!==void 0&&(j[p]=q)}),Object.keys(j).length>0?j:void 0}else if(Vt(x)&&x.items&&Array.isArray(w)){const j=w.map(p=>f(x.items,p)).filter(p=>p!==void 0);return j.length>0?j:void 0}else if(x.store)return w};return Object.entries(t).forEach(([x,w])=>{const j=f(w,n[x]);j!==void 0&&(s[x]=j)}),s},kt=(t,n)=>n?!t.group||t.group!==n?!0:t.group===n?St(t)&&t.properties?Object.values(t.properties).every(f=>kt(f)):Vt(t)&&t.items?kt(t.items,n):t.readonly??!1:St(t)&&t.properties?Object.values(t.properties).filter(f=>f.group===n).every(f=>kt(f,n)):Vt(t)&&t.items?kt(t.items,n):!1:t.readonly!==void 0?t.readonly:St(t)&&t.properties?Object.values(t.properties).some(s=>kt(s)):Vt(t)&&t.items?kt(t.items):!1,Ct=(t,n)=>n?!t.group||t.group!==n?!1:t.group===n?St(t)&&t.properties?Object.values(t.properties).some(f=>Ct(f)):Vt(t)&&t.items?Ct(t.items,n):t.store??!1:St(t)&&t.properties?Object.values(t.properties).filter(f=>f.group===n).some(f=>Ct(f)):Vt(t)&&t.items?Ct(t.items,n):!1:t.store!==void 0?t.store:St(t)&&t.properties?Object.values(t.properties).some(s=>Ct(s)):Vt(t)&&t.items?Ct(t.items):!1,Dn=t=>{const n={};return Object.entries(t.schema).forEach(([s,f])=>{n[s]=la(f)}),tt.object(n).strict()},la=t=>{switch(t.type){case"string":case"number":case"boolean":return Mn(t)?Un(t):Tn(t)?An(t):En(t)?Nn(t):Rn(t);case"object":return jn(t);case"array":return Zn(t);case"button":return tt.any()}},Ln=()=>({type:"number"}),Fn=()=>({type:"boolean"}),In=t=>{const n={type:"string"};return Gt(t)&&(n.format=t.includes("T")?"date-time":"date"),Ka(t.split("+")[0],{mode:"withSeconds"})&&(n.format="time"),Ha(t)&&(n.format="email"),Ya(t)&&(n.format="uuid"),At(t,4)&&(n.format="ipv4"),At(t,6)&&(n.format="ipv6"),n},Qn=t=>({type:"string",enum:t.map(n=>n.toString())}),qn=t=>{if(!Object.keys(t).length)return{type:"object"};const n={};return Object.entries(t).forEach(([s,f])=>{const x=sa(f);x.key=s,x.description=x.description??`Description for ${s}`,x.required=x.required??!0,x.readonly=x.readonly??!1,n[s]=x}),{type:"object",properties:n}},On=t=>{if(t.length===0)return{type:"array"};const n=t.every(x=>typeof x=="object"&&x!==null&&!Array.isArray(x)),s=t.every(x=>typeof x=="string"),f=t.every(x=>typeof x=="number");if(n){const x={},w={};return t.forEach(j=>{Object.keys(j).forEach(p=>{w[p]=(w[p]||0)+1})}),t.forEach(j=>{Object.entries(j).forEach(([p,D])=>{if(!x[p]){const q=w[p]===t.length;x[p]={...sa(D),required:q,title:p,description:`Description for ${p}`,readonly:!1}}})}),{type:"array",items:{type:"object",properties:x}}}else return s?{type:"array",items:{type:"string"}}:f?{type:"array",items:{type:"number"}}:{type:"array",items:{type:"boolean"}}},An=t=>{let n=tt.string();if(t.required&&(n=n.nonempty("Required")),t.minLength!==void 0&&(n=n.min(t.minLength)),t.maxLength!==void 0&&(n=n.max(t.maxLength)),t.format)switch(t.format){case"date-time":n=n.refine(s=>Gt(s)&&s.includes("T"),{message:"Invalid date-time"});break;case"date":n=n.refine(s=>Gt(s),{message:"Invalid date"});break;case"time":n=n.refine(s=>Ka(s.split("+")[0],{mode:"withSeconds"}),{message:"Invalid time"});break;case"email":n=n.refine(s=>Ha(s),{message:"Invalid email"});break;case"uuid":n=n.refine(s=>Ya(s),{message:"Invalid uuid"});break;case"ipv4":n=n.refine(s=>At(s,4),{message:"Invalid ipv4"});break;case"ipv6":n=n.refine(s=>At(s,6),{message:"Invalid ipv6"});break}return t.required?n:n.optional()},Nn=t=>{let n=tt.number();return t.minimum!==void 0&&(n=n.min(t.minimum)),t.maximum!==void 0&&(n=n.max(t.maximum)),t.required&&(n=n.refine(s=>s!==void 0&&typeof s=="number",{message:"Required"})),t.required?n:n.optional()},Rn=t=>{const n=tt.boolean();return t.required?n:n.optional()},Un=t=>{const n=t.enum.map(f=>t.required?tt.literal(f):tt.literal(f).optional()),s=t.required?tt.union(n):tt.any().transform(f=>!f||f===""||!t.enum.some(x=>x===f)?void 0:f);return t.multiple?t.required?s.array():s.array().optional():t.required?s:s.optional()},jn=t=>{let n;if(t.properties){const s=Object.entries(t.properties).reduce((f,[x,w])=>(f[x]=la(w),f),{});n=tt.object(s).strict()}else n=tt.record(tt.any());return t.required?n:n.optional()},Zn=t=>{let n;return t.items?n=la(t.items).array():n=tt.any().array(),t.required?n:n.optional()},Kn={0:"person",1:"bicycle",2:"car",3:"motorcycle",4:"airplane",5:"bus",6:"train",7:"truck",8:"boat",9:"traffic light",10:"fire hydrant",11:"stop sign",12:"parking meter",13:"bench",14:"bird",15:"cat",16:"dog",17:"horse",18:"sheep",19:"cow",20:"elephant",21:"bear",22:"zebra",23:"giraffe",24:"backpack",25:"umbrella",26:"handbag",27:"tie",28:"suitcase",29:"frisbee",30:"skis",31:"snowboard",32:"sports ball",33:"kite",34:"baseball bat",35:"baseball glove",36:"skateboard",37:"surfboard",38:"tennis racket",39:"bottle",40:"wine glass",41:"cup",42:"fork",43:"knife",44:"spoon",45:"bowl",46:"banana",47:"apple",48:"sandwich",49:"orange",50:"broccoli",51:"carrot",52:"hot dog",53:"pizza",54:"donut",55:"cake",56:"chair",57:"couch",58:"potted plant",59:"bed",60:"dining table",61:"toilet",62:"tv",63:"laptop",64:"mouse",65:"remote",66:"keyboard",67:"cell phone",68:"microwave",69:"oven",70:"toaster",71:"sink",72:"refrigerator",73:"book",74:"clock",75:"vase",76:"scissors",77:"teddy bear",78:"hair drier",79:"toothbrush",100:"motion"},Hn=async({cameraData:t})=>(await Be.post("/cameras",t)).data,Yn=async({cameraData:t})=>(await Be.post("/cameras/preview",t)).data,Wa=async({cameraname:t,signal:n})=>(await Be.get(`/cameras/${t}`,{signal:n})).data,Wn=async({cameraname:t})=>(await Be.delete(`/cameras/${t}/log`)).data,Xn=async({cameraname:t,signal:n})=>(await Be.get(`/cameras/${t}/log/download`,{signal:n})).data,Jn=async({cameraname:t,sourcename:n,signal:s})=>(await Be.get(`/cameras/${t}/probe/${n}`,{signal:s})).data,Gn=async({cameraname:t,forceNew:n,signal:s})=>(await Be.get(`/cameras/${t}/snapshot`,{signal:s,params:{forceNew:n}})).data,es=async({parameter:t,signal:n})=>(await Be.get("/cameras",{params:t,signal:n})).data,ts=async({cameraname:t,cameraData:n})=>(await Be.patch(`/cameras/${t}`,n)).data,as=async({cameraname:t,signal:n})=>(await Be.get(`/cameras/${t}/extensions`,{signal:n})).data,os=async({cameraname:t,pluginname:n,signal:s})=>(await Be.get(`/cameras/${t}/${n}`,{signal:s})).data,ns=async({cameraname:t,pluginname:n,configData:s})=>(await Be.patch(`/cameras/${t}/${n}`,s)).data,ss=async({cameraname:t,pluginname:n,configPath:s})=>(await Be.post(`/cameras/${t}/${n}/submit`,{configPath:s})).data,ls=async({cameraname:t,pluginname:n,type:s})=>(await Be.put(`/cameras/${t}/${n}/enable`,null,{params:{type:s}})).data,rs=async({cameraname:t,pluginname:n,type:s})=>(await Be.put(`/cameras/${t}/${n}/disable`,null,{params:{type:s}})).data,is=async({cameraname:t,pluginname:n})=>(await Be.post(`/cameras/${t}/${n}`)).data,us=async({cameraname:t,pluginname:n})=>(await Be.delete(`/cameras/${t}/${n}`)).data,cs=async({cameraname:t,zonename:n,signal:s})=>(await Be.get(`/cameras/${t}/zones/${n}`,{signal:s})).data,ds=async({cameraname:t,zoneData:n})=>(await Be.post(`/cameras/${t}/zones`,n)).data,ms=async({cameraname:t,zonename:n,zoneData:s})=>(await Be.patch(`/cameras/${t}/zones/${n}`,s)).data,ps=async({cameraname:t,zonename:n})=>(await Be.delete(`/cameras/${t}/zones/${n}`)).data,vs=async({cameraname:t})=>(await Be.delete(`/cameras/${t}`)).data,fs=async()=>(await Be.delete("/cameras")).data;class vt{constructor(){Kt(this,"_queryClient",pn());Kt(this,"queryActivator",g([{name:"getCameraQuery",enabled:!0},{name:"getCamerasQuery",enabled:!0},{name:"getCameraSnapshotQuery",enabled:!0},{name:"getCameraExtensionsQuery",enabled:!0},{name:"getCameraExtensionConfigQuery",enabled:!0},{name:"getZoneQuery",enabled:!0},{name:"probeCameraSourceQuery",enabled:!0},{name:"downloadLogQuery",enabled:!0}]))}get queryClient(){return this._queryClient}createCameraQuery(){return Xe({mutationFn:Hn,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),lt.success(ft.global.t("components.toast.camera_added"))}})}previewCameraQuery(){return Xe({mutationFn:Yn})}getCameraQuery(n){return gt({queryKey:["cameras",n],queryFn:({signal:s})=>Wa({cameraname:e(n),signal:s}),enabled:()=>this.queryActivator.value.some(s=>s.name==="getCameraQuery"&&s.enabled)})}getCameraExtensionsQuery(n){return gt({queryKey:["camerasExtensions",n],queryFn:({signal:s})=>as({cameraname:e(n),signal:s}),enabled:()=>this.queryActivator.value.some(s=>s.name==="getCameraExtensionsQuery"&&s.enabled)})}probeCameraSourceQuery(n,s){return gt({queryKey:["cameras",n,"probe",s],queryFn:({signal:f})=>Jn({cameraname:e(n),sourcename:e(s),signal:f}),enabled:()=>this.queryActivator.value.some(f=>f.name==="probeCameraSourceQuery"&&f.enabled)})}getCameraSnapshotQuery(n,s){return gt({queryKey:["camerasSnapshot",n],queryFn:({signal:f})=>Gn({cameraname:e(n),forceNew:e(s),signal:f}),enabled:()=>this.queryActivator.value.some(f=>f.name==="getCameraSnapshotQuery"&&f.enabled),retry:!1})}getCamerasQuery(n){return gt({queryKey:["camerasList",n],queryFn:({signal:s})=>es({parameter:e(n),signal:s}),placeholderData:s=>s,enabled:()=>this.queryActivator.value.some(s=>s.name==="getCamerasQuery"&&s.enabled)})}patchCameraQuery(){return Xe({mutationFn:ts,onSuccess:async(n,s)=>{if(s.cameraData.name&&s.cameraData.name!==s.cameraname){const x=s.cameraname;await this._queryClient.invalidateQueries({queryKey:[x]}),await this._queryClient.refetchQueries({queryKey:["camerasList"]})}else await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",s.cameraname]});lt.success(ft.global.t("components.toast.camera_updated"))}})}getCameraExtensionConfigQuery(n,s,f){return gt({staleTime:0,queryKey:["cameras","extensions",n,s],queryFn:({signal:x})=>os({cameraname:e(n),pluginname:e(s),signal:x}),enabled:()=>this.queryActivator.value.some(x=>x.name==="getCameraExtensionConfigQuery"&&x.enabled),refetchInterval(){if(f.value)return 5e3}})}patchCameraExtensionConfigQuery(){return Xe({mutationFn:ns,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",s.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}submitCameraExtensionConfigQuery(){return Xe({mutationFn:ss,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",s.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}enableCameraExtensionQuery(){return Xe({mutationFn:ls,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}disableCameraExtensionQuery(){return Xe({mutationFn:rs,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}addCameraExtensionQuery(){return Xe({mutationFn:is,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}getZoneQuery(n,s){return gt({queryKey:["cameras",n,"zones",s],queryFn:({signal:f})=>cs({cameraname:e(n),zonename:e(s),signal:f}),enabled:()=>this.queryActivator.value.some(f=>f.name==="getZoneQuery"&&f.enabled)})}addCameraZoneQuery(){return Xe({mutationFn:ds,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),lt.success(ft.global.t("components.toast.zone_added"))}})}patchCameraZoneQuery(){return Xe({mutationFn:ms,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),lt.success(ft.global.t("components.toast.zone_updated"))}})}removeCameraZoneQuery(){return Xe({mutationFn:ps,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),lt.success(ft.global.t("components.toast.zone_removed"))}})}removeCameraExtensionQuery(){return Xe({mutationFn:us,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}removeCameraQuery(){return Xe({mutationFn:vs,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),lt.success(ft.global.t("components.toast.camera_removed"))}})}removeCamerasQuery(){return Xe({mutationFn:fs,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),lt.success(ft.global.t("components.toast.cameras_removed"))}})}downloadLogQuery(n){return gt({queryKey:["logs",n],queryFn:({signal:s})=>Xn({cameraname:e(n),signal:s}),enabled:()=>this.queryActivator.value.some(s=>s.name==="downloadLogQuery"&&s.enabled)})}clearLogQuery(){return Xe({mutationFn:Wn,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["logs",s.cameraname],exact:!0}),lt.success(ft.global.t("components.toast.log_cleared"))}})}toggleQueryActivator(n,s){const f=this.queryActivator.value.find(x=>x.name===n);f&&(f.enabled=s)}}const gs=Pt.object({protocol:fo,url:Pt.string().min(1,"Camera Source is required").array().nonempty("Camera Source is required")}).strict(),ys=Pt.object({name:Pt.string().min(1,"Camera Source Name is required"),roles:go.array().nonempty("Minimum one role is required"),urls:gs.array(),internal:Pt.boolean().default(!1)}).strict(),hs=ys.array(),bs=Pt.object({...yo.shape,sources:hs}).strict(),Xu=Ut(bs),xa=Ut(po),Xa=Ut(vo),_s={key:0},ws={key:1,class:"flex flex-col justify-center items-center"},$s={class:"relative w-full"},ks={class:"w-full flex flex-col items-center justify-center"},Cs={class:"relative w-full flex flex-col items-center justify-center"},xs={class:"absolute top-0 left-0 right-0 bottom-0"},Ss={class:"playground-container flex w-full h-full"},Vs={class:"sandbox w-full h-full"},zs={class:"handles"},Ps=["data-id","data-coord","data-region","onDblclick"],Ts={class:"clipboard"},Es={width:"100%",height:"100%",class:"polygon-container"},Ms=["d","onClick","onDblclick","onMousedown","onTouchstart"],Bs={class:"flex align-center flex-column pa-6 zone-buttons"},Ds={class:"w-100"},Ls=["for"],Fs={key:1,class:"text-grey text-caption align-self-center"},Is={key:1,class:"w-100"},Qs={class:"v-label"},qs={key:0},Os={key:1},As={key:0},Ns={key:1},Rs={key:0},Us={key:1},js=Ne({__name:"VZoneEditor",props:{cameraName:{},zones:{},isNewZone:{type:Boolean}},emits:["show-modal"],setup(t,{emit:n}){const s=new vt,f=n,x=t,{cameraName:w,zones:j,isNewZone:p}=Ke(x),D=g(!0),q=g(!1),_=g([]),$=g([]),Z=g([]),T=g(null),u=g(),U=g(!1),E=g(0),b=g(-1),te=g(null),re=g(-1),I=g(Object.values(Kn).sort((r,o)=>r==="motion"?-1:o==="motion"?1:0));let oe=!1;const se={x:0,y:0},de=Ft(T);ta(te,r=>{const o=r.target,d=o.closest(".polygon"),h=o.closest(".edit-button"),K=o.closest(".remove-button"),Q=o.closest(".handle"),L=o.closest(".zone-buttons"),ge=o.closest(".coco-labels");!d&&!h&&!K&&!Q&&!q.value&&!L&&!ge&&(b.value=-1)});const{mutateAsync:fe,isPending:ne}=s.addCameraZoneQuery(),{mutateAsync:V,isPending:v}=s.patchCameraZoneQuery(),k=ae(()=>U.value||ne.value||v.value),z=ae(()=>{var r,o;return((o=(r=u.value)==null?void 0:r.regions[b.value])==null?void 0:o.classes.length)===I.value.length}),W=ae(()=>{var r,o;return(((o=(r=u.value)==null?void 0:r.regions[b.value])==null?void 0:o.classes.length)||0)>0}),M=ae(()=>{var o;const r=[];return q.value&&r.push("customizing"),(o=u.value)!=null&&o.regions.length||r.push("start"),r.join(" ")});ve(re,()=>{re.value=-1}),ve(j,r=>{r&&(u.value=JSON.parse(JSON.stringify(r)))},{deep:!0,immediate:!0}),ve(u,r=>{r&&(_.value=r.regions.map((o,d)=>o.coords.map((h,K)=>({_id:h._id,regionIndex:d,coordIndex:K,coord:h.points}))).flat()||[])},{deep:!0,immediate:!0}),ve(D,r=>{r||setTimeout(()=>f("show-modal",!1),300)}),ve([de.width,de.height],()=>{S()});const Y=()=>{!u.value||!u.value.regions[b.value]||(z.value?u.value.regions[b.value].classes=[]:u.value.regions[b.value].classes=[...I.value])},le=r=>{if("touches"in r){const o=r.touches[0];return{x:o.clientX,y:o.clientY}}return{x:r.clientX,y:r.clientY}},me=(r,o)=>{if(r.stopPropagation(),!T.value)return;he(q.value),oe=!0,b.value=o;const d=T.value.getBoundingClientRect(),{x:h,y:K}=le(r);se.x=(h-d.left)/d.width*100,se.y=(K-d.top)/d.height*100},Se=r=>{if(!oe||!T.value||b.value===-1||!u.value)return;const o=T.value.getBoundingClientRect(),{x:d,y:h}=le(r),K=(d-o.left)/o.width*100,Q=(h-o.top)/o.height*100,L=K-se.x,ge=Q-se.y,Ve=u.value.regions[b.value].coords;let ce=!1;for(let A=0;A<Ve.length;A++){const we=Ve[A].points[0]+L,We=Ve[A].points[1]+ge;if(we<0||we>100||We<0||We>100){ce=!0;break}}if(!ce)for(let A=0;A<Ve.length;A++){Ve[A].points[0]+=L,Ve[A].points[1]+=ge,Ve[A].points[0]=Math.max(0,Math.min(100,Ve[A].points[0])),Ve[A].points[1]=Math.max(0,Math.min(100,Ve[A].points[1]));const we=Ve[A].points[0]/100*o.width,We=Ve[A].points[1]/100*o.height,Ge=$.value.find(at=>at.id===Ve[A]._id);Ge==null||Ge.setPosition(we,We)}se.x=K,se.y=Q},pe=()=>{setTimeout(()=>{oe=!1},100)},ye=()=>{!u.value||b.value===-1||(u.value.regions[b.value].isPrivacyMask=!u.value.regions[b.value].isPrivacyMask)},H=()=>{!u.value||!u.value.regions[b.value]||(u.value.regions[b.value].filter=u.value.regions[b.value].filter==="include"?"exclude":"include")},_e=()=>{!u.value||!u.value.regions[b.value]||(u.value.regions[b.value].type=u.value.regions[b.value].type==="intersect"?"contain":"intersect")},Ee=r=>{if(!q.value||!u.value||oe)return;const o=E.value,d=Math.min(Math.max(Math.round((r.offsetX-10)/de.width.value*100),0),100),h=Math.min(Math.max(Math.round((r.offsetY-10)/de.height.value*100),0),100);u.value.regions[o]||u.value.regions.push({_id:Math.random().toString(36).substring(7),coords:[],filter:"include",type:"contain",classes:[],isPrivacyMask:!1});const K={_id:Math.random().toString(36).substring(7),points:[d,h]};u.value.regions[o].coords.push(K),pt(()=>{qe({regionIndex:o,coordIndex:u.value.regions[o].coords.length-1,coord:[d,h]})})},qe=r=>{var d;if(r.regionIndex===void 0||r.coordIndex===void 0)return;const o=(d=Z.value)==null?void 0:d.filter(h=>h.dataset.coord===r.coordIndex.toString()&&h.dataset.region===r.regionIndex.toString());o.length!==0&&J(o[0],r.coord)},Oe=r=>{if(!u.value)return;const o=Math.round(r.coord[0]/de.width.value*100),d=Math.round(r.coord[1]/de.height.value*100),h={_id:r._id,points:[o,d]};u.value.regions[r.regionIndex].coords[r.coordIndex]=h},ke=()=>{u.value&&(q.value=!0,E.value=u.value.regions.length||0)},he=r=>{var d;if(!u.value)return;q.value=r||!1;const o=E.value;!u.value.regions.length||!u.value.regions[o]||!u.value.regions[o].coords||(u.value.regions[o].coords.length<3?u.value.regions=u.value.regions.filter((h,K)=>K!==o):(d=Z.value)==null||d.forEach(h=>be(h)))},Ae=()=>{q.value=!0,E.value=b.value},Fe=()=>{b.value===-1||!u.value||(u.value.regions=u.value.regions.filter((r,o)=>o!==b.value),b.value=-1)},Re=()=>{var d,h;if(!((d=u.value)!=null&&d.regions.length))return;const r=K=>{var Q,L,ge,Ve,ce;(L=(Q=u.value)==null?void 0:Q.regions[K])!=null&&L.coords.length&&((Ve=(ge=u.value.regions[K])==null?void 0:ge.coords)==null||Ve.pop(),(ce=u.value.regions[K])!=null&&ce.coords.length||u.value.regions.pop())};let o=u.value.regions.length;(h=u.value.regions[o-1].coords)!=null&&h.length&&o--,!(o<0)&&r(o)},De=()=>{oe=!1,q.value=!1,_.value=[],u.value&&(u.value.regions=[])},O=r=>{if(!r)return"";const o=r.map(h=>{const K=Math.round(h[0]/100*de.width.value),Q=Math.round(h[1]/100*de.height.value);return`${K+10},${Q+10}`});if(o.length===0)return"";let d=`M ${o[0]}`;for(let h=1;h<o.length;h++)d+=` L ${o[h]}`;return d+=" Z",d},N=r=>{q.value||(b.value=r)},S=()=>{C(),Z.value.forEach(r=>{var d;if(!r.dataset.region||!r.dataset.coord||!u.value)return;const o=(d=u.value.regions[parseInt(r.dataset.region)])==null?void 0:d.coords[parseInt(r.dataset.coord)];J(r,o.points),be(r)})},C=()=>{$.value.forEach(r=>r.destroy()),$.value=[]},X=r=>{var o;!u.value||((o=u.value.regions[r.regionIndex])==null?void 0:o.coords.length)<4||u.value.regions[r.regionIndex].coords.splice(r.coordIndex,1)},J=(r,o)=>{Object.assign(r.style,Ce(o))},Ce=r=>({left:Math.round(r[0]/100*de.width.value)+"px",top:Math.round(r[1]/100*de.height.value)+"px"}),be=r=>{r.classList.add("draggable");const o=new qa(r,{containment:!0,grid:[0,0]}).on("pointerDown",()=>{var d;(d=document.querySelectorAll('[data-point="'+r.dataset.region+"-"+r.dataset.coord+'"]')[0])==null||d.classList.add("changing")}).on("dragMove",()=>{if(!r.dataset.region||!r.dataset.coord||!r.dataset.id)return;const d=o.position.x,h=o.position.y;Oe({_id:r.dataset.id,coord:[d,h],coordIndex:parseInt(r.dataset.coord),regionIndex:parseInt(r.dataset.region)})}).on("pointerUp",()=>{document.querySelectorAll(".point").forEach(d=>d.classList.remove("changing"))});o.id=r.dataset.id,$.value.push(o)},Ue=async()=>{if(u.value)try{U.value=!0;const r=await Xa.parse(u.value);r.value?(p.value?await fe({cameraname:w.value,zoneData:u.value}):await V({cameraname:w.value,zonename:u.value.name,zoneData:u.value}),D.value=!1):lt.error(r.errors[0].errors[0])}catch(r){console.error(r)}finally{U.value=!1}};return Mt(async()=>{setTimeout(()=>{S()})}),(r,o)=>{const d=Ga,h=Nt;return i(),B(h,{modelValue:e(D),"onUpdate:modelValue":o[12]||(o[12]=K=>Me(D)?D.value=K:null),title:`${r.$t("components.zone_editor.zone")}: ${e(u)?e(u).name:r.$t("components.dialog.title.unknown")}`,loading:e(k),onConfirm:o[13]||(o[13]=K=>Ue())},{content:a(()=>{var K;return[e(u)?(i(),y("div",ws,[m("div",$s,[m("div",{ref_key:"outsideEl",ref:te},null,512),m("div",ks,[m("div",Cs,[m("div",xs,[m("div",Ss,[m("section",{class:Tt(["playground w-full h-full",e(M)]),onClick:Ee},[m("div",Vs,[m("div",zs,[(i(!0),y($e,null,Pe(e(_),Q=>(i(),y("div",{key:Q._id,ref_for:!0,ref_key:"draggables",ref:Z,class:"handle","data-id":Q._id,"data-coord":Q.coordIndex,"data-region":Q.regionIndex,onDblclick:G(L=>X(Q),["prevent"])},o[14]||(o[14]=[m("div",{class:"delete-point"},null,-1)]),40,Ps))),128)),m("div",Ts,[(i(),y("svg",Es,[(i(!0),y($e,null,Pe((K=e(u))==null?void 0:K.regions,(Q,L)=>(i(),y("path",{key:Q._id,d:O(Q.coords.map(ge=>ge.points)),class:Tt({polygon:Q.filter=="include"&&!Q.isPrivacyMask,"polygon-exclude":Q.filter=="exclude"&&!Q.isPrivacyMask,"polygon-privacy":Q.isPrivacyMask,dash:Q.type==="intersect"&&!Q.isPrivacyMask,selected:e(b)===L}),onClick:ge=>N(L),onDblclick:()=>Q.isPrivacyMask=!Q.isPrivacyMask,onMousedown:ge=>me(ge,L),onMousemove:Se,onMouseup:pe,onTouchstart:ge=>me(ge,L),onTouchmove:Se,onTouchend:pe},null,42,Ms))),128))]))])]),o[15]||(o[15]=m("div",{class:"shadowboard on"},null,-1))])],2)])]),m("div",{ref_key:"player",ref:T,class:"w-full h-full flex flex-col items-center justify-center",style:{width:"calc(100% - 20px)","margin-top":"10px","margin-bottom":"10px"}},[l(d,{mode:"webrtc",target:"stream","current-camera":e(w),"border-radius":0,border:"","source-role":"low-resolution"},null,8,["current-camera"])],512)]),m("div",Bs,[m("div",Ds,[e(u)&&e(u).regions&&e(b)>=0&&e(u).regions[e(b)]?(i(),B(e(Te),{key:0,modelValue:e(u).regions[e(b)].classes,"onUpdate:modelValue":o[0]||(o[0]=Q=>e(u).regions[e(b)].classes=Q),name:`regions[${e(b)}].classes`},{default:a(({field:Q,errorMessage:L,errors:ge})=>[m("label",{for:`regions[${e(b)}].classes`,class:"v-label"},c(r.$t("components.form.label.classes")),9,Ls),l(mt,ze({loading:e(k),items:e(I),class:"coco-labels w-100",variant:"outlined",name:`regions[${e(b)}].classes`,type:"text",density:"compact",chips:"",multiple:"",clearable:""},Q,{error:ge.length>0,"error-messages":L,"model-value":Q.value,"menu-props":{class:"coco-labels"},onKeydown:G(()=>null,["prevent"])}),{"prepend-item":a(()=>[l(Aa,{title:r.$t("components.form.label.select_all"),onClick:Y},{prepend:a(()=>[l(Na,{indeterminate:e(W)&&!e(z),"model-value":e(z)},null,8,["indeterminate","model-value"])]),_:1},8,["title"]),l(Ye,{class:"mt-2"})]),chip:a(({item:Ve,index:ce})=>[ce<5?(i(),B(Je,{key:0,color:"#df2a4c"},{default:a(()=>[P(c(Ve.title),1)]),_:2},1024)):R("",!0),ce===5?(i(),y("span",Fs," (+"+c(e(u).regions[e(b)].classes.length-2)+") ",1)):R("",!0)]),_:2},1040,["loading","items","name","error","error-messages","model-value"])]),_:1},8,["modelValue","name"])):(i(),y("div",Is,[m("label",Qs,c(r.$t("components.form.label.classes")),1),l(mt,{disabled:"",class:"w-100",variant:"outlined",type:"text",density:"compact",onKeydown:G(()=>null,["prevent"])})]))]),l(ba,{modelValue:e(re),"onUpdate:modelValue":o[7]||(o[7]=Q=>Me(re)?re.value=Q:null),variant:"outlined",divided:"",rounded:"xl",class:"mt-5"},{default:a(()=>[e(q)?(i(),B(ie,{key:1,loading:e(k),onClick:o[2]||(o[2]=G(Q=>he(!1),["prevent"]))},{default:a(()=>[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(r.$t("components.form.tooltip.finish")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(zo)),1)]),_:1})]),_:1},8,["loading"])):(i(),B(ie,{key:0,loading:e(k),onClick:o[1]||(o[1]=G(Q=>ke(),["prevent"]))},{default:a(()=>[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(r.$t("components.form.tooltip.new")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(Vo)),1)]),_:1})]),_:1},8,["loading"])),l(ie,{loading:e(k),disabled:!e(u).regions.length||e(b)<0||e(q),onClick:o[3]||(o[3]=G(Q=>Ae(),["prevent"]))},{default:a(()=>[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(r.$t("components.form.tooltip.edit")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(La)),1)]),_:1})]),_:1},8,["loading","disabled"]),l(ie,{loading:e(k),disabled:!e(u).regions.length||e(b)<0,onClick:o[4]||(o[4]=G(Q=>Fe(),["prevent"]))},{default:a(()=>[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(r.$t("components.form.tooltip.delete")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(Po)),1)]),_:1})]),_:1},8,["loading","disabled"]),l(ie,{loading:e(k),disabled:!e(u).regions.length,onClick:o[5]||(o[5]=G(Q=>Re(),["prevent"]))},{default:a(()=>[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(r.$t("components.form.tooltip.undo")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(To)),1)]),_:1})]),_:1},8,["loading","disabled"]),l(ie,{loading:e(k),disabled:!e(u).regions.length,onClick:o[6]||(o[6]=G(Q=>De(),["prevent"]))},{default:a(()=>[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(r.$t("components.form.tooltip.clear")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(Eo)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1},8,["modelValue"]),l(ba,{modelValue:e(re),"onUpdate:modelValue":o[11]||(o[11]=Q=>Me(re)?re.value=Q:null),variant:"outlined",divided:"",rounded:"xl",class:"mt-5"},{default:a(()=>[l(ie,{disabled:!(e(u)&&e(u).regions&&e(b)>=0&&e(u).regions[e(b)]),loading:e(k),onClick:o[8]||(o[8]=G(Q=>ye(),["prevent"]))},{default:a(()=>[e(u)&&e(u).regions&&e(b)>=0&&e(u).regions[e(b)]?(i(),y("div",qs,[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(e(u).regions[e(b)].isPrivacyMask?r.$t("components.form.tooltip.privacy_mask"):r.$t("components.form.tooltip.public_mask")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(u).regions[e(b)].isPrivacyMask?e(Mo):e(Wt)),1)]),_:1})])):(i(),y("div",Os,[l(ee,{size:"20"},{default:a(()=>[P(c(e(Wt)),1)]),_:1})]))]),_:1},8,["disabled","loading"]),l(ie,{disabled:!(e(u)&&e(u).regions&&e(b)>=0&&e(u).regions[e(b)]&&!e(u).regions[e(b)].isPrivacyMask),loading:e(k),onClick:o[9]||(o[9]=G(Q=>H(),["prevent"]))},{default:a(()=>[e(u)&&e(u).regions&&e(b)>=0&&e(u).regions[e(b)]&&!e(u).regions[e(b)].isPrivacyMask?(i(),y("div",As,[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(e(u).regions[e(b)].filter==="include"?r.$t("components.form.tooltip.include"):r.$t("components.form.tooltip.exclude")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(u).regions[e(b)].filter==="include"?e(ga):e(Bo)),1)]),_:1})])):(i(),y("div",Ns,[l(ee,{size:"20"},{default:a(()=>[P(c(e(ga)),1)]),_:1})]))]),_:1},8,["disabled","loading"]),l(ie,{disabled:!(e(u)&&e(u).regions&&e(b)>=0&&e(u).regions[e(b)]&&!e(u).regions[e(b)].isPrivacyMask),loading:e(k),onClick:o[10]||(o[10]=G(Q=>_e(),["prevent"]))},{default:a(()=>[e(u)&&e(u).regions&&e(b)>=0&&e(u).regions[e(b)]&&!e(u).regions[e(b)].isPrivacyMask?(i(),y("div",Rs,[l(st,{activator:"parent",location:"top"},{default:a(()=>[P(c(e(u).regions[e(b)].type==="intersect"?r.$t("components.form.tooltip.intersect"):r.$t("components.form.tooltip.contain")),1)]),_:1}),l(ee,{size:"20"},{default:a(()=>[P(c(e(u).regions[e(b)].type==="intersect"?e(Do):e(ya)),1)]),_:1})])):(i(),y("div",Us,[l(ee,{size:"20"},{default:a(()=>[P(c(e(ya)),1)]),_:1})]))]),_:1},8,["disabled","loading"])]),_:1},8,["modelValue"])])])])])):(i(),y("div",_s,[l(Ze,{indeterminate:"",color:"#df2a4c"})]))]}),_:1},8,["modelValue","title","loading"])}}}),Zs=ot(js,[["__scopeId","data-v-441054de"]]),Ks={class:"flex flex-col w-full",style:{height:"calc(100% - 45px - env(safe-area-inset-bottom, 0px))"}},Hs={class:"flex w-full p-2 items-center"},Ys={key:0},Ws={class:"options-segments flex items-center justify-between"},Xs={class:"flex flex-col items-center justify-center"},Js={class:"options-segments-text"},Gs={key:0,class:"options-container flex justify-center items-center"},el={class:"mt-auto"},tl=Ne({__name:"VOptionsSidebar",props:{state:{type:Boolean,default:!1},title:{},segments:{default:()=>[{name:"default",eager:!0}]},selected:{},loading:{type:Boolean,default:!1},width:{default:400}},emits:["close","selected"],setup(t,{emit:n}){ko(u=>({"08bb651e":e(T)}));const s=t,f=n,{segments:x,state:w,title:j,loading:p,width:D,selected:q}=Ke(s),_=g(null),$=g(q.value??x.value[0].name),Z=g(!1),T=g(`${D.value}px`);return ve(w,()=>{Z.value=w.value}),ve(Z,()=>{Z.value!==w.value&&setTimeout(()=>{f("close")},300)}),ve($,u=>{f("selected",u)}),ta(_,u=>{const U=u.target,E=U.closest(".v-overlay-container"),b=U.closest(".Toastify");!E&&!b&&(Z.value=!1)}),Mt(()=>{f("selected",$.value)}),(u,U)=>(i(),B(Ea,{name:"options-slide",mode:"out-in"},{default:a(()=>[e(Z)?(i(),y("div",{key:0,ref_key:"optionsSidebar",ref:_,class:"options-sidebar"},[m("div",Ks,[m("div",Hs,[e(j)?(i(),y("b",Ys,c(e(j)),1)):R("",!0),l(ie,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:U[0]||(U[0]=G(E=>Z.value=!1,["prevent"]))},{default:a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(xt)),1)]),_:1})]),_:1})]),m("div",Ws,[l(bn,{modelValue:e($),"onUpdate:modelValue":U[1]||(U[1]=E=>Me($)?$.value=E:null),height:"100%",grow:"","slider-color":"#df2a4c"},{default:a(()=>[(i(!0),y($e,null,Pe(e(x),(E,b)=>(i(),B(hn,{key:b,value:E.name,disabled:e(p),"min-width":"auto"},{default:a(()=>[m("div",Xs,[Qt(u.$slots,`segmentIcon.${E}`,{},()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(ea)),1)]),_:1})],!0),m("span",Js,c(u.$t(`components.options_sidebar.segment_tab_${E.name.toLowerCase()}`)),1)])]),_:2},1032,["value","disabled"]))),128))]),_:3},8,["modelValue"])]),e(p)?(i(),y("div",Gs,[l(Ze,{color:"#df2a4c",indeterminate:""})])):(i(),B(aa,{key:1,modelValue:e($),"onUpdate:modelValue":U[2]||(U[2]=E=>Me($)?$.value=E:null),class:"options-container",continuous:""},{default:a(()=>[(i(!0),y($e,null,Pe(e(x),(E,b)=>(i(),B(oa,{key:b,value:E.name,class:"h-full pb-safe overflow-y-scroll",eager:E.eager,continuous:""},{default:a(()=>[Qt(u.$slots,`body.${E.name}`,{},void 0,!0)]),_:2},1032,["value","eager"]))),128))]),_:3},8,["modelValue"])),m("div",el,[Qt(u.$slots,"footer",{},void 0,!0)])])],512)):R("",!0)]),_:3}))}}),al=ot(tl,[["__scopeId","data-v-236163da"]]),ol={class:"relative mt-2"},nl={class:"v-label"},sl={class:"v-label"},ll={class:"v-label"},rl={class:"relative mt-2"},il={class:"v-label"},ul=Ne({__name:"VCameraSourceInfo",props:{cameraName:{},sourceName:{}},setup(t){const n=new vt,s=t,{cameraName:f,sourceName:x}=Ke(s),{data:w,isLoading:j}=n.probeCameraSourceQuery(f.value,x.value),p=ae(()=>{var _;return((_=w.value)==null?void 0:_.probe.consumers.filter($=>$.format_name!=="probe").length)||0}),D=ae(()=>{var Z,T;const _=(Z=w.value)==null?void 0:Z.probe.consumers.find(u=>u.format_name==="probe"),$=(T=_==null?void 0:_.senders)==null?void 0:T.filter(u=>u.codec.codec_type==="video");return($==null?void 0:$.map(u=>u.codec.codec_name))||[]}),q=ae(()=>{var Z,T;const _=(Z=w.value)==null?void 0:Z.probe.consumers.find(u=>u.format_name==="probe"),$=(T=_==null?void 0:_.senders)==null?void 0:T.filter(u=>u.codec.codec_type==="audio");return($==null?void 0:$.map(u=>u.codec.codec_name))||[]});return(_,$)=>{var Z;return i(),y("div",null,[m("div",ol,[m("label",nl,c(_.$t("components.form.label.connections")),1),l(He,{value:e(p),loading:e(j),readonly:"",variant:"outlined",type:"text",density:"compact"},null,8,["value","loading"])]),(i(!0),y($e,null,Pe(e(D),T=>(i(),y("div",{key:T,class:"relative mt-2"},[m("label",sl,c(_.$t("components.form.label.video_codec")),1),l(He,{value:T,readonly:"",variant:"outlined",type:"text",density:"compact"},null,8,["value"])]))),128)),(i(!0),y($e,null,Pe(e(q),T=>(i(),y("div",{key:T,class:"relative mt-2"},[m("label",ll,c(_.$t("components.form.label.audio_codec")),1),l(He,{value:T,readonly:"",variant:"outlined",type:"text",density:"compact"},null,8,["value"])]))),128)),m("div",rl,[m("label",il,c(_.$t("components.form.label.rtsp_url")),1),l(He,{value:(Z=e(w))==null?void 0:Z.url,loading:e(j),readonly:"",variant:"outlined",type:"text",density:"compact"},null,8,["value","loading"])])])}}}),cl={class:"w-full my-3"},dl=["for"],ml=["for"],pl=["for"],vl=["for"],fl=["for"],gl={class:"v-input__details",style:{"padding-inline":"16px"}},yl={class:"v-messages"},hl={key:0,class:"v-messages__message"},bl={class:"flex flex-row items-center justify-center ml-auto"},_l={key:0,class:"flex flex-col w-full items-center justify-center mt-3"},wl={class:"flex flex-row w-full items-center justify-center mt-3"},$l=Ne({__name:"VCustomField",props:Yt({schemaField:{},configKey:{},removable:{},loading:{type:Boolean,default:!1}},{modelValue:{type:Object,required:!0},modelModifiers:{}}),emits:Yt(["onChange","onSubmit","onAction","onTrigger"],["update:modelValue"]),setup(t,{emit:n}){const s=ho(),f=n,x=Ma(t,"modelValue"),w=t,{theme:j}=Ua(s),{schemaField:p,configKey:D,removable:q,loading:_}=Ke(w),$=g(!1),Z=g(0),T=g(0),u=g(p.value.opened===!0?[0]:[]);ve(x,()=>{Z.value++},{deep:!0});const U=vn(async()=>{if(ut(p.value)&&p.value.format==="qrCode"){let V;return j.value==="dark"?V={dark:"#FFFFFFFF",light:"#FF000000"}:V={dark:"#404040FF",light:"#FFFFFFFF"},await Cn.toDataURL(ne.value,{margin:.5,type:"image/png",color:V,scale:10})}},void 0,{lazy:!0}),E=ae(()=>{if(ut(p.value)&&p.value.format==="image")return ne.value}),b=(V,v,k)=>{const z=I(x.value,V);Array.isArray(z)&&z.splice(v,1),T.value++,f("onTrigger")},te=V=>{let v=I(x.value,V);v||(oe(x.value,V,[]),v=I(x.value,V));const k=p.value;if(Array.isArray(v)&&k&&Ca(k)&&k.items){const z=Ot(k.items);v.push(z)}T.value++},re=V=>{var v;return((v=V.match(/[^.[\]]+|\[\d+\]/g))==null?void 0:v.map(k=>k.startsWith("[")?parseInt(k.slice(1,-1)):k))||[]},I=(V,v)=>{const k=re(v);let z=V;for(const M of k){if(z==null)return;z=z[M]}if(!(z!=null)){const M=se(p.value,v);M&&"defaultValue"in M?z=M.defaultValue:z=void 0}return z},oe=(V,v,k)=>{const z=re(v),W=z.pop(),M=z.reduce((Y,le)=>(Y[le]||(Y[le]={}),Y[le]),V);W!==void 0&&k!==void 0&&k!==null&&k!==""&&(M[W]=k)},se=(V,v)=>{const k=re(v);let z=V;for(const W of k)if(z.type==="object"&&z.properties)z=z.properties[W];else if(z.type==="array"&&z.items&&!("anyOf"in z.items))z=z.items;else return z;return z},de=V=>{const v=ut(V)&&V.format==="qrCode",k=ut(V)&&V.format==="image",z=Jt(V);return!v&&!k&&!z},fe=V=>!V.hidden||V.hidden&&de(V),ne=ae({get:()=>(Z.value,I(x.value,D.value)),set:V=>{const v=p.value;let k=V;Xt(v)?v.multiple?k=Array.isArray(V)?V:[V]:k=V&&V.toString():ut(v)?k=V&&V.toString():wa(v)?k=parseFloat(V)||0:$a(v)?k=V==="true"||V===!0:k=V,oe(x.value,D.value,k),Z.value++}});return(V,v)=>{const k=Va,z=Ht("v-number-input"),W=Ht("VCustomField",!0);return i(),y("div",cl,[e(ut)(e(p))&&e(p).format==="qrCode"?(i(),y($e,{key:0},[m("label",{for:e(D),class:"v-label"},c(e(p).title),9,dl),l(k,{src:e(U),class:"mb-3"},null,8,["src"])],64)):R("",!0),e(ut)(e(p))&&e(p).format==="image"?(i(),y($e,{key:1},[m("label",{for:e(D),class:"v-label"},c(e(p).title),9,ml),l(k,{src:e(E),class:"mb-3"},null,8,["src"])],64)):e(Pn)(e(p))?(i(),B(e(Te),{key:2,modelValue:e(ne),"onUpdate:modelValue":v[2]||(v[2]=M=>Me(ne)?ne.value=M:null),name:e(D)},{default:a(({field:M,errorMessage:Y,errors:le})=>[m("label",{for:e(D),class:"v-label"},c(e(p).title),9,pl),l(He,ze({error:le.length>0,"error-messages":Y,readonly:e(p).readonly,placeholder:e(p).placeholder,hint:e(p).description,"persistent-hint":""},M,{variant:"outlined",density:"compact",type:e(p).format==="password"?e($)?"text":"password":"text","append-inner-icon":e(p).format==="password"?e($)?e(Lo):e(Fo):void 0,"onClick:appendInner":v[1]||(v[1]=me=>$.value=!e($))}),It({_:2},[e(q)?{name:"append-inner",fn:a(()=>[l(ie,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:v[0]||(v[0]=G(me=>b(e(q).path,e(q).index,!0),["stop"]))},{default:a(()=>[l(ee,null,{default:a(()=>[P(c(e(xt)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["error","error-messages","readonly","placeholder","hint","type","append-inner-icon"])]),_:1},8,["modelValue","name"])):e(wa)(e(p))?(i(),B(e(Te),{key:3,modelValue:e(ne),"onUpdate:modelValue":v[4]||(v[4]=M=>Me(ne)?ne.value=M:null),name:e(D)},{default:a(({field:M,errorMessage:Y,errors:le,value:me,setValue:Se})=>[m("label",{for:e(D),class:"v-label"},c(e(p).title),9,vl),l(z,ze({error:le.length>0,"error-messages":Y,readonly:e(p).readonly,hint:e(p).description,step:e(p).step||1,min:e(p).minimum,max:e(p).maximum,"persistent-hint":""},M,{variant:"outlined",type:"number",density:"compact",onChange:()=>me===""?Se(e(p).defaultValue||e(p).minimum||0):void 0}),It({_:2},[e(q)?{name:"append-inner",fn:a(()=>[l(ie,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:v[3]||(v[3]=G(pe=>b(e(q).path,e(q).index,!0),["stop"]))},{default:a(()=>[l(ee,null,{default:a(()=>[P(c(e(xt)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["error","error-messages","readonly","hint","step","min","max","onChange"])]),_:1},8,["modelValue","name"])):e($a)(e(p))?(i(),B(e(Te),{key:4,"model-value":e(ne),name:e(D),type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:a(({field:M,errors:Y,errorMessage:le})=>[l(Ra,ze({"model-value":e(ne),class:"w-full"},M,{color:"#df2a4c",type:"checkbox","persistent-hint":"",label:e(p).title,error:Y.length>0,"error-messages":le,hint:e(p).description,onChange:v[6]||(v[6]=me=>ne.value=!e(ne))}),It({_:2},[e(q)?{name:"append",fn:a(()=>[l(ie,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:v[5]||(v[5]=G(me=>b(e(q).path,e(q).index,!0),["stop"]))},{default:a(()=>[l(ee,null,{default:a(()=>[P(c(e(xt)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["model-value","label","error","error-messages","hint"])]),_:1},8,["model-value","name"])):e(Xt)(e(p))?(i(),B(e(Te),{key:5,modelValue:e(ne),"onUpdate:modelValue":v[8]||(v[8]=M=>Me(ne)?ne.value=M:null),name:e(D)},{default:a(({field:M,errorMessage:Y,errors:le})=>[m("label",{for:e(D),class:"v-label"},c(e(p).title),9,fl),l(mt,ze({items:e(p).enum,error:le.length>0,"error-messages":Y,readonly:e(p).readonly,hint:e(p).description,"model-value":M.value,"persistent-hint":""},M,{variant:"outlined",density:"compact",chips:"",multiple:e(p).multiple,clearable:!e(p).required&&!e(p).readonly,onKeydown:v[7]||(v[7]=G(()=>{},["prevent"]))}),{chip:a(({item:me})=>[l(Je,{color:"#df2a4c"},{default:a(()=>[P(c(me.title),1)]),_:2},1024)]),_:2},1040,["items","error","error-messages","readonly","hint","model-value","multiple","clearable"])]),_:1},8,["modelValue","name"])):e(Jt)(e(p))?(i(),y($e,{key:6},[l(ie,{width:"100%",color:e(p).color?e(p).color:"#df2a4c",variant:"flat",class:"mt-3",loading:e(_),onClick:v[9]||(v[9]=G(M=>f("onAction",{configPath:e(D)}),["prevent"]))},{default:a(()=>[P(c(e(p).title),1)]),_:1},8,["color","loading"]),m("div",gl,[m("div",yl,[e(p).description?(i(),y("div",hl,c(e(p).description),1)):R("",!0)])])],64)):e(Za)(e(p))||e(ka)(e(p))?(i(),B(_t,{key:7,"model-value":e(u),class:"inner-component-2 mt-0 mb-3"},{default:a(()=>[l(bt,{elevation:"0"},{default:a(()=>[l(yt,{style:{height:"48px",width:"-webkit-fill-available"},class:"truncate"},It({default:a(()=>[e(p).description?(i(),B(st,{key:0,text:e(p).description,location:"top"},{activator:a(({props:M})=>[l(ee,ze({size:"20"},M,{class:"mr-3 text-passive"}),{default:a(()=>[P(c(e(ha)),1)]),_:2},1040)]),_:1},8,["text"])):R("",!0),P(" "+c(e(p).title||e(D))+" ",1)]),_:2},[e(q)?{name:"actions",fn:a(({expanded:M})=>[m("div",bl,[l(ie,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:v[10]||(v[10]=G(Y=>b(e(q).path,e(q).index,!0),["stop"]))},{default:a(()=>[l(ee,null,{default:a(()=>[P(c(e(xt)),1)]),_:1})]),_:1}),M?(i(),B(ee,{key:0,size:"22.5"},{default:a(()=>[P(c(e(Fa)),1)]),_:1})):(i(),B(ee,{key:1,size:"22.5"},{default:a(()=>[P(c(e(Ia)),1)]),_:1}))])]),key:"0"}:void 0]),1024),l(ht,{eager:""},{default:a(()=>{var M;return[(i(!0),y($e,null,Pe(e(p).properties,(Y,le)=>(i(),y("div",{key:`${e(D)}.${le}`},[fe(Y)?je((i(),B(W,{key:0,modelValue:x.value,"onUpdate:modelValue":v[11]||(v[11]=me=>x.value=me),"schema-field":Y,"config-key":`${e(D)}.${le}`,loading:e(_),onOnSubmit:v[12]||(v[12]=me=>f("onSubmit",me)),onOnAction:v[13]||(v[13]=me=>f("onAction",me))},null,8,["modelValue","schema-field","config-key","loading"])),[[Et,!Y.hidden]]):R("",!0)]))),128)),e(ka)(e(p))&&((M=e(p).buttons)!=null&&M.length)?(i(),y("div",_l,[(i(!0),y($e,null,Pe(e(p).buttons,(Y,le)=>(i(),B(ie,{key:`button-${le}`,variant:"flat",loading:e(_),class:"px-0 w-100 my-2",style:rt({background:Y.color?Y.color:"rgba(141, 141, 141, 0.2)"}),onClick:G(()=>Y?f("onSubmit",{actionId:Y.onSubmit,payload:e(zn)(x.value,e(D))}):void 0,["prevent"])},{default:a(()=>[P(c(Y==null?void 0:Y.label),1)]),_:2},1032,["loading","style","onClick"]))),128))])):R("",!0)]}),_:1})]),_:1})]),_:1},8,["model-value"])):e(Ca)(e(p))&&e(p).items?(i(),B(_t,{key:8,"model-value":e(u),class:"inner-component-2 mt-0 mb-3"},{default:a(()=>[(i(),B(bt,{key:e(T),elevation:"0"},{default:a(()=>[l(yt,{style:{height:"48px",width:"-webkit-fill-available"},class:"truncate"},{default:a(()=>[e(p).description?(i(),B(st,{key:0,text:e(p).description,location:"top"},{activator:a(({props:M})=>[l(ee,ze({size:"20"},M,{class:"mr-3 text-passive"}),{default:a(()=>[P(c(e(ha)),1)]),_:2},1040)]),_:1},8,["text"])):R("",!0),P(" "+c(e(p).title||e(D)),1)]),_:1}),l(ht,{eager:""},{default:a(()=>[(i(!0),y($e,null,Pe(I(x.value,e(D)),(M,Y)=>(i(),y("div",{key:`item-${Y}-${(M==null?void 0:M.key)||M||Y}`,class:"w-full"},[fe(e(p))?je((i(),B(W,{key:0,modelValue:x.value,"onUpdate:modelValue":v[14]||(v[14]=le=>x.value=le),"schema-field":e(p).items,"config-key":`${e(D)}[${Y}]`,removable:{path:e(D),index:Y},loading:e(_),onOnSubmit:v[15]||(v[15]=le=>f("onSubmit",le)),onOnAction:v[16]||(v[16]=le=>f("onAction",le)),onOnTrigger:v[17]||(v[17]=()=>T.value++)},null,8,["modelValue","schema-field","config-key","removable","loading"])),[[Et,!e(p).hidden]]):R("",!0)]))),128)),m("div",wl,[l(ie,{variant:"text",color:"#df2a4c",icon:"",onClick:v[18]||(v[18]=G(M=>te(e(D)),["prevent"]))},{default:a(()=>[l(ee,{size:"30"},{default:a(()=>[P(c(e(Qa)),1)]),_:1})]),_:1})])]),_:1})]),_:1}))]),_:1},8,["model-value"])):R("",!0)])}}}),kl=ot($l,[["__scopeId","data-v-a5e7123a"]]),Cl={key:0},xl={key:1},Ja=Ne({__name:"VJsonSchema",props:{config:{},uiSchema:{},loading:{type:Boolean,default:!1},disableButton:{type:Boolean},saveButton:{type:Boolean,default:!0},saveButtonLabel:{},saveButtonColor:{default:"green"},showButton:{type:Boolean,default:!1}},emits:["onSubmit","onAction","onFormSubmit","changeGroup"],setup(t,{emit:n}){const s=n,f=t,{uiSchema:x,config:w,loading:j,saveButton:p,saveButtonLabel:D,showButton:q,disableButton:_,saveButtonColor:$}=Ke(f),Z=g(),T=g(),u=ae(()=>Object.keys(w.value).length?{...za(w.value)}:x.value?Vn(x.value):{}),U=ae(()=>x.value?x.value:Bn(w.value)),E=ae(()=>Dn(U.value)),b=ae(()=>Ut(E.value)),te=ae(()=>Object.keys(U.value.schema).every(v=>kt(U.value.schema[v],T.value))),re=ae(()=>Object.keys(U.value.schema).some(v=>Ct(U.value.schema[v],T.value))),I=ae(()=>{const v=U.value,k=[];for(const[,z]of Object.entries(v.schema))z.group&&!z.hidden&&!k.includes(z.group)&&k.push(z.group);return k.length&&(T.value=k[0]),k});ve(T,v=>{v&&s("changeGroup",v)});const oe=v=>{const k=ut(v)&&v.format==="qrCode",z=ut(v)&&v.format==="image",W=Jt(v);return!k&&!z&&!W},se=v=>!v.hidden||v.hidden&&oe(v),de=async()=>{var v;return await((v=Z.value)==null?void 0:v.validate())},fe=async v=>{s("onAction",v)},ne=async v=>{const k=await de();k!=null&&k.valid?s("onSubmit",v):console.error("result",k)},V=async()=>{const v=await de();v!=null&&v.valid&&(v!=null&&v.values)?s("onFormSubmit",v.values):console.error("result",v)};return(v,k)=>{const z=kl;return i(),y("div",null,[l(e(qt),{ref_key:"formRef",ref:Z,"validation-schema":e(b),onSubmit:V},{default:a(()=>[e(I).length?(i(),y("div",Cl,[l($t,{modelValue:e(T),"onUpdate:modelValue":k[0]||(k[0]=W=>Me(T)?T.value=W:null),"selected-class":"primary-color",mandatory:"",column:""},{default:a(()=>[(i(!0),y($e,null,Pe(e(I),W=>(i(),B(Je,{key:W,size:"small",value:W},{default:a(()=>[P(c(W),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),l(aa,{modelValue:e(T),"onUpdate:modelValue":k[2]||(k[2]=W=>Me(T)?T.value=W:null),mandatory:"",eager:"",class:"mt-3",touch:!1},{default:a(()=>[(i(!0),y($e,null,Pe(e(I),(W,M)=>(i(),B(oa,{key:W,value:W,transition:"instant","reverse-transition":"instant"},{default:a(()=>[(i(!0),y($e,null,Pe(e(U).schema,(Y,le)=>(i(),y("div",{key:le},[se(Y)&&(Y.group===W||!Y.group&&M===0)?je((i(),B(z,{key:0,modelValue:e(u),"onUpdate:modelValue":k[1]||(k[1]=me=>Me(u)?u.value=me:null),"schema-field":Y,"config-key":le.toString(),loading:e(j),onOnSubmit:ne,onOnAction:fe},null,8,["modelValue","schema-field","config-key","loading"])),[[Et,!Y.hidden]]):R("",!0)]))),128))]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])):(i(),y("div",xl,[(i(!0),y($e,null,Pe(e(U).schema,(W,M)=>(i(),y("div",{key:M},[se(W)?je((i(),B(z,{key:0,modelValue:e(u),"onUpdate:modelValue":k[3]||(k[3]=Y=>Me(u)?u.value=Y:null),"schema-field":W,"config-key":M.toString(),loading:e(j),onOnSubmit:ne,onOnAction:fe},null,8,["modelValue","schema-field","config-key","loading"])),[[Et,!W.hidden]]):R("",!0)]))),128))])),e(re)&&!e(te)&&e(p)||e(q)?(i(),B(ie,{key:2,class:"mt-7",style:{width:"calc(100% - 2rem)"},color:e($),variant:"flat",type:"submit",loading:e(j),disabled:e(_)},{default:a(()=>[P(c(e(D)||v.$t("components.form.button.save")),1)]),_:1},8,["color","loading","disabled"])):R("",!0)]),_:1},8,["validation-schema"])])}}}),Sl=Ne({__name:"VJsonSchemaDialog",props:Yt({pluginConfig:{},uiSchema:{},pluginName:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=new na,s=Ma(t,"modelValue"),f=t,x=g(!1),w=g(),{uiSchema:j,pluginConfig:p,pluginName:D}=Ke(f),{mutateAsync:q,isPending:_}=n.actionButtonQuery(),$=ae(()=>x.value||_.value);ve(j,T=>{w.value=T},{deep:!0,immediate:!0});const Z=async T=>{x.value=!0;const u={...p.value,...T.payload};await q({pluginName:D.value,actionId:T.actionId,payload:u},{onSuccess:U=>{U!=null&&U.toast&&lt[U.toast.type](U.toast.message),U!=null&&U.schema&&Object.keys(U.schema).length&&w.value?w.value.schema.config=U.schema.config:s.value=!1},onSettled:()=>{x.value=!1}})};return(T,u)=>{const U=Ja,E=Nt;return i(),B(E,{modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=b=>s.value=b),title:T.$t("components.dialog.title.config"),loading:e($),"hide-confirm-button":""},{content:a(()=>[l(U,{config:{},"ui-schema":e(w),loading:e($),"save-button":!1,onOnSubmit:Z},null,8,["ui-schema","loading"])]),_:1},8,["modelValue","title","loading"])}}}),Vl={class:"plugints-title p-2"},zl={class:"v-label"},Pl={key:0,class:"plugints-title p-2"},Tl={class:"v-label"},El={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Ml={class:"text-sm text-passive"},Bl={key:1,class:"plugints-title p-2"},Dl={class:"v-label"},Ll={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Fl={class:"text-sm text-passive"},Il={key:2,class:"plugints-title p-2"},Ql={class:"v-label"},ql={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Ol={class:"text-sm text-passive"},Al={key:3,class:"plugints-title p-2"},Nl={class:"v-label"},Rl={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Ul={class:"text-sm text-passive"},jl={key:4,class:"plugints-title p-2"},Zl={class:"v-label"},Kl={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Hl={class:"text-sm text-passive"},Yl={class:"p-2"},Wl={key:0,class:"mb-4"},Xl={class:"v-label"},Jl={key:0,class:"w-full flex items-center justify-center"},Gl={key:1,class:"flex w-full items-center justify-center"},er={class:"text-sm text-passive"},tr={key:1},ar={class:"v-label"},or={key:0,class:"w-full flex items-center justify-center my-5"},nr={key:1,class:"w-full flex items-center justify-center my-5"},sr={class:"text-sm text-passive"},lr=Ne({__name:"extensions",props:{cameraName:{}},setup(t){const n=new vt,s=new na,{isTouch:f}=Rt(),x=t,{cameraName:w}=Ke(x),j=g(!1),p=g(!1),D=g(),q=g(),_=g(""),$=g("hub"),Z=g(),T=g(),u=g(),U=g(),E=g(),b=g(!0),te=g({page:1,pageSize:-1}),re=g(["hub","motionDetection","objectDetection","audioDetection","ptz","more"]);n.toggleQueryActivator("getCameraExtensionConfigQuery",!1);const{data:I}=n.getCameraQuery(w),{data:oe}=s.getPluginsQuery(te),{data:se,isLoading:de,suspense:fe}=n.getCameraExtensionsQuery(w),{data:ne,isLoading:V}=n.getCameraExtensionConfigQuery(w.value,_,b),{data:v,isLoading:k}=s.getPluginsExtensionsQuery(te),{mutate:z,isPending:W}=s.actionButtonQuery(),{mutate:M,isPending:Y}=n.patchCameraExtensionConfigQuery(),{mutate:le,isPending:me}=n.submitCameraExtensionConfigQuery(),{mutateAsync:Se,isPending:pe}=n.addCameraExtensionQuery(),{mutateAsync:ye,isPending:H}=n.removeCameraExtensionQuery(),{mutateAsync:_e,isPending:Ee}=n.enableCameraExtensionQuery(),{mutateAsync:qe,isPending:Oe}=n.disableCameraExtensionQuery(),ke=ae(()=>de.value||k.value||pe.value||H.value||Ee.value||Oe.value),he=ae(()=>ke.value||j.value||W.value||Y.value||me.value),Ae=ae(()=>{var d;const o=((d=se.value)==null?void 0:d.filter(h=>h.type.includes("hub")))||[];return o.length&&oe.value&&oe.value.result.some(h=>h.pluginName===o[0].pluginName&&!h.disabled)?(Z.value=o[0].pluginName,_.value=o[0].pluginName):Z.value=void 0,X(o)}),Fe=ae(()=>{var d,h,K;const o=((d=se.value)==null?void 0:d.filter(Q=>Q.type.includes("motionDetection")))||[];return o.length&&J((h=I==null?void 0:I.value)==null?void 0:h.extensions.motionDetection)?T.value=(K=I==null?void 0:I.value)==null?void 0:K.extensions.motionDetection:T.value=void 0,X(o)}),Re=ae(()=>{var d,h,K;const o=((d=se.value)==null?void 0:d.filter(Q=>Q.type.includes("audioDetection")))||[];return o.length&&J((h=I==null?void 0:I.value)==null?void 0:h.extensions.audioDetection)?u.value=(K=I==null?void 0:I.value)==null?void 0:K.extensions.audioDetection:u.value=void 0,X(o)}),De=ae(()=>{var d,h,K;const o=((d=se.value)==null?void 0:d.filter(Q=>Q.type.includes("objectDetection")))||[];return o.length&&J((h=I==null?void 0:I.value)==null?void 0:h.extensions.objectDetection)?U.value=(K=I==null?void 0:I.value)==null?void 0:K.extensions.objectDetection:U.value=void 0,X(o)}),O=ae(()=>{var d,h,K;const o=((d=se.value)==null?void 0:d.filter(Q=>Q.type.includes("ptz")))||[];return o.length&&J((h=I==null?void 0:I.value)==null?void 0:h.extensions.ptz)?E.value=(K=I==null?void 0:I.value)==null?void 0:K.extensions.ptz:E.value=void 0,X(o)});ve(Z,(o,d)=>{o&&o!==d&&Ce(o)}),ve(T,(o,d)=>{o!==d&&(!o&&d?C(d,!1,"motionDetection"):o&&C(o,!0,"motionDetection"))}),ve(U,(o,d)=>{o!==d&&(!o&&d?C(d,!1,"objectDetection"):o&&C(o,!0,"objectDetection"))}),ve(E,(o,d)=>{o!==d&&(!o&&d?C(d,!1,"ptz"):o&&C(o,!0,"ptz"))}),ve(u,(o,d)=>{o!==d&&(!o&&d?C(d,!1,"audioDetection"):o&&C(o,!0,"audioDetection"))}),ve($,(o,d)=>{o===void 0&&($.value=d)}),ve(p,o=>{o||(D.value=void 0,q.value=void 0)});const N=async(o,d)=>{await n.queryClient.refetchQueries({queryKey:["cameras","extensions",o,d]})},S=async o=>{se.value&&(se.value.some(d=>d.pluginName===o.pluginName)?await ye({cameraname:w.value,pluginname:o.pluginName}):await Se({cameraname:w.value,pluginname:o.pluginName}))},C=async(o,d,h)=>{d?(!h||!I.value||I.value.extensions[h]!==o)&&(await _e({cameraname:w.value,pluginname:o,type:h}),pt(()=>Ce(o))):(!h||!I.value||I.value.extensions[h]===o)&&(await qe({cameraname:w.value,pluginname:o,type:h}),pt(()=>Ce()))},X=o=>o.sort((d,h)=>!J(d.pluginName)&&J(h.pluginName)?1:J(d.pluginName)&&!J(h.pluginName)?-1:d.displayName.localeCompare(h.displayName)),J=o=>{if(o&&oe.value&&oe.value.result.some(d=>d.pluginName===o&&!d.disabled))return o},Ce=o=>{var d,h,K,Q,L;if(n.toggleQueryActivator("getCameraExtensionConfigQuery",!1),o!==void 0)_.value=o;else switch($.value){case"hub":_.value=J((d=Ae.value[0])==null?void 0:d.pluginName)||"";break;case"motionDetection":_.value=J((h=I==null?void 0:I.value)==null?void 0:h.extensions.motionDetection)||"";break;case"audioDetection":_.value=J((K=I==null?void 0:I.value)==null?void 0:K.extensions.audioDetection)||"";break;case"objectDetection":_.value=J((Q=I==null?void 0:I.value)==null?void 0:Q.extensions.objectDetection)||"";break;case"ptz":_.value=J((L=I==null?void 0:I.value)==null?void 0:L.extensions.ptz)||"";break;default:_.value="";break}_.value&&_.value!==""&&n.toggleQueryActivator("getCameraExtensionConfigQuery",!0)},be=async(o,d)=>{j.value=!0,le({cameraname:w.value,pluginname:d,configPath:o.configPath},{onSettled:()=>{j.value=!1}})},Ue=(o,d)=>{j.value=!0,z({pluginName:d,actionId:o.actionId,payload:o.payload},{onSuccess:h=>{h!=null&&h.toast&&lt[h.toast.type](h.toast.message),h!=null&&h.schema&&Object.keys(h.schema).length&&(q.value=o.payload,D.value=h,p.value=!0)},onSettled:()=>{j.value=!1}})},r=(o,d,h)=>{j.value=!0,M({cameraname:o,pluginname:d,configData:h},{onSettled:()=>{j.value=!1}})};return Mt(async()=>{}),Ba(async()=>{await fe(),Ce()}),(o,d)=>{var Q;const h=Ja,K=Sl;return i(),y("div",null,[l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),m("div",Vl,[m("label",zl,c(o.$t("components.camera_options.categories")),1),l($t,{modelValue:e($),"onUpdate:modelValue":[d[0]||(d[0]=L=>Me($)?$.value=L:null),d[1]||(d[1]=L=>Ce())],"selected-class":"primary-color",disabled:e(ke),mandatory:"",column:""},{default:a(()=>[(i(!0),y($e,null,Pe(e(re),L=>(i(),B(Je,{key:L,size:"small",disabled:e(he),value:L},{default:a(()=>[P(c(o.$t(`components.camera_options.chip_${L}`)),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])]),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),e($)==="hub"?(i(),y("div",Pl,[m("label",Tl,c(o.$t("components.camera_options.chip_plugins")),1),e(Ae).length?(i(),B($t,{key:0,modelValue:e(Z),"onUpdate:modelValue":d[2]||(d[2]=L=>Me(Z)?Z.value=L:null),"selected-class":"primary-color",disabled:e(ke),mandatory:"",column:""},{default:a(()=>[(i(!0),y($e,null,Pe(e(Ae),L=>(i(),B(Je,{key:L.pluginName,disabled:!J(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[P(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",El,[m("span",Ml,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):e($)==="motionDetection"?(i(),y("div",Bl,[m("label",Dl,c(o.$t("components.camera_options.enabled_extension")),1),e(Fe).length?(i(),B($t,{key:0,modelValue:e(T),"onUpdate:modelValue":d[3]||(d[3]=L=>Me(T)?T.value=L:null),"selected-class":"primary-color",disabled:e(ke),filter:"",column:""},{default:a(()=>[(i(!0),y($e,null,Pe(e(Fe),L=>(i(),B(Je,{key:L.pluginName,disabled:!J(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[P(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",Ll,[m("span",Fl,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):e($)==="objectDetection"?(i(),y("div",Il,[m("label",Ql,c(o.$t("components.camera_options.enabled_extension")),1),e(De).length?(i(),B($t,{key:0,modelValue:e(U),"onUpdate:modelValue":d[4]||(d[4]=L=>Me(U)?U.value=L:null),"selected-class":"primary-color",disabled:e(ke),filter:"",column:""},{default:a(()=>[(i(!0),y($e,null,Pe(e(De),L=>(i(),B(Je,{key:L.pluginName,disabled:!J(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[P(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",ql,[m("span",Ol,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):e($)==="audioDetection"?(i(),y("div",Al,[m("label",Nl,c(o.$t("components.camera_options.enabled_extension")),1),e(Re).length?(i(),B($t,{key:0,modelValue:e(u),"onUpdate:modelValue":d[5]||(d[5]=L=>Me(u)?u.value=L:null),"selected-class":"primary-color",disabled:e(ke),filter:"",column:""},{default:a(()=>[(i(!0),y($e,null,Pe(e(Re),L=>(i(),B(Je,{key:L.pluginName,disabled:!J(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[P(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",Rl,[m("span",Ul,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):e($)==="ptz"?(i(),y("div",jl,[m("label",Zl,c(o.$t("components.camera_options.enabled_extension")),1),e(O).length?(i(),B($t,{key:0,modelValue:e(E),"onUpdate:modelValue":d[6]||(d[6]=L=>Me(E)?E.value=L:null),"selected-class":"primary-color",disabled:e(ke),filter:"",column:""},{default:a(()=>[(i(!0),y($e,null,Pe(e(O),L=>(i(),B(Je,{key:L.pluginName,disabled:!J(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[P(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",Kl,[m("span",Hl,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):R("",!0),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),e(ke)?(i(),B(_n,{key:5,height:"2",color:"#df2a4c",indeterminate:"",style:{"margin-top":"-2px"}})):R("",!0),m("div",Yl,[l(aa,{modelValue:e($),"onUpdate:modelValue":d[10]||(d[10]=L=>Me($)?$.value=L:null),disabled:e(ke),mandatory:"",eager:"",touch:!1},{default:a(()=>[(i(!0),y($e,null,Pe(e(re),L=>(i(),B(oa,{key:L,value:L,transition:"instant","reverse-transition":"instant"},{default:a(()=>{var ge,Ve,ce;return[L==="more"?(i(),y("div",Wl,[m("div",null,[m("label",Xl,c(o.$t("components.camera_options.manage_plugins")),1),e(k)?(i(),y("div",Jl,[l(Ze,{color:"#df2a4c",indeterminate:"",size:"20",width:"3"})])):(ge=e(v))!=null&&ge.result.length?(i(!0),y($e,{key:2},Pe((Ve=e(v))==null?void 0:Ve.result,(A,we)=>{var We,Ge;return je((i(),y("div",{key:A.pluginName},[l(wn,{"select-strategy":"classic",class:"py-0",disabled:e(ke)||!J(A.pluginName),"onUpdate:selected":()=>S(A)},{default:a(()=>{var at;return[l(Aa,{value:A.pluginName,class:"px-2",active:(at=e(se))==null?void 0:at.some(et=>et.pluginName===A.pluginName)},{prepend:a(()=>[l($n,{start:""},{default:a(()=>{var et;return[l(Na,{"model-value":(et=e(se))==null?void 0:et.some(ct=>ct.pluginName===A.pluginName),color:"#df2a4c"},null,8,["model-value"])]}),_:2},1024)]),append:a(()=>[l(ie,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:G(()=>o.$router.push(`/plugins/${A.pluginName}`),["prevent"])},{default:a(()=>[l(ee,{size:"18"},{default:a(()=>[P(c(e(Io)),1)]),_:1})]),_:2},1032,["onClick"])]),default:a(()=>[P(c(A.displayName)+" ",1)]),_:2},1032,["value","active"])]}),_:2},1032,["disabled","onUpdate:selected"]),(We=e(v))!=null&&We.result&&we!==((Ge=e(v))==null?void 0:Ge.result.length)-1?(i(),B(Ye,{key:0,style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})):R("",!0)])),[[it,{disabled:J(A.pluginName)!==void 0||e(f),text:o.$t("components.form.tooltip.disabled")}]])}),128)):(i(),y("div",Gl,[m("span",er,c(o.$t("components.camera_options.no_plugins_found")),1)]))])])):(i(),y("div",tr,[m("label",ar,c(o.$t("components.camera_options.plugin_settings")),1),e(V)?(i(),y("div",or,[l(Ze,{color:"#df2a4c",indeterminate:""})])):!e(_)||!((ce=e(ne))!=null&&ce.rootSchema)?(i(),y("div",nr,[m("span",sr,c(o.$t("components.camera_options.no_config")),1)])):e(ne)?(i(),B(h,{key:L,config:e(ne).config||{},"ui-schema":e(ne).rootSchema,loading:e(he),onOnFormSubmit:d[7]||(d[7]=A=>r(e(w),e(_),A)),onOnSubmit:A=>Ue(A,L),onOnAction:d[8]||(d[8]=A=>be(A,e(_))),onChangeGroup:d[9]||(d[9]=()=>N(e(w),e(_)))},null,8,["config","ui-schema","loading","onOnSubmit"])):R("",!0)]))]}),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","disabled"])]),(Q=e(D))!=null&&Q.schema?(i(),B(K,{key:6,modelValue:e(p),"onUpdate:modelValue":d[11]||(d[11]=L=>Me(p)?p.value=L:null),"ui-schema":{schema:e(D).schema},"plugin-config":e(q)||{},"plugin-name":e(_)},null,8,["modelValue","ui-schema","plugin-config","plugin-name"])):R("",!0)])}}}),rr={class:"flex flex-row items-center justify-center"},ir={class:"battery-body"},ur={key:0,class:"ml-2 text-sm"},cr=Ne({__name:"VBattery",props:{level:{default:0},showLevel:{type:Boolean,default:!0},size:{default:5}},setup(t){const n=t,{level:s,size:f,showLevel:x}=Ke(n),w=ae(()=>s.value<=20?"#FF3B30":s.value<=50?"#FFCC00":"#34C759"),j=ae(()=>`${Math.min(100,Math.max(0,s.value))}%`),p=ae(()=>f.value/5),D=ae(()=>({"--scale-factor":p.value,"--battery-width":`${50*p.value}px`,"--battery-height":`${25*p.value}px`,"--border-width":`${2*p.value}px`,"--border-radius":`${3*p.value}px`,"--padding":"1px","--cap-width":`${3*p.value}px`,"--cap-height":`${10*p.value}px`,"--cap-margin":`${1*p.value}px`}));return(q,_)=>(i(),y("div",rr,[m("div",{class:"battery-container",style:rt(e(D))},[m("div",ir,[m("div",{class:"battery-level",style:rt({width:e(j),backgroundColor:e(w)})},null,4)]),_[0]||(_[0]=m("div",{class:"battery-cap"},null,-1))],4),e(x)?(i(),y("span",ur,c(e(s))+"%",1)):R("",!0)]))}}),dr=ot(cr,[["__scopeId","data-v-cb5fbb52"]]),mr={class:"w-full h-full flex items-center justify-center bg-black aspect-video"},jt=Ne({__name:"VCameraSnapshot",props:{cameraName:{},src:{},loading:{type:Boolean},showLoadingScreen:{type:Boolean,default:!0},width:{default:"100%"},height:{default:"100%"}},setup(t,{expose:n}){const s=new vt,f=t,{cameraName:x,loading:w,src:j}=Ke(f),p=g(!1);j.value&&s.toggleQueryActivator("getCameraSnapshotQuery",!1);const{data:D,isLoading:q,refetch:_,isRefetching:$}=s.getCameraSnapshotQuery(x,p),Z=ae(()=>w.value||q.value||$.value),T=ae(()=>j.value?j.value:D.value?`data:image/jpeg;base64,${D.value}`:"");return n({download:()=>{if(T.value){const E=`${x.value.replace(/ /g,"_").toLowerCase()}_${new Date().toISOString()}.png`,b=document.createElement("a");b.setAttribute("download",E),b.href=T.value,document.body.appendChild(b),b.click(),b.remove()}},refresh:()=>{p.value=!0,_(),p.value=!1},isLoading:Z,snapshotSrc:T}),(E,b)=>{const te=Va;return i(),y("div",mr,[e(Z)&&E.showLoadingScreen?(i(),B(Ze,{key:0,color:"#df2a4c",indeterminate:""})):(i(),B(te,{key:1,src:e(T),width:"100%",height:"100%","aspect-ratio":"16/9",cover:"","show-loading-screen":E.showLoadingScreen},null,8,["src","show-loading-screen"]))])}}}),pr={class:"text-sm"},vr={class:"flex items-center justify-end"},fr={class:"flex items-center justify-end"},gr={key:0},yr={key:0},hr={class:"flex items-center justify-end"},br={key:1},_r={class:"flex items-center justify-end"},wr={key:2},$r={class:"flex items-center justify-end"},kr={key:1},Cr={key:2},xr={key:3},Sr={class:"flex items-center justify-end"},Vr={key:1},zr={key:2},Pr={key:4},Tr={class:"flex items-center justify-end"},Er={key:1},Mr={key:2},Br={key:5},Dr={class:"flex items-center justify-end"},Lr={key:1},Fr={key:2},Ir={key:6},Qr={class:"flex items-center justify-end"},qr={key:1},Or={key:2},Ar=Ne({__name:"overview",props:{cameraName:{},latestSnapshotSrc:{}},setup(t){const n=new vt,s=new na,{api:f}=Pa(),x=t,{cameraName:w,latestSnapshotSrc:j}=Ke(x),p=g(),D=g(),q=g(),_=g(),$=g(),Z=g(),T=g(),u=g(),U=g({page:1,pageSize:-1}),{data:E,isLoading:b}=n.getCameraQuery(w),{data:te,isLoading:re}=s.getPluginsQuery(U),I=ae(()=>b.value||re.value);return Mt(async()=>{var oe,se,de,fe,ne,V,v,k;p.value=await f.deviceManager.getCameraByName(w.value),(oe=p.value)==null||oe.onMotionDetected.subscribe(z=>{D.value=z}),(se=p.value)==null||se.onBatteryChanged.subscribe(z=>{_.value=z}),(de=p.value)==null||de.onDoorbellPressed.subscribe(z=>{T.value=z}),(fe=p.value)==null||fe.onSirenDetected.subscribe(z=>{Z.value=z}),(ne=p.value)==null||ne.onLightSwitched.subscribe(z=>{u.value=z}),(V=p.value)==null||V.onAudioDetected.subscribe(z=>{q.value=z}),(v=p.value)==null||v.onObjectDetected.subscribe(z=>{$.value=z}),await((k=p.value)==null?void 0:k.start())}),Da(()=>{var oe;(oe=p.value)==null||oe.close()}),(oe,se)=>{const de=jt,fe=dr;return i(),y("div",null,[l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),l(de,{"camera-name":e(w),src:e(j)},null,8,["camera-name","src"]),l(kn,{class:"table-fixed w-full p-2",style:{background:"none !important"}},{default:a(()=>{var ne,V,v,k,z,W,M,Y,le,me,Se,pe,ye,H,_e,Ee,qe,Oe,ke,he;return[m("tbody",pr,[m("tr",null,[m("td",null,c(oe.$t("components.camera_options.name")),1),m("td",null,[m("div",vr,[m("span",null,c(e(w)),1),(ne=e(E))!=null&&ne.isCloud?(i(),B(ee,{key:0,size:"20",class:"ml-2"},{default:a(()=>[P(c(e(Qo)),1)]),_:1})):R("",!0)])])]),m("tr",null,[m("td",null,c(oe.$t("components.camera_options.plugin")),1),m("td",null,[m("div",fr,[e(I)?(i(),y("span",gr,[l(Ze,{color:"#df2a4c",size:"20",indeterminate:""})])):R("",!0),m("span",null,c(((V=e(E))==null?void 0:V.pluginId)!=="native"?((k=(v=e(te))==null?void 0:v.result.find(Ae=>{var Fe;return Ae.id===((Fe=e(E))==null?void 0:Fe.pluginId)}))==null?void 0:k.pluginName)||oe.$t("components.camera_options.unknown"):oe.$t("components.camera_options.native")),1)])])]),(z=e(E))!=null&&z.hasBattery?(i(),y("tr",yr,[m("td",null,c(oe.$t("components.camera_options.battery_state")),1),m("td",null,[m("div",hr,[e(_)?(i(),B(fe,{key:1,level:e(_).level,size:3},null,8,["level"])):(i(),B(Ze,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):R("",!0),(W=e(E))!=null&&W.hasLight?(i(),y("tr",br,[m("td",null,c(oe.$t("components.camera_options.light_state")),1),m("td",null,[m("div",_r,[e(u)?e(u).state?(i(),B(ee,{key:1,size:20,color:"#f6d800"},{default:a(()=>[P(c(e(qo)),1)]),_:1})):(i(),B(ee,{key:2,size:20,class:"text-disabled"},{default:a(()=>[P(c(e(Oo)),1)]),_:1})):(i(),B(Ze,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):R("",!0),(M=e(E))!=null&&M.extensions.audioDetection?(i(),y("tr",wr,[m("td",null,c(oe.$t("components.camera_options.audio_state")),1),m("td",null,[m("div",$r,[e(q)?e(q).state||(Y=e(q).lastEvent)!=null&&Y.state?(i(),y("span",kr,c(e(Dt)(e(q).state?e(q).timestamp:e(q).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",Cr,"-")):(i(),B(Ze,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):R("",!0),(le=e(E))!=null&&le.hasBinarySensor?(i(),y("tr",xr,[m("td",null,c(oe.$t("components.camera_options.doorbell_state")),1),m("td",null,[m("div",Sr,[e(T)?e(T).state||(me=e(T).lastEvent)!=null&&me.state?(i(),y("span",Vr,c(e(Dt)(e(T).state?e(T).timestamp:e(T).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",zr,"-")):(i(),B(Ze,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):R("",!0),(Se=e(E))!=null&&Se.extensions.motionDetection?(i(),y("tr",Pr,[m("td",null,c(oe.$t("components.camera_options.motion_state")),1),m("td",null,[m("div",Tr,[e(D)?e(D).state||(pe=e(D).detections)!=null&&pe.length||(ye=e(D).lastEvent)!=null&&ye.state||(_e=(H=e(D).lastEvent)==null?void 0:H.detections)!=null&&_e.length?(i(),y("span",Er,c(e(Dt)(e(D).state||(Ee=e(D).detections)!=null&&Ee.length?e(D).timestamp:e(D).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",Mr,"-")):(i(),B(Ze,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):R("",!0),(qe=e(E))!=null&&qe.extensions.objectDetection?(i(),y("tr",Br,[m("td",null,c(oe.$t("components.camera_options.object_state")),1),m("td",null,[m("div",Dr,[e($)?e($).detections.length||(Oe=e($).lastEvent)!=null&&Oe.detections.length?(i(),y("span",Lr,c(e(Dt)(e($).detections.length?e($).timestamp:e($).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",Fr,"-")):(i(),B(Ze,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):R("",!0),(ke=e(E))!=null&&ke.hasSiren?(i(),y("tr",Ir,[m("td",null,c(oe.$t("components.camera_options.siren_state")),1),m("td",null,[m("div",Qr,[e(Z)?e(Z).state||(he=e(Z).lastEvent)!=null&&he.state?(i(),y("span",qr,c(e(Dt)(e(Z).state?e(Z).timestamp:e(Z).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",Or,"-")):(i(),B(Ze,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):R("",!0)])]}),_:1})])}}}),Nr={class:"relative"},Rr={for:"name",class:"v-label"},Ur={class:"relative"},jr={for:"type",class:"v-label"},Zr={class:"flex justify-start"},Kr={class:"v-label mb-0 ml-2",for:"disabled"},Hr={class:"relative"},Yr={for:"info.manufacturer",class:"v-label"},Wr={class:"relative"},Xr={for:"info.model",class:"v-label"},Jr={class:"relative"},Gr={for:"info.hardware",class:"v-label"},ei={class:"relative"},ti={for:"info.serialNumber",class:"v-label"},ai={class:"relative"},oi={for:"info.firmwareVersion",class:"v-label"},ni={class:"relative"},si={for:"info.supportUrl",class:"v-label"},li={class:"relative w-full"},ri={for:"interface.streamingMode",class:"v-label"},ii={class:"relative w-full"},ui={for:"interface.streamingSource",class:"v-label"},ci={class:"text-sm"},di={class:"w-full flex flex-col items-center justify-center mt-5"},mi={class:"relative w-full"},pi={for:"activitySettings.motion.timeout",class:"v-label"},vi={class:"text-sm"},fi={class:"w-full flex flex-col items-center justify-center mt-5"},gi={class:"relative w-full"},yi={for:"activitySettings.motion.confidence",class:"v-label"},hi={class:"text-sm"},bi={class:"w-full flex flex-col items-center justify-center mt-5"},_i={key:0,class:"text-sm text-passive mb-3"},wi={class:"text-sm"},$i={class:"w-full flex flex-col items-center justify-center mt-5"},ki={class:"relative w-full"},Ci={for:"snapshotTTL",class:"v-label"},xi={class:"text-sm"},Si={class:"w-full flex flex-col items-center justify-center mt-5"},Vi={class:"relative w-full"},zi={for:"frameWorkerSettings.decoder",class:"v-label"},Pi={class:"relative w-full"},Ti={for:"frameWorkerSettings.resolution",class:"v-label"},Ei={class:"relative w-full"},Mi={for:"frameWorkerSettings.fps",class:"v-label"},Bi={class:"flex flex-row items-center justify-center ml-auto"},Di={class:"relative mt-2"},Li=["for"],Fi={class:"relative mt-2"},Ii=["for"],Qi={class:"relative mt-2 flex flex-col w-full"},qi=["for"],Oi={class:"w-full flex items-center justify-center my-3"},Ai={key:0,class:"p-2"},Ni={class:"v-label"},Ri=Ne({__name:"VCameraOptions",props:{cameraName:{},show:{type:Boolean,default:!1},latestSnapshotSrc:{}},emits:["close"],setup(t,{emit:n}){const s=new vt,f=xn(),x=ja(),w=t,j=n,{cameraName:p,show:D,latestSnapshotSrc:q}=Ke(w),_=g(),$=g(),Z=g(),T=g(),u=g(!1),U=g([{name:"overview",eager:!1},{name:"sources",eager:!0},{name:"settings",eager:!0},{name:"plugins",eager:!1}]),E=g(!1),b=g("overview"),te=g(),re=g(!0),I=g(!1),oe=g(!1),se=g(["high-resolution","mid-resolution","low-resolution","snapshot"]),de=g(["auto","mse","webrtc","webrtc/tcp"]),fe=g(["high-resolution","mid-resolution","low-resolution"]),ne=g(["camera","doorbell"]),V=g(["3840x2160","3072x1728","2560x1440","1920x1080","1440x1080","1280x720","960x540","640x480","640x360","320x240","320x180"]),v=g(["pillow","wasm","rust"]),k=g(!1),z=g({name:"",regions:[]}),{data:W,isLoading:M}=s.getCameraQuery(p),{mutate:Y,isPending:le}=s.removeCameraQuery(),{mutate:me,isPending:Se}=s.patchCameraQuery(),{mutateAsync:pe,isPending:ye}=s.removeCameraZoneQuery(),H=ae(()=>M.value||le.value),_e=ae(()=>ye.value),Ee=ae(()=>_e.value||ye.value||u.value||Se.value);ve(D,S=>{if(E.value){E.value=!1,j("close");return}pt(()=>E.value=S)}),ve(W,S=>{S&&(_.value=za(S))},{deep:!0,immediate:!0}),ve(b,S=>{re.value=S!=="plugins"&&S!=="overview"});const qe=S=>{var C;(C=_.value)==null||C.sources[S].urls.push("")},Oe=(S,C)=>{var X;(X=_.value)==null||X.sources[S].urls.splice(C,1)},ke=()=>{Y({cameraname:p.value},{onSuccess:()=>{f.path.includes(p.value)&&x.push({path:"/cameras"}),I.value=!1}})},he=()=>{_.value&&_.value.sources.push({_id:"",name:"",roles:[],urls:[],internal:!1})},Ae=S=>{_.value&&_.value.sources.splice(S,1)},Fe=()=>{z.value={name:"",regions:[]},oe.value=!0},Re=()=>{oe.value=!1,te.value=void 0,k.value=!1,z.value={name:"",regions:[]}},De=async(S,C)=>{var X;if(C){const J=await((X=T.value)==null?void 0:X.validate());if(J!=null&&J.valid)console.error("result",J);else return}oe.value=!1,C?k.value=!0:k.value=!1,te.value=S},O=async S=>{await pe({cameraname:p.value,zonename:S})},N=async()=>{var X,J;u.value=!0;const S=await((X=$.value)==null?void 0:X.validate()),C=await((J=Z.value)==null?void 0:J.validate());if(S!=null&&S.valid&&(C!=null&&C.valid)){const Ce={...S.values,...C.values};me({cameraname:p.value,cameraData:Ce},{onSettled:()=>{u.value=!1},onError:be=>{console.error("Error saving camera",be)}})}else console.log("Save didnt pass validation",S,C),u.value=!1};return(S,C)=>{const X=Ht("v-number-input"),J=ul,Ce=al,be=Nt,Ue=Zs;return i(),y($e,null,[e(D)?(i(),B(Ce,{key:0,state:e(E),title:e(p),segments:e(U),loading:e(H)||!e(_),selected:e(b),onClose:C[19]||(C[19]=r=>j("close")),onSelected:C[20]||(C[20]=r=>b.value=r)},{"segmentIcon.overview":a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(Ro)),1)]),_:1})]),"body.overview":a(()=>[e(b)==="overview"?(i(),B(Ar,{key:0,"camera-name":e(p),"latest-snapshot-src":e(q)},null,8,["camera-name","latest-snapshot-src"])):R("",!0)]),"segmentIcon.settings":a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(ea)),1)]),_:1})]),"body.settings":a(()=>[l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),l(e(qt),{ref_key:"cameraVeeForm1",ref:$,class:"flex flex-col h-full w-full p-2","validation-schema":e(xa)},{default:a(()=>[l(_t,null,{default:a(()=>[l(bt,{elevation:"0"},{default:a(()=>[l(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[P(c(S.$t("components.camera_options.general")),1)]),_:1}),l(ht,{eager:""},{default:a(()=>[m("div",Nr,[l(e(Te),{modelValue:e(_).name,"onUpdate:modelValue":C[0]||(C[0]=r=>e(_).name=r),name:"name"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",Rr,c(S.$t("components.form.label.name")),1),l(He,ze({loading:e(H),variant:"outlined",name:"name",type:"text",density:"compact"},r,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",Ur,[l(e(Te),{modelValue:e(_).type,"onUpdate:modelValue":C[1]||(C[1]=r=>e(_).type=r),name:"type"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",jr,c(S.$t("components.form.label.type")),1),l(mt,ze({loading:e(H),items:e(ne),variant:"outlined",name:"type",type:"text",density:"compact",chips:""},r,{error:d.length>0,"error-messages":o,"model-value":r.value,onKeydown:G(()=>null,["prevent"])}),{chip:a(({item:h})=>[l(Je,{color:"#df2a4c"},{default:a(()=>[P(c(h.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),m("div",Zr,[l(e(Te),{"model-value":e(_).disabled,name:"disabled",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:a(({field:r,errorMessage:o,errors:d})=>[l(Ra,ze({"model-value":e(_).disabled,loading:e(H),name:"disabled"},r,{color:"#df2a4c",type:"checkbox",error:d.length>0,"error-messages":o,"hide-details":"",style:{"max-width":"fit-content"},onChange:C[2]||(C[2]=h=>e(_).disabled=!e(_).disabled)}),null,16,["model-value","loading","error","error-messages"]),m("label",Kr,c(S.$t("components.form.label.disabled")),1)]),_:1},8,["model-value"])]),l(ie,{width:"100%",color:"red",variant:"flat",class:"mt-3",loading:e(H)||e(Ee),onClick:C[3]||(C[3]=G(r=>I.value=!0,["prevent"]))},{default:a(()=>[P(c(S.$t("components.form.button.remove")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),l(_t,null,{default:a(()=>[l(bt,{elevation:"0"},{default:a(()=>[l(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[P(c(S.$t("components.camera_options.branding")),1)]),_:1}),l(ht,{eager:""},{default:a(()=>[m("div",Hr,[l(e(Te),{modelValue:e(_).info.manufacturer,"onUpdate:modelValue":C[4]||(C[4]=r=>e(_).info.manufacturer=r),name:"info.manufacturer"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",Yr,c(S.$t("components.form.label.manufacturer")),1),l(He,ze({loading:e(H),variant:"outlined",name:"info.manufacturer",type:"text",density:"compact"},r,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",Wr,[l(e(Te),{modelValue:e(_).info.model,"onUpdate:modelValue":C[5]||(C[5]=r=>e(_).info.model=r),name:"info.model"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",Xr,c(S.$t("components.form.label.model")),1),l(He,ze({loading:e(H),variant:"outlined",name:"info.model",type:"text",density:"compact"},r,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",Jr,[l(e(Te),{modelValue:e(_).info.hardware,"onUpdate:modelValue":C[6]||(C[6]=r=>e(_).info.hardware=r),name:"info.hardware"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",Gr,c(S.$t("components.form.label.hardware_version")),1),l(He,ze({loading:e(H),variant:"outlined",name:"info.hardware",type:"text",density:"compact"},r,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",ei,[l(e(Te),{modelValue:e(_).info.serialNumber,"onUpdate:modelValue":C[7]||(C[7]=r=>e(_).info.serialNumber=r),name:"info.serialNumber"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",ti,c(S.$t("components.form.label.serial_number")),1),l(He,ze({loading:e(H),variant:"outlined",name:"info.serialNumber",type:"text",density:"compact"},r,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",ai,[l(e(Te),{modelValue:e(_).info.firmwareVersion,"onUpdate:modelValue":C[8]||(C[8]=r=>e(_).info.firmwareVersion=r),name:"info.firmwareVersion"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",oi,c(S.$t("components.form.label.firmware_version")),1),l(He,ze({loading:e(H),variant:"outlined",name:"info.firmwareVersion",type:"text",density:"compact"},r,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",ni,[l(e(Te),{modelValue:e(_).info.supportUrl,"onUpdate:modelValue":C[9]||(C[9]=r=>e(_).info.supportUrl=r),name:"info.supportUrl"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",si,c(S.$t("components.form.label.snapshot_url")),1),l(He,ze({loading:e(H),variant:"outlined",name:"info.supportUrl",type:"text",density:"compact"},r,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1}),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),l(_t,null,{default:a(()=>[l(bt,{elevation:"0"},{default:a(()=>[l(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[P(c(S.$t("components.camera_options.interface")),1)]),_:1}),l(ht,{eager:""},{default:a(()=>[m("div",li,[l(e(Te),{modelValue:e(_).interface.streamingMode,"onUpdate:modelValue":C[10]||(C[10]=r=>e(_).interface.streamingMode=r),name:"interface.streamingMode"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",ri,c(S.$t("components.form.label.streaming_mode")),1),l(mt,ze({loading:e(H),items:e(de),variant:"outlined",name:"interface.streamingMode",type:"text",density:"compact",chips:""},r,{error:d.length>0,"error-messages":o,"model-value":r.value,onKeydown:G(()=>null,["prevent"])}),{chip:a(({item:h})=>[l(Je,{color:"#df2a4c"},{default:a(()=>[P(c(h.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),m("div",ii,[l(e(Te),{modelValue:e(_).interface.streamingSource,"onUpdate:modelValue":C[11]||(C[11]=r=>e(_).interface.streamingSource=r),name:"interface.streamingSource"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",ui,c(S.$t("components.form.label.streaming_source")),1),l(mt,ze({loading:e(H),items:e(fe),variant:"outlined",name:"interface.streamingSource",type:"text",density:"compact",chips:""},r,{error:d.length>0,"error-messages":o,"model-value":r.value,onKeydown:G(()=>null,["prevent"])}),{chip:a(({item:h})=>[l(Je,{color:"#df2a4c"},{default:a(()=>[P(c(h.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1}),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),l(_t,null,{default:a(()=>[l(bt,{elevation:"0"},{default:a(()=>[l(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[P(c(S.$t("components.camera_options.detection")),1)]),_:1}),l(ht,{eager:""},{default:a(()=>{var r,o,d;return[m("span",ci,c(S.$t("components.camera_options.motion_detection")),1),m("div",di,[m("div",mi,[l(e(Te),{modelValue:e(_).activitySettings.motion.timeout,"onUpdate:modelValue":C[12]||(C[12]=h=>e(_).activitySettings.motion.timeout=h),name:"activitySettings.motion.timeout"},{default:a(({field:h,errorMessage:K,errors:Q,value:L,setValue:ge})=>[m("label",pi,c(S.$t("components.form.label.motion_duration")),1),l(X,ze({loading:e(H),variant:"outlined",name:"activitySettings.motion.timeout",type:"number",density:"compact"},h,{error:Q.length>0,"error-messages":K,onChange:()=>L===""?ge(20):void 0}),null,16,["loading","error","error-messages","onChange"])]),_:1},8,["modelValue"])])]),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-5"}),m("span",vi,c(S.$t("components.camera_options.object_detection")),1),m("div",fi,[m("div",gi,[l(e(Te),{modelValue:e(_).activitySettings.object.confidence,"onUpdate:modelValue":C[13]||(C[13]=h=>e(_).activitySettings.object.confidence=h),name:"activitySettings.object.confidence"},{default:a(({field:h,errorMessage:K,errors:Q,value:L,setValue:ge})=>[m("label",yi,c(S.$t("components.form.label.confidence")),1),l(X,ze({loading:e(H),variant:"outlined",name:"activitySettings.object.confidence",type:"number",density:"compact"},h,{step:.01,error:Q.length>0,"error-messages":K,onChange:()=>L===""?ge(.7):void 0}),null,16,["loading","error","error-messages","onChange"])]),_:1},8,["modelValue"])])]),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-5"}),m("span",hi,c(S.$t("components.camera_options.zones")),1),m("div",bi,[(o=(r=e(W))==null?void 0:r.activityZones)!=null&&o.length?(i(!0),y($e,{key:1},Pe((d=e(W))==null?void 0:d.activityZones,(h,K)=>(i(),y("div",{key:K,class:"w-full flex flex-row items-center"},[l(He,{class:"my-1","model-value":h.name,variant:"outlined",density:"compact",type:"text","hide-details":"",readonly:""},{"append-inner":a(()=>[l(ie,{class:"mr-2",size:"24",rounded:"",density:"compact",variant:"flat",color:"green",loading:e(_e),onClick:G(Q=>De(h,!1),["prevent"])},{default:a(()=>[l(ee,{size:"16"},{default:a(()=>[P(c(e(La)),1)]),_:1})]),_:2},1032,["loading","onClick"]),l(ie,{size:"24",rounded:"",density:"compact",variant:"flat",color:"red",loading:e(_e),onClick:G(Q=>O(h.name),["prevent"])},{default:a(()=>[l(ee,{size:"16"},{default:a(()=>[P(c(e(xt)),1)]),_:1})]),_:2},1032,["loading","onClick"])]),_:2},1032,["model-value"])]))),128)):(i(),y("span",_i,c(S.$t("components.camera_options.no_zones")),1))]),l(ie,{class:"mt-3 mb-5",block:"",color:"#df2a4c",loading:e(_e),variant:"flat",onClick:C[14]||(C[14]=G(h=>Fe(),["prevent"]))},{default:a(()=>[P(c(S.$t("components.form.button.new_zone")),1)]),_:1},8,["loading"])]}),_:1})]),_:1})]),_:1}),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),l(_t,null,{default:a(()=>[l(bt,{elevation:"0"},{default:a(()=>[l(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[P(c(S.$t("components.camera_options.advanced")),1)]),_:1}),l(ht,{eager:""},{default:a(()=>[m("span",wi,c(S.$t("components.camera_options.snapshot")),1),m("div",$i,[m("div",ki,[l(e(Te),{modelValue:e(_).snapshotTTL,"onUpdate:modelValue":C[15]||(C[15]=r=>e(_).snapshotTTL=r),name:"snapshotTTL"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",Ci,c(S.$t("components.form.label.cache_time")),1),l(X,ze({loading:e(H),variant:"outlined",name:"snapshotTTL",type:"number",density:"compact"},r,{step:1,min:30,error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-5"}),m("span",xi,c(S.$t("components.camera_options.frame_worker")),1),m("div",Si,[m("div",Vi,[l(e(Te),{modelValue:e(_).frameWorkerSettings.decoder,"onUpdate:modelValue":C[16]||(C[16]=r=>e(_).frameWorkerSettings.decoder=r),name:"frameWorkerSettings.decoder"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",zi,c(S.$t("components.form.label.decoder")),1),l(mt,ze({loading:e(H),items:e(v),variant:"outlined",name:"frameWorkerSettings.decoder",type:"text",density:"compact",chips:""},r,{error:d.length>0,"error-messages":o,"model-value":r.value,onKeydown:G(()=>null,["prevent"])}),{chip:a(({item:h})=>[l(Je,{color:"#df2a4c"},{default:a(()=>[P(c(h.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),m("div",Pi,[l(e(Te),{modelValue:e(_).frameWorkerSettings.resolution,"onUpdate:modelValue":C[17]||(C[17]=r=>e(_).frameWorkerSettings.resolution=r),name:"frameWorkerSettings.resolution"},{default:a(({field:r,errorMessage:o,errors:d,value:h,setValue:K})=>[m("label",Ti,c(S.$t("components.form.label.resolution")),1),l(mt,ze({loading:e(H),items:e(V),variant:"outlined",name:"frameWorkerSettings.resolution",type:"string",density:"compact",chips:""},r,{hint:"higher resolution = higher CPU usage",error:d.length>0,"error-messages":o,"model-value":r.value,onKeydown:G(()=>null,["prevent"]),onChange:()=>h===""?K(640):void 0}),{chip:a(({item:Q})=>[l(Je,{color:"#df2a4c"},{default:a(()=>[P(c(Q.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value","onChange"])]),_:1},8,["modelValue"])]),m("div",Ei,[l(e(Te),{modelValue:e(_).frameWorkerSettings.fps,"onUpdate:modelValue":C[18]||(C[18]=r=>e(_).frameWorkerSettings.fps=r),name:"frameWorkerSettings.fps"},{default:a(({field:r,errorMessage:o,errors:d,value:h,setValue:K})=>[m("label",Mi,c(S.$t("components.form.label.fps")),1),l(X,ze({loading:e(H),variant:"outlined",name:"frameWorkerSettings.fps",type:"number",density:"compact"},r,{hint:"0 = native",step:1,min:0,max:30,error:d.length>0,"error-messages":o,onChange:()=>h===""?K(10):void 0}),null,16,["loading","error","error-messages","onChange"])]),_:1},8,["modelValue"])])])]),_:1})]),_:1})]),_:1})]),_:1},8,["validation-schema"])]),"segmentIcon.sources":a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(Wt)),1)]),_:1})]),"body.sources":a(()=>[l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),l(e(qt),{ref_key:"cameraVeeForm2",ref:Z,class:"flex flex-col h-full w-full p-2","validation-schema":e(xa)},{default:a(()=>[(i(!0),y($e,null,Pe(e(_).sources,(r,o)=>(i(),y("div",{key:o},[je(m("div",null,[l(_t,null,{default:a(()=>[l(bt,{elevation:"0"},{default:a(()=>[l(yt,{style:{height:"48px"},class:"truncate"},{actions:a(({expanded:d})=>{var h;return[m("div",Bi,[l(ie,{loading:e(H),disabled:((h=e(_))==null?void 0:h.sources)!==void 0&&e(_).sources.length<2||r.internal,size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:G(K=>Ae(o),["prevent"])},{default:a(()=>[l(ee,null,{default:a(()=>[P(c(e(xt)),1)]),_:1})]),_:2},1032,["loading","disabled","onClick"]),d?(i(),B(ee,{key:0,size:"22.5"},{default:a(()=>[P(c(e(Fa)),1)]),_:1})):(i(),B(ee,{key:1,size:"22.5"},{default:a(()=>[P(c(e(Ia)),1)]),_:1}))])]}),default:a(()=>[P(c(S.$t("components.camera_options.source")+": "+r.name.replace(/ /g,"_").toLowerCase())+" ",1)]),_:2},1024),l(ht,{eager:""},{default:a(()=>{var d;return[m("div",Di,[l(e(Te),{modelValue:r.name,"onUpdate:modelValue":h=>r.name=h,name:`sources[${o}].name`},{default:a(({field:h,errorMessage:K,errors:Q})=>{var L;return[m("label",{for:`sources[${o}].name`,class:"v-label"},c(S.$t("components.form.label.source_name")),9,Li),l(He,ze({loading:e(H),disabled:((L=e(W))==null?void 0:L.sources.some(ge=>ge.name===r.name))||r.internal,variant:"outlined",name:`sources[${o}].name`,type:"text",density:"compact",ref_for:!0},h,{error:Q.length>0,"error-messages":K}),null,16,["loading","disabled","name","error","error-messages"])]}),_:2},1032,["modelValue","onUpdate:modelValue","name"])]),(d=e(W))!=null&&d.sources.some(h=>h.name===r.name)&&!r.internal?(i(),B(J,{key:0,"camera-name":e(p),"source-name":("toRaw"in S?S.toRaw:e(Co))(r.name)},null,8,["camera-name","source-name"])):R("",!0),m("div",Fi,[l(e(Te),{modelValue:r.roles,"onUpdate:modelValue":h=>r.roles=h,name:`sources[${o}].roles`},{default:a(({field:h,errorMessage:K,errors:Q})=>[m("label",{for:`sources[${o}].roles`,class:"v-label"},c(S.$t("components.form.label.source_role")),9,Ii),l(mt,ze({loading:e(H),items:e(se).filter(L=>!e(_).sources.some((ge,Ve)=>ge.roles.includes(L)&&Ve!==o)),disabled:r.internal,variant:"outlined",name:`sources[${o}].roles`,type:"text",density:"compact",chips:"",multiple:"",ref_for:!0},h,{"model-value":h.value,error:Q.length>0,"error-messages":K,onKeydown:G(()=>null,["prevent"])}),{chip:a(({item:L})=>[l(Je,{color:"#df2a4c"},{default:a(()=>[P(c(L.title),1)]),_:2},1024)]),_:2},1040,["loading","items","disabled","name","model-value","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"])]),m("div",Qi,[m("label",{for:`sources[${o}].urls[]`,class:"v-label"},c(S.$t("components.form.label.sources")),9,qi),(i(!0),y($e,null,Pe(r.urls,(h,K)=>(i(),y("div",{key:K,class:"mb-3"},[l(e(Te),{modelValue:r.urls[K],"onUpdate:modelValue":Q=>r.urls[K]=Q,name:`sources[${o}].urls[${K}]`,value:h},{default:a(({field:Q,errorMessage:L,errors:ge})=>[l(He,ze({loading:e(H),variant:"outlined",name:`sources[${o}].urls[${K}]`,disabled:r.internal,type:"text",density:"compact",ref_for:!0},Q,{error:ge.length>0,"error-messages":L}),{"append-inner":a(()=>[r.urls.length>1?(i(),B(ie,{key:0,loading:e(H),size:"28",variant:"text",rounded:"",density:"compact",color:"red",disabled:r.urls.length<2,onClick:G(Ve=>Oe(o,K),["prevent"])},{default:a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(No)),1)]),_:1})]),_:2},1032,["loading","disabled","onClick"])):R("",!0)]),_:2},1040,["loading","name","disabled","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name","value"])]))),128)),l(ie,{loading:e(H),disabled:r.internal,color:"#df2a4c",variant:"flat",class:"ml-auto",onClick:G(h=>qe(o),["prevent"])},{default:a(()=>[P(c(S.$t("components.form.button.add_source")),1)]),_:2},1032,["loading","disabled","onClick"])])]}),_:2},1024)]),_:2},1024)]),_:2},1024),l(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})],512),[[Et,!r.internal]])]))),128)),m("div",Oi,[l(ie,{loading:e(H),variant:"text",color:"#df2a4c",icon:"",onClick:G(he,["prevent"])},{default:a(()=>[l(ee,{size:"30"},{default:a(()=>[P(c(e(Qa)),1)]),_:1})]),_:1},8,["loading"])])]),_:1},8,["validation-schema"])]),"segmentIcon.plugins":a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(Ao)),1)]),_:1})]),"body.plugins":a(()=>[e(b)==="plugins"?(i(),B(lr,{key:0,"camera-name":e(p)},null,8,["camera-name"])):R("",!0)]),footer:a(()=>[e(re)?(i(),y("div",Ai,[l(ie,{width:"100%",color:"green",variant:"flat",loading:e(H)||e(Ee),onClick:G(N,["prevent"])},{default:a(()=>[P(c(S.$t("components.form.button.save")),1)]),_:1},8,["loading"])])):R("",!0)]),_:1},8,["state","title","segments","loading","selected"])):R("",!0),l(be,{modelValue:e(I),"onUpdate:modelValue":C[21]||(C[21]=r=>Me(I)?I.value=r:null),title:S.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.remove",loading:e(H)||e(Ee),onConfirm:C[22]||(C[22]=r=>ke())},{content:a(()=>[m("span",null,c(S.$t("components.dialog.message.confirm_remove")),1)]),_:1},8,["modelValue","title","loading"]),l(be,{modelValue:e(oe),"onUpdate:modelValue":C[24]||(C[24]=r=>Me(oe)?oe.value=r:null),title:S.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.open_editor",loading:e(H)||e(Ee),onConfirm:C[25]||(C[25]=r=>De(e(z),!0))},{content:a(()=>[l(e(qt),{ref_key:"cameraVeeForm3",ref:T,"validation-schema":e(Xa),"initial-values":e(z)},{default:a(()=>[l(e(Te),{modelValue:e(z).name,"onUpdate:modelValue":C[23]||(C[23]=r=>e(z).name=r),name:"name",type:"text"},{default:a(({field:r,errorMessage:o,errors:d})=>[m("label",Ni,c(S.$t("components.form.label.zone_name")),1),l(He,ze({class:"my-1",variant:"outlined",density:"compact",type:"text",name:"name"},r,{error:d.length>0,"error-messages":o}),null,16,["error","error-messages"])]),_:1},8,["modelValue"])]),_:1},8,["validation-schema","initial-values"])]),_:1},8,["modelValue","title","loading"]),e(te)?(i(),B(Ue,{key:1,"camera-name":e(p),zones:e(te),"is-new-zone":e(k),onShowModal:C[26]||(C[26]=r=>r?null:Re())},null,8,["camera-name","zones","is-new-zone"])):R("",!0)],64)}}}),Ui=ot(Ri,[["__scopeId","data-v-e839567c"]]),ji={class:"flex items-center justify-between"},Zi={class:"leading-4 flex flex-col p-2"},Ki={key:0,class:"text-left"},Hi={key:0},Yi={class:"player-camera-subtitle ml-1"},Wi={key:1},Xi={class:"player-camera-subtitle ml-1"},Ji={class:"flex items-center ml-auto"},Gi=Ne({__name:"VCameraControl",props:{currentCamera:{},absoluteTitle:{type:Boolean,default:!1},clickableTitle:{type:Boolean,default:!1},buttonElevation:{default:"0"},showTooltips:{type:Boolean,default:!0},showTitleIndicator:{type:Boolean,default:!1},motionDetectionsDisabled:{type:Boolean,default:!0},objectDetectionsDisabled:{type:Boolean,default:!0},settings:{type:Boolean,default:!1},share:{type:Boolean,default:!1},snapshot:{type:Boolean,default:!1},refreshSnapshot:{type:Boolean,default:!1},motions:{type:Boolean,default:!1},objects:{type:Boolean,default:!1},zones:{type:Boolean,default:!1},shortcuts:{type:Boolean,default:!1},logs:{type:Boolean,default:!1},streamLoading:{type:Boolean,default:!1}},emits:["share","snapshot","refresh-snapshot","settings","logs","adding-shortcuts","show-motion-detections","show-object-detections","show-zones"],setup(t,{emit:n}){const{isTouch:s}=Rt(),f=n,x=t,{absoluteTitle:w,clickableTitle:j,buttonElevation:p,showTooltips:D,shortcuts:q,share:_,snapshot:$,refreshSnapshot:Z,motions:T,objects:u,zones:U,settings:E,logs:b,streamLoading:te,motionDetectionsDisabled:re,objectDetectionsDisabled:I,showTitleIndicator:oe}=Ke(x),se=g(!1),de=g(!1),fe=g(!1),ne=g(!1);return ve(se,V=>{f("adding-shortcuts",V)}),ve(de,V=>{f("show-motion-detections",V)}),ve(fe,V=>{f("show-object-detections",V)}),ve(ne,V=>{f("show-zones",V)}),(V,v)=>(i(),y("div",{class:Tt(["p-2 px-3",{"player-header-absolute":e(w),"player-header-container":!e(w)}])},[m("div",ji,[l(ie,{class:Tt({"player-title-text":!e(w),"cursor-pointer":e(j),"cursor-default":!e(j)}),style:{padding:"0"},ripple:e(w),color:e(w)?"#212121":void 0,height:"100%",variant:e(w)?"elevated":"text",elevation:e(p),rounded:"",to:e(j)?`/cameras/${V.currentCamera}`:void 0},{default:a(()=>[m("div",Zi,[m("h3",{class:"player-camera-title text-left truncate",style:rt({color:e(w)?"#ffffff":"color: var(--color)",maxWidth:"150px"})},c(V.currentCamera),5),e(oe)?(i(),y("div",Ki,[e(te)?(i(),y("div",Hi,[l(Ze,{size:"10",width:"2",indeterminate:"",color:"#0173ff"}),m("span",Yi,c(V.$t("general.loading")),1)])):(i(),y("div",Wi,[l(Ze,{size:"10",width:"1","model-value":100,color:"red"},{default:a(()=>v[9]||(v[9]=[m("div",{class:"circle-indicator",style:{"background-color":"red"}},null,-1)])),_:1}),m("span",Xi,c(V.$t("components.player.live")),1)]))])):R("",!0)])]),_:1},8,["class","ripple","color","variant","elevation","to"]),m("div",Ji,[e(_)?je((i(),B(ie,{key:0,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(te),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[0]||(v[0]=G(k=>f("share"),["prevent"]))},{default:a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(Uo)),1)]),_:1})]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:V.$t("components.player.share_camera")}]]):R("",!0),e($)?je((i(),B(ie,{key:1,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(te),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[1]||(v[1]=G(k=>f("snapshot"),["prevent"]))},{default:a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(jo)),1)]),_:1})]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:V.$t("components.player.capture_snapshot")}]]):R("",!0),e(T)&&!e(re)?je((i(),B(ie,{key:2,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(te),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[2]||(v[2]=G(k=>de.value=!e(de),["prevent"]))},{default:a(()=>[l(ee,{size:"20",disabled:!e(de)},{default:a(()=>[P(c(e(Zo)),1)]),_:1},8,["disabled"])]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:e(de)?V.$t("components.player.hide_motions"):V.$t("components.player.show_motions")}]]):R("",!0),e(u)&&!e(I)?je((i(),B(ie,{key:3,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(te),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[3]||(v[3]=G(k=>fe.value=!e(fe),["prevent"]))},{default:a(()=>[l(ee,{size:"20",disabled:!e(fe)},{default:a(()=>[P(c(e(Ko)),1)]),_:1},8,["disabled"])]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:e(fe)?V.$t("components.player.hide_objects"):V.$t("components.player.show_objects")}]]):R("",!0),e(U)?je((i(),B(ie,{key:4,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(te),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[4]||(v[4]=G(k=>ne.value=!e(ne),["prevent"]))},{default:a(()=>[l(ee,{size:"20",disabled:!e(ne)},{default:a(()=>[P(c(e(Ho)),1)]),_:1},8,["disabled"])]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:e(ne)?V.$t("components.player.hide_zones"):V.$t("components.player.show_zones")}]]):R("",!0),e(q)?je((i(),B(ie,{key:5,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(te),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[5]||(v[5]=G(k=>se.value=!e(se),["prevent"]))},{default:a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(se)?e(Yo):e(Wo)),1)]),_:1})]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:e(se)?V.$t("components.player.save_shortcuts"):V.$t("components.player.add_shortcuts")}]]):R("",!0),e(Z)?je((i(),B(ie,{key:6,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(te),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[6]||(v[6]=G(k=>f("refresh-snapshot"),["prevent"]))},{default:a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(Xo)),1)]),_:1})]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:V.$t("components.player.refresh_snapshot")}]]):R("",!0),e(b)&&e(fa)(void 0,"admin")?je((i(),B(ie,{key:7,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[7]||(v[7]=G(k=>f("logs"),["prevent"]))},{default:a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(Jo)),1)]),_:1})]),_:1},8,["variant","icon","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:V.$t("components.player.log")}]]):R("",!0),e(E)&&e(fa)(void 0,"admin")?je((i(),B(ie,{key:8,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:v[8]||(v[8]=G(k=>f("settings"),["prevent"]))},{default:a(()=>[l(ee,{size:"20"},{default:a(()=>[P(c(e(ea)),1)]),_:1})]),_:1},8,["variant","icon","elevation","color"])),[[it,{disabled:!e(D)||e(s),location:"top",text:V.$t("components.player.settings")}]]):R("",!0)])])],2))}}),eu=ot(Gi,[["__scopeId","data-v-a5980562"]]),tu=Ne({__name:"VZoomable",setup(t){const n=g(null),s=g(1),f=g(0),x=g(0),w=g(0),j=g(0);let p=0,D=!1,q=0,_=0;const $=ae(()=>({transform:`translate(${f.value}px, ${x.value}px) scale(${s.value})`,transformOrigin:"center"}));Mt(()=>{if(n.value){const{width:E,height:b}=n.value.getBoundingClientRect();w.value=E,j.value=b}});const Z=()=>{const E=w.value*(s.value-1)/2,b=j.value*(s.value-1)/2;f.value=Math.max(Math.min(f.value,E),-E),x.value=Math.max(Math.min(x.value,b),-b)};ve(s,Z);const T=E=>{if(E.touches.length===2){const b=E.touches[0],te=E.touches[1];p=Math.hypot(b.clientX-te.clientX,b.clientY-te.clientY)}else E.touches.length===1&&(D=!0,q=E.touches[0].clientX-f.value,_=E.touches[0].clientY-x.value)},u=E=>{if(E.touches.length===2){const b=E.touches[0],te=E.touches[1],re=Math.hypot(b.clientX-te.clientX,b.clientY-te.clientY),I=s.value*(re/p);s.value=Math.min(Math.max(I,1),5),p=re,Z()}else E.touches.length===1&&D&&(f.value=E.touches[0].clientX-q,x.value=E.touches[0].clientY-_,Z())},U=()=>{D=!1};return(E,b)=>(i(),y("div",{ref_key:"zoomableDiv",ref:n,class:"zoomable-container",style:rt(e($)),onTouchstart:T,onTouchmove:u,onTouchend:U},[Qt(E.$slots,"default",{},void 0,!0)],36))}}),au=ot(tu,[["__scopeId","data-v-f90e10cf"]]),ou=["data-ignore-id"],nu={class:"snapshot-hover-container flex items-center justify-center elevation-3"},su={key:0,style:{width:"100%","aspect-ratio":"16/9"}},lu={class:"shortcut-menu p-3 elevation-5"},ru=Ne({__name:"VCameraShortcuts",props:{currentCamera:{},clickInsideId:{},addingShortcuts:{type:Boolean}},setup(t){var De;const n=new vt,s=new _o,f=bo(),x=ja(),w=t,{clickInsideId:j,currentCamera:p,addingShortcuts:D}=Ke(w),{loginState:q}=Ua(f),_=g(null),$=g(null),Z=g({}),T=g({}),u=g({}),U=g(!1),E=g(),b=g({page:1,pageSize:-1}),te=g(!1),re=g([]),I=g({}),oe=Ft($),{data:se,isLoading:de}=n.getCameraQuery(p),{data:fe,isLoading:ne}=n.getCamerasQuery(b),{data:V,isLoading:v}=s.getUserQuery(((De=q.value.user)==null?void 0:De.username)||""),{mutate:k,isPending:z}=s.patchShortcutQuery(),{mutateAsync:W,isPending:M}=s.createShortcutQuery(),{mutateAsync:Y,isPending:le}=s.removeShortcutQuery(),me=ae(()=>de.value||v.value||z.value||ne.value||M.value||le.value),Se=ae(()=>{var O;return(O=fe.value)!=null&&O.result?fe.value.result.filter(N=>N.name!==p.value):[]});ve([V,se],()=>{var O;V.value&&se.value&&(re.value=((O=V.value.preferences.cameras[se.value._id])==null?void 0:O.shortcuts)||[])},{immediate:!0,deep:!0}),ve([oe.width,oe.height],()=>{te.value=!0,pt(()=>{qe()})}),ve(re,()=>{pt(()=>{Oe()})},{deep:!0,immediate:!0}),ve(te,O=>{O&&(E.value=void 0)});const pe=(O,N)=>{I.value[O]=U.value?!1:N,Object.entries(I.value).forEach(([S,C])=>{S!==O&&C&&(I.value[S]=!1)})},ye=O=>{U.value||Ae(O)},H=(O,N)=>{O||(I.value[N._id]?(pe(N._id,!1),Re(N.cameraId)):pe(N._id,!0))},_e=()=>{Object.entries(T.value).forEach(([O,N])=>{const S=$.value;if(!S)return;const C=S.getBoundingClientRect(),X=N.element.getBoundingClientRect(),J=(X.left-C.left)/C.width*100,Ce=(X.top-C.top)/C.height*100;u.value[O]={x:Math.max(0,Math.min(J,100)),y:Math.max(0,Math.min(Ce,100))}})},Ee=()=>{Object.entries(T.value).forEach(([O,N])=>{const S=u.value[O];if(!S)return;const C=$.value;if(!C)return;const X=C.getBoundingClientRect(),J=N.element.getBoundingClientRect(),Ce=X.width-J.width,be=X.height-J.height,Ue=Math.max(0,Math.min(S.x/100*X.width,Ce)),r=Math.max(0,Math.min(S.y/100*X.height,be));N.setPosition(Ue,r)}),te.value=!1},qe=()=>{Object.entries(u.value).forEach(([O,N])=>{u.value[O]={x:Math.max(0,Math.min(N.x,100)),y:Math.max(0,Math.min(N.y,100))}}),Ee()},Oe=()=>{for(const[O,N]of Object.entries(T.value))re.value.find(S=>S._id===O)||(N.destroy(),delete T.value[O],delete u.value[O]);for(const[O]of Object.entries(u.value))re.value.find(N=>N._id===O)||delete u.value[O];for(const[O,N]of Object.entries(Z.value)){const S=re.value.find(C=>C._id===O);if(N&&S&&$.value){T.value[S._id]&&T.value[S._id].destroy();const C=new qa(N,{containment:$.value});T.value[S._id]=C;const[X,J]=S.coords.points,Ce=$.value.getBoundingClientRect(),be=X/100*Ce.width,Ue=J/100*Ce.height;C.setPosition(be,Ue),u.value[S._id]={x:X,y:J},C.on("dragMove",()=>{U.value=!0}),C.on("dragEnd",()=>{if(setTimeout(()=>{U.value=!1},50),_e(),!V.value||!se.value)return;const r=u.value[S._id];k({username:V.value.username,cameraname:se.value.name,shortcutid:S._id,shortcutData:{coords:{_id:S.coords._id,points:[r.x,r.y]}}})})}}Ee()},ke=O=>{if(!D.value||!$.value)return;const N=$.value.getBoundingClientRect(),S=35,C=35;E.value={x:Math.max(0,Math.min(O.clientX-N.left-S/2,N.width-S)),y:Math.max(0,Math.min(O.clientY-N.top-C/2,N.height-C))}},he=async O=>{if(!_.value||!V.value||!se.value||!$.value)return;const N=$.value,S=_.value,C=N.getBoundingClientRect(),X=S.getBoundingClientRect(),J=X.left-C.left,Ce=X.top-C.top,be=J/C.width*100,Ue=Ce/C.height*100;await W({username:V.value.username,cameraname:se.value.name,shortcutData:{_id:"",coords:{_id:"",points:[be,Ue]},cameraId:O._id}},{onSuccess:r=>{re.value=r}}),E.value=void 0},Ae=async O=>{!V.value||!se.value||await Y({username:V.value.username,cameraname:se.value.name,shortcutid:O._id},{onSuccess:N=>{re.value=N}})},Fe=(O,N)=>{Z.value[N]=O},Re=async O=>{if(U.value)return;const N=new AbortController,C=(await Wa({cameraname:O,signal:N.signal})).name;C&&x.push(`/cameras/${C}`)};return xo(()=>{Z.value={}}),Mt(()=>{pt(()=>{Oe()})}),So(()=>{Object.values(T.value).forEach(O=>O.destroy())}),(O,N)=>{const S=Ga,C=jt;return i(),y("div",{ref_key:"shortcutContainer",ref:$,class:"shortcut-container relative",style:rt({cursor:e(D)?"pointer":"default"}),onClick:G(ke,["self"])},[(i(!0),y($e,null,Pe(e(re),X=>je((i(),y("div",{ref_for:!0,ref:J=>Fe(J,X._id),key:X._id,class:"draggable absolute","data-ignore-id":e(j),style:rt({background:e(I)[X._id]?"#545454":void 0})},[l(ie,{color:"#383838",size:"32",density:"compact",icon:"",variant:"elevated",active:e(I)[X._id]},{default:a(()=>[l(ee,{size:"30",style:{"margin-top":"3px"}},{default:a(()=>N[1]||(N[1]=[P(c("$cuiCamera"))])),_:1})]),_:2},1032,["active"]),l(_a,{"model-value":e(U)?!1:e(I)[X._id]||void 0,target:"parent",offset:[10,20]},{default:a(()=>{var J;return[m("div",nu,[(J=e(fe))!=null&&J.result.find(Ce=>Ce._id===X.cameraId)?(i(),B(S,{key:1,"current-camera":e(fe).result.find(Ce=>Ce._id===X.cameraId).name,"border-radius":0,target:"stream","source-role":"low-resolution","show-mode":!1,"show-live-indicator":""},null,8,["current-camera"])):(i(),y("div",su,[l(Ze,{color:"#df2a4c",indeterminate:""})]))])]}),_:2},1032,["model-value"])],12,ou)),[[e(fn),J=>pe(X._id,J)],[e(gn),[()=>ye(X),{distanceThreshold:24,delay:1e3,onMouseUp:(J,Ce,be)=>H(be,X)}]]])),128)),e(E)?(i(),y("div",{key:0,ref_key:"placeholderEl",ref:_,class:"draggable absolute",style:rt(`left: ${e(E).x}px; top: ${e(E).y}px;`)},[l(ie,{color:"#383838",size:"32",density:"compact",icon:"",variant:"elevated"},{default:a(()=>[l(ee,{size:"30",style:{"margin-top":"3px"}},{default:a(()=>N[2]||(N[2]=[P(c("$cuiCamera"))])),_:1})]),_:1})],4)):R("",!0),e(D)&&!e(U)&&!e(te)?(i(),B(_a,{key:1,offset:[30,0],activator:"parent",target:"cursor","onUpdate:modelValue":N[0]||(N[0]=X=>X?null:E.value=void 0)},{default:a(()=>[m("div",lu,[(i(!0),y($e,null,Pe(e(Se),X=>(i(),B(C,{key:X._id,class:"shortcut-menu-item elevation-1","camera-name":X.name,width:"100%",loading:e(me),onClick:G(J=>he(X),["prevent"])},null,8,["camera-name","loading","onClick"]))),128))])]),_:1})):R("",!0)],4)}}}),iu=ot(ru,[["__scopeId","data-v-e9e8a575"]]),uu={class:"stream-control flex flex-row items-center justify-center elevation-2"},cu=Ne({__name:"VPlayerController",props:{showVolume:{type:Boolean,default:!0},showRewind:{type:Boolean,default:!1},showFastForward:{type:Boolean,default:!1},showPlayPause:{type:Boolean,default:!0},showMicrophone:{type:Boolean,default:!1},showAirplay:{type:Boolean,default:!1},showPip:{type:Boolean,default:!1},showFs:{type:Boolean,default:!1},playing:{type:Boolean},muted:{type:Boolean},micActive:{type:Boolean},isFs:{type:Boolean},isPip:{type:Boolean},loading:{type:Boolean},collapsedControls:{default(){return[]}}},emits:["toggle-mute","toggle-play","toggle-microphone","toggle-airplay","toggle-picture-in-picture","toggle-fullscreen","toggle-rewind","toggle-fast-forward","toggle-playback-rate"],setup(t,{emit:n}){const s=n,f=t,{showAirplay:x,showFastForward:w,showMicrophone:j,showPip:p,showPlayPause:D,showRewind:q,showVolume:_,playing:$,micActive:Z,muted:T,loading:u,showFs:U,isFs:E,isPip:b,collapsedControls:te}=Ke(f),re=ae(()=>te.value.includes("airplay")),I=ae(()=>te.value.includes("fast-forward")),oe=ae(()=>te.value.includes("microphone")),se=ae(()=>te.value.includes("pip")),de=ae(()=>te.value.includes("play-pause")),fe=ae(()=>te.value.includes("rewind")),ne=ae(()=>te.value.includes("volume")),V=ae(()=>te.value.includes("fs"));return(v,k)=>(i(),y("div",uu,[e(fe)?R("",!0):(i(),B(ie,{key:0,disabled:!e(q)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:k[0]||(k[0]=G(z=>s("toggle-rewind"),["prevent"]))},{default:a(()=>[l(ee,{color:"#fff",size:"18"},{default:a(()=>[P(c(e(Go)),1)]),_:1})]),_:1},8,["disabled"])),e(de)?R("",!0):(i(),B(ie,{key:1,disabled:!e(D)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:k[1]||(k[1]=G(z=>s("toggle-play"),["prevent"]))},{default:a(()=>[e(de)?R("",!0):(i(),B(ee,{key:0,color:"#fff",size:"18"},{default:a(()=>[P(c(e($)?e(en):e(tn)),1)]),_:1}))]),_:1},8,["disabled"])),e(I)?R("",!0):(i(),B(ie,{key:2,disabled:!e(w)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:k[2]||(k[2]=G(z=>s("toggle-fast-forward"),["prevent"]))},{default:a(()=>[l(ee,{color:"#fff",size:"18"},{default:a(()=>[P(c(e(an)),1)]),_:1})]),_:1},8,["disabled"])),e(ne)?R("",!0):(i(),B(ie,{key:3,disabled:!e(_)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:k[3]||(k[3]=G(z=>s("toggle-mute"),["prevent"]))},{default:a(()=>[l(ee,{color:"#fff",size:"18"},{default:a(()=>[P(c(e(T)?e(on):e(nn)),1)]),_:1})]),_:1},8,["disabled"])),e(oe)?R("",!0):(i(),B(ie,{key:4,disabled:!e(j)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:k[4]||(k[4]=G(z=>s("toggle-microphone"),["prevent"]))},{default:a(()=>[l(ee,{color:"#fff",size:"18"},{default:a(()=>[P(c(e(Z)?e(sn):e(ln)),1)]),_:1})]),_:1},8,["disabled"])),e(re)?R("",!0):(i(),B(ie,{key:5,disabled:!e(x)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:k[5]||(k[5]=G(z=>s("toggle-airplay"),["prevent"]))},{default:a(()=>[l(ee,{color:"#fff",size:"18"},{default:a(()=>[P(c(e(rn)),1)]),_:1})]),_:1},8,["disabled"])),e(se)?R("",!0):(i(),B(ie,{key:6,disabled:!e(p)||e(u)||e(E),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:k[6]||(k[6]=G(z=>s("toggle-picture-in-picture"),["prevent"]))},{default:a(()=>[l(ee,{color:"#fff",size:"18"},{default:a(()=>[P(c(e(b)?e(un):e(cn)),1)]),_:1})]),_:1},8,["disabled"])),e(V)?R("",!0):(i(),B(ie,{key:7,disabled:!e(U)||e(u)||e(b),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:k[7]||(k[7]=G(z=>s("toggle-fullscreen"),["prevent"]))},{default:a(()=>[l(ee,{color:"#fff",size:"18"},{default:a(()=>[P(c(e(E)?e(dn):e(mn)),1)]),_:1})]),_:1},8,["disabled"]))]))}}),du=ot(cu,[["__scopeId","data-v-b5e30f72"]]),mu=Ne({__name:"VBBoxPlayground",props:{color:{default:"#df2a4c"},detections:{default(){return[]}}},setup(t,{expose:n}){const s=t,{color:f,detections:x}=Ke(s),w=g(null),j=Ft(w),p=q=>{if(!w.value)return;const $=w.value.getContext("2d");if($&&(D(),q.length)){const Z=q[0].origWidth,T=q[0].origHeight;w.value.width=j.width.value,w.value.height=j.height.value;const u=w.value.width/Z,U=w.value.height/T;q.forEach(E=>{const{origHeight:b,origWidth:te,inputWidth:re,inputHeight:I}=E,[oe,se,de,fe]=E.boundingBox,ne=Math.round(oe*te/re),V=Math.round(se*b/I),v=Math.round(de*te/re),k=Math.round(fe*b/I),z=ne*u,W=V*U,M=v*u,Y=k*U;$.strokeStyle=f.value,$.lineWidth=2,$.beginPath(),$.moveTo(z+5,W),$.lineTo(M-5,W),$.quadraticCurveTo(M,W,M,W+5),$.lineTo(M,Y-5),$.quadraticCurveTo(M,Y,M-5,Y),$.lineTo(z+5,Y),$.quadraticCurveTo(z,Y,z,Y-5),$.lineTo(z,W+5),$.quadraticCurveTo(z,W,z+5,W),$.closePath(),$.stroke();const le=`${E.label} (${(E.confidence*100).toFixed(2)}%)`,me=$.measureText(le).width+27,Se=20,pe=z;let ye=W-Se-5;ye<0&&(ye=W+5);const H=10,_e=5;$.beginPath(),$.moveTo(pe+_e,ye),$.lineTo(pe+me+H*2-_e,ye),$.quadraticCurveTo(pe+me+H*2,ye,pe+me+H*2,ye+_e),$.lineTo(pe+me+H*2,ye+Se-_e),$.quadraticCurveTo(pe+me+H*2,ye+Se,pe+me+H*2-_e,ye+Se),$.lineTo(pe+_e,ye+Se),$.quadraticCurveTo(pe,ye+Se,pe,ye+Se-_e),$.lineTo(pe,ye+_e),$.quadraticCurveTo(pe,ye,pe+_e,ye),$.closePath(),$.fillStyle="rgba(255, 255, 255, 0.7)",$.fill(),$.fillStyle="black",$.font="bold 13px sans-serif",$.textAlign="left",$.textBaseline="bottom",$.fillText(le,pe+H,ye+Se-3)})}},D=()=>{if(!w.value)return;const q=w.value.getContext("2d");q&&q.clearRect(0,0,j.width.value,j.height.value)};return ve(x,q=>{pt(()=>{p(q)})},{deep:!0,immediate:!0}),n({draw:p,clear:D}),(q,_)=>(i(),y("canvas",{ref_key:"bboxCanvas",ref:w,class:"canvas-container"},null,512))}}),Sa=ot(mu,[["__scopeId","data-v-bdd3e850"]]),pu=["data-inside-id"],vu={key:1,class:"camera-name text-white"},fu={class:"video-extras flex items-center justify-center"},gu={key:0,class:"video-extras-bg text-white p-2"},yu={key:1,class:"mx-1"},hu={key:2,class:"absolute w-full h-full flex flex-col items-center justify-center z-5"},bu={key:0,class:"mt-3 text-white text-sm text-shadow"},_u={key:5,width:"100%",height:"100%",class:"zones-container polygon-container"},wu=["d"],$u=["muted"],ku=5e3,Cu=1e4,xu=1e3,Su=Ne({__name:"VCameraStream",props:{currentCamera:{},showCameraName:{type:Boolean,default:!1},showLiveIndicator:{type:Boolean,default:!1},showMode:{type:Boolean,default:!0},autoHideControl:{type:Boolean,default:!0},enableControl:{type:Boolean,default:!1},allowStreamRunningInBg:{type:Boolean,default:!1},sourceRole:{default:"high-resolution"},mode:{},motions:{type:Boolean,default:!1},objects:{type:Boolean,default:!1},zones:{type:Boolean,default:!1},shortcuts:{type:Boolean,default:!1},addingShortcuts:{type:Boolean,default:!1}},emits:["streamFinishedLoading"],setup(t,{expose:n,emit:s}){var pa,va;const f=new vt,{mobileActive:x}=Ta(),{api:w}=Pa(),{fsSupported:j,isIphone:p,isMobile:D}=Rt(),q=s,_=t,{showCameraName:$,showLiveIndicator:Z,currentCamera:T,autoHideControl:u,enableControl:U,allowStreamRunningInBg:E,sourceRole:b,mode:te,motions:re,objects:I,zones:oe,shortcuts:se,addingShortcuts:de}=Ke(_),fe=g(null),ne=g(wo()),V=g(),v=g("loading"),k=g(),z=g(!1),W=g(!1),M=g(null),Y=g(),le=g(!1),me=g(!1),Se=g(!1),pe=g(!0),ye=g(!1),H=g(!1),_e=g(!1),Ee=g(!1),qe=g(!0),Oe=g(!0),ke=g(!1),he=g(!1),Ae=g(!1),Fe=g(),Re=g(),De=g([]),O=g(null),N=g();let S,C,X,J,Ce;const be=f.getCameraQuery(T),Ue=Ft(M),{isFullscreen:r,toggle:o}=Oa(M),d=ae(()=>!!(be!=null&&be.isLoading.value||!H.value||le.value)),h=ae(()=>v.value!=="mjpeg"&&v.value!=="mp4"&&W.value),K=ae(()=>navigator.mediaDevices&&z.value),Q=ae(()=>{var F,ue;return!!(v.value==="hls"&&((F=be==null?void 0:be.data.value)==null?void 0:F.interface.streamingMode)==="hls"&&((ue=M.value)!=null&&ue.canPlayType("application/vnd.apple.mpegurl"))&&Y.value!==void 0)}),L=ae(()=>document.pictureInPictureEnabled&&!p.value&&v.value!=="mp4"&&v.value!=="mjpeg"),ge=ae(()=>v.value!=="mjpeg"&&v.value!=="mp4");if(Lt(M,"pause",()=>{ye.value=!1}),Lt(M,"play",()=>{ye.value=!0}),Lt(M,"enterpictureinpicture",()=>Se.value=!0),Lt(M,"leavepictureinpicture",()=>Se.value=!1),U.value&&ta(fe,F=>{const ue=F.target,xe=ue.closest(`[data-inside-id='${ne.value}']`),Ie=ue.closest(`[data-ignore-id='${ne.value}']`);xe&&!Ie&&!de.value&&(u.value&&da(),Ee.value=!Ee.value)}),((pa=be==null?void 0:be.data.value)==null?void 0:pa.interface.streamingMode)==="hls"&&((va=M.value)!=null&&va.canPlayType("application/vnd.apple.mpegurl"))&&"WebKitPlaybackTargetAvailabilityEvent"in window&&Lt(M,"webkitplaybacktargetavailabilitychanged",F=>{switch(F.availability){case"available":Y.value=!0;break;case"not-available":Y.value=void 0;break}}),!E.value&&!D.value){const F=yn();ve(F,ue=>{var xe;ue==="hidden"?me.value===!1&&(clearTimeout(J),J=setTimeout(()=>{ma()},Cu)):(clearTimeout(J),me.value&&((xe=O.value)==null||xe.reconnect()))})}ve(le,async F=>{F&&await Zt(!1,!1)}),ve(H,F=>{F||(zt("motion"),zt("object")),q("streamFinishedLoading",F)}),ve(v,F=>{clearInterval(Ce),F==="mse"&&(Ce=setInterval(oo,xu))});const Ve=async()=>{var nt;if(U.value&&u.value&&Ee.value&&da(),await(be==null?void 0:be.suspense()),N.value=await w.deviceManager.getCameraByName(T.value),!N.value)throw new Error("Camera not found!");let F;const ue=N.value.streamSource,xe=N.value.snapshotSource,Ie=N.value.highResolutionSource,Qe=N.value.midResolutionSource,dt=N.value.lowResolutionSource;if(b.value==="high-resolution"?Ie?F=Ie:(console.warn("High resolution source not found, using stream source instead"),F=ue):b.value==="mid-resolution"?Qe?F=Qe:(console.warn("Mid resolution source not found, using stream source instead"),F=ue):b.value==="low-resolution"?dt?F=dt:(console.warn("Low resolution source not found, using stream source instead"),F=ue):b.value==="snapshot"?xe?F=xe:(console.warn("Snapshot source not found, using stream source instead"),F=ue):F=ue,V.value=`${T.value.replace(/ /g,"_").toLowerCase()}_${F.name}`,qe.value=!N.value.hasMotionDetector,Oe.value=!N.value.hasObjectDetector,N.value.onPropertyChange("hasMotionDetector").subscribe(({newData:Bt})=>{qe.value=!Bt}),N.value.onPropertyChange("hasObjectDetector").subscribe(({newData:Bt})=>{Oe.value=!Bt}),!M.value)throw new Error("Video player not found!");O.value=N.value.createWebRTCSession({mode:te.value||((nt=be==null?void 0:be.data.value)==null?void 0:nt.interface.streamingMode)||"webrtc",sourceName:V.value,videoElement:M.value,wsReconnectTimeout:5e3,webrtcConnectTimeout:2e3}),O.value.addEventListener("error",ce),O.value.addEventListener("reconnect",A),O.value.addEventListener("onFinishLoading",We),O.value.addEventListener("onFirstFrame",Ge),O.value.connect()},ce=F=>{console.error(T.value,F),v.value="error",z.value=!1,H.value=!1,H.value=!1,le.value=!1},A=()=>{v.value="reconnecting",z.value=!1,H.value=!1,H.value=!1,le.value=!0},we=()=>{z.value=O.value.hasBackchannel,W.value=O.value.hasAudio,v.value=O.value.mode,le.value=!1,H.value=!1},We=()=>{z.value=O.value.hasBackchannel,W.value=O.value.hasAudio,v.value=O.value.mode,le.value=!1},Ge=()=>{H.value=!0},at=()=>{var F;if(M.value){const ue=document.createElement("canvas");ue.width=M.value.videoWidth,ue.height=M.value.videoHeight,(F=ue.getContext("2d"))==null||F.drawImage(M.value,0,0,ue.width,ue.height);const xe=ue.toDataURL("image/png"),Ie=`${T.value.replace(/ /g,"_").toLowerCase()}_${new Date().toISOString()}.png`,Qe=document.createElement("a");Qe.setAttribute("download",Ie),Qe.href=xe,document.body.appendChild(Qe),Qe.click(),Qe.remove()}},et=()=>{var F;Ae.value||(Ae.value=!0,De.value=((F=N.value)==null?void 0:F.activityZones)||[])},ct=()=>{Ae.value=!1,De.value=[]},Le=async()=>{var F,ue;ke.value||(zt("motion"),ke.value=!0,await((F=N.value)==null?void 0:F.start()),S=(ue=N.value)==null?void 0:ue.onMotionDetected.subscribe(xe=>{ra("motion",xe.detections??[])}))},wt=()=>{var F;zt("motion"),ke.value=!1,he.value||(F=N.value)==null||F.stop(),S==null||S.unsubscribe()},eo=async()=>{var F,ue;he.value||(zt("object"),he.value=!0,await((F=N.value)==null?void 0:F.start()),C=(ue=N.value)==null?void 0:ue.onObjectDetected.subscribe(xe=>{ra("object",xe.detections)}))},to=()=>{var F;zt("object"),he.value=!1,ke.value||(F=N.value)==null||F.stop(),C==null||C.unsubscribe()},zt=F=>{const ue=ia(F);ue==null||ue.clear()},ra=(F,ue)=>{if(!H.value)return;const xe=ia(F);xe==null||xe.draw(ue)},ia=F=>F==="motion"?Fe.value:Re.value,ao=F=>{if(!F)return"";const ue=F.map(Ie=>{const Qe=Math.round(Ie[0]/100*Ue.width.value),dt=Math.round(Ie[1]/100*Ue.height.value);return`${Qe},${dt}`});if(ue.length===0)return"";let xe=`M ${ue[0]}`;for(let Ie=1;Ie<ue.length;Ie++)xe+=` L ${ue[Ie]}`;return xe+=" Z",xe},ua=async()=>{var F;if(M.value)try{await M.value.play()}catch(ue){if(!((F=M.value)!=null&&F.muted))return M.value.muted=!0,ua();console.warn(T.value,ue)}},oo=()=>{if(M.value&&v.value==="mse"&&!le.value&&H.value&&M.value.buffered.length>0){const F=M.value.buffered.end(M.value.buffered.length-1);F-M.value.currentTime>1&&(M.value.currentTime=F)}},ca=F=>{pe.value=F!==void 0?F:!pe.value},Zt=async(F,ue=!1)=>{var xe,Ie;if((xe=O.value)!=null&&xe.mode.includes("webrtc"))if(_e.value=F!==void 0?F:!_e.value,_e.value)try{k.value=await navigator.mediaDevices.getUserMedia({audio:!0});const Qe=k.value.getAudioTracks()[0];pe.value=!ue,await O.value.toggleMicrophone(Qe)}catch(Qe){console.warn(T.value,Qe)}else(Ie=k.value)==null||Ie.getTracks().forEach(Qe=>Qe.stop()),k.value=void 0,await O.value.toggleMicrophone(null)},no=()=>{var F;document.pictureInPictureElement?document.exitPictureInPicture():document.pictureInPictureEnabled&&((F=M.value)==null||F.requestPictureInPicture())},so=()=>{M.value&&(ye.value?M.value.pause():ua())},lo=()=>{var F;(F=M.value)==null||F.webkitShowPlaybackTargetPicker()},ro=()=>{j.value?o():r.value=!r.value},da=()=>{clearTimeout(X),X=setTimeout(()=>{Ee.value=!1},ku)},io=()=>{me.value=!0,H.value=!1,pe.value=!0},ma=()=>{var F;io(),(F=O.value)==null||F.close()};return Ba(async()=>{try{await Ve()}catch(F){console.error(F)}}),Da(()=>{var F,ue,xe,Ie,Qe,dt;ma(),(F=O.value)==null||F.removeEventListener("error",ce),(ue=O.value)==null||ue.removeEventListener("reconnect",A),(xe=O.value)==null||xe.removeEventListener("onModeChange",we),(Ie=O.value)==null||Ie.removeEventListener("onFinishLoading",We),(Qe=O.value)==null||Qe.removeEventListener("onFirstFrame",Ge),(dt=N.value)==null||dt.close(),N.value=void 0}),n({toggleMicrophone:Zt,toggleMute:ca,captureScreenshot:at,onHideMotionDetections:wt,onShowMotionDetections:Le,onHideObjectDetections:to,onShowObjectDetections:eo,onHideZones:ct,onShowZones:et,motionDetectionsDisabled:qe,objectDetectionsDisabled:Oe}),(F,ue)=>{const xe=du,Ie=iu,Qe=jt,dt=au;return i(),y("div",{class:"relative w-full h-full","data-inside-id":e(ne)},[m("div",{ref_key:"fakeClick",ref:fe,class:"fake-click"},null,512),l(Ea,{name:"fade",mode:"out-in"},{default:a(()=>[e(Ee)&&e(U)?(i(),B(xe,{key:0,"data-ignore-id":e(ne),loading:e(d),"show-rewind":"","show-fast-forward":"","show-volume":e(h),"show-play-pause":e(ge),"show-microphone":e(K),"show-airplay":e(Q)&&e(ge),"show-pip":e(L),"show-fs":e(j),"is-fs":e(r),"is-pip":e(Se),muted:e(pe),playing:e(ye),"mic-active":e(_e),"collapsed-controls":["airplay"],onToggleMute:ca,onTogglePlay:so,onToggleMicrophone:ue[0]||(ue[0]=()=>Zt(void 0,!0)),onToggleAirplay:lo,onTogglePictureInPicture:no,onToggleFullscreen:ro},null,8,["data-ignore-id","loading","show-volume","show-play-pause","show-microphone","show-airplay","show-pip","show-fs","is-fs","is-pip","muted","playing","mic-active"])):R("",!0)]),_:1}),l(dt,null,{default:a(()=>[e(se)?(i(),B(Ie,{key:0,"current-camera":e(T),"adding-shortcuts":e(de),"click-inside-id":e(ne)},null,8,["current-camera","adding-shortcuts","click-inside-id"])):R("",!0),e($)?(i(),y("div",vu,c(e(T)),1)):R("",!0),m("div",fu,[F.showMode&&!e(x)?(i(),y("div",gu,c(e(v).toUpperCase()),1)):R("",!0),F.showMode&&e(Z)?(i(),y("div",yu)):R("",!0),e(Z)?(i(),y("div",{key:2,class:"live-indicator elevation-3",style:rt({background:e(H)?"red":"gray"})},null,4)):R("",!0)]),e(d)?(i(),y("div",hu,[l(Ze,{color:"#df2a4c",class:"box-shadow",style:{"border-radius":"50%"},indeterminate:""}),e(le)?(i(),y("span",bu,c(F.$t("components.player.reconnecting"))+"...",1)):R("",!0)])):R("",!0),e(re)&&!e(qe)?(i(),B(Sa,{key:3,ref_key:"motionCanvas",ref:Fe},null,512)):R("",!0),e(I)&&!e(Oe)?(i(),B(Sa,{key:4,ref_key:"objectCanvas",ref:Re,color:"green"},null,512)):R("",!0),e(oe)?(i(),y("svg",_u,[(i(!0),y($e,null,Pe(e(De),(nt,Bt)=>(i(),y("path",{key:Bt,d:ao(nt.points.map(uo=>uo)),class:Tt({polygon:nt.filter=="include"&&!nt.isPrivacyMask,"polygon-exclude":nt.filter=="exclude"&&!nt.isPrivacyMask,"polygon-privacy":nt.isPrivacyMask,dash:nt.type==="intersect"&&!nt.isPrivacyMask})},null,10,wu))),128))])):R("",!0),e(H)?R("",!0):(i(),B(Qe,{key:6,"camera-name":e(T),"show-loading-screen":!1,class:"object-contain"},null,8,["camera-name"])),je(m("video",{id:"videoPlayer",ref_key:"videoPlayer",ref:M,playsinline:"",autoplay:"",preload:"auto",muted:e(pe),class:"video-player"},null,8,$u),[[Et,e(H)]])]),_:1})],8,pu)}}}),Vu=ot(Su,[["__scopeId","data-v-82f93911"]]),zu={class:"relative player-container-main w-full",style:"background: var(--background-img);"},Pu={class:"relative w-full h-full flex items-center justify-center"},Tu={class:"relative w-full h-full"},Eu={key:2},Mu=Ne({__name:"VPlayer",props:{currentCamera:{},target:{},mode:{},previewSrc:{},showCameraName:{type:Boolean,default:!1},showMode:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!1},showLiveIndicator:{type:Boolean,default:!1},absoluteTitle:{type:Boolean,default:!1},clickableTitle:{type:Boolean,default:!1},clickableContainer:{type:Boolean,default:!1},enableControl:{type:Boolean,default:!1},autoHideControl:{type:Boolean,default:!0},allowStreamRunningInBg:{type:Boolean,default:!1},showTooltips:{type:Boolean,default:!0},border:{type:Boolean,default:!1},borderRadius:{default:3},buttonElevation:{default:"0"},timelineScrolling:{type:Boolean,default:!1},shortcuts:{type:Boolean,default:!1},settings:{type:Boolean,default:!1},logs:{type:Boolean,default:!1},share:{type:Boolean,default:!1},snapshot:{type:Boolean,default:!1},refreshSnapshot:{type:Boolean,default:!1},motions:{type:Boolean,default:!1},objects:{type:Boolean,default:!1},zones:{type:Boolean,default:!1},sourceRole:{default:"high-resolution"}},emits:["resize"],setup(t,{expose:n,emit:s}){const f=new vt,{fsSupported:x}=Rt(),{smallMobileActive:w}=Ta(),j=$o(),p=s,D=t,{absoluteTitle:q,allowStreamRunningInBg:_,autoHideControl:$,border:Z,borderRadius:T,buttonElevation:u,clickableTitle:U,clickableContainer:E,currentCamera:b,enableControl:te,target:re,mode:I,previewSrc:oe,settings:se,logs:de,share:fe,showTitle:ne,snapshot:V,refreshSnapshot:v,timelineScrolling:k,objects:z,motions:W,zones:M,sourceRole:Y,showCameraName:le,showMode:me,showLiveIndicator:Se,shortcuts:pe,showTooltips:ye}=Ke(D),H=g(!1),_e=g(!1),Ee=g(null),qe=g(!1),Oe=g(null),ke=g(),he=g(),Ae=g(!1),Fe=g(!1),Re=g(null),De=g();f.toggleQueryActivator("downloadLogQuery",!1);const{data:O,isLoading:N,suspense:S}=f.downloadLogQuery(b),C=Ft(Ee),{isFullscreen:X}=Oa(Oe),J=ae(()=>({fontSize:w.value?12:14})),Ce=ae(()=>(k.value||!Ae.value)&&re.value==="stream"),be=ae(()=>{var ce;return!!((ce=ke.value)!=null&&ce.isLoading&&re.value!=="stream")});ve(C.height,(ce,A)=>{p("resize",ce-A)},{deep:!0}),ve(qe,ce=>{pt(()=>_e.value=ce)}),ve(Fe,ce=>{ge(ce)}),ve(w,()=>{Ve()});const Ue=()=>{var ce,A;re.value==="stream"?(ce=he.value)==null||ce.captureScreenshot():(A=ke.value)==null||A.download()},r=()=>{var ce;(ce=ke.value)==null||ce.refresh()},o=ce=>{var A,we;ce?(A=he.value)==null||A.onShowZones():(we=he.value)==null||we.onHideZones()},d=async ce=>{var A,we;ce?await((A=he.value)==null?void 0:A.onShowMotionDetections()):(we=he.value)==null||we.onHideMotionDetections()},h=async ce=>{var A,we;ce?await((A=he.value)==null?void 0:A.onShowObjectDetections()):(we=he.value)==null||we.onHideObjectDetections()},K=ce=>{var A;(A=he.value)==null||A.toggleMute(ce)},Q=async(ce,A=!1)=>{var we;await((we=he.value)==null?void 0:we.toggleMicrophone(ce,A))},L=async()=>{try{if(f.toggleQueryActivator("downloadLogQuery",!0),await S(),O.value){const ce=O.value,A=window.URL.createObjectURL(new Blob([ce])),we=document.createElement("a");we.href=A,we.setAttribute("download",`camera.ui.${b.value.replace(/ /g,"_")}.log.txt`),document.body.appendChild(we),we.click(),we.remove()}}finally{f.toggleQueryActivator("downloadLogQuery",!1)}},ge=ce=>{var A,we,We,Ge,at,et,ct;ce?(De.value=j.connectToNamespace("/logs"),(A=De.value)==null||A.socket.on(`stdout/${b.value}`,Le=>{var wt;(wt=Re.value)==null||wt.writeTerminal(Le)}),(we=De.value)==null||we.socket.on("stdout",Le=>{var wt;(wt=Re.value)==null||wt.writeTerminal(Le)}),(We=De.value)==null||We.socket.on("disconnect",()=>{var Le;(Le=Re.value)==null||Le.writeTerminal(`\r
2
- Websocket failed to connect! Is the server running?\r
3
- \r
4
- `)}),(Ge=De.value)==null||Ge.socket.on("clear-log",()=>{var Le;(Le=Re.value)==null||Le.clearTerminal()}),(at=De.value)==null||at.socket.emit("get-camera-log",b.value)):(ct=(et=De.value)==null?void 0:et.end)==null||ct.call(et)},Ve=()=>{Fe.value&&(ge(!1),ge(!0))};return n({toggleMicrophone:Q,toggleMute:K,captureScreenshot:Ue}),(ce,A)=>{var at,et,ct;const we=eu,We=Ui,Ge=Nt;return i(),y("div",{ref_key:"playerContainer",ref:Ee,class:"player-container w-full relative",style:rt(`border-radius: ${e(T)}px; border: ${e(Z)?1:0}px solid var(--border);`)},[m("div",zu,[m("div",{ref_key:"videoPlayerWrapper",ref:Oe,class:Tt(["w-full h-full",{"fullscreen-video":!e(x)&&e(X)}])},[m("div",Pu,[m("div",{class:"video-container w-full aspect-video",style:rt(!e(x)&&e(X)?"width: unset":void 0)},[m("div",Tu,[e(re)==="stream"?(i(),B(Vu,{key:0,ref_key:"cameraStream",ref:he,"current-camera":e(b),"show-camera-name":e(le),"show-live-indicator":e(Se),"show-mode":e(me),"auto-hide-control":e($),"enable-control":e(te),"allow-stream-running-in-bg":e(_),"source-role":e(Y),mode:e(I),motions:e(W),objects:e(z),zones:e(M),shortcuts:e(pe),"adding-shortcuts":e(H),onStreamFinishedLoading:A[0]||(A[0]=Le=>Ae.value=Le)},null,8,["current-camera","show-camera-name","show-live-indicator","show-mode","auto-hide-control","enable-control","allow-stream-running-in-bg","source-role","mode","motions","objects","zones","shortcuts","adding-shortcuts"])):(i(),B(jt,{key:1,ref_key:"cameraSnapshot",ref:ke,"camera-name":e(b),src:e(oe)},null,8,["camera-name","src"]))])],4)])],2)]),e(ne)?(i(),B(we,{key:0,"current-camera":e(b),"absolute-title":e(q),"clickable-title":e(U),"button-elevation":e(u),"show-tooltips":e(ye),settings:e(se),logs:e(de),share:e(fe),snapshot:e(V),"refresh-snapshot":e(v),motions:e(W),objects:e(z),zones:e(M),shortcuts:e(pe),"stream-loading":e(Ce)||e(be),"show-title-indicator":e(re)==="stream","motion-detections-disabled":(at=e(he))==null?void 0:at.motionDetectionsDisabled,"object-detections-disabled":(et=e(he))==null?void 0:et.objectDetectionsDisabled,onAddingShortcuts:A[1]||(A[1]=Le=>H.value=Le),onSettings:A[2]||(A[2]=Le=>qe.value=!0),onLogs:A[3]||(A[3]=Le=>Fe.value=!0),onSnapshot:Ue,onRefreshSnapshot:r,onShowZones:o,onShowMotionDetections:d,onShowObjectDetections:h},null,8,["current-camera","absolute-title","clickable-title","button-elevation","show-tooltips","settings","logs","share","snapshot","refresh-snapshot","motions","objects","zones","shortcuts","stream-loading","show-title-indicator","motion-detections-disabled","object-detections-disabled"])):R("",!0),e(E)?(i(),y("div",{key:1,class:"absolute w-100 h-100 top-0 cursor-pointer",onClick:A[4]||(A[4]=G(Le=>ce.$router.push(`/cameras/${e(b)}`),["prevent"]))})):R("",!0),e(qe)?(i(),y("div",Eu,[l(We,{"camera-name":e(b),show:e(_e),"latest-snapshot-src":(ct=e(ke))==null?void 0:ct.snapshotSrc,onClose:A[5]||(A[5]=Le=>qe.value=!1)},null,8,["camera-name","show","latest-snapshot-src"])])):R("",!0),l(Ge,{modelValue:e(Fe),"onUpdate:modelValue":A[6]||(A[6]=Le=>Me(Fe)?Fe.value=Le:null),title:ce.$t("components.dialog.title.log"),"confirm-text":"components.form.button.download",loading:e(N),"fullscreen-content":"",onConfirm:A[7]||(A[7]=Le=>L())},{content:a(()=>[l(Sn,{ref_key:"consoleRef",ref:Re,class:"text-editor",options:e(J)},null,8,["options"])]),_:1},8,["modelValue","title","loading"])],4)}}}),Ga=ot(Mu,[["__scopeId","data-v-f2f7bcdc"]]);export{vt as C,Ga as _,jt as a,Ja as b,Xu as c,Sa as d,Ui as e,Sl as f,Wu as g};