@camera.ui/server 0.0.76 → 0.0.77

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 (139) hide show
  1. package/dist/interface/assets/{404-BvkajsAN.js → 404-v5as29bN.js} +1 -1
  2. package/dist/interface/assets/{About-D3w6wB-C.js → About-DiX290Ba.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-Dl6CGett.js → Adminpanel-D9308sB0.js} +1 -1
  4. package/dist/interface/assets/{Automation-CsQomMnQ.js → Automation-BPOqYi_7.js} +2 -2
  5. package/dist/interface/assets/{Automations-ZmPzbYRc.js → Automations-B2WSo6cc.js} +1 -1
  6. package/dist/interface/assets/{Camera-BD89WTrM.js → Camera-C_33nFP2.js} +2 -2
  7. package/dist/interface/assets/{CameraConsole-CDFo09ch.js → CameraConsole-D5QPkLzW.js} +1 -1
  8. package/dist/interface/assets/{Cameras-C5MLRlQt.js → Cameras-Yaug0yrP.js} +1 -1
  9. package/dist/interface/assets/{Camview-BXwTF330.js → Camview-On97Lml0.js} +1 -1
  10. package/dist/interface/assets/{Config-Bcs8TK2T.js → Config-BZ-qo4Yn.js} +1 -1
  11. package/dist/interface/assets/{ConfigActionCameraControl-DoIIrBay.js → ConfigActionCameraControl-Dw-NcFFP.js} +1 -1
  12. package/dist/interface/assets/{ConfigActionDelay-BQ6T2dIQ.js → ConfigActionDelay-pAWIJ-4v.js} +1 -1
  13. package/dist/interface/assets/{ConfigActionHttp-3piUQ_xd.js → ConfigActionHttp-DsUnm6fz.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionImageInput-DNtCNXJv.js → ConfigActionImageInput-DvHnZPlc.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionNotification-Brn8klrZ.js → ConfigActionNotification-CRFywIqy.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionOutput-B1vavdKH.js → ConfigActionOutput-BaUXR2P8.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionPlugin-DALhMneh.js → ConfigActionPlugin-DB7_qKnI.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionSensor-D4YSq2b7.js → ConfigActionSensor-BylRv6HP.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionSnapshot-wqE9-Yza.js → ConfigActionSnapshot-DlL2H8O7.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionVariable-_qOTtJaU.js → ConfigActionVariable-CrTklOPb.js} +1 -1
  21. package/dist/interface/assets/{ConfigConditionIfElse-Qh_TSsp6.js → ConfigConditionIfElse-CMVwFS0B.js} +1 -1
  22. package/dist/interface/assets/{ConfigConditionSensorState-DY3qC-jV.js → ConfigConditionSensorState-PpCM0BhY.js} +1 -1
  23. package/dist/interface/assets/{ConfigConditionSwitch-CO6GugGi.js → ConfigConditionSwitch-BPZHUjQq.js} +1 -1
  24. package/dist/interface/assets/{ConfigConditionTime-Bis881x9.js → ConfigConditionTime-BGpd11U7.js} +1 -1
  25. package/dist/interface/assets/{ConfigTriggerDetection-78FurfGv.js → ConfigTriggerDetection-bt_19BcB.js} +1 -1
  26. package/dist/interface/assets/{ConfigTriggerGeofence-Csm9Krfq.js → ConfigTriggerGeofence-CJd2RI08.js} +1 -1
  27. package/dist/interface/assets/{ConfigTriggerManual-mtAOiU-R.js → ConfigTriggerManual-BaVkgZIY.js} +1 -1
  28. package/dist/interface/assets/{ConfigTriggerSchedule-m2Q0vw3t.js → ConfigTriggerSchedule-DkFw3-m5.js} +1 -1
  29. package/dist/interface/assets/{ConfigTriggerSensor-BH8UrMLq.js → ConfigTriggerSensor-D1OEaBTZ.js} +1 -1
  30. package/dist/interface/assets/{ConfigTriggerSystem-CuqiTtf5.js → ConfigTriggerSystem-CFbrPFDV.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerWebhook-ByNdWu_n.js → ConfigTriggerWebhook-tZohuF4o.js} +1 -1
  32. package/dist/interface/assets/{Console-DBXu0iKa.js → Console-gBmF-6p2.js} +1 -1
  33. package/dist/interface/assets/{CuiActionButton-BIR2fQ-I.js → CuiActionButton-BF1An_rl.js} +1 -1
  34. package/dist/interface/assets/{CuiAvatar-CqKr0qrz.js → CuiAvatar-DT205oI6.js} +1 -1
  35. package/dist/interface/assets/{CuiBBoxPlayground-BEYO128c.js → CuiBBoxPlayground-BVK7ZJ7M.js} +1 -1
  36. package/dist/interface/assets/{CuiBottomSheet-PBDYQFLH.js → CuiBottomSheet-Cl0hr1-B.js} +1 -1
  37. package/dist/interface/assets/CuiBottomSheet-X5ouxxuG.js +1 -0
  38. package/dist/interface/assets/{CuiCameraCard-CH8wRfqD.js → CuiCameraCard-Dg_senYR.js} +1 -1
  39. package/dist/interface/assets/{CuiCameraPipCard-DLhWqYGR.js → CuiCameraPipCard-G2-5iN-s.js} +1 -1
  40. package/dist/interface/assets/{CuiCameraRecordings-CALgktei.js → CuiCameraRecordings-D4vDfkQ6.js} +1 -1
  41. package/dist/interface/assets/{CuiCameraShares-B9jYiJ9p.js → CuiCameraShares-D9EnoU3g.js} +1 -1
  42. package/dist/interface/assets/{CuiCameraSnapshot-DBlooBWY.js → CuiCameraSnapshot-DRu0hF3z.js} +1 -1
  43. package/dist/interface/assets/{CuiCameraTable-BAdLq5hy.js → CuiCameraTable-B1JQ1UgC.js} +1 -1
  44. package/dist/interface/assets/{CuiFloatingButton-CYP3wZAj.js → CuiFloatingButton-CXLHlbnk.js} +1 -1
  45. package/dist/interface/assets/{CuiImage-BR35PcJ-.js → CuiImage-Dkb0xMtM.js} +1 -1
  46. package/dist/interface/assets/{CuiMenu-DwGJrz2-.js → CuiMenu-EoB3gkMJ.js} +1 -1
  47. package/dist/interface/assets/{CuiPluginCard-CMxEkiWE.js → CuiPluginCard-V2Gm7pfr.js} +2 -2
  48. package/dist/interface/assets/{CuiPluginOAuthButton-ClmuZ91f.js → CuiPluginOAuthButton-DaOHuN78.js} +2 -2
  49. package/dist/interface/assets/{CuiQRCode-V_yG_KUN.js → CuiQRCode-BVOIi8VD.js} +1 -1
  50. package/dist/interface/assets/{CuiRecordingsGrid-BaGvFhVs.js → CuiRecordingsGrid-Bxmlizts.js} +1 -1
  51. package/dist/interface/assets/{CuiSchema-CbMtJJnY.js → CuiSchema-Cfc1vzp6.js} +1 -1
  52. package/dist/interface/assets/{CuiTopNavbarItem-CXmxI8Wn.js → CuiTopNavbarItem-MJr5l6Aq.js} +1 -1
  53. package/dist/interface/assets/{CuiTopbarSlot-Bo2vH_kI.js → CuiTopbarSlot-DTNeuYvo.js} +1 -1
  54. package/dist/interface/assets/{Faces-pLWD7GFV.js → Faces-CxSpBJx5.js} +1 -1
  55. package/dist/interface/assets/{FirstSteps-Cowo-kpk.js → FirstSteps-B8SHK9dj.js} +1 -1
  56. package/dist/interface/assets/{Instances-CJSxOTS5.js → Instances-Kx6sSCDX.js} +1 -1
  57. package/dist/interface/assets/{Menu-BV2Npq07.js → Menu-DD_cREVS.js} +1 -1
  58. package/dist/interface/assets/{OAuthDeviceFlow-C2_Rpjxt.js → OAuthDeviceFlow-Bnm4w-pk.js} +1 -1
  59. package/dist/interface/assets/{Plugin-C8KnaxI5.js → Plugin-BgwfrbBH.js} +1 -1
  60. package/dist/interface/assets/{PluginConsole-DPQFT6GB.js → PluginConsole-Ba6GhN1X.js} +1 -1
  61. package/dist/interface/assets/{PluginSchema-BVZcuMh7.js → PluginSchema-Xd9otIzG.js} +1 -1
  62. package/dist/interface/assets/{Plugins-tauNbtus.js → Plugins-grcgVS0w.js} +2 -2
  63. package/dist/interface/assets/{Recordings-BxczmYsS.js → Recordings-k8LBscvM.js} +1 -1
  64. package/dist/interface/assets/{Settings-B22NP1uX.js → Settings-BZ1_vx3z.js} +1 -1
  65. package/dist/interface/assets/{SettingsAccount-Dm4MKhXA.js → SettingsAccount-Detq2ves.js} +1 -1
  66. package/dist/interface/assets/SettingsAccount-Do1kFf9T.js +1 -0
  67. package/dist/interface/assets/SettingsAppearance-Cf-c_lny.js +1 -0
  68. package/dist/interface/assets/{SettingsAppearance-BRzzO7Tp.js → SettingsAppearance-DffpVG5f.js} +1 -1
  69. package/dist/interface/assets/{SettingsBackup-B9L8WRBn.js → SettingsBackup-DS3mOZTd.js} +1 -1
  70. package/dist/interface/assets/{SettingsNotifications-CYFuyAb8.js → SettingsNotifications-ClYHH53Q.js} +1 -1
  71. package/dist/interface/assets/{SettingsRecordings-C2BVYt_b.js → SettingsRecordings-BW1_cnvh.js} +1 -1
  72. package/dist/interface/assets/{SettingsRemote-14DByUYb.js → SettingsRemote-DeCCrkpB.js} +1 -1
  73. package/dist/interface/assets/SettingsSystem-CorHEoD1.js +2 -0
  74. package/dist/interface/assets/{SettingsUsers-BunfJfFX.js → SettingsUsers-DRNl2lpx.js} +1 -1
  75. package/dist/interface/assets/{Terminal-B62d7hZL.js → Terminal-oFHYhs5G.js} +1 -1
  76. package/dist/interface/assets/{VariableInput-6KBjycfw.js → VariableInput-DkFR7QdD.js} +1 -1
  77. package/dist/interface/assets/{VariableSuggestions-BCUwMbk2.js → VariableSuggestions-Ceb5nNVA.js} +1 -1
  78. package/dist/interface/assets/VersionsHandler-DEqO9lRf.js +7 -0
  79. package/dist/interface/assets/{Workers-DouAZ6IN.js → Workers-CjwdsG_Q.js} +1 -1
  80. package/dist/interface/assets/api-DG-9_slP.js +2 -0
  81. package/dist/interface/assets/{api-e-E4EslC.js → api-D_KNNgZ1.js} +1 -1
  82. package/dist/interface/assets/{auth-DaVXT_yR.js → auth-DOMDhkS8.js} +1 -1
  83. package/dist/interface/assets/{automations-D-pcb6DP.js → automations-D8y64IMA.js} +1 -1
  84. package/dist/interface/assets/{automations-Dcjr9n0g.js → automations-DetVBJsj.js} +1 -1
  85. package/dist/interface/assets/{backup-DxSE0DNH.js → backup-4XfddN8z.js} +1 -1
  86. package/dist/interface/assets/{cameras-CKYu9vm7.js → cameras-CuAJzX9E.js} +1 -1
  87. package/dist/interface/assets/{cameras.schema-MCmXBV5E.js → cameras.schema-B93btXUO.js} +1 -1
  88. package/dist/interface/assets/cloudHandoff-jiSQUTbC.js +1 -0
  89. package/dist/interface/assets/{hasPermission-rf-FHUEM.js → hasPermission-BTRA5070.js} +1 -1
  90. package/dist/interface/assets/{instances-IBssFzSt.js → instances-C9noeaJ-.js} +1 -1
  91. package/dist/interface/assets/{locale-Ddd4TTHX.js → locale-BJ2C57Gq.js} +1 -1
  92. package/dist/interface/assets/{main-9TGn6n93.js → main-BBDURrXh.js} +2 -2
  93. package/dist/interface/assets/{notifications-iSDZTfsc.js → notifications-C1aijpt-.js} +1 -1
  94. package/dist/interface/assets/{plugins-BSosZ7mD.js → plugins--S_Q7XSz.js} +1 -1
  95. package/dist/interface/assets/{round-restart-alt-CRIrMOlo.js → round-restart-alt-D3mETXCy.js} +1 -1
  96. package/dist/interface/assets/{router-t0j7Kqm7.js → router-BeAHAEXo.js} +2 -2
  97. package/dist/interface/assets/{routerState-Buu48zeq.js → routerState-C_8KP3kD.js} +1 -1
  98. package/dist/interface/assets/{server-DIS79xtm.js → server-DAHar4Ts.js} +1 -1
  99. package/dist/interface/assets/{shares-bO9z1yJK.js → shares-DHjtR1MT.js} +1 -1
  100. package/dist/interface/assets/{theme-C4hbpNuJ.js → theme-LZAl6ikG.js} +1 -1
  101. package/dist/interface/assets/{types-Wl5Ty2yP.js → types-QvsYiGdQ.js} +1 -1
  102. package/dist/interface/assets/{ui-CBRpDu-c.js → ui-q3Xp2p6M.js} +1 -1
  103. package/dist/interface/assets/{useBiometricCredentials-DnB31QCq.js → useBiometricCredentials-CwpN9ZTB.js} +1 -1
  104. package/dist/interface/assets/{useCameraOptions-CZUtka_F.js → useCameraOptions-Jllb4jNr.js} +1 -1
  105. package/dist/interface/assets/{useCuiCameraDrawer-DW9-Cdys.js → useCuiCameraDrawer-zbw8XiW5.js} +1 -1
  106. package/dist/interface/assets/{useCuiDialog-DrBTif-3.js → useCuiDialog-C7VXcZOW.js} +1 -1
  107. package/dist/interface/assets/{useFileDownload-DksvUFZ8.js → useFileDownload-Et7NRBap.js} +1 -1
  108. package/dist/interface/assets/{useLogsSocket-HNen2ftk.js → useLogsSocket-C70Hd1fl.js} +2 -2
  109. package/dist/interface/assets/useLogsSocket-DALNtd8_.css +1 -0
  110. package/dist/interface/assets/{useSharedComposables-DUNE9Fjf.js → useSharedComposables-CTXKSCVm.js} +1 -1
  111. package/dist/interface/assets/{useStreamStatus-BXUMDut2.js → useStreamStatus-D3b5-kAN.js} +1 -1
  112. package/dist/interface/assets/{users.schema-B7Gwrqjw.js → users.schema-nZK4wXvw.js} +1 -1
  113. package/dist/interface/assets/{vendor-cameraui-DpqS51DT.js → vendor-cameraui-tvNekvZ-.js} +46 -46
  114. package/dist/interface/assets/{vendor-core-DAinYQ9K.js → vendor-core-DinQdIbm.js} +1 -1
  115. package/dist/interface/assets/{vendor-primevue-CG0iLCzA.js → vendor-primevue-D0-7UQst.js} +1 -1
  116. package/dist/interface/assets/{view-grid-DQkfCMI_.js → view-grid-B5oq2YBJ.js} +1 -1
  117. package/dist/interface/index.html +36 -36
  118. package/dist/interface/sw.js +1 -1
  119. package/dist/server/package.json +1 -1
  120. package/dist/server/src/api/controllers/api.controller.js +9 -1
  121. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  122. package/dist/server/src/camera/decoder/detection-coordinator.js +15 -5
  123. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  124. package/dist/server/src/camera/sensors/controller.d.ts +1 -0
  125. package/dist/server/src/camera/sensors/controller.js +9 -4
  126. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  127. package/dist/server/src/services/config/index.d.ts +1 -0
  128. package/dist/server/src/services/config/index.js +1 -0
  129. package/dist/server/src/services/config/index.js.map +1 -1
  130. package/package.json +1 -1
  131. package/dist/interface/assets/CuiBottomSheet-CeCMvh1K.js +0 -1
  132. package/dist/interface/assets/SettingsAccount-D9YRXC2V.js +0 -1
  133. package/dist/interface/assets/SettingsAppearance-BICuFMxO.js +0 -1
  134. package/dist/interface/assets/SettingsSystem-DGjWaU3j.js +0 -2
  135. package/dist/interface/assets/VersionsHandler-Cb6WnQiP.js +0 -7
  136. package/dist/interface/assets/api-NtCA6-OA.js +0 -2
  137. package/dist/interface/assets/cloudHandoff-DoUXb29N.js +0 -1
  138. package/dist/interface/assets/useLogsSocket-Ce1ISNIw.css +0 -1
  139. /package/dist/interface/assets/{logo-512-DLKVOU2S.png → error-256-DLKVOU2S.png} +0 -0
@@ -1 +1 @@
1
- import{S as e}from"./vendor-CF-D4B9g.js";import{C as t,D as n,E as r,S as i,T as a,_ as ee,a as te,b as ne,c as re,d as ie,f as ae,g as oe,h as se,i as ce,l as le,m as o,n as ue,o as s,p as de,r as fe,s as pe,t as me,u as he,v as ge,w as c,x as _e,y as ve}from"./vendor-cameraui-DpqS51DT.js";import{_ as l,a as u,b as d,c as f,d as ye,f as be,g as xe,h as p,i as m,l as Se,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as Ce,v as S,x as C,y as we}from"./vendor-zod-V2qTUMVc.js";p({tempToken:S().trim().min(1,`Temporary token is required`),code:S().trim().min(1,`Code is required`)}).strict(),p({code:S().trim().length(6,`Code must be 6 digits`)}).strict(),p({code:S().trim().min(1,`Code is required`)}).strict(),p({code:S().trim().min(1,`Code is required`)}).strict(),p({grant_type:S().optional(),username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`),scope:S().optional(),client_id:S().optional(),client_secret:S().optional()}),p({refresh_token:S().min(1,`Refresh token is required`)}),p({id:S()});function Te(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var Ee=[`#df2a4c`,`#2a7fdf`,`#2adf7f`,`#df7f2a`,`#7f2adf`,`#2adfdf`,`#df2adf`,`#7fdf2a`];function De(){return Ee[Math.floor(Math.random()*Ee.length)]}function Oe(){return{name:`Default Zone`,points:[[0,0],[100,0],[100,100],[0,100]],type:`contain`,filter:`include`,labels:[`motion`,`person`,`vehicle`,`animal`],isPrivacyMask:!1,color:De()}}p({enabled:b().default(!1)}).strict();var ke=S().trim().min(1,`Detection label is required`),w=we([h(),h()]),T=p({name:S().trim().min(1,`Zone Name is required`),points:w.array().min(3,`At least 3 points are required`),type:d([v(`intersect`),v(`contain`)]),filter:d([v(`include`),v(`exclude`)]),labels:ke.array(),isPrivacyMask:b(),color:S().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),E=p({name:S().trim().min(1,`Line Name is required`),points:we([w,w]),direction:d([v(`both`),v(`a-to-b`),v(`b-to-a`)]),labels:ke.array(),color:S().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),D=p({motion:p({resolution:d([v(`low`),v(`medium`),v(`high`)]),timeout:h().min(10,`Minimum 10 seconds`)}),object:p({confidence:h().min(.3,`Minimum 0.3`).max(1,`Maximum 1`)}),audio:p({minDecibels:h().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:h().min(10,`Minimum 10 seconds`)}),sensor:p({timeout:h().min(10,`Minimum 10 seconds`),triggers:_(p({sensorType:S().trim().min(1,`Sensor type is required`),sensorName:S().trim().min(1,`Sensor name is required`),pluginId:S().trim().min(1,`Plugin ID is required`)})).default([])}),cascadeDetection:b().default(!0),cascadeTimeout:h().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:b().default(!1)}),Ae={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,returnToHome:!1,homeWaitMs:1e4},je=p({enabled:b().default(!1),targetLabels:S().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:h().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:h().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),returnToHome:b().default(!1),homeWaitMs:h().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4)}),O=d([v(`high-resolution`),v(`mid-resolution`),v(`low-resolution`),v(`snapshot`)]),Me=d([v(`high-resolution`),v(`mid-resolution`),v(`low-resolution`)]),k=d([v(`bubble://`),v(`cui://`),v(`doorbird://`),v(`dvrip://`),v(`eseecloud://`),v(`ffmpeg:`),v(`flussonic://`),v(`gopro://`),v(`hass:`),v(`homekit://`),v(`http://`),v(`https://`),v(`httpx://`),v(`isapi://`),v(`ivideon:`),v(`kasa://`),v(`nest:`),v(`onvif://`),v(`ring:`),v(`roborock://`),v(`rtmp://`),v(`rtsp://`),v(`rtspx://`),v(`tapo://`),v(`tcp://`),v(`tuya://`),v(`xiaomi://`),v(`yandex:`),v(`webrtc:`),v(`webtorrent:`),v(`wyze://`)]),Ne=k.options.map(e=>e.value),Pe=RegExp(`^(${Ne.join(`|`)})`),Fe=S().refine(e=>{if(!Pe.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),Ie=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:O,useForSnapshot:b().default(!1),hotMode:b().default(!0),preload:b().default(!0),prebuffer:b().default(!1),urls:Fe.array().min(1,`At least one valid URL is required`),childSourceId:S().trim().min(1,`Child Source ID is required`).optional()}).strict(),Le=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:O,useForSnapshot:b().default(!1),hotMode:b().default(!0),preload:b().default(!0),prebuffer:b().default(!1),urls:Fe.array().min(1,`At least one valid URL is required`),childSourceId:S().trim().min(1,`Child Source ID is required`).optional()}).strict(),A=p({id:S(),name:S().trim()}),Re=p({motion:A.optional(),object:A.optional(),audio:A.optional(),face:A.optional(),licensePlate:A.optional(),ptz:A.optional(),battery:A.optional(),cameraController:A.optional(),classifier:A.array().optional(),light:A.array().optional(),siren:A.array().optional(),switch:A.array().optional(),securitySystem:A.array().optional(),contact:A.array().optional(),doorbell:A.array().optional(),hub:A.array().optional()}).strict(),ze=d([v(`auto`),v(`mse`),v(`webrtc`),v(`webrtc/tcp`)]),Be=d([v(`16:9`),v(`9:16`),v(`8:3`),v(`4:3`),v(`1:1`)]),Ve=p({fps:h().min(0,`Minimum 0 fps`).max(30,`Maximum 30 fps`)}),He=d([v(`camera`),v(`doorbell`)]),j=p({streamingMode:ze,streamingSource:Me,aspectRatio:Be}),M=p({model:S().trim().optional(),manufacturer:S().trim().optional(),hardware:S().trim().optional(),serialNumber:S().trim().optional(),firmwareVersion:S().trim().optional(),supportUrl:S().trim().optional()});p({name:S().trim().min(1,`Camera name is required`),url:C(`Must be a valid URL`).trim().min(1,`Camera URL is required`),type:d([v(`Google`),v(`Ring`),v(`HomeKit`),v(`Onvif`),v(`Hass`),v(`GoPro`),v(`Roborock`),v(`FFmpeg`),v(`DVRip`),v(`Webtorrent`)]),username:S().trim().optional(),email:Ce(`Must be a valid email`).trim().optional(),password:S().trim().optional(),pin:S().trim().length(8,`PIN must be 8 characters long`).optional(),clientId:S().trim().optional(),clientSecret:S().trim().optional(),refreshToken:S().trim().optional(),projectId:S().trim().optional()}).strict().refine(e=>e.type===`HomeKit`?!!e.pin:!0,{message:`PIN is required for HomeKit cameras`,path:[`pin`]}).refine(e=>e.type===`Google`?!!e.clientId:!0,{message:`Client ID is required for Google cameras`,path:[`clientId`]}).refine(e=>e.type===`Google`?!!e.clientSecret:!0,{message:`Client Secret is required for Google cameras`,path:[`clientSecret`]}).refine(e=>e.type===`Google`?!!e.projectId:!0,{message:`Project ID is required for Google cameras`,path:[`projectId`]}).refine(e=>e.type===`Google`?!!e.refreshToken:!0,{message:`Refresh Token is required for Google cameras`,path:[`refreshToken`]}).refine(e=>e.type===`Ring`?!!e.email:!0,{message:`Email is required`,path:[`email`]}).refine(e=>e.type===`Roborock`?!!e.username:!0,{message:`Username is required`,path:[`username`]}).refine(e=>e.type===`Roborock`||e.type===`Ring`?!!e.password:!0,{message:`Password is required`,path:[`password`]});var Ue=p({id:S(),name:S().trim()}).strict(),N=p({autoRefresh:b().default(!1),ttl:h().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:h().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),P=p({_id:S().default(e()).transform(()=>e()),nativeId:S().trim().optional(),pluginInfo:Ue.optional(),disabled:b().default(!1),name:S().trim().min(1,`Camera name is required`),room:S().trim().min(1,`Room is required`).default(`Default`),type:He.default(`camera`),isCloud:b().default(!1),snapshotSettings:N.default({autoRefresh:!1,ttl:50,interval:60}),info:M.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:Ie.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.prebuffer),{message:`Snapshot source can not be used with prebuffer`}),plugins:A.array().default([]),assignments:Re.default({}),interfaceSettings:j.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,aspectRatio:`16:9`}),detectionZones:T.default([]),detectionLines:E.default([]),detectionSettings:D.default({motion:{resolution:`low`,timeout:30},object:{confidence:.5},audio:{minDecibels:-40,timeout:30},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:je.default(Ae),frameWorkerSettings:Ve.default({fps:10})}).strict();P.transform(e=>{let t=e.sources.flatMap(e=>e.urls),n=e.detectionZones.length===0?[Oe()]:e.detectionZones;return e.isCloud||Te(t)?{...e,isCloud:!0,detectionZones:n}:{...e,detectionZones:n}});var We=p({disabled:b().optional(),type:He.optional(),name:S().trim().min(1,`Camera name is required`).optional(),room:S().trim().min(1,`Room is required`).optional(),isCloud:b().optional(),snapshotSettings:N.partial().optional(),info:M.partial().optional(),sources:Le.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).optional(),plugins:A.array().optional(),assignments:Re.partial().optional(),interfaceSettings:j.partial().optional(),detectionZones:T.optional(),detectionLines:E.optional(),detectionSettings:D.partial().optional(),ptzAutotrack:je.partial().optional(),frameWorkerSettings:Ve.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||Te(t))return{...e,isCloud:!0}}return e});p({url:S().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),p({cameraname:S()}),p({cameraname:S(),sourcename:S()}),p({cameraid:S(),sourcename:S()}),p({cameraname:S(),pluginname:S()}),p({cameraname:S(),scope:S(),pluginname:S()}),p({cameraname:S(),pluginname:S(),sensorId:S()}),p({cameraname:S(),scope:S(),pluginname:S(),sensorId:S()}),p({type:S().optional()}),p({video:x().optional(),audio:x().optional(),microphone:x().optional()}),p({forceNew:x().optional()}),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:C(`Must be a valid URL`).trim(),credentials:p({username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`)})}),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:C(`Must be a valid URL`).trim().optional(),credentials:p({username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`)}).nullable().optional()}),p({id:S().min(1,`ID is required`)});var Ge=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Ke=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e}({});function F(e){return e.mimetype!==void 0}function qe(e){return F(e)?Buffer.byteLength(e._buf):e.size}function Je(e){return F(e)?e.mimetype:e.type}function I(e,t,n,r){return f().refine(t=>qe(t)<=e,n).refine(e=>t.includes(Je(e)),r)}var Ye=p({start:g().optional(),page:g().optional(),pageSize:g().optional()}),L=[`image/jpeg`,`image/png`],Xe=1024*1024*2,R=[`video/mp4`,`video/quicktime`],z=1024*1024*10,B=[`audio/mpeg`,`audio/wav`,`audio/ogg`],V=1024*1024*2,H=()=>I(Xe,L,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),U=f().transform(e=>JSON.parse(e.value)),W=f().transform(e=>JSON.parse(e.value)),Ze=f().transform(e=>JSON.parse(e.value));p({pluginname:S().trim().refine(e=>Ge.test(e),`Not a valid plugin name`),pluginversion:S().trim().optional().default(`latest`)}).strict(),p({actionId:S(),payload:u()}).strict(),l(u(),u()),p({upload:H(),metadata:W,config:U}),p({upload:I(V,B,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Ze,config:U}),p({upload:I(z,R,`Max file size is 5 MB`,`.mp4 files are accepted`),config:U}),p({upload:H(),metadata:W,config:U}),p({upload:H(),metadata:W,config:U}),p({upload:H(),metadata:W,config:U}),p({pluginname:S()}),p({scope:S(),pluginname:S()}),Ye.extend({pluginname:S().trim().optional()}),p({removeStorage:x().optional()});var Qe=p({enabled:b().optional(),directEnabled:b().optional(),directMode:m([`cloudflare`,`customDomain`]).optional(),customDomain:p({url:C(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:p({mode:m([`quick`,`token`,`managed`]).optional(),hostname:S().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:S().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode===`token`&&!e.cloudflare?.token),{message:`Token is required when cloudflare.mode is "token"`,path:[`cloudflare`,`token`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});p({mode:m([`cloudflare`,`customDomain`])}).strict(),p({hostname:S().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),p({name:S().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),p({version:S().trim().optional().default(`latest`)}).strict();var $e=p({serverAddresses:d([ye().trim(),be().trim()]).array().default([])}).strict();l(S(),u()),p({key:S()}).strict(),p({key:S(),payload:u()}).strict();var et=[`image/jpeg`,`image/jpg`,`image/png`],tt=1024*1024*5,nt=p({index:h(),cameraId:S(),colSpan:h().optional(),rowSpan:h().optional(),x:h().optional(),y:h().optional()}),rt=d([v(1),v(4),v(6),v(7),v(9),v(10),v(12),v(13),v(15),v(16),v(20),v(26)]),it=d([v(`dnd`),v(`view`)]),at=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Layout name is required`),viewSize:rt,cameras:nt.array(),type:it});p({name:S().trim().min(1,`Layout name is required`),viewSize:rt,cameras:nt.array()}).partial().optional();var ot=p({views:at.array()}),st=m([`contact`,`temperature`,`humidity`,`occupancy`,`smoke`,`leak`,`light`,`siren`,`switch`,`lock`,`garage`,`doorbell`,`securitySystem`,`battery`]),ct=Se(`type`,[p({_id:S().default(e()).transform(()=>e()),type:v(`camera`),cameraId:S(),points:w}),p({_id:S().default(e()).transform(()=>e()),type:v(`sensor`),sensorType:st,sensorName:S(),sensorPluginId:S(),sensorCameraId:S(),points:w})]);d([p({type:v(`camera`),cameraId:S(),points:w}).partial(),p({type:v(`sensor`),sensorType:st,sensorName:S(),sensorPluginId:S(),sensorCameraId:S(),points:w}).partial()]).optional();var lt=p({shortcuts:ct.array()}),ut=p({camview:ot,cameras:l(S().trim(),lt)}),G=S().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),dt=p({_id:S().default(e()).transform(()=>e()),username:S().trim().min(1,`Username is required`),password:G,passwordConfirm:S().trim().min(1,`Please confirm your password`),role:d([v(`admin`),v(`user`)]),firstLogin:b().default(!0),preferences:ut.default({camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});p({username:S().trim().min(1,`Username is required`),password:S().trim().min(1,`Password is required`),kind:m([`native`,`web`]),persistent:b().default(!1),device:p({id:S().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:S().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var ft=p({username:S().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:S().trim().optional(),role:d([v(`admin`),v(`user`)]).optional(),upload:xe(I(tt,et,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:b().optional(),preferences:ut.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});p({username:S()}),p({username:S(),cameraname:S()}),p({username:S(),cameraname:S(),shortcutid:S()}),p({username:S(),viewid:S()}),p({username:S()});var K={[n.Motion]:{category:r.Sensor,assignmentKey:`motion`,multiProvider:!1,isDetectionType:!0},[n.Object]:{category:r.Sensor,assignmentKey:`object`,multiProvider:!1,isDetectionType:!0},[n.Audio]:{category:r.Sensor,assignmentKey:`audio`,multiProvider:!1,isDetectionType:!0},[n.Face]:{category:r.Sensor,assignmentKey:`face`,multiProvider:!1,isDetectionType:!0},[n.LicensePlate]:{category:r.Sensor,assignmentKey:`licensePlate`,multiProvider:!1,isDetectionType:!0},[n.Classifier]:{category:r.Sensor,assignmentKey:`classifier`,multiProvider:!0,isDetectionType:!0},[n.Clip]:{category:r.Sensor,assignmentKey:`clip`,multiProvider:!1,isDetectionType:!0},[n.Contact]:{category:r.Sensor,assignmentKey:`contact`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Light]:{category:r.Control,assignmentKey:`light`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`on`,value:!0,sustained:!0}},[n.Siren]:{category:r.Control,assignmentKey:`siren`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`active`,value:!0,sustained:!0}},[n.Switch]:{category:r.Control,assignmentKey:`switch`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`on`,value:!0,sustained:!0}},[n.PTZ]:{category:r.Control,assignmentKey:`ptz`,multiProvider:!1,isDetectionType:!1},[n.Lock]:{category:r.Control,assignmentKey:`lock`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:1,sustained:!0}},[n.SecuritySystem]:{category:r.Control,assignmentKey:`securitySystem`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:4,sustained:!0}},[n.Doorbell]:{category:r.Trigger,assignmentKey:`doorbell`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`ring`,value:!0,sustained:!1}},[n.Temperature]:{category:r.Info,assignmentKey:`temperature`,multiProvider:!0,isDetectionType:!1},[n.Humidity]:{category:r.Info,assignmentKey:`humidity`,multiProvider:!0,isDetectionType:!1},[n.Occupancy]:{category:r.Sensor,assignmentKey:`occupancy`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Smoke]:{category:r.Sensor,assignmentKey:`smoke`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Leak]:{category:r.Sensor,assignmentKey:`leak`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Garage]:{category:r.Control,assignmentKey:`garage`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:0,sustained:!0}},[n.Battery]:{category:r.Info,assignmentKey:`battery`,multiProvider:!1,isDetectionType:!1}};n.Battery,c.Charging,t.Charging,c.Low,t.LowBattery,n.Light,o.Brightness,de.Brightness,n.Siren,s.Volume,te.Volume;function pt(){return Object.entries(K).filter(([,e])=>e.multiProvider).map(([e])=>e)}function mt(){return Object.entries(K).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function ht(e){return K[e].assignmentKey}function gt(){return Object.entries(K).filter(([,e])=>e.category===r.Sensor&&!e.multiProvider).map(([e])=>e)}function _t(){return Object.entries(K).filter(([,e])=>!e.multiProvider&&e.category!==r.Sensor).map(([e])=>e)}function vt(){return Object.entries(K).filter(([,e])=>e.multiProvider).map(([e])=>e)}function yt(e){return!K[e].multiProvider}var bt={[n.Motion]:Object.values(ie),[n.Object]:Object.values(he),[n.Audio]:Object.values(a),[n.Face]:Object.values(ve),[n.LicensePlate]:Object.values(se),[n.Classifier]:Object.values(i),[n.Clip]:[],[n.Contact]:Object.values(_e),[n.Temperature]:Object.values(ue),[n.Humidity]:Object.values(ee),[n.Occupancy]:Object.values(le),[n.Smoke]:Object.values(ce),[n.Leak]:Object.values(oe),[n.Light]:Object.values(o),[n.Siren]:Object.values(s),[n.Switch]:Object.values(fe),[n.Lock]:Object.values(ae),[n.Garage]:Object.values(ge),[n.PTZ]:Object.values(re),[n.SecuritySystem]:Object.values(pe),[n.Doorbell]:Object.values(ne),[n.Battery]:Object.values(c)};function xt(e){return bt[e]??[]}new Set(pt()),new Set(mt());var St=`bubble://.cui://.doorbird://.dvrip://.echo:.eseecloud://.exec:.expr:.ffmpeg:.flussonic://.gopro://.hass:.homekit://.http://.https://.httpx://.isapi://.ivideon:.kasa://.nest:.onvif://.ring:.roborock://.rtmp://.rtsp://.rtspx://.tapo://.tcp://.tuya://.xiaomi://.yandex:.webrtc:.webtorrent:.wyze://`.split(`.`),Ct=[`#backchannel=`,`#header=`,`#media=audio`,`#media=video`,`#timeout=10`,`#timeout=20`,`#timeout=30`,`#transport=`],wt=`#audio=aac.#audio=aac/16000.#audio=mp3.#audio=opus.#audio=pcm.#audio=pcm/8000.#audio=pcm/16000.#audio=pcm/48000.#audio=pcma.#audio=pcma/8000.#audio=pcma/16000.#audio=pcma/48000.#audio=pcml.#audio=pcml/8000.#audio=pcml/44100.#audio=pcmu.#audio=pcmu/8000.#audio=pcmu/16000.#audio=pcmu/48000.#drawtext.#hardware.#hardware=cuda.#hardware=dxva2.#hardware=rkmpp.#hardware=v4l2m2m.#hardware=vaapi.#hardware=videotoolbox.#height=.#raw=.#rotate=-90.#rotate=90.#rotate=180.#rotate=270.#video=copy.#video=h264.#video=h265.#video=mjpeg.#width=`.split(`.`),Tt=[`client_id=`,`client_private=`,`device_id=`,`device_public=`],Et=[`#header=`],Dt=[`client_id=`,`client_secret=`,`refresh_token=`,`project_id=`,`device_id=`],Ot=[`device_id=`,`refresh_token=`],kt=[`#client_id=`,`#format=openipc`,`#format=wyze`,`#format=kinesis`,`#ice_servers=`];function At(e){return e.type===`string`&&!(`enum`in e)}function jt(e){return e.type===`number`}function Mt(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function Nt(e){return e.type===`array`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function Pt(e){return At(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Ft=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function X(e,t){return Array.isArray(e)?e.every(e=>Ft(e,t)):Ft(e,t)}function It(e,t){if(!e||Object.keys(e).length===0)return!0;let n=t.filter(e=>!J(e)&&!Y(e));for(let t of n){let n=Q(e,t.key),r=Z(t);if(n!==void 0&&!me(n,r,!0))return!1}return!0}function Z(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return q(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];default:return}}function Lt(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=t.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[]),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function Rt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=t.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[]),i=r.pop();if(!i)return;let a=e;for(let e of r){if(a[e]===void 0||a[e]===null){let t=r[r.indexOf(e)+1];a[e]=isNaN(Number(t))?{}:[]}a=a[e]}a[i]=n}function zt(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!J(r)&&!Y(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function Bt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function Vt(e,t){let n=Bt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function Ht(e,t){let n=Bt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function Ut(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return u();switch(e.type){case`string`:if(q(e))if(e.multiple){let t=_(S().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.required&&(t=t.min(1,{error:`Required`})),e.required?t:t.optional()}else{let t=m(e.enum);return e.required?t:t.optional()}let t=S().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||Ut(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=h();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?b():b().optional();case`array`:let r=_($(e.items));return e.required?r:r.optional();default:return e.required?u():u().optional()}}var Wt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Gt(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=p(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Wt(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:y.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:y.custom,message:`Required`,path:[e.key]})}})),r}var Kt=function(e){return e.READY=`ready`,e.RESTARTING=`restarting`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e}({});export{ht as A,$e as B,Dt as C,kt as D,St as E,tt as F,V as G,B as H,dt as I,P as J,z as K,G as L,gt as M,xt as N,K as O,yt as P,ft as R,Et as S,Ct as T,R as U,Qe as V,L as W,O as X,k as Y,We as Z,Vt as _,zt as a,wt as b,Nt as c,It as d,q as f,Pt as g,Y as h,Z as i,_t as j,vt as k,Mt as l,At as m,X as n,Gt as o,jt as p,Ke as q,Lt as r,Q as s,Kt as t,J as u,Ht as v,Ot as w,Tt as x,Rt as y,at as z};
1
+ import{S as e}from"./vendor-CF-D4B9g.js";import{C as t,D as n,E as r,S as i,T as a,_ as ee,a as te,b as ne,c as re,d as ie,f as ae,g as oe,h as se,i as ce,l as le,m as o,n as ue,o as s,p as de,r as fe,s as pe,t as me,u as he,v as ge,w as c,x as _e,y as ve}from"./vendor-cameraui-tvNekvZ-.js";import{_ as l,a as u,b as d,c as f,d as ye,f as be,g as xe,h as p,i as m,l as Se,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as Ce,v as S,x as C,y as we}from"./vendor-zod-V2qTUMVc.js";p({tempToken:S().trim().min(1,`Temporary token is required`),code:S().trim().min(1,`Code is required`)}).strict(),p({code:S().trim().length(6,`Code must be 6 digits`)}).strict(),p({code:S().trim().min(1,`Code is required`)}).strict(),p({code:S().trim().min(1,`Code is required`)}).strict(),p({grant_type:S().optional(),username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`),scope:S().optional(),client_id:S().optional(),client_secret:S().optional()}),p({refresh_token:S().min(1,`Refresh token is required`)}),p({id:S()});function Te(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var Ee=[`#df2a4c`,`#2a7fdf`,`#2adf7f`,`#df7f2a`,`#7f2adf`,`#2adfdf`,`#df2adf`,`#7fdf2a`];function De(){return Ee[Math.floor(Math.random()*Ee.length)]}function Oe(){return{name:`Default Zone`,points:[[0,0],[100,0],[100,100],[0,100]],type:`contain`,filter:`include`,labels:[`motion`,`person`,`vehicle`,`animal`],isPrivacyMask:!1,color:De()}}p({enabled:b().default(!1)}).strict();var ke=S().trim().min(1,`Detection label is required`),w=we([h(),h()]),T=p({name:S().trim().min(1,`Zone Name is required`),points:w.array().min(3,`At least 3 points are required`),type:d([v(`intersect`),v(`contain`)]),filter:d([v(`include`),v(`exclude`)]),labels:ke.array(),isPrivacyMask:b(),color:S().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),E=p({name:S().trim().min(1,`Line Name is required`),points:we([w,w]),direction:d([v(`both`),v(`a-to-b`),v(`b-to-a`)]),labels:ke.array(),color:S().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),D=p({motion:p({resolution:d([v(`low`),v(`medium`),v(`high`)]),timeout:h().min(10,`Minimum 10 seconds`)}),object:p({confidence:h().min(.3,`Minimum 0.3`).max(1,`Maximum 1`)}),audio:p({minDecibels:h().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:h().min(10,`Minimum 10 seconds`)}),sensor:p({timeout:h().min(10,`Minimum 10 seconds`),triggers:_(p({sensorType:S().trim().min(1,`Sensor type is required`),sensorName:S().trim().min(1,`Sensor name is required`),pluginId:S().trim().min(1,`Plugin ID is required`)})).default([])}),cascadeDetection:b().default(!0),cascadeTimeout:h().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:b().default(!1)}),Ae={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,returnToHome:!1,homeWaitMs:1e4},je=p({enabled:b().default(!1),targetLabels:S().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:h().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:h().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),returnToHome:b().default(!1),homeWaitMs:h().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4)}),O=d([v(`high-resolution`),v(`mid-resolution`),v(`low-resolution`),v(`snapshot`)]),Me=d([v(`high-resolution`),v(`mid-resolution`),v(`low-resolution`)]),k=d([v(`bubble://`),v(`cui://`),v(`doorbird://`),v(`dvrip://`),v(`eseecloud://`),v(`ffmpeg:`),v(`flussonic://`),v(`gopro://`),v(`hass:`),v(`homekit://`),v(`http://`),v(`https://`),v(`httpx://`),v(`isapi://`),v(`ivideon:`),v(`kasa://`),v(`nest:`),v(`onvif://`),v(`ring:`),v(`roborock://`),v(`rtmp://`),v(`rtsp://`),v(`rtspx://`),v(`tapo://`),v(`tcp://`),v(`tuya://`),v(`xiaomi://`),v(`yandex:`),v(`webrtc:`),v(`webtorrent:`),v(`wyze://`)]),Ne=k.options.map(e=>e.value),Pe=RegExp(`^(${Ne.join(`|`)})`),Fe=S().refine(e=>{if(!Pe.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),Ie=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:O,useForSnapshot:b().default(!1),hotMode:b().default(!0),preload:b().default(!0),prebuffer:b().default(!1),urls:Fe.array().min(1,`At least one valid URL is required`),childSourceId:S().trim().min(1,`Child Source ID is required`).optional()}).strict(),Le=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:O,useForSnapshot:b().default(!1),hotMode:b().default(!0),preload:b().default(!0),prebuffer:b().default(!1),urls:Fe.array().min(1,`At least one valid URL is required`),childSourceId:S().trim().min(1,`Child Source ID is required`).optional()}).strict(),A=p({id:S(),name:S().trim()}),Re=p({motion:A.optional(),object:A.optional(),audio:A.optional(),face:A.optional(),licensePlate:A.optional(),ptz:A.optional(),battery:A.optional(),cameraController:A.optional(),classifier:A.array().optional(),light:A.array().optional(),siren:A.array().optional(),switch:A.array().optional(),securitySystem:A.array().optional(),contact:A.array().optional(),doorbell:A.array().optional(),hub:A.array().optional()}).strict(),ze=d([v(`auto`),v(`mse`),v(`webrtc`),v(`webrtc/tcp`)]),Be=d([v(`16:9`),v(`9:16`),v(`8:3`),v(`4:3`),v(`1:1`)]),Ve=p({fps:h().min(0,`Minimum 0 fps`).max(30,`Maximum 30 fps`)}),He=d([v(`camera`),v(`doorbell`)]),j=p({streamingMode:ze,streamingSource:Me,aspectRatio:Be}),M=p({model:S().trim().optional(),manufacturer:S().trim().optional(),hardware:S().trim().optional(),serialNumber:S().trim().optional(),firmwareVersion:S().trim().optional(),supportUrl:S().trim().optional()});p({name:S().trim().min(1,`Camera name is required`),url:C(`Must be a valid URL`).trim().min(1,`Camera URL is required`),type:d([v(`Google`),v(`Ring`),v(`HomeKit`),v(`Onvif`),v(`Hass`),v(`GoPro`),v(`Roborock`),v(`FFmpeg`),v(`DVRip`),v(`Webtorrent`)]),username:S().trim().optional(),email:Ce(`Must be a valid email`).trim().optional(),password:S().trim().optional(),pin:S().trim().length(8,`PIN must be 8 characters long`).optional(),clientId:S().trim().optional(),clientSecret:S().trim().optional(),refreshToken:S().trim().optional(),projectId:S().trim().optional()}).strict().refine(e=>e.type===`HomeKit`?!!e.pin:!0,{message:`PIN is required for HomeKit cameras`,path:[`pin`]}).refine(e=>e.type===`Google`?!!e.clientId:!0,{message:`Client ID is required for Google cameras`,path:[`clientId`]}).refine(e=>e.type===`Google`?!!e.clientSecret:!0,{message:`Client Secret is required for Google cameras`,path:[`clientSecret`]}).refine(e=>e.type===`Google`?!!e.projectId:!0,{message:`Project ID is required for Google cameras`,path:[`projectId`]}).refine(e=>e.type===`Google`?!!e.refreshToken:!0,{message:`Refresh Token is required for Google cameras`,path:[`refreshToken`]}).refine(e=>e.type===`Ring`?!!e.email:!0,{message:`Email is required`,path:[`email`]}).refine(e=>e.type===`Roborock`?!!e.username:!0,{message:`Username is required`,path:[`username`]}).refine(e=>e.type===`Roborock`||e.type===`Ring`?!!e.password:!0,{message:`Password is required`,path:[`password`]});var Ue=p({id:S(),name:S().trim()}).strict(),N=p({autoRefresh:b().default(!1),ttl:h().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:h().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),P=p({_id:S().default(e()).transform(()=>e()),nativeId:S().trim().optional(),pluginInfo:Ue.optional(),disabled:b().default(!1),name:S().trim().min(1,`Camera name is required`),room:S().trim().min(1,`Room is required`).default(`Default`),type:He.default(`camera`),isCloud:b().default(!1),snapshotSettings:N.default({autoRefresh:!1,ttl:50,interval:60}),info:M.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:Ie.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.prebuffer),{message:`Snapshot source can not be used with prebuffer`}),plugins:A.array().default([]),assignments:Re.default({}),interfaceSettings:j.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,aspectRatio:`16:9`}),detectionZones:T.default([]),detectionLines:E.default([]),detectionSettings:D.default({motion:{resolution:`low`,timeout:30},object:{confidence:.5},audio:{minDecibels:-40,timeout:30},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:je.default(Ae),frameWorkerSettings:Ve.default({fps:10})}).strict();P.transform(e=>{let t=e.sources.flatMap(e=>e.urls),n=e.detectionZones.length===0?[Oe()]:e.detectionZones;return e.isCloud||Te(t)?{...e,isCloud:!0,detectionZones:n}:{...e,detectionZones:n}});var We=p({disabled:b().optional(),type:He.optional(),name:S().trim().min(1,`Camera name is required`).optional(),room:S().trim().min(1,`Room is required`).optional(),isCloud:b().optional(),snapshotSettings:N.partial().optional(),info:M.partial().optional(),sources:Le.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).optional(),plugins:A.array().optional(),assignments:Re.partial().optional(),interfaceSettings:j.partial().optional(),detectionZones:T.optional(),detectionLines:E.optional(),detectionSettings:D.partial().optional(),ptzAutotrack:je.partial().optional(),frameWorkerSettings:Ve.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||Te(t))return{...e,isCloud:!0}}return e});p({url:S().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),p({cameraname:S()}),p({cameraname:S(),sourcename:S()}),p({cameraid:S(),sourcename:S()}),p({cameraname:S(),pluginname:S()}),p({cameraname:S(),scope:S(),pluginname:S()}),p({cameraname:S(),pluginname:S(),sensorId:S()}),p({cameraname:S(),scope:S(),pluginname:S(),sensorId:S()}),p({type:S().optional()}),p({video:x().optional(),audio:x().optional(),microphone:x().optional()}),p({forceNew:x().optional()}),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:C(`Must be a valid URL`).trim(),credentials:p({username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`)})}),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:C(`Must be a valid URL`).trim().optional(),credentials:p({username:S().trim().min(1,`Username is required`),password:S().min(1,`Password is required`)}).nullable().optional()}),p({id:S().min(1,`ID is required`)});var Ge=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Ke=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e}({});function F(e){return e.mimetype!==void 0}function qe(e){return F(e)?Buffer.byteLength(e._buf):e.size}function Je(e){return F(e)?e.mimetype:e.type}function I(e,t,n,r){return f().refine(t=>qe(t)<=e,n).refine(e=>t.includes(Je(e)),r)}var Ye=p({start:g().optional(),page:g().optional(),pageSize:g().optional()}),L=[`image/jpeg`,`image/png`],Xe=1024*1024*2,R=[`video/mp4`,`video/quicktime`],z=1024*1024*10,B=[`audio/mpeg`,`audio/wav`,`audio/ogg`],V=1024*1024*2,H=()=>I(Xe,L,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),U=f().transform(e=>JSON.parse(e.value)),W=f().transform(e=>JSON.parse(e.value)),Ze=f().transform(e=>JSON.parse(e.value));p({pluginname:S().trim().refine(e=>Ge.test(e),`Not a valid plugin name`),pluginversion:S().trim().optional().default(`latest`)}).strict(),p({actionId:S(),payload:u()}).strict(),l(u(),u()),p({upload:H(),metadata:W,config:U}),p({upload:I(V,B,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Ze,config:U}),p({upload:I(z,R,`Max file size is 5 MB`,`.mp4 files are accepted`),config:U}),p({upload:H(),metadata:W,config:U}),p({upload:H(),metadata:W,config:U}),p({upload:H(),metadata:W,config:U}),p({pluginname:S()}),p({scope:S(),pluginname:S()}),Ye.extend({pluginname:S().trim().optional()}),p({removeStorage:x().optional()});var Qe=p({enabled:b().optional(),directEnabled:b().optional(),directMode:m([`cloudflare`,`customDomain`]).optional(),customDomain:p({url:C(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:p({mode:m([`quick`,`token`,`managed`]).optional(),hostname:S().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:S().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode===`token`&&!e.cloudflare?.token),{message:`Token is required when cloudflare.mode is "token"`,path:[`cloudflare`,`token`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});p({mode:m([`cloudflare`,`customDomain`])}).strict(),p({hostname:S().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),p({name:S().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),p({name:S().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),p({version:S().trim().optional().default(`latest`)}).strict();var $e=p({serverAddresses:d([ye().trim(),be().trim()]).array().default([])}).strict();l(S(),u()),p({key:S()}).strict(),p({key:S(),payload:u()}).strict();var et=[`image/jpeg`,`image/jpg`,`image/png`],tt=1024*1024*5,nt=p({index:h(),cameraId:S(),colSpan:h().optional(),rowSpan:h().optional(),x:h().optional(),y:h().optional()}),rt=d([v(1),v(4),v(6),v(7),v(9),v(10),v(12),v(13),v(15),v(16),v(20),v(26)]),it=d([v(`dnd`),v(`view`)]),at=p({_id:S().default(e()).transform(()=>e()),name:S().trim().min(1,`Layout name is required`),viewSize:rt,cameras:nt.array(),type:it});p({name:S().trim().min(1,`Layout name is required`),viewSize:rt,cameras:nt.array()}).partial().optional();var ot=p({views:at.array()}),st=m([`contact`,`temperature`,`humidity`,`occupancy`,`smoke`,`leak`,`light`,`siren`,`switch`,`lock`,`garage`,`doorbell`,`securitySystem`,`battery`]),ct=Se(`type`,[p({_id:S().default(e()).transform(()=>e()),type:v(`camera`),cameraId:S(),points:w}),p({_id:S().default(e()).transform(()=>e()),type:v(`sensor`),sensorType:st,sensorName:S(),sensorPluginId:S(),sensorCameraId:S(),points:w})]);d([p({type:v(`camera`),cameraId:S(),points:w}).partial(),p({type:v(`sensor`),sensorType:st,sensorName:S(),sensorPluginId:S(),sensorCameraId:S(),points:w}).partial()]).optional();var lt=p({shortcuts:ct.array()}),ut=p({camview:ot,cameras:l(S().trim(),lt)}),G=S().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),dt=p({_id:S().default(e()).transform(()=>e()),username:S().trim().min(1,`Username is required`),password:G,passwordConfirm:S().trim().min(1,`Please confirm your password`),role:d([v(`admin`),v(`user`)]),firstLogin:b().default(!0),preferences:ut.default({camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});p({username:S().trim().min(1,`Username is required`),password:S().trim().min(1,`Password is required`),kind:m([`native`,`web`]),persistent:b().default(!1),device:p({id:S().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:S().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var ft=p({username:S().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:S().trim().optional(),role:d([v(`admin`),v(`user`)]).optional(),upload:xe(I(tt,et,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:b().optional(),preferences:ut.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});p({username:S()}),p({username:S(),cameraname:S()}),p({username:S(),cameraname:S(),shortcutid:S()}),p({username:S(),viewid:S()}),p({username:S()});var K={[n.Motion]:{category:r.Sensor,assignmentKey:`motion`,multiProvider:!1,isDetectionType:!0},[n.Object]:{category:r.Sensor,assignmentKey:`object`,multiProvider:!1,isDetectionType:!0},[n.Audio]:{category:r.Sensor,assignmentKey:`audio`,multiProvider:!1,isDetectionType:!0},[n.Face]:{category:r.Sensor,assignmentKey:`face`,multiProvider:!1,isDetectionType:!0},[n.LicensePlate]:{category:r.Sensor,assignmentKey:`licensePlate`,multiProvider:!1,isDetectionType:!0},[n.Classifier]:{category:r.Sensor,assignmentKey:`classifier`,multiProvider:!0,isDetectionType:!0},[n.Clip]:{category:r.Sensor,assignmentKey:`clip`,multiProvider:!1,isDetectionType:!0},[n.Contact]:{category:r.Sensor,assignmentKey:`contact`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Light]:{category:r.Control,assignmentKey:`light`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`on`,value:!0,sustained:!0}},[n.Siren]:{category:r.Control,assignmentKey:`siren`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`active`,value:!0,sustained:!0}},[n.Switch]:{category:r.Control,assignmentKey:`switch`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`on`,value:!0,sustained:!0}},[n.PTZ]:{category:r.Control,assignmentKey:`ptz`,multiProvider:!1,isDetectionType:!1},[n.Lock]:{category:r.Control,assignmentKey:`lock`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:1,sustained:!0}},[n.SecuritySystem]:{category:r.Control,assignmentKey:`securitySystem`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:4,sustained:!0}},[n.Doorbell]:{category:r.Trigger,assignmentKey:`doorbell`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`ring`,value:!0,sustained:!1}},[n.Temperature]:{category:r.Info,assignmentKey:`temperature`,multiProvider:!0,isDetectionType:!1},[n.Humidity]:{category:r.Info,assignmentKey:`humidity`,multiProvider:!0,isDetectionType:!1},[n.Occupancy]:{category:r.Sensor,assignmentKey:`occupancy`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Smoke]:{category:r.Sensor,assignmentKey:`smoke`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Leak]:{category:r.Sensor,assignmentKey:`leak`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`detected`,value:!0,sustained:!0}},[n.Garage]:{category:r.Control,assignmentKey:`garage`,multiProvider:!0,isDetectionType:!1,cascadeTrigger:{property:`currentState`,value:0,sustained:!0}},[n.Battery]:{category:r.Info,assignmentKey:`battery`,multiProvider:!1,isDetectionType:!1}};n.Battery,c.Charging,t.Charging,c.Low,t.LowBattery,n.Light,o.Brightness,de.Brightness,n.Siren,s.Volume,te.Volume;function pt(){return Object.entries(K).filter(([,e])=>e.multiProvider).map(([e])=>e)}function mt(){return Object.entries(K).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function ht(e){return K[e].assignmentKey}function gt(){return Object.entries(K).filter(([,e])=>e.category===r.Sensor&&!e.multiProvider).map(([e])=>e)}function _t(){return Object.entries(K).filter(([,e])=>!e.multiProvider&&e.category!==r.Sensor).map(([e])=>e)}function vt(){return Object.entries(K).filter(([,e])=>e.multiProvider).map(([e])=>e)}function yt(e){return!K[e].multiProvider}var bt={[n.Motion]:Object.values(ie),[n.Object]:Object.values(he),[n.Audio]:Object.values(a),[n.Face]:Object.values(ve),[n.LicensePlate]:Object.values(se),[n.Classifier]:Object.values(i),[n.Clip]:[],[n.Contact]:Object.values(_e),[n.Temperature]:Object.values(ue),[n.Humidity]:Object.values(ee),[n.Occupancy]:Object.values(le),[n.Smoke]:Object.values(ce),[n.Leak]:Object.values(oe),[n.Light]:Object.values(o),[n.Siren]:Object.values(s),[n.Switch]:Object.values(fe),[n.Lock]:Object.values(ae),[n.Garage]:Object.values(ge),[n.PTZ]:Object.values(re),[n.SecuritySystem]:Object.values(pe),[n.Doorbell]:Object.values(ne),[n.Battery]:Object.values(c)};function xt(e){return bt[e]??[]}new Set(pt()),new Set(mt());var St=`bubble://.cui://.doorbird://.dvrip://.echo:.eseecloud://.exec:.expr:.ffmpeg:.flussonic://.gopro://.hass:.homekit://.http://.https://.httpx://.isapi://.ivideon:.kasa://.nest:.onvif://.ring:.roborock://.rtmp://.rtsp://.rtspx://.tapo://.tcp://.tuya://.xiaomi://.yandex:.webrtc:.webtorrent:.wyze://`.split(`.`),Ct=[`#backchannel=`,`#header=`,`#media=audio`,`#media=video`,`#timeout=10`,`#timeout=20`,`#timeout=30`,`#transport=`],wt=`#audio=aac.#audio=aac/16000.#audio=mp3.#audio=opus.#audio=pcm.#audio=pcm/8000.#audio=pcm/16000.#audio=pcm/48000.#audio=pcma.#audio=pcma/8000.#audio=pcma/16000.#audio=pcma/48000.#audio=pcml.#audio=pcml/8000.#audio=pcml/44100.#audio=pcmu.#audio=pcmu/8000.#audio=pcmu/16000.#audio=pcmu/48000.#drawtext.#hardware.#hardware=cuda.#hardware=dxva2.#hardware=rkmpp.#hardware=v4l2m2m.#hardware=vaapi.#hardware=videotoolbox.#height=.#raw=.#rotate=-90.#rotate=90.#rotate=180.#rotate=270.#video=copy.#video=h264.#video=h265.#video=mjpeg.#width=`.split(`.`),Tt=[`client_id=`,`client_private=`,`device_id=`,`device_public=`],Et=[`#header=`],Dt=[`client_id=`,`client_secret=`,`refresh_token=`,`project_id=`,`device_id=`],Ot=[`device_id=`,`refresh_token=`],kt=[`#client_id=`,`#format=openipc`,`#format=wyze`,`#format=kinesis`,`#ice_servers=`];function At(e){return e.type===`string`&&!(`enum`in e)}function jt(e){return e.type===`number`}function Mt(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function Nt(e){return e.type===`array`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function Pt(e){return At(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Ft=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function X(e,t){return Array.isArray(e)?e.every(e=>Ft(e,t)):Ft(e,t)}function It(e,t){if(!e||Object.keys(e).length===0)return!0;let n=t.filter(e=>!J(e)&&!Y(e));for(let t of n){let n=Q(e,t.key),r=Z(t);if(n!==void 0&&!me(n,r,!0))return!1}return!0}function Z(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return q(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];default:return}}function Lt(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=t.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[]),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function Rt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=t.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[]),i=r.pop();if(!i)return;let a=e;for(let e of r){if(a[e]===void 0||a[e]===null){let t=r[r.indexOf(e)+1];a[e]=isNaN(Number(t))?{}:[]}a=a[e]}a[i]=n}function zt(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!J(r)&&!Y(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function Bt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function Vt(e,t){let n=Bt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function Ht(e,t){let n=Bt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function Ut(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return u();switch(e.type){case`string`:if(q(e))if(e.multiple){let t=_(S().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.required&&(t=t.min(1,{error:`Required`})),e.required?t:t.optional()}else{let t=m(e.enum);return e.required?t:t.optional()}let t=S().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||Ut(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=h();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?b():b().optional();case`array`:let r=_($(e.items));return e.required?r:r.optional();default:return e.required?u():u().optional()}}var Wt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Gt(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=p(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Wt(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:y.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:y.custom,message:`Required`,path:[e.key]})}})),r}var Kt=function(e){return e.READY=`ready`,e.RESTARTING=`restarting`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e}({});export{ht as A,$e as B,Dt as C,kt as D,St as E,tt as F,V as G,B as H,dt as I,P as J,z as K,G as L,gt as M,xt as N,K as O,yt as P,ft as R,Et as S,Ct as T,R as U,Qe as V,L as W,O as X,k as Y,We as Z,Vt as _,zt as a,wt as b,Nt as c,It as d,q as f,Pt as g,Y as h,Z as i,_t as j,vt as k,Mt as l,At as m,X as n,Gt as o,jt as p,Ke as q,Lt as r,Q as s,Kt as t,J as u,Ht as v,Ot as w,Tt as x,Rt as y,at as z};
@@ -1 +1 @@
1
- import{Di as e}from"./vendor-cameraui-DpqS51DT.js";import{d as t}from"./vendor-core-DAinYQ9K.js";var n=[`account`,`appearance`,`user`,`recordings`,`instances`,`remote`,`backup`,`system`],r={cameras:{showEvents:!0,order:[],groupOrder:{},viewMode:`default`,dragDisabled:!0},camview:{dragDisabled:!1},config:{zoom:12},console:{zoom:12},interface:{showBottomBarOnMobile:!0,selectedSettingsView:`account`,navbarStayCollapsed:!0}},i=t(`ui`,()=>({uiSettings:e(`ui`,r,{mergeDefaults:!0})}));export{i as n,n as t};
1
+ import{Di as e}from"./vendor-cameraui-tvNekvZ-.js";import{d as t}from"./vendor-core-DinQdIbm.js";var n=[`account`,`appearance`,`user`,`recordings`,`instances`,`remote`,`backup`,`system`],r={cameras:{showEvents:!0,order:[],groupOrder:{},viewMode:`default`,dragDisabled:!0},camview:{dragDisabled:!1},config:{zoom:12},console:{zoom:12},interface:{showBottomBarOnMobile:!0,selectedSettingsView:`account`,navbarStayCollapsed:!0}},i=t(`ui`,()=>({uiSettings:e(`ui`,r,{mergeDefaults:!0})}));export{i as n,n as t};
@@ -1 +1 @@
1
- import"./api-NtCA6-OA.js";import"./vendor-CF-D4B9g.js";async function e(){return{available:!1,enrolled:!1}}async function t(e){return!1}async function n(e,t){}async function r(e){}async function i(e,t){return null}export{i as a,n as i,r as n,t as r,e as t};
1
+ import"./api-DG-9_slP.js";import"./vendor-CF-D4B9g.js";async function e(){return{available:!1,enrolled:!1}}async function t(e){return!1}async function n(e,t){}async function r(e){}async function i(e,t){return null}export{i as a,n as i,r as n,t as r,e as t};
@@ -1 +1 @@
1
- import{Yt as e}from"./vendor-CF-D4B9g.js";import{En as t,Kt as n}from"./vendor-cameraui-DpqS51DT.js";import{t as r}from"./cameras-CKYu9vm7.js";import{A as i,N as a,O as o}from"./types-Wl5Ty2yP.js";function s(){let{data:s}=new r().getCamerasQuery({page:1,pageSize:-1}),c=e(()=>s.value?.result??[]),l=e(()=>c.value.map(e=>({label:e.name,value:e._id})));function u(e){let n=c.value.find(t=>t._id===e);return n?.assignments?Object.values(t).filter(e=>{let t=i(e),r=n.assignments[t];return r?Array.isArray(r)?r.length>0:!0:!1}).map(e=>({label:e,value:e,meta:o[e]})):[]}function d(t,r){let{sensors:i,isLoading:a}=n(t,r);return{instanceOptions:e(()=>i.value.map(e=>({label:e.displayName.value||e.name,sensorName:e.name,pluginId:e.pluginId}))),isLoading:a}}function f(e){return a(e).map(e=>({label:e,value:e}))}return{cameras:c,cameraOptions:l,getSensorTypes:u,useSensorInstances:d,getPropertiesForSensor:f}}export{s as t};
1
+ import{Yt as e}from"./vendor-CF-D4B9g.js";import{En as t,Kt as n}from"./vendor-cameraui-tvNekvZ-.js";import{t as r}from"./cameras-CuAJzX9E.js";import{A as i,N as a,O as o}from"./types-QvsYiGdQ.js";function s(){let{data:s}=new r().getCamerasQuery({page:1,pageSize:-1}),c=e(()=>s.value?.result??[]),l=e(()=>c.value.map(e=>({label:e.name,value:e._id})));function u(e){let n=c.value.find(t=>t._id===e);return n?.assignments?Object.values(t).filter(e=>{let t=i(e),r=n.assignments[t];return r?Array.isArray(r)?r.length>0:!0:!1}).map(e=>({label:e,value:e,meta:o[e]})):[]}function d(t,r){let{sensors:i,isLoading:a}=n(t,r);return{instanceOptions:e(()=>i.value.map(e=>({label:e.displayName.value||e.name,sensorName:e.name,pluginId:e.pluginId}))),isLoading:a}}function f(e){return a(e).map(e=>({label:e,value:e}))}return{cameras:c,cameraOptions:l,getSensorTypes:u,useSensorInstances:d,getPropertiesForSensor:f}}export{s as t};
@@ -1 +1 @@
1
- import{$n as e,Yt as t}from"./vendor-CF-D4B9g.js";import{Ci as n}from"./vendor-cameraui-DpqS51DT.js";var r=n(Symbol(`cui-camera-drawer`)),i={position:`right`,showCloseIcon:!1,modal:!0,dismissable:!0,baseZIndex:1e3,blockScroll:!0,pt:{root:{class:`w-full sm:w-[400px]`}}};function a(){let n=e(!1),a=t(()=>n.value);return r.on(e=>{switch(e.type){case`close`:n.value=!1;break;case`open`:n.value=!0;break}}),{open:(e,t)=>{r.emit({type:`open`,options:e,props:{...i,...t}}),n.value=!0},close:()=>{r.emit({type:`close`}),n.value=!1},isOpen:a,getEventBus:()=>r}}export{a as n,i as t};
1
+ import{$n as e,Yt as t}from"./vendor-CF-D4B9g.js";import{Ci as n}from"./vendor-cameraui-tvNekvZ-.js";var r=n(Symbol(`cui-camera-drawer`)),i={position:`right`,showCloseIcon:!1,modal:!0,dismissable:!0,baseZIndex:1e3,blockScroll:!0,pt:{root:{class:`w-full sm:w-[400px]`}}};function a(){let n=e(!1),a=t(()=>n.value);return r.on(e=>{switch(e.type){case`close`:n.value=!1;break;case`open`:n.value=!0;break}}),{open:(e,t)=>{r.emit({type:`open`,options:e,props:{...i,...t}}),n.value=!0},close:()=>{r.emit({type:`close`}),n.value=!1},isOpen:a,getEventBus:()=>r}}export{a as n,i as t};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CuiMarkdownContent-CFfh6mTv.js","assets/vendor-CF-D4B9g.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-markdown-BZSidpyh.js","assets/vendor-markdown-DtOhvyRx.css"])))=>i.map(i=>d[i]);
2
- import{S as e,l as t}from"./api-NtCA6-OA.js";import{$n as n,$t as r,An as i,Cn as a,En as o,Gt as s,Hn as c,In as l,Qt as u,Rn as d,Rt as ee,Sn as f,Tn as p,Vn as m,Xt as h,Yn as g,Yt as _,Zn as v,Zt as y,an as te,ar as ne,cr as b,dn as re,dr as x,hn as S,in as C,jn as ie,kt as ae,ln as w,on as T,or as oe,sr as E,ur as se,wn as D}from"./vendor-CF-D4B9g.js";import{Bn as ce,Vn as le,Zt as ue,di as de,vi as fe,xi as pe}from"./vendor-cameraui-DpqS51DT.js";import{l as me}from"./vendor-core-DAinYQ9K.js";import{a as he,t as O}from"./useSharedComposables-DUNE9Fjf.js";import{A as k,J as ge}from"./vendor-primevue-CG0iLCzA.js";import{t as _e}from"./CuiImage-BR35PcJ-.js";import{t as ve}from"./close-rounded-BhUZzZeA.js";var A={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function j(e,t){return D(),r(`svg`,A,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M4.75 3.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h6.5c.69 0 1.25-.56 1.25-1.25v-1.5a.75.75 0 0 1 1.5 0v1.5A2.75 2.75 0 0 1 11.25 14h-6.5A2.75 2.75 0 0 1 2 11.25v-6.5A2.75 2.75 0 0 1 4.75 2h1.5a.75.75 0 0 1 0 1.5zM8 2.75A.75.75 0 0 1 8.75 2h4.5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V4.561l-3.22 3.22A.75.75 0 1 1 8.22 6.72l3.22-3.22H8.75A.75.75 0 0 1 8 2.75`},null,-1)]])}var M=g({name:`fluent-open16-filled`,render:j}),N={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function P(e,t){return D(),r(`svg`,N,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.042.018a.75.75 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06`},null,-1)]])}var ye=g({name:`octicon-chevron-left16`,render:P}),F=T({render(){return w(`div`,{class:`flex items-center justify-center w-full h-full min-h-[100px]`},[w(ce,{class:`w-[24px] h-[24px] m-0`,strokeWidth:`5`})])}});function I(e,t){return te({loader:e,loadingComponent:F,delay:t?.delay??150})}var L=Symbol(`DialogStepper`);function be(e){let t=n(e),r=n(void 0),i={},a=(e,t)=>{i[e]||(i[e]=[]),i[e].push(t)},o=(e,t)=>{let n=i[e];if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}},s=(e,t)=>{let n=i[e];n&&n.forEach(e=>{e(t)})},c={currentTab:r,tabs:t,isMainTab:_(()=>!r.value),goToTab:e=>{let n=t.value.find(t=>t.id===e);n&&(r.value=e,s(`tabChange`,n))},goToMainTab:()=>{r.value=void 0,s(`tabChange`,void 0)},registerTab:e=>{t.value.some(t=>t.id===e.id)||t.value.push(e)},updateTabConfig:(e,n)=>{let r=t.value.findIndex(t=>t.id===e);r!==-1&&(t.value[r]={...t.value[r],...n},n.title&&s(`updateTabTitle`,{tabId:e,title:n.title}))},on:a,off:o,emit:s};return p(L,c),c}var xe={class:`p-dialog-content`},Se={key:0,class:`p-dialog-header-actions`},Ce={class:`p-dialog-title`},we={class:`p-dialog-header-actions ml-auto gap-2`},Te={key:0,class:`text-wrap`},Ee={key:0,class:`flex items-center justify-center shrink-0 w-full p-5 pb-safe-offset-5 mt-5 self-end`,style:{background:`var(--border-color)`}},R=T({__name:`CuiDialog`,setup(t){let g=I(()=>ae(()=>import(`./CuiMarkdownContent-CFfh6mTv.js`),__vite__mapDeps([0,1,2,3,4]))),te=me(),w=e(),{t:T}=de(),{width:ce,height:ue}=he(),O=re(`dialogRef`),k=l(`dialogHeader`),A=ne(O.value.data),{contentText:j,contentProps:N,loading:P,disabled:F,cancelButtonProps:L,confirmButtonProps:R,hideCancelButton:z,hideConfirmButton:B,dialogContentClass:V,dialogContentStyle:H,cancelText:U,confirmText:W,stayActive:De,src:Oe,title:G,fullscreen:ke,tabs:K,goTo:Ae,draggable:je,rootId:q,markdown:Me,headerActions:Ne}=A;p(`dialogRefProps`,A);let J=v({});p(`dialogHeaderToggles`,J);let Pe=O.value.options.templates,Fe=pe(document.getElementById(`app`)),Y=n(!1),X=n(null),Ie=n(!1),Z=n(G.value),Le=n(!1),Q,{style:Re,x:ze,y:Be}=fe(k,{disabled:!je?.value,containerElement(){return document.getElementById(`app`)},onStart(){Le.value=!0}}),Ve=_(()=>{let e=document.getElementById(q?.value||``);if(!e)return 1/0;let t=e.offsetWidth;return Fe.width.value-t}),He=_(()=>{let e=document.getElementById(q?.value||``);if(!e)return 1/0;let t=e.offsetHeight;return Fe.height.value-t}),Ue=_(()=>!!(Y.value||P?.value||oe(X.value?.isLoading))),We=_(()=>K.value!==void 0&&K.value.length>0),Ge=_(()=>U?.value?U.value:T(`components.form.button.close`)),Ke=_(()=>W?.value?W.value:T(`components.form.button.save`)),qe=_(()=>({...L?.value,label:Ge.value,loading:void 0,size:`small`,severity:L?.value&&`severity`in L.value?L.value.severity:`secondary`,class:void 0})),Je=_(()=>({...R?.value,label:Ke.value,loading:void 0,size:`small`,severity:R?.value&&`severity`in R.value?R.value.severity:`success`,class:`ml-auto`,disabled:F.value}));function Ye(e){let t=X.value?.resolveGoTo?.();O.value.close(),te.push(t??e)}async function Xe(){try{Y.value=!0;let e=await X.value?.onCancel?.();O.value.close({status:`cancel`,data:e})}catch(e){w.add({severity:`error`,detail:e,life:3e3})}finally{Y.value=!1}}async function Ze(){try{Y.value=!0;let e=await X.value?.onConfirm?.();if(e===null)return;De?.value?O.value.options.onConfirm?.(e):O.value.close({status:`confirm`,data:e})}catch(e){w.add({severity:`error`,detail:e,life:3e3})}finally{Y.value=!1}}function $(){let e=document.getElementById(q?.value||``)?.closest(`.p-dialog-mask`);if(!e)return;let t=Array.from(document.querySelectorAll(`.p-dialog-mask`)),n=0;for(let e of t){let t=parseInt(e.style.zIndex,10)||0;t>n&&(n=t)}(parseInt(e.style.zIndex,10)||0)<n&&(e.style.zIndex=String(n+1))}return We.value&&(Q=be(K.value??[]),d(Q.isMainTab,e=>{Ie.value=!e},{immediate:!0}),Q.on(`updateTabTitle`,({tabId:e,title:t})=>{Q?.currentTab.value===e&&G?.value&&(Z.value=t)}),Q.on(`tabChange`,e=>{Z.value=e?.title??G.value})),d([Re,ce,ue],()=>{if(!Le.value)return;let e=document.getElementById(q?.value||``);if(e){let t=Math.max(0,Math.min(ze.value,Ve.value)),n=Math.max(0,Math.min(Be.value,He.value));e.style.left=`${t}px`,e.style.top=`${n}px`}}),f(()=>{let e=document.getElementById(q?.value||``)?.closest(`.p-dialog-mask`);e&&(e.addEventListener(`pointerdown`,$),$())}),a(()=>{let e=document.getElementById(q?.value||``)?.closest(`.p-dialog-mask`);e&&e.removeEventListener(`pointerdown`,$)}),(e,t)=>{let n=ye,a=le,l=M,d=ve,f=_e,p=ge;return D(),r(`div`,xe,[h(`div`,{ref_key:`dialogHeader`,ref:k,class:b([`p-dialog-header justify-start gap-1`,{"cursor-move":E(je)}])},[C(ee,{name:`slide-left`},{default:m(()=>[E(Ie)?(D(),r(`div`,Se,[C(a,{severity:`secondary`,text:``,rounded:``,class:`p-dialog-back-button`,onClick:E(Q)?.goToMainTab},{icon:m(()=>[C(n,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])])):u(``,!0)]),_:1}),h(`span`,Ce,x(E(Z)),1),h(`div`,we,[(D(!0),r(s,null,o(E(Ne)??[],(e,t)=>c((D(),y(a,{key:t,severity:`secondary`,text:``,rounded:``,class:b([`p-dialog-close-button`,{"!text-primary":e.toggle&&E(J)[t]}]),onClick:()=>{e.toggle&&(E(J)[t]=!E(J)[t]),e.onClick()}},{icon:m(()=>[(D(),y(i(e.icon),{width:`100%`,height:`100%`}))]),_:2},1032,[`class`,`onClick`])),[[p,e.tooltip?{value:e.tooltip}:void 0,void 0,{bottom:!0}]])),128)),E(Ae)?c((D(),y(a,{key:0,severity:`secondary`,text:``,rounded:``,class:`p-dialog-close-button`,onClick:t[0]||=e=>Ye(E(Ae))},{icon:m(()=>[C(l,{width:`100%`,height:`100%`})]),_:1})),[[p,{value:e.$t(`components.dialog.open`)},void 0,{bottom:!0}]]):u(``,!0),C(a,{severity:`secondary`,text:``,rounded:``,class:`p-dialog-close-button`,onClick:E(O).close},{icon:m(()=>[C(d,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])])],2),h(`div`,{class:b([`p-dialog-body flex justify-center w-full overflow-y-auto px-5 py-1 text-balance`,{"h-full":E(ke)},E(V)]),style:se(E(H))},[E(j)&&!E(Me)?(D(),r(`span`,Te,x(E(j)),1)):E(j)&&E(Me)?(D(),y(E(g),{key:1,content:E(j)},null,8,[`content`])):E(Oe)?(D(),y(f,{key:2,src:E(Oe),"image-container-class":`w-full h-full`},null,8,[`src`])):(D(),y(i(E(Pe)?.content),S({key:3,ref_key:`componentRef`,ref:X,class:`w-full h-full relative`},E(N),ie(E(O).options.events||{})),null,16))],6),t[2]||=h(`div`,{class:`mt-auto`},null,-1),!E(z)||!E(B)?(D(),r(`div`,Ee,[E(z)?u(``,!0):(D(),y(a,S({key:0},E(qe),{class:`cui-button-medium`,onClick:Xe}),null,16)),t[1]||=h(`div`,{class:`ml-auto`},null,-1),E(B)?u(``,!0):(D(),y(a,S({key:1},E(Je),{loading:E(Ue),disabled:E(F),class:`cui-button-medium`,onClick:Ze}),null,16,[`loading`,`disabled`]))])):u(``,!0)])}}}),z={modal:!0,closable:!0,blockScroll:!0,draggable:!1,dismissableMask:!0,baseZIndex:1100,showHeader:!1},B={pt:{root:{class:`p-dialog-maximized pt-safe border-none`}}},V={pt:{root:{class:`shadow-xl shadow-black/30 overflow-hidden`}}},H={mobile:{textDialog:{style:{maxWidth:`none`,maxHeight:`100vh`},...B},imageDialog:{style:{maxWidth:`none`,maxHeight:`100vh`},...B},componentDialog:{style:{maxWidth:`none`,maxHeight:`100vh`},...B},stepperDialog:{style:{maxWidth:`none`,maxHeight:`100vh`},...B}},desktop:{textDialog:{style:{maxWidth:`1000px`,maxHeight:`90vh`,width:`auto`},...V},imageDialog:{style:{maxWidth:`1000px`,maxHeight:`90vh`,width:`70vw`},...V},componentDialog:{style:{maxWidth:`1000px`,maxHeight:`90vh`,width:`70vw`},...V},stepperDialog:{style:{maxWidth:`1000px`,maxHeight:`90vh`,width:`70vw`},...V}}};function U(){return{open:(e,t)=>{let n={content:e&&g(e),options:t||{},data:t&&t.data,close:e=>{k.emit(`close`,{instance:n,params:e})}};return k.emit(`open`,{instance:n}),n}}}function W(){let e=U(),{mdBreakpoint:n}=O(),r=(e,t,n)=>{let r=v({...e});n&&(t.pt.root.class=(t.pt.root.class?t.pt.root.class+` `:``)+`fixed mt-0`),ue(r.options.props,t)},i=(e,t,i,a)=>{let o={mobile:a?.mobile?{style:{...a.mobile},...B}:void 0,desktop:a?.desktop?{style:{...a.desktop},...V}:void 0};return d(n,n=>{if(n)switch(t){case`text`:r(e,o.mobile??H.mobile.textDialog,i);break;case`image`:r(e,o.mobile??H.mobile.imageDialog,i);break;case`component`:r(e,o.mobile??H.mobile.componentDialog,i);break;case`stepper`:r(e,o.mobile??H.mobile.stepperDialog,i);break;default:break}else switch(t){case`text`:r(e,o.desktop??H.desktop.textDialog,i);break;case`image`:r(e,o.desktop??H.desktop.imageDialog,i);break;case`component`:r(e,o.desktop??H.desktop.componentDialog,i);break;case`stepper`:r(e,o.desktop??H.desktop.stepperDialog,i);break;default:break}},{immediate:!0}),e};function a(n,r,a){let{component:o,data:s,onConfirm:c,onCancel:l,onSettled:u,events:d,...ee}=r,f={content:o?g(o):void 0};a?.pt||(a={...a,pt:{root:{}}});let p=E(s.draggable)??!1;p&&(a.draggable=!0);let m=E(s.dismissableMask);m!==void 0&&(a.dismissableMask=m);let h=E(s.modal);h!==void 0&&(a.modal=h);let _=s.rootId??t(10);a.pt.root.id=_;let y=e.open(R,{data:ne(v({confirmText:s.confirmText??void 0,cancelText:s.cancelText??void 0,hideConfirmButton:s.hideConfirmButton??!1,hideCancelButton:s.hideCancelButton??!1,loading:s.loading??!1,disabled:s.disabled??!1,confirmButtonProps:s.confirmButtonProps??void 0,cancelButtonProps:s.cancelButtonProps??void 0,dialogContentClass:s.dialogContentClass??void 0,dialogContentStyle:s.dialogContentStyle??void 0,stayActive:s.stayActive??!1,fullscreen:s.fullscreen??!1,contentText:s.contentText??void 0,src:s.src??void 0,markdown:s.markdown??!1,contentProps:s.contentProps??void 0,tabs:s.tabs??void 0,rootId:_,...s})),props:a,templates:f,events:d,onConfirm:c,onCancel:l,onClose:e=>{if(e?.data?.status===`confirm`){let{status:t,...n}=e.data;c?.(n?.data??n)}else l?.();u?.(e?.data?.data??e?.data)}});return s.fullscreen?y:i(y,n,p,ee?.dialogSize)}function o(e){let{data:t,...n}=e,r=structuredClone(z);return r.style={...z.style,width:`auto`,minWidth:`400px`},t.fullscreen&&(r.style={...r.style,maxWidth:`none`,maxHeight:`100vh`},r.pt={root:{class:`p-dialog-maximized pt-safe border-none`}}),a(`text`,{data:t,...n},r)}function s(e){let{data:t,...n}=e,r=structuredClone(z);return t.fullscreen&&(r.style={...r.style,maxWidth:`none`,maxHeight:`100vh`},r.pt={root:{class:`p-dialog-maximized pt-safe border-none`}}),a(`image`,{data:t,...n},r)}function c(e,t){let{data:n,...r}=t,i=structuredClone(z);return n.fullscreen&&(i.style={...i.style,maxWidth:`none`,maxHeight:`100vh`},i.pt={root:{class:`p-dialog-maximized pt-safe border-none`}}),a(`component`,{component:e,data:n,...r},i)}function l(e,t){let{data:n,...r}=t,i=structuredClone(z);return n.fullscreen&&(i.style={...i.style,maxWidth:`none`,maxHeight:`100vh`},i.pt={root:{class:`p-dialog-maximized pt-safe border-none`}}),a(`stepper`,{component:e,data:n,...r},i)}return{openTextDialog:o,openImageDialog:s,openComponentDialog:c,openStepperDialog:l}}export{I as n,M as r,W as t};
2
+ import{S as e,l as t}from"./api-DG-9_slP.js";import{$n as n,$t as r,An as i,Cn as a,En as o,Gt as s,Hn as c,In as l,Qt as u,Rn as d,Rt as ee,Sn as f,Tn as p,Vn as m,Xt as h,Yn as g,Yt as _,Zn as v,Zt as y,an as te,ar as ne,cr as b,dn as re,dr as x,hn as S,in as C,jn as ie,kt as ae,ln as w,on as T,or as oe,sr as E,ur as se,wn as D}from"./vendor-CF-D4B9g.js";import{Bn as ce,Vn as le,Zt as ue,di as de,vi as fe,xi as pe}from"./vendor-cameraui-tvNekvZ-.js";import{l as me}from"./vendor-core-DinQdIbm.js";import{a as he,t as O}from"./useSharedComposables-CTXKSCVm.js";import{A as k,J as ge}from"./vendor-primevue-D0-7UQst.js";import{t as _e}from"./CuiImage-Dkb0xMtM.js";import{t as ve}from"./close-rounded-BhUZzZeA.js";var A={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function j(e,t){return D(),r(`svg`,A,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M4.75 3.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h6.5c.69 0 1.25-.56 1.25-1.25v-1.5a.75.75 0 0 1 1.5 0v1.5A2.75 2.75 0 0 1 11.25 14h-6.5A2.75 2.75 0 0 1 2 11.25v-6.5A2.75 2.75 0 0 1 4.75 2h1.5a.75.75 0 0 1 0 1.5zM8 2.75A.75.75 0 0 1 8.75 2h4.5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V4.561l-3.22 3.22A.75.75 0 1 1 8.22 6.72l3.22-3.22H8.75A.75.75 0 0 1 8 2.75`},null,-1)]])}var M=g({name:`fluent-open16-filled`,render:j}),N={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function P(e,t){return D(),r(`svg`,N,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.042.018a.75.75 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06`},null,-1)]])}var ye=g({name:`octicon-chevron-left16`,render:P}),F=T({render(){return w(`div`,{class:`flex items-center justify-center w-full h-full min-h-[100px]`},[w(ce,{class:`w-[24px] h-[24px] m-0`,strokeWidth:`5`})])}});function I(e,t){return te({loader:e,loadingComponent:F,delay:t?.delay??150})}var L=Symbol(`DialogStepper`);function be(e){let t=n(e),r=n(void 0),i={},a=(e,t)=>{i[e]||(i[e]=[]),i[e].push(t)},o=(e,t)=>{let n=i[e];if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}},s=(e,t)=>{let n=i[e];n&&n.forEach(e=>{e(t)})},c={currentTab:r,tabs:t,isMainTab:_(()=>!r.value),goToTab:e=>{let n=t.value.find(t=>t.id===e);n&&(r.value=e,s(`tabChange`,n))},goToMainTab:()=>{r.value=void 0,s(`tabChange`,void 0)},registerTab:e=>{t.value.some(t=>t.id===e.id)||t.value.push(e)},updateTabConfig:(e,n)=>{let r=t.value.findIndex(t=>t.id===e);r!==-1&&(t.value[r]={...t.value[r],...n},n.title&&s(`updateTabTitle`,{tabId:e,title:n.title}))},on:a,off:o,emit:s};return p(L,c),c}var xe={class:`p-dialog-content`},Se={key:0,class:`p-dialog-header-actions`},Ce={class:`p-dialog-title`},we={class:`p-dialog-header-actions ml-auto gap-2`},Te={key:0,class:`text-wrap`},Ee={key:0,class:`flex items-center justify-center shrink-0 w-full p-5 pb-safe-offset-5 mt-5 self-end`,style:{background:`var(--border-color)`}},R=T({__name:`CuiDialog`,setup(t){let g=I(()=>ae(()=>import(`./CuiMarkdownContent-CFfh6mTv.js`),__vite__mapDeps([0,1,2,3,4]))),te=me(),w=e(),{t:T}=de(),{width:ce,height:ue}=he(),O=re(`dialogRef`),k=l(`dialogHeader`),A=ne(O.value.data),{contentText:j,contentProps:N,loading:P,disabled:F,cancelButtonProps:L,confirmButtonProps:R,hideCancelButton:z,hideConfirmButton:B,dialogContentClass:V,dialogContentStyle:H,cancelText:U,confirmText:W,stayActive:De,src:Oe,title:G,fullscreen:ke,tabs:K,goTo:Ae,draggable:je,rootId:q,markdown:Me,headerActions:Ne}=A;p(`dialogRefProps`,A);let J=v({});p(`dialogHeaderToggles`,J);let Pe=O.value.options.templates,Fe=pe(document.getElementById(`app`)),Y=n(!1),X=n(null),Ie=n(!1),Z=n(G.value),Le=n(!1),Q,{style:Re,x:ze,y:Be}=fe(k,{disabled:!je?.value,containerElement(){return document.getElementById(`app`)},onStart(){Le.value=!0}}),Ve=_(()=>{let e=document.getElementById(q?.value||``);if(!e)return 1/0;let t=e.offsetWidth;return Fe.width.value-t}),He=_(()=>{let e=document.getElementById(q?.value||``);if(!e)return 1/0;let t=e.offsetHeight;return Fe.height.value-t}),Ue=_(()=>!!(Y.value||P?.value||oe(X.value?.isLoading))),We=_(()=>K.value!==void 0&&K.value.length>0),Ge=_(()=>U?.value?U.value:T(`components.form.button.close`)),Ke=_(()=>W?.value?W.value:T(`components.form.button.save`)),qe=_(()=>({...L?.value,label:Ge.value,loading:void 0,size:`small`,severity:L?.value&&`severity`in L.value?L.value.severity:`secondary`,class:void 0})),Je=_(()=>({...R?.value,label:Ke.value,loading:void 0,size:`small`,severity:R?.value&&`severity`in R.value?R.value.severity:`success`,class:`ml-auto`,disabled:F.value}));function Ye(e){let t=X.value?.resolveGoTo?.();O.value.close(),te.push(t??e)}async function Xe(){try{Y.value=!0;let e=await X.value?.onCancel?.();O.value.close({status:`cancel`,data:e})}catch(e){w.add({severity:`error`,detail:e,life:3e3})}finally{Y.value=!1}}async function Ze(){try{Y.value=!0;let e=await X.value?.onConfirm?.();if(e===null)return;De?.value?O.value.options.onConfirm?.(e):O.value.close({status:`confirm`,data:e})}catch(e){w.add({severity:`error`,detail:e,life:3e3})}finally{Y.value=!1}}function $(){let e=document.getElementById(q?.value||``)?.closest(`.p-dialog-mask`);if(!e)return;let t=Array.from(document.querySelectorAll(`.p-dialog-mask`)),n=0;for(let e of t){let t=parseInt(e.style.zIndex,10)||0;t>n&&(n=t)}(parseInt(e.style.zIndex,10)||0)<n&&(e.style.zIndex=String(n+1))}return We.value&&(Q=be(K.value??[]),d(Q.isMainTab,e=>{Ie.value=!e},{immediate:!0}),Q.on(`updateTabTitle`,({tabId:e,title:t})=>{Q?.currentTab.value===e&&G?.value&&(Z.value=t)}),Q.on(`tabChange`,e=>{Z.value=e?.title??G.value})),d([Re,ce,ue],()=>{if(!Le.value)return;let e=document.getElementById(q?.value||``);if(e){let t=Math.max(0,Math.min(ze.value,Ve.value)),n=Math.max(0,Math.min(Be.value,He.value));e.style.left=`${t}px`,e.style.top=`${n}px`}}),f(()=>{let e=document.getElementById(q?.value||``)?.closest(`.p-dialog-mask`);e&&(e.addEventListener(`pointerdown`,$),$())}),a(()=>{let e=document.getElementById(q?.value||``)?.closest(`.p-dialog-mask`);e&&e.removeEventListener(`pointerdown`,$)}),(e,t)=>{let n=ye,a=le,l=M,d=ve,f=_e,p=ge;return D(),r(`div`,xe,[h(`div`,{ref_key:`dialogHeader`,ref:k,class:b([`p-dialog-header justify-start gap-1`,{"cursor-move":E(je)}])},[C(ee,{name:`slide-left`},{default:m(()=>[E(Ie)?(D(),r(`div`,Se,[C(a,{severity:`secondary`,text:``,rounded:``,class:`p-dialog-back-button`,onClick:E(Q)?.goToMainTab},{icon:m(()=>[C(n,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])])):u(``,!0)]),_:1}),h(`span`,Ce,x(E(Z)),1),h(`div`,we,[(D(!0),r(s,null,o(E(Ne)??[],(e,t)=>c((D(),y(a,{key:t,severity:`secondary`,text:``,rounded:``,class:b([`p-dialog-close-button`,{"!text-primary":e.toggle&&E(J)[t]}]),onClick:()=>{e.toggle&&(E(J)[t]=!E(J)[t]),e.onClick()}},{icon:m(()=>[(D(),y(i(e.icon),{width:`100%`,height:`100%`}))]),_:2},1032,[`class`,`onClick`])),[[p,e.tooltip?{value:e.tooltip}:void 0,void 0,{bottom:!0}]])),128)),E(Ae)?c((D(),y(a,{key:0,severity:`secondary`,text:``,rounded:``,class:`p-dialog-close-button`,onClick:t[0]||=e=>Ye(E(Ae))},{icon:m(()=>[C(l,{width:`100%`,height:`100%`})]),_:1})),[[p,{value:e.$t(`components.dialog.open`)},void 0,{bottom:!0}]]):u(``,!0),C(a,{severity:`secondary`,text:``,rounded:``,class:`p-dialog-close-button`,onClick:E(O).close},{icon:m(()=>[C(d,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])])],2),h(`div`,{class:b([`p-dialog-body flex justify-center w-full overflow-y-auto px-5 py-1 text-balance`,{"h-full":E(ke)},E(V)]),style:se(E(H))},[E(j)&&!E(Me)?(D(),r(`span`,Te,x(E(j)),1)):E(j)&&E(Me)?(D(),y(E(g),{key:1,content:E(j)},null,8,[`content`])):E(Oe)?(D(),y(f,{key:2,src:E(Oe),"image-container-class":`w-full h-full`},null,8,[`src`])):(D(),y(i(E(Pe)?.content),S({key:3,ref_key:`componentRef`,ref:X,class:`w-full h-full relative`},E(N),ie(E(O).options.events||{})),null,16))],6),t[2]||=h(`div`,{class:`mt-auto`},null,-1),!E(z)||!E(B)?(D(),r(`div`,Ee,[E(z)?u(``,!0):(D(),y(a,S({key:0},E(qe),{class:`cui-button-medium`,onClick:Xe}),null,16)),t[1]||=h(`div`,{class:`ml-auto`},null,-1),E(B)?u(``,!0):(D(),y(a,S({key:1},E(Je),{loading:E(Ue),disabled:E(F),class:`cui-button-medium`,onClick:Ze}),null,16,[`loading`,`disabled`]))])):u(``,!0)])}}}),z={modal:!0,closable:!0,blockScroll:!0,draggable:!1,dismissableMask:!0,baseZIndex:1100,showHeader:!1},B={pt:{root:{class:`p-dialog-maximized pt-safe border-none`}}},V={pt:{root:{class:`shadow-xl shadow-black/30 overflow-hidden`}}},H={mobile:{textDialog:{style:{maxWidth:`none`,maxHeight:`100vh`},...B},imageDialog:{style:{maxWidth:`none`,maxHeight:`100vh`},...B},componentDialog:{style:{maxWidth:`none`,maxHeight:`100vh`},...B},stepperDialog:{style:{maxWidth:`none`,maxHeight:`100vh`},...B}},desktop:{textDialog:{style:{maxWidth:`1000px`,maxHeight:`90vh`,width:`auto`},...V},imageDialog:{style:{maxWidth:`1000px`,maxHeight:`90vh`,width:`70vw`},...V},componentDialog:{style:{maxWidth:`1000px`,maxHeight:`90vh`,width:`70vw`},...V},stepperDialog:{style:{maxWidth:`1000px`,maxHeight:`90vh`,width:`70vw`},...V}}};function U(){return{open:(e,t)=>{let n={content:e&&g(e),options:t||{},data:t&&t.data,close:e=>{k.emit(`close`,{instance:n,params:e})}};return k.emit(`open`,{instance:n}),n}}}function W(){let e=U(),{mdBreakpoint:n}=O(),r=(e,t,n)=>{let r=v({...e});n&&(t.pt.root.class=(t.pt.root.class?t.pt.root.class+` `:``)+`fixed mt-0`),ue(r.options.props,t)},i=(e,t,i,a)=>{let o={mobile:a?.mobile?{style:{...a.mobile},...B}:void 0,desktop:a?.desktop?{style:{...a.desktop},...V}:void 0};return d(n,n=>{if(n)switch(t){case`text`:r(e,o.mobile??H.mobile.textDialog,i);break;case`image`:r(e,o.mobile??H.mobile.imageDialog,i);break;case`component`:r(e,o.mobile??H.mobile.componentDialog,i);break;case`stepper`:r(e,o.mobile??H.mobile.stepperDialog,i);break;default:break}else switch(t){case`text`:r(e,o.desktop??H.desktop.textDialog,i);break;case`image`:r(e,o.desktop??H.desktop.imageDialog,i);break;case`component`:r(e,o.desktop??H.desktop.componentDialog,i);break;case`stepper`:r(e,o.desktop??H.desktop.stepperDialog,i);break;default:break}},{immediate:!0}),e};function a(n,r,a){let{component:o,data:s,onConfirm:c,onCancel:l,onSettled:u,events:d,...ee}=r,f={content:o?g(o):void 0};a?.pt||(a={...a,pt:{root:{}}});let p=E(s.draggable)??!1;p&&(a.draggable=!0);let m=E(s.dismissableMask);m!==void 0&&(a.dismissableMask=m);let h=E(s.modal);h!==void 0&&(a.modal=h);let _=s.rootId??t(10);a.pt.root.id=_;let y=e.open(R,{data:ne(v({confirmText:s.confirmText??void 0,cancelText:s.cancelText??void 0,hideConfirmButton:s.hideConfirmButton??!1,hideCancelButton:s.hideCancelButton??!1,loading:s.loading??!1,disabled:s.disabled??!1,confirmButtonProps:s.confirmButtonProps??void 0,cancelButtonProps:s.cancelButtonProps??void 0,dialogContentClass:s.dialogContentClass??void 0,dialogContentStyle:s.dialogContentStyle??void 0,stayActive:s.stayActive??!1,fullscreen:s.fullscreen??!1,contentText:s.contentText??void 0,src:s.src??void 0,markdown:s.markdown??!1,contentProps:s.contentProps??void 0,tabs:s.tabs??void 0,rootId:_,...s})),props:a,templates:f,events:d,onConfirm:c,onCancel:l,onClose:e=>{if(e?.data?.status===`confirm`){let{status:t,...n}=e.data;c?.(n?.data??n)}else l?.();u?.(e?.data?.data??e?.data)}});return s.fullscreen?y:i(y,n,p,ee?.dialogSize)}function o(e){let{data:t,...n}=e,r=structuredClone(z);return r.style={...z.style,width:`auto`,minWidth:`400px`},t.fullscreen&&(r.style={...r.style,maxWidth:`none`,maxHeight:`100vh`},r.pt={root:{class:`p-dialog-maximized pt-safe border-none`}}),a(`text`,{data:t,...n},r)}function s(e){let{data:t,...n}=e,r=structuredClone(z);return t.fullscreen&&(r.style={...r.style,maxWidth:`none`,maxHeight:`100vh`},r.pt={root:{class:`p-dialog-maximized pt-safe border-none`}}),a(`image`,{data:t,...n},r)}function c(e,t){let{data:n,...r}=t,i=structuredClone(z);return n.fullscreen&&(i.style={...i.style,maxWidth:`none`,maxHeight:`100vh`},i.pt={root:{class:`p-dialog-maximized pt-safe border-none`}}),a(`component`,{component:e,data:n,...r},i)}function l(e,t){let{data:n,...r}=t,i=structuredClone(z);return n.fullscreen&&(i.style={...i.style,maxWidth:`none`,maxHeight:`100vh`},i.pt={root:{class:`p-dialog-maximized pt-safe border-none`}}),a(`stepper`,{component:e,data:n,...r},i)}return{openTextDialog:o,openImageDialog:s,openComponentDialog:c,openStepperDialog:l}}export{I as n,M as r,W as t};
@@ -1 +1 @@
1
- import{j as e}from"./api-NtCA6-OA.js";import"./vendor-CF-D4B9g.js";async function t(e){let t=await i(e);a()&&await o(t,e.filename)||s(t,e.filename)}function n(t){return/^https?:\/\//i.test(t)?t:`${e().target.value?.endpoint.url??window.location.origin}${t.startsWith(`/`)?``:`/`}${t}`}function r(){let t={},n=e().target.value?.tokens;return n?.access&&(t.Authorization=`Bearer ${n.access}`),n?.proxySession&&(t[`X-Proxy-Session`]=n.proxySession),t}async function i(e){if(`blob`in e)return e.blob;if(`dataUrl`in e)return(await fetch(e.dataUrl)).blob();let t=await fetch(n(e.url),{headers:r(),credentials:`include`});if(!t.ok)throw Error(`Download failed: ${t.status} ${t.statusText}`);return t.blob()}function a(){return typeof window>`u`?!1:window.matchMedia(`(display-mode: standalone)`).matches?!0:!!window.navigator.standalone}async function o(e,t){if(typeof navigator>`u`||!navigator.canShare||!navigator.share)return!1;let n=new File([e],t,{type:e.type||`application/octet-stream`});if(!navigator.canShare({files:[n]}))return!1;try{return await navigator.share({files:[n]}),!0}catch(e){return e instanceof Error&&e.name===`AbortError`}}function s(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}export{t};
1
+ import{j as e}from"./api-DG-9_slP.js";import"./vendor-CF-D4B9g.js";async function t(e){let t=await i(e);a()&&await o(t,e.filename)||s(t,e.filename)}function n(t){return/^https?:\/\//i.test(t)?t:`${e().target.value?.endpoint.url??window.location.origin}${t.startsWith(`/`)?``:`/`}${t}`}function r(){let t={},n=e().target.value?.tokens;return n?.access&&(t.Authorization=`Bearer ${n.access}`),n?.proxySession&&(t[`X-Proxy-Session`]=n.proxySession),t}async function i(e){if(`blob`in e)return e.blob;if(`dataUrl`in e)return(await fetch(e.dataUrl)).blob();let t=await fetch(n(e.url),{headers:r(),credentials:`include`});if(!t.ok)throw Error(`Download failed: ${t.status} ${t.statusText}`);return t.blob()}function a(){return typeof window>`u`?!1:window.matchMedia(`(display-mode: standalone)`).matches?!0:!!window.navigator.standalone}async function o(e,t){if(typeof navigator>`u`||!navigator.canShare||!navigator.share)return!1;let n=new File([e],t,{type:e.type||`application/octet-stream`});if(!navigator.canShare({files:[n]}))return!1;try{return await navigator.share({files:[n]}),!0}catch(e){return e instanceof Error&&e.name===`AbortError`}}function s(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}export{t};
@@ -1,5 +1,5 @@
1
- import{S as e,_ as t}from"./api-NtCA6-OA.js";import{$n as n,$t as r,Cn as i,In as a,Rn as o,Sn as s,Yt as c,ar as l,cr as u,nr as d,on as f,sr as p,wn as m}from"./vendor-CF-D4B9g.js";import{Ji as h,Ki as g,_i as _,di as v,wi as y,xi as ee}from"./vendor-cameraui-DpqS51DT.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as x}from"./useSharedComposables-DUNE9Fjf.js";import{a as S,i as te,n as ne,r as re,t as ie}from"./vendor-xterm-BRN-hOYD.js";var C=b(f({__name:`CuiConsole`,props:{options:{default:()=>({fontSize:14})},ignoreBreakpoint:{type:Boolean}},emits:[`resize`],setup(t,{expose:f,emit:b}){let C=t,w=b,{smBreakpoint:T}=x(),{t:E}=v(),D=e(),{copy:O}=_({legacy:!0}),{options:k,ignoreBreakpoint:A}=l(C),j={fontSize:14,scrollback:5e3,allowTransparency:!1,smoothScrollDuration:0,disableStdin:!0,allowProposedApi:!0},M=a(`terminalContainerRef`),N=n(0),P=d(null),F=n(!1),I=null,L=null,R=null,z=null,B,V=``,H=!1,U=ee(M),W=c(()=>{if(!P.value)return!0;let e=P.value.buffer.active.length-P.value.rows;return N.value>=e});function G(){P.value&&(N.value=P.value.buffer.active.viewportY)}function K(){!P.value||!I||(I.fit(),G(),P.value.cols&&w(`resize`,P.value.cols))}function q(){K(),P.value?.scrollToBottom(),G()}let J=g(G,16),Y=g(q,100),{start:ae,isPending:oe}=h(()=>{P.value&&V&&(P.value.write(V),V=``,J())},16,{immediate:!1});function se(e){H&&=(V+=`
1
+ import{S as e,_ as t}from"./api-DG-9_slP.js";import{$n as n,$t as r,Cn as i,In as a,Rn as o,Sn as s,Yt as c,ar as l,cr as u,nr as d,on as f,sr as p,wn as m}from"./vendor-CF-D4B9g.js";import{Ji as h,Ki as g,_i as _,di as v,wi as y,xi as ee}from"./vendor-cameraui-tvNekvZ-.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as x}from"./useSharedComposables-CTXKSCVm.js";import{a as S,i as te,n as ne,r as re,t as ie}from"./vendor-xterm-BRN-hOYD.js";var C=b(f({__name:`CuiConsole`,props:{options:{default:()=>({fontSize:14})},ignoreBreakpoint:{type:Boolean}},emits:[`resize`],setup(t,{expose:f,emit:b}){let C=t,w=b,{smBreakpoint:T}=x(),{t:E}=v(),D=e(),{copy:O}=_({legacy:!0}),{options:k,ignoreBreakpoint:A}=l(C),j={fontSize:14,scrollback:5e3,allowTransparency:!1,smoothScrollDuration:0,disableStdin:!0,allowProposedApi:!0},M=a(`terminalContainerRef`),N=n(0),P=d(null),F=n(!1),I=null,L=null,R=null,z=null,B,V=``,H=!1,U=ee(M),W=c(()=>{if(!P.value)return!0;let e=P.value.buffer.active.length-P.value.rows;return N.value>=e});function G(){P.value&&(N.value=P.value.buffer.active.viewportY)}function K(){!P.value||!I||(I.fit(),G(),P.value.cols&&w(`resize`,P.value.cols))}function q(){K(),P.value?.scrollToBottom(),G()}let J=g(G,16),Y=g(q,100),{start:ae,isPending:oe}=h(()=>{P.value&&V&&(P.value.write(V),V=``,J())},16,{immediate:!1});function se(e){H&&=(V+=`
2
2
  `,!1),e.endsWith(`
3
3
  `)?(V+=e.slice(0,-1),H=!0):e.endsWith(`\r
4
4
  `)?(V+=e.slice(0,-2),H=!0):V+=e,oe.value||ae()}function ce(){requestAnimationFrame(()=>{P.value?.scrollToBottom(),J()})}function le(){P.value?.clear(),J()}function X(){if(!P.value)return``;let e=P.value.buffer.active,t=[];for(let n=0;n<e.length;n++)t.push(e.getLine(n)?.translateToString(!0)??``);return t.join(`
5
- `).replace(/\s+$/,``)}async function Z(e){return e?(await O(e),D.add({severity:`success`,detail:E(`components.toast.copied`),life:1500}),!0):!1}function Q(){let e=P.value?.getSelection()??``;return e?(Z(e),!0):!1}function ue(){Z(X())}function de(e){!(e.metaKey||e.ctrlKey)||e.key.toLowerCase()!==`c`||!F.value||!P.value?.hasSelection()||(e.preventDefault(),Q())}function fe(e){P.value?.hasSelection()&&(e.preventDefault(),Q())}function pe(){let e=P.value?.element;if(!e)return;let t=0,n=0,r=0,a=0,o=!1;function s(){B&&clearInterval(B)}function c(e){s(),t=e.touches[0].clientY,n=t,r=0,a=Date.now(),o=!1}function l(e){e.preventDefault();let t=e.touches[0].clientY,i=Date.now(),s=t-n,c=Math.max(i-a,1);if(a=i,n=t,r=Math.max(-1.2,Math.min(s/c,1.2)),P.value&&c>0){let e=-Math.round(s/20);P.value.scrollLines(e),o=!0,J()}}function u(){if(o&&Math.abs(r)>.2){let e=r;B=setInterval(()=>{if(!P.value||Math.abs(e)<.05){s();return}let t=-Math.round(e*12);P.value.scrollLines(t),e*=.92,J()},16)}}e.addEventListener(`touchstart`,c,{passive:!0}),e.addEventListener(`touchmove`,l,{passive:!1}),e.addEventListener(`touchend`,u,{passive:!0}),i(()=>{e.removeEventListener(`touchstart`,c),e.removeEventListener(`touchmove`,l),e.removeEventListener(`touchend`,u),s()})}function $(e){if(e)try{e.dispose()}catch{}}return o(k,()=>{P.value&&(P.value.options=k.value,Y())},{deep:!0}),o([U.height,U.width],()=>{Y()}),y(M,`pointerenter`,()=>F.value=!0),y(M,`pointerleave`,()=>F.value=!1),y(M,`contextmenu`,fe),y(document,`keydown`,de),s(()=>{P.value=new ie({...j,...k.value}),I=new S,z=new ne,L=new te,R=new re,P.value.loadAddon(L),P.value.loadAddon(R),P.value.loadAddon(z),P.value.loadAddon(I),P.value.open(M.value);let e=M.value.querySelector(`textarea`);e&&(e.disabled=!0,e.tabIndex=-1),P.value.onScroll(()=>{G()}),q(),pe(),z.onContextLoss(()=>{$(z)})}),i(()=>{$(I),$(z),$(L),$(R),$(P.value)}),f({clearTerminal:le,writeTerminal:se,resizeHandler:q,scrollToBottom:ce,copySelection:Q,copyAll:ue,atBottom:W}),(e,t)=>(m(),r(`div`,{ref_key:`terminalContainerRef`,ref:M,class:u([`w-full h-full bg-none z-1 overflow-hidden p-2 min-w-0`,{"pb-0":!p(T)&&!p(A)}])},null,2))}}),[[`__scopeId`,`data-v-036ca960`]]);function w(e={}){let{target:r,onStdout:i,onDisconnect:a,onClearLog:o,onReconnected:s}=e,l=t(`/logs`),u=!1,d=n(!1);l.on(`connect`,()=>{d.value=!0,u&&s?.(),u=!0}),l.on(`disconnect`,()=>{d.value=!1,a?.()}),r?l.on(`stdout/${r}`,e=>i?.(e)):l.on(`stdout`,e=>i?.(e)),l.on(`clear-log`,()=>o?.());function f(){}function p(){}function m(e){r&&e>0&&l.emit(`term-size`,{target:r,cols:e})}function h(){l.emit(`get-all-logs`)}function g(e,t){l.emit(`get-camera-log`,e,t)}function _(e,t){l.emit(`get-plugin-log`,e,t)}return{isConnected:c(()=>d.value),connect:f,disconnect:p,reportSize:m,requestAllLogs:h,requestCameraLog:g,requestPluginLog:_}}export{C as n,w as t};
5
+ `).replace(/\s+$/,``)}async function Z(e){return e?(await O(e),D.add({severity:`success`,detail:E(`components.toast.copied`),life:1500}),!0):!1}function Q(){let e=P.value?.getSelection()??``;return e?(Z(e),!0):!1}function ue(){Z(X())}function de(e){!(e.metaKey||e.ctrlKey)||e.key.toLowerCase()!==`c`||!F.value||!P.value?.hasSelection()||(e.preventDefault(),Q())}function fe(e){P.value?.hasSelection()&&(e.preventDefault(),Q())}function pe(){let e=P.value?.element;if(!e)return;let t=0,n=0,r=0,a=0,o=!1;function s(){B&&clearInterval(B)}function c(e){s(),t=e.touches[0].clientY,n=t,r=0,a=Date.now(),o=!1}function l(e){e.preventDefault();let t=e.touches[0].clientY,i=Date.now(),s=t-n,c=Math.max(i-a,1);if(a=i,n=t,r=Math.max(-1.2,Math.min(s/c,1.2)),P.value&&c>0){let e=-Math.round(s/20);P.value.scrollLines(e),o=!0,J()}}function u(){if(o&&Math.abs(r)>.2){let e=r;B=setInterval(()=>{if(!P.value||Math.abs(e)<.05){s();return}let t=-Math.round(e*12);P.value.scrollLines(t),e*=.92,J()},16)}}e.addEventListener(`touchstart`,c,{passive:!0}),e.addEventListener(`touchmove`,l,{passive:!1}),e.addEventListener(`touchend`,u,{passive:!0}),i(()=>{e.removeEventListener(`touchstart`,c),e.removeEventListener(`touchmove`,l),e.removeEventListener(`touchend`,u),s()})}function $(e){if(e)try{e.dispose()}catch{}}return o(k,()=>{P.value&&(P.value.options=k.value,Y())},{deep:!0}),o([U.height,U.width],()=>{Y()}),y(M,`pointerenter`,()=>F.value=!0),y(M,`pointerleave`,()=>F.value=!1),y(M,`contextmenu`,fe),y(document,`keydown`,de),s(()=>{P.value=new ie({...j,...k.value}),I=new S,z=new ne,L=new te,R=new re,P.value.loadAddon(L),P.value.loadAddon(R),P.value.loadAddon(z),P.value.loadAddon(I),P.value.open(M.value);let e=M.value.querySelector(`textarea`);e&&(e.disabled=!0,e.tabIndex=-1),P.value.onScroll(()=>{G()}),q(),pe(),z.onContextLoss(()=>{$(z)})}),i(()=>{$(I),$(z),$(L),$(R),$(P.value)}),f({clearTerminal:le,writeTerminal:se,resizeHandler:q,scrollToBottom:ce,copySelection:Q,copyAll:ue,atBottom:W}),(e,t)=>(m(),r(`div`,{ref_key:`terminalContainerRef`,ref:M,class:u([`w-full h-full bg-none z-1 overflow-hidden p-2 min-w-0`,{"pb-0":!p(T)&&!p(A)}])},null,2))}}),[[`__scopeId`,`data-v-b377941b`]]);function w(e={}){let{target:r,onStdout:i,onDisconnect:a,onClearLog:o,onReconnected:s}=e,l=t(`/logs`),u=!1,d=n(!1);l.on(`connect`,()=>{d.value=!0,u&&s?.(),u=!0}),l.on(`disconnect`,()=>{d.value=!1,a?.()}),r?l.on(`stdout/${r}`,e=>i?.(e)):l.on(`stdout`,e=>i?.(e)),l.on(`clear-log`,()=>o?.());function f(){}function p(){}function m(e){r&&e>0&&l.emit(`term-size`,{target:r,cols:e})}function h(){l.emit(`get-all-logs`)}function g(e,t){l.emit(`get-camera-log`,e,t)}function _(e,t){l.emit(`get-plugin-log`,e,t)}return{isConnected:c(()=>d.value),connect:f,disconnect:p,reportSize:m,requestAllLogs:h,requestCameraLog:g,requestPluginLog:_}}export{C as n,w as t};
@@ -0,0 +1 @@
1
+ [data-v-b377941b] .scrollbar{z-index:10!important}[data-v-b377941b] .terminal{will-change:transform;transform:translateZ(0);height:100%!important}div[data-v-b377941b] .xterm-scrollable-element,div[data-v-b377941b] .xterm-screen,div[data-v-b377941b] .xterm-screen canvas{width:100%!important;height:100%!important}div[data-v-b377941b] .xterm-scrollable-element .scrollbar{height:100%!important}div[data-v-b377941b] .xterm-scrollable-element .scrollbar .slider{margin-top:-.425rem!important}@media screen and (width>=640px){div[data-v-b377941b] .xterm-scrollable-element .scrollbar .slider{margin-top:0!important}}
@@ -1 +1 @@
1
- import{Yt as e,Zn as t,or as n}from"./vendor-CF-D4B9g.js";import{Bi as r,Ci as i,Hi as a,Oi as o,Pi as s,ki as c}from"./vendor-cameraui-DpqS51DT.js";import{c as l,f as u}from"./vendor-core-DAinYQ9K.js";import{n as d}from"./ui-CBRpDu-c.js";function f(){let{angle:t}=x(),n=S({listenOrientation:!0});return{xxsBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e<=360}),xsBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e<=450}),smBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e<640}),mdBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e<768}),xmdBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e>=640&&e<1024}),lgBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e>=1024}),xlBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e>=1280}),xxlBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e>=1536})}}function p(){let t=e(()=>typeof window>`u`?!1:[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(e=>navigator.userAgent.match(e))),n=e(()=>typeof window>`u`?!1:[/Android/i].some(e=>navigator.userAgent.match(e))),r=e(()=>typeof window>`u`?!1:i.value||a.value),i=e(()=>typeof window>`u`?!1:[/iPhone/i].some(e=>navigator.userAgent.match(e))),a=e(()=>typeof window>`u`?!1:[/Macintosh/i].some(e=>navigator.userAgent.match(e)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>1)),o=e(()=>typeof window>`u`?[0,0]:i.value&&navigator.userAgent.match(/OS [\d_]+/i)?.[0].substr(3).split(`_`).map(e=>parseInt(e))||[0,0]),s=e(()=>typeof window>`u`?!1:[/Safari/i].some(e=>navigator.userAgent.match(e))),c=e(()=>typeof window>`u`?null:navigator.userAgent.match(/Version\/(\d+).+Safari/)),l=e(()=>typeof window>`u`?!1:[/Firefox/i].some(e=>navigator.userAgent.match(e))),u=e(()=>typeof window>`u`?!1:[/Chrome/i].some(e=>navigator.userAgent.match(e))),d=e(()=>{let e=!1;if(`maxTouchPoints`in navigator)e=navigator.maxTouchPoints>0;else if(`msMaxTouchPoints`in navigator)navigator!==null&&(e=navigator.msMaxTouchPoints>0);else{let t=matchMedia(`(pointer:coarse)`);if(t&&t.media===`(pointer:coarse)`)e=!!t.matches;else if(`orientation`in window)e=!0;else{let t=navigator.userAgent;e=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(t)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(t)}}return e}),f=e(()=>D(`(display-mode: standalone)`).value||window.navigator.standalone||document.referrer.includes(`android-app://`)),p=e(()=>{let e=document.body.requestFullscreen!==void 0||document.body.mozRequestFullScreen!==void 0||document.body.webkitRequestFullscreen!==void 0||document.body.msRequestFullscreen!==void 0||document.exitFullscreen!==void 0||document.mozCancelFullScreen!==void 0||document.webkitExitFullscreen!==void 0,[t,n]=o.value,r=t&&t>=17&&n&&n>=2;return!!(e||!i.value||i.value&&r)});return{isPWA:f,isMobile:t,isAndroid:n,isIos:r,isIphone:i,isIpad:a,iosVersion:o,isSafari:s,safariVersion:c,isFirefox:l,isChrome:u,isTouch:d,isPipSupported:e(()=>{let e=`pictureInPictureEnabled`in document;return r.value&&f.value?!1:e}),isFsSupported:p}}var m={HEIGHT:70},h={HEIGHT:60};function g(){let t=l(),r=e(()=>t.meta.ui);return{ui:r,showNavbar:e(()=>!!n(r.value?.showNavbar)),showTopbar:e(()=>!!n(r.value?.showTopbar)),showBottombar:e(()=>!!n(r.value?.showBottombar)),showRouterLoading:e(()=>!!n(r.value?.showRouterLoading)),showRouterLoadingSub:e(()=>!!n(r.value?.showRouterLoadingSub)),minifiedTopbar:e(()=>!!n(r.value?.minifiedTopbar)),background:e(()=>n(r.value?.background)),padding:e(()=>!!n(r.value?.containerSettings?.padding)),paddingTop:e(()=>n(r.value?.containerSettings?.paddingTop)),paddingBottom:e(()=>n(r.value?.containerSettings?.paddingBottom)),paddingLeft:e(()=>n(r.value?.containerSettings?.paddingLeft)),paddingRight:e(()=>n(r.value?.containerSettings?.paddingRight)),showTitle:e(()=>!!n(r.value?.containerSettings?.showTitle)),fullwidth:e(()=>!!n(r.value?.containerSettings?.fullwidth)),disableScroll:e(()=>!!n(r.value?.containerSettings?.disableScroll)),ignoreSafeAreaBottom:e(()=>!!n(r.value?.containerSettings?.ignoreSafeAreaBottom)),noExtraPadding:e(()=>!!n(r.value?.containerSettings?.noExtraPadding)),allowOverflowX:e(()=>!!n(r.value?.containerSettings?.allowOverflowX))}}var _=Symbol(`cui-app-bus`),v=t({navbarState:void 0,subbarState:void 0});function y(){let e=i(_);return e.on(({subbarState:e,navbarState:t})=>{e&&e!==v.subbarState&&(v.subbarState=e),t&&t!==v.navbarState&&(v.navbarState=t)}),{state:v,bus:e}}function b(){let t=d(),n=l(),r=g(),{state:i}=y(),{mdBreakpoint:a,smBreakpoint:o,xlBreakpoint:s}=w(),{uiSettings:c}=u(t),f=e(()=>{if(_.value)return c.value.interface.navbarStayCollapsed&&i.navbarState!==`opened`?a.value?`closed`:`minified`:s.value||i.navbarState===`opened`?`opened`:a.value?`closed`:`minified`}),p=e(()=>n.path.includes(`/settings`)?s.value?`opened`:i.subbarState?i.subbarState:`closed`:void 0),_=e(()=>r.showNavbar.value),v=e(()=>r.showBottombar.value&&c.value.interface.showBottomBarOnMobile&&o.value),b=e(()=>r.showTopbar.value);return{navbarState:f,subbarState:p,showBottombar:v,showNavbar:_,showTopbar:b,topbarHeight:e(()=>b.value?r.minifiedTopbar.value?0:h.HEIGHT:0),bottombarHeight:e(()=>v.value?m.HEIGHT:0)}}var x=a(s),S=a(r),C=a(c),w=a(f),T=a(p),E=a(b),D=a(o);export{S as a,C as i,E as n,y as o,T as r,g as s,w as t};
1
+ import{Yt as e,Zn as t,or as n}from"./vendor-CF-D4B9g.js";import{Bi as r,Ci as i,Hi as a,Oi as o,Pi as s,ki as c}from"./vendor-cameraui-tvNekvZ-.js";import{c as l,f as u}from"./vendor-core-DinQdIbm.js";import{n as d}from"./ui-q3Xp2p6M.js";function f(){let{angle:t}=x(),n=S({listenOrientation:!0});return{xxsBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e<=360}),xsBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e<=450}),smBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e<640}),mdBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e<768}),xmdBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e>=640&&e<1024}),lgBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e>=1024}),xlBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e>=1280}),xxlBreakpoint:e(()=>{let e=n.width.value;return t.value>0&&(e=screen.height>screen.width?screen.height:screen.width),e>=1536})}}function p(){let t=e(()=>typeof window>`u`?!1:[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(e=>navigator.userAgent.match(e))),n=e(()=>typeof window>`u`?!1:[/Android/i].some(e=>navigator.userAgent.match(e))),r=e(()=>typeof window>`u`?!1:i.value||a.value),i=e(()=>typeof window>`u`?!1:[/iPhone/i].some(e=>navigator.userAgent.match(e))),a=e(()=>typeof window>`u`?!1:[/Macintosh/i].some(e=>navigator.userAgent.match(e)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>1)),o=e(()=>typeof window>`u`?[0,0]:i.value&&navigator.userAgent.match(/OS [\d_]+/i)?.[0].substr(3).split(`_`).map(e=>parseInt(e))||[0,0]),s=e(()=>typeof window>`u`?!1:[/Safari/i].some(e=>navigator.userAgent.match(e))),c=e(()=>typeof window>`u`?null:navigator.userAgent.match(/Version\/(\d+).+Safari/)),l=e(()=>typeof window>`u`?!1:[/Firefox/i].some(e=>navigator.userAgent.match(e))),u=e(()=>typeof window>`u`?!1:[/Chrome/i].some(e=>navigator.userAgent.match(e))),d=e(()=>{let e=!1;if(`maxTouchPoints`in navigator)e=navigator.maxTouchPoints>0;else if(`msMaxTouchPoints`in navigator)navigator!==null&&(e=navigator.msMaxTouchPoints>0);else{let t=matchMedia(`(pointer:coarse)`);if(t&&t.media===`(pointer:coarse)`)e=!!t.matches;else if(`orientation`in window)e=!0;else{let t=navigator.userAgent;e=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(t)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(t)}}return e}),f=e(()=>D(`(display-mode: standalone)`).value||window.navigator.standalone||document.referrer.includes(`android-app://`)),p=e(()=>{let e=document.body.requestFullscreen!==void 0||document.body.mozRequestFullScreen!==void 0||document.body.webkitRequestFullscreen!==void 0||document.body.msRequestFullscreen!==void 0||document.exitFullscreen!==void 0||document.mozCancelFullScreen!==void 0||document.webkitExitFullscreen!==void 0,[t,n]=o.value,r=t&&t>=17&&n&&n>=2;return!!(e||!i.value||i.value&&r)});return{isPWA:f,isMobile:t,isAndroid:n,isIos:r,isIphone:i,isIpad:a,iosVersion:o,isSafari:s,safariVersion:c,isFirefox:l,isChrome:u,isTouch:d,isPipSupported:e(()=>{let e=`pictureInPictureEnabled`in document;return r.value&&f.value?!1:e}),isFsSupported:p}}var m={HEIGHT:70},h={HEIGHT:60};function g(){let t=l(),r=e(()=>t.meta.ui);return{ui:r,showNavbar:e(()=>!!n(r.value?.showNavbar)),showTopbar:e(()=>!!n(r.value?.showTopbar)),showBottombar:e(()=>!!n(r.value?.showBottombar)),showRouterLoading:e(()=>!!n(r.value?.showRouterLoading)),showRouterLoadingSub:e(()=>!!n(r.value?.showRouterLoadingSub)),minifiedTopbar:e(()=>!!n(r.value?.minifiedTopbar)),background:e(()=>n(r.value?.background)),padding:e(()=>!!n(r.value?.containerSettings?.padding)),paddingTop:e(()=>n(r.value?.containerSettings?.paddingTop)),paddingBottom:e(()=>n(r.value?.containerSettings?.paddingBottom)),paddingLeft:e(()=>n(r.value?.containerSettings?.paddingLeft)),paddingRight:e(()=>n(r.value?.containerSettings?.paddingRight)),showTitle:e(()=>!!n(r.value?.containerSettings?.showTitle)),fullwidth:e(()=>!!n(r.value?.containerSettings?.fullwidth)),disableScroll:e(()=>!!n(r.value?.containerSettings?.disableScroll)),ignoreSafeAreaBottom:e(()=>!!n(r.value?.containerSettings?.ignoreSafeAreaBottom)),noExtraPadding:e(()=>!!n(r.value?.containerSettings?.noExtraPadding)),allowOverflowX:e(()=>!!n(r.value?.containerSettings?.allowOverflowX))}}var _=Symbol(`cui-app-bus`),v=t({navbarState:void 0,subbarState:void 0});function y(){let e=i(_);return e.on(({subbarState:e,navbarState:t})=>{e&&e!==v.subbarState&&(v.subbarState=e),t&&t!==v.navbarState&&(v.navbarState=t)}),{state:v,bus:e}}function b(){let t=d(),n=l(),r=g(),{state:i}=y(),{mdBreakpoint:a,smBreakpoint:o,xlBreakpoint:s}=w(),{uiSettings:c}=u(t),f=e(()=>{if(_.value)return c.value.interface.navbarStayCollapsed&&i.navbarState!==`opened`?a.value?`closed`:`minified`:s.value||i.navbarState===`opened`?`opened`:a.value?`closed`:`minified`}),p=e(()=>n.path.includes(`/settings`)?s.value?`opened`:i.subbarState?i.subbarState:`closed`:void 0),_=e(()=>r.showNavbar.value),v=e(()=>r.showBottombar.value&&c.value.interface.showBottomBarOnMobile&&o.value),b=e(()=>r.showTopbar.value);return{navbarState:f,subbarState:p,showBottombar:v,showNavbar:_,showTopbar:b,topbarHeight:e(()=>b.value?r.minifiedTopbar.value?0:h.HEIGHT:0),bottombarHeight:e(()=>v.value?m.HEIGHT:0)}}var x=a(s),S=a(r),C=a(c),w=a(f),T=a(p),E=a(b),D=a(o);export{S as a,C as i,E as n,y as o,T as r,g as s,w as t};
@@ -1 +1 @@
1
- import{_ as e}from"./api-NtCA6-OA.js";import{Wn as t,Yt as n,Zn as r}from"./vendor-CF-D4B9g.js";var i=1e4,a=r({streamStatus:{}}),o=null,s=null,c;function l(){s?.emit(`get-stream-status`)}function u(){return s||(o=t(!0),s=o.run(()=>{let t=e(`/camera.ui`);return t.on(`connect`,()=>{l()}),t.on(`stream-status`,e=>{a.streamStatus=e}),t}),c||=setInterval(l,i),s)}function d(e){let t=Object.values(e);if(t.length===0)return`idle`;let n=t.filter(e=>e===`connected`).length,r=t.filter(e=>e===`error`).length,i=t.filter(e=>e===`connecting`).length;return n===t.length?`connected`:r===t.length?`error`:i>0&&n===0&&r===0?`connecting`:n>0&&(r>0||t.some(e=>e===`idle`))?`partial`:n>0?`connected`:i>0?`connecting`:`idle`}function f(){function e(){u()}function t(){}function r(e){let t=a.streamStatus[e];return t?d(t):`idle`}function i(e){return a.streamStatus[e]}function o(e,t){return a.streamStatus[e]?.[t]??`idle`}return{streamStatus:n(()=>a.streamStatus),getCameraStatus:r,getCameraSources:i,getSourceStatus:o,connect:e,disconnect:t,refresh:l}}export{f as t};
1
+ import{_ as e}from"./api-DG-9_slP.js";import{Wn as t,Yt as n,Zn as r}from"./vendor-CF-D4B9g.js";var i=1e4,a=r({streamStatus:{}}),o=null,s=null,c;function l(){s?.emit(`get-stream-status`)}function u(){return s||(o=t(!0),s=o.run(()=>{let t=e(`/camera.ui`);return t.on(`connect`,()=>{l()}),t.on(`stream-status`,e=>{a.streamStatus=e}),t}),c||=setInterval(l,i),s)}function d(e){let t=Object.values(e);if(t.length===0)return`idle`;let n=t.filter(e=>e===`connected`).length,r=t.filter(e=>e===`error`).length,i=t.filter(e=>e===`connecting`).length;return n===t.length?`connected`:r===t.length?`error`:i>0&&n===0&&r===0?`connecting`:n>0&&(r>0||t.some(e=>e===`idle`))?`partial`:n>0?`connected`:i>0?`connecting`:`idle`}function f(){function e(){u()}function t(){}function r(e){let t=a.streamStatus[e];return t?d(t):`idle`}function i(e){return a.streamStatus[e]}function o(e,t){return a.streamStatus[e]?.[t]??`idle`}return{streamStatus:n(()=>a.streamStatus),getCameraStatus:r,getCameraSources:i,getSourceStatus:o,connect:e,disconnect:t,refresh:l}}export{f as t};
@@ -1 +1 @@
1
- import{C as e,S as t,w as n}from"./vendor-zod-V2qTUMVc.js";import{I as r,L as i,R as a,z as o}from"./types-Wl5Ty2yP.js";var s=e({username:n().trim().min(1,`Username is required`),password:n().trim().min(1,`Password is required`),rememberMe:t().optional()}).strict(),c=r,l=a,u=i,d=o;export{d as a,l as i,c as n,u as r,s as t};
1
+ import{C as e,S as t,w as n}from"./vendor-zod-V2qTUMVc.js";import{I as r,L as i,R as a,z as o}from"./types-QvsYiGdQ.js";var s=e({username:n().trim().min(1,`Username is required`),password:n().trim().min(1,`Password is required`),rememberMe:t().optional()}).strict(),c=r,l=a,u=i,d=o;export{d as a,l as i,c as n,u as r,s as t};