@camera.ui/server 0.0.13-alpha.5 → 0.0.13-alpha.7
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.
- package/dist/interface/assets/{Account-CBJ1Xtfe.js → Account-DmYo08Qh.js} +1 -1
- package/dist/interface/assets/Adminpanel-BHh3IMeu.css +1 -0
- package/dist/interface/assets/Adminpanel-BJMS2lPd.js +2 -0
- package/dist/interface/assets/{Appearance-CYhWd1Ar.js → Appearance-DKeJKTST.js} +1 -1
- package/dist/interface/assets/{Backup-CStHVUjj.js → Backup-Cxzbjmat.js} +1 -1
- package/dist/interface/assets/{Camera-CWiLco3W.css → Camera-B5hAZmeQ.css} +1 -1
- package/dist/interface/assets/{Camera-DhZzNxzN.js → Camera-CdiCoPuE.js} +1 -1
- package/dist/interface/assets/{Cameras-B2edJaUV.js → Cameras-CAdTRgyD.js} +1 -1
- package/dist/interface/assets/Camview-DQh45zxY.js +1 -0
- package/dist/interface/assets/{Camview-CoHglkcu.css → Camview-cgjDTjXy.css} +1 -1
- package/dist/interface/assets/Config-BNDa6thC.js +1 -0
- package/dist/interface/assets/{Config-DahKsDli.css → Config-CncRTcjC.css} +1 -1
- package/dist/interface/assets/Console-DJq4Hm5A.css +1 -0
- package/dist/interface/assets/{Console-CGT_EMQQ.js → Console-DaeLrWgn.js} +2 -2
- package/dist/interface/assets/{FirstSteps-BU9yM3yK.js → FirstSteps-a9MQcU4I.js} +1 -1
- package/dist/interface/assets/{NewCamera-Bhkb314w.js → NewCamera-CQcflfB9.js} +1 -1
- package/dist/interface/assets/{Plugin-Cjh-oOiQ.js → Plugin-CuzMGJle.js} +1 -1
- package/dist/interface/assets/{Plugins-Bi42WTtI.css → Plugins-BYNW9Ebl.css} +1 -1
- package/dist/interface/assets/Plugins-Vbigmnnl.js +1 -0
- package/dist/interface/assets/{Recordings-C6t9nVLC.js → Recordings-Cj7DTXms.js} +1 -1
- package/dist/interface/assets/{Recordings-7IdIWUd4.js → Recordings-OwkmcBiG.js} +1 -1
- package/dist/interface/assets/{Settings-DMsesqQj.css → Settings-BfSP_zcY.css} +1 -1
- package/dist/interface/assets/Settings-DtuxhxkK.js +1 -0
- package/dist/interface/assets/System-DA2Qigu6.js +4 -0
- package/dist/interface/assets/{User-CN4abkF7.js → User-DtIcGUsp.js} +1 -1
- package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-NvLEB-vb.js +2 -0
- package/dist/interface/assets/{VConsole-DF7NfqNS.js → VConsole-CZymGHU4.js} +1 -1
- package/dist/interface/assets/{VPlayer-BrBIxnlC.css → VPlayer-4vWU8KqJ.css} +1 -1
- package/dist/interface/assets/VPlayer-D_SuxyEf.js +1 -0
- package/dist/interface/assets/VPluginCard-B7FNMmgt.css +1 -0
- package/dist/interface/assets/VPluginCard-BVeId9fp.js +4 -0
- package/dist/interface/assets/{main-CDBFuOeR.css → main-BvNHUtMy.css} +1 -1
- package/dist/interface/assets/{main-D98w3n0I.js → main-f-Qd4R5M.js} +8 -8
- package/dist/interface/assets/{plugins-YqHd7WK7.js → plugins-X26db0mJ.js} +1 -1
- package/dist/interface/assets/{system-D9DpU5c7.js → system-CjiOVZ9H.js} +1 -1
- package/dist/interface/index.html +2 -2
- package/dist/interface/sw.js +1 -1
- package/dist/server/bin/installer/linux.d.ts +0 -5
- package/dist/server/bin/installer/linux.js +37 -29
- package/dist/server/bin/installer/linux.js.map +1 -1
- package/dist/server/package.json +1 -1
- package/dist/server/src/api/controllers/plugins.controller.d.ts +0 -1
- package/dist/server/src/api/controllers/plugins.controller.js +3 -23
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/system.controller.js +2 -1
- package/dist/server/src/api/controllers/system.controller.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/server.js +2 -1
- package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
- package/dist/server/src/nats/proxy/cameraDevice.js +0 -1
- package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/services/config/index.js +2 -1
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/utils/ffmpeg.js +6 -6
- package/dist/server/src/utils/ffmpeg.js.map +1 -1
- package/dist/server/src/utils/npm.d.ts +1 -0
- package/dist/server/src/utils/npm.js +25 -0
- package/dist/server/src/utils/npm.js.map +1 -0
- package/package.json +1 -1
- package/dist/interface/assets/Adminpanel-BVlDKLbx.css +0 -1
- package/dist/interface/assets/Adminpanel-CLzoqNN8.js +0 -2
- package/dist/interface/assets/Camview-CLEbOUWQ.js +0 -1
- package/dist/interface/assets/Config-aRbs2FXw.js +0 -1
- package/dist/interface/assets/Console-DdfiafPz.css +0 -1
- package/dist/interface/assets/Plugins-nhazv2bz.js +0 -1
- package/dist/interface/assets/Settings-B1pW-qsu.js +0 -1
- package/dist/interface/assets/System-CfJ3A18_.js +0 -4
- package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-BWO69J8p.js +0 -2
- package/dist/interface/assets/VPlayer-CDs2Aju8.js +0 -1
- package/dist/interface/assets/VPluginCard-CG0Al_Tg.js +0 -4
- package/dist/interface/assets/VPluginCard-EcierHZ1.css +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var So=Object.defineProperty;var Po=(a,s,n)=>s in a?So(a,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[s]=n;var Va=(a,s,n)=>Po(a,typeof s!="symbol"?s+"":s,n);import{a as zo,e as Ja,d as Bt,s as Mo,w as Ba,i as Tt,x as Ne,G as Eo,H as Fo,I as Bo,J as Io,f as Xa,K as Ga,j as Sa,u as To,U as qo,t as Ao,h as Oo}from"./main-D98w3n0I.js";import{F as pt,t as vt,r as b,c as W,J as za,e as l,f as v,u as e,N as _e,j as p,T as d,M as o,l as Q,O as z,R as t,m as ze,as as ca,q as K,V as x,i as Se,Q as Ve,w as ke,ak as Qo,al as No,x as ga,n as jt,y as $t,ai as Do,aj as Lo,an as Ro,k as Pa,W as eo,a3 as to,a0 as ao,I as jo,ag as Uo,U as Zo,g as gt,X as qt}from"./@vue-CIFymae3.js";import{m as Ko,a as Wo,s as At,Z as Da,E as oo,F as no,e as so,M as Ho,$ as Yo,U as lo,a2 as Jo,a3 as Xo,a4 as Go,a5 as en,c as Ma,a6 as La,a7 as tn,a8 as an,a9 as Ra,aa as Ia,ab as on,X as nn,i as sn,ac as ln,ad as rn,ae as un,af as cn,ag as dn,P as mn,Q as pn,J as vn,ah as fn,ai as gn,aj as yn,ak as hn,R as bn,S as _n,al as ja,H as kn,I as wn,D as xn,am as Cn,an as $n,ao as Vn,ap as Sn,aq as Pn,ar as zn}from"./@mdi-DdmeckA1.js";import{b as Mn}from"./qrcode-SHonoxyK.js";import{F as Ie,a as da}from"./vee-validate-DHjm38DY.js";import{z as ot,c as he}from"./zod-BaF2dDCd.js";import{s as ro}from"./pinia-B_gX_pHL.js";import{y as En,k as Yt,o as Ta,z as Fn,A as Bn,w as In,t as Lt,B as Tn}from"./@vueuse-GPEsefjJ.js";import{c as rt,b as ae,e as U,d as io,y as Ot,m as tt,L as kt,M as wt,X as mt,N as xt,K as Ct,Y as Et,w as qa,x as Aa,V as Vt,f as uo,J as co,n as Ye,Z as Ua,U as qn,W as An,_ as On,C as Qn,G as Nn,I as Dn,o as Za,T as _t}from"./vuetify-B_vGZaGi.js";import{t as ya}from"./@vee-validate-CmTVjJBY.js";import{i as yt}from"./vue3-toastify-Cy6dUyKO.js";import{P as mo}from"./plugins-YqHd7WK7.js";import{D as po}from"./draggabilly-YEGzHR3_.js";import{u as Ln,b as et,a as Rt}from"./@tanstack-DPd4-F0t.js";import{u as Rn,a as vo}from"./vue-router-C55prZ5l.js";const Ea=a=>/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?)?$/.test(a),fo=(a,s)=>(s.mode==="withSeconds"?/^([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/:/^([01]?[0-9]|2[0-3]):([0-5][0-9])$/).test(a),go=a=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(a),yo=a=>/^[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(a),ma=(a,s)=>(s===4?/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/:/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/).test(a),jn=a=>{const s={};return Object.entries(a).forEach(([n,C])=>{s[n]=Oa(C)}),{schema:s}},Oa=a=>{switch(!0){case a===void 0:case typeof a>"u":case typeof a=="function":case typeof a=="symbol":case a instanceof Date:throw new TypeError(`Invalid JSON value: ${String(a)}`);case typeof a=="number":return Kn();case typeof a=="boolean":return Wn();case typeof a=="string":return Hn(a);case Array.isArray(a):return a.every(n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean")?Yn(a):Xn(a);case a instanceof Object:return Jn(a);default:throw new TypeError(`Invalid JSON value: ${a}`)}},Un=a=>{const s={};return Object.entries(a.schema).forEach(([n,C])=>{s[n]=pa(C)}),s},pa=a=>{switch(a.type){case"string":case"number":case"boolean":return Jt(a)?a.multiple?a.defaultValue!==void 0?[a.defaultValue]:void 0:a.defaultValue!==void 0?a.defaultValue:a.required?a.enum[0]:void 0:a.defaultValue;case"object":return a.properties?Object.entries(a.properties).reduce((s,[n,C])=>(s[n]=pa(C),s),{}):{};case"array":return a.items?[pa(a.items)]:[];default:return}},Ka=(a,s,n="")=>{const C={},E=(N,L)=>{const _=n?`${n}.${L}`:L,j=_o(s,_);if(Ut(N)&&N.properties){const S=Ka(N.properties,s,_);Object.keys(S).length>0&&(C[L]=S)}else if(fa(N)&&N.items){const S=j;Array.isArray(S)&&(C[L]=S.map((M,w)=>Ka(N.items,{[w]:M},`${_}[${w}]`)).filter(M=>Object.keys(M).length>0))}else N.store&&(C[L]=j)};return es(a)?E(a,n):Object.entries(a).forEach(([N,L])=>{E(L,N)}),C},ho=a=>!!(a.readonly||Ut(a)&&a.properties&&Object.values(a.properties).every(s=>ho(s))),bo=a=>!!(a.store||Ut(a)&&a.properties&&Object.values(a.properties).some(s=>bo(s))),_o=(a={},s)=>{const n=s.split(".").reduce((E,N)=>{if(N.includes("[")){const[L,_]=N.split("[");E.push(L,_.slice(0,-1))}else E.push(N);return E},[]);let C=a;for(const E of n){if(C===void 0)return;C=C[E]}return C},Zn=a=>{const s={};return Object.entries(a.schema).forEach(([n,C])=>{s[n]=Qa(C)}),ot.object(s).strict()},Qa=a=>{switch(a.type){case"string":case"number":case"boolean":return Jt(a)?ns(a):Ft(a)?ts(a):va(a)?as(a):os(a);case"object":return ss(a);case"array":return ls(a);case"button":return ot.any()}},Kn=()=>({type:"number"}),Wn=()=>({type:"boolean"}),Hn=a=>{const s={type:"string"};return Ea(a)&&(s.format=a.includes("T")?"date-time":"date"),fo(a.split("+")[0],{mode:"withSeconds"})&&(s.format="time"),go(a)&&(s.format="email"),yo(a)&&(s.format="uuid"),ma(a,4)&&(s.format="ipv4"),ma(a,6)&&(s.format="ipv6"),s},Yn=a=>({type:"string",enum:a.map(s=>s.toString())}),Jn=a=>{if(!Object.keys(a).length)return{type:"object"};const s={};return Object.entries(a).forEach(([n,C])=>{const E=Oa(C);E.key=n,E.description=E.description||`Description for ${n}`,E.required=E.required===void 0?!0:E.required,E.readonly=E.readonly||!1,s[n]=E}),{type:"object",properties:s}},Xn=a=>{if(a.length===0)return{type:"array"};const s=a.every(E=>typeof E=="object"&&E!==null&&!Array.isArray(E)),n=a.every(E=>typeof E=="string"),C=a.every(E=>typeof E=="number");if(s){const E={},N={};return a.forEach(L=>{Object.keys(L).forEach(_=>{N[_]=(N[_]||0)+1})}),a.forEach(L=>{Object.entries(L).forEach(([_,j])=>{if(!E[_]){const S=N[_]===a.length;E[_]={...Oa(j),required:S,title:_,description:`Description for ${_}`,readonly:!1}}})}),{type:"array",items:{type:"object",properties:E}}}else return n?{type:"array",items:{type:"string"}}:C?{type:"array",items:{type:"number"}}:{type:"array",items:{type:"boolean"}}},Ft=a=>a.type==="string"&&!("enum"in a),va=a=>a.type==="number"&&!("enum"in a),Fa=a=>a.type==="boolean"&&!("enum"in a),Jt=a=>"enum"in a,Ut=a=>a.type==="object",Wa=a=>Ut(a)&&"buttons"in a,fa=a=>a.type==="array",Gn=a=>a.type==="button",es=a=>Ft(a)||va(a)||Fa(a)||Jt(a)||Ut(a)||fa(a),ts=a=>{let s=ot.string();if(a.required&&(s=s.nonempty("Required")),a.minLength!==void 0&&(s=s.min(a.minLength)),a.maxLength!==void 0&&(s=s.max(a.maxLength)),a.format)switch(a.format){case"date-time":s=s.refine(n=>Ea(n)&&n.includes("T"),{message:"Invalid date-time"});break;case"date":s=s.refine(n=>Ea(n),{message:"Invalid date"});break;case"time":s=s.refine(n=>fo(n.split("+")[0],{mode:"withSeconds"}),{message:"Invalid time"});break;case"email":s=s.refine(n=>go(n),{message:"Invalid email"});break;case"uuid":s=s.refine(n=>yo(n),{message:"Invalid uuid"});break;case"ipv4":s=s.refine(n=>ma(n,4),{message:"Invalid ipv4"});break;case"ipv6":s=s.refine(n=>ma(n,6),{message:"Invalid ipv6"});break}return a.required?s:s.optional()},as=a=>{let s=ot.number();return a.minimum!==void 0&&(s=s.min(a.minimum)),a.maximum!==void 0&&(s=s.max(a.maximum)),a.required&&(s=s.refine(n=>n!==void 0&&typeof n=="number",{message:"Required"})),a.required?s:s.optional()},os=a=>{const s=ot.boolean();return a.required?s:s.optional()},ns=a=>{const s=a.enum.map(C=>a.required?ot.literal(C):ot.literal(C).optional()),n=a.required?ot.union(s):ot.any().transform(C=>!C||C===""||!a.enum.some(E=>E===C)?void 0:C);return a.multiple?a.required?n.array():n.array().optional():a.required?n:n.optional()},ss=a=>{let s;if(a.properties){const n=Object.entries(a.properties).reduce((C,[E,N])=>(C[E]=Qa(N),C),{});s=ot.object(n).strict()}else s=ot.record(ot.any());return a.required?s:s.optional()},ls=a=>{let s;return a.items?s=Qa(a.items).array():s=ot.any().array(),a.required?s:s.optional()},rs={0:"person",1:"bicycle",2:"car",3:"motorcycle",4:"airplane",5:"bus",6:"train",7:"truck",8:"boat",9:"traffic light",10:"fire hydrant",11:"stop sign",12:"parking meter",13:"bench",14:"bird",15:"cat",16:"dog",17:"horse",18:"sheep",19:"cow",20:"elephant",21:"bear",22:"zebra",23:"giraffe",24:"backpack",25:"umbrella",26:"handbag",27:"tie",28:"suitcase",29:"frisbee",30:"skis",31:"snowboard",32:"sports ball",33:"kite",34:"baseball bat",35:"baseball glove",36:"skateboard",37:"surfboard",38:"tennis racket",39:"bottle",40:"wine glass",41:"cup",42:"fork",43:"knife",44:"spoon",45:"bowl",46:"banana",47:"apple",48:"sandwich",49:"orange",50:"broccoli",51:"carrot",52:"hot dog",53:"pizza",54:"donut",55:"cake",56:"chair",57:"couch",58:"potted plant",59:"bed",60:"dining table",61:"toilet",62:"tv",63:"laptop",64:"mouse",65:"remote",66:"keyboard",67:"cell phone",68:"microwave",69:"oven",70:"toaster",71:"sink",72:"refrigerator",73:"book",74:"clock",75:"vase",76:"scissors",77:"teddy bear",78:"hair drier",79:"toothbrush",100:"motion"},is={class:"w-full my-3"},us=["for"],cs=["for"],ds=["for"],ms=["for"],ps=["for"],vs={class:"v-input__details",style:{"padding-inline":"16px"}},fs={class:"v-messages"},gs={key:0,class:"v-messages__message"},ys={class:"flex flex-row items-center justify-center ml-auto"},hs={key:0,class:"flex flex-col w-full items-center justify-center mt-3"},bs={class:"flex flex-row w-full items-center justify-center mt-3"},_s=pt({__name:"VCustomField",props:{schemaField:{},configKey:{},modelValue:{},removable:{},loading:{type:Boolean,default:!1}},emits:["onChange","onSubmit","onAction"],setup(a,{emit:s}){const n=zo(),C=s,E=a,{theme:N}=ro(n),{modelValue:L,schemaField:_,configKey:j,removable:S,loading:M}=vt(E),w=b(!1),k=En(async()=>{if(Ft(_.value)&&_.value.format==="qrCode"){let I;return N.value==="dark"?I={dark:"#FFFFFFFF",light:"#FF000000"}:I={dark:"#404040FF",light:"#FFFFFFFF"},await Mn.toDataURL(pe.value,{margin:.5,type:"image/png",color:I,scale:10})}},void 0,{lazy:!0}),P=W(()=>{if(Ft(_.value)&&_.value.format==="image")return pe.value}),u=(I,h)=>{const ee=g(L.value,I);Array.isArray(ee)&&ee.splice(h,1)},q=I=>{let h=g(L.value,I);h||(J(L.value,I,[]),h=g(L.value,I));const ee=_.value;if(Array.isArray(h)&&ee&&fa(ee)&&ee.items){const A=pa(ee.items);h.push(A)}},te=I=>{var h;return((h=I.match(/[^.[\]]+|\[\d+\]/g))==null?void 0:h.map(ee=>ee.startsWith("[")?parseInt(ee.slice(1,-1)):ee))||[]},g=(I,h)=>{const ee=te(h);let A=I;for(const T of ee){if(A==null)return;A=A[T]}if(!(A||!1)){const T=me(_.value,h);return T&&"defaultValue"in T?T.defaultValue:void 0}return A},J=(I,h,ee)=>{const A=te(h),H=A.pop(),T=A.reduce(($,R)=>($[R]||($[R]={}),$[R]),I);H!==void 0&&(T[H]=ee)},me=(I,h)=>{const ee=te(h);let A=I;for(const H of ee)if(A.type==="object"&&A.properties)A=A.properties[H];else if(A.type==="array"&&A.items&&!("anyOf"in A.items))A=A.items;else return A;return A},de=I=>I.type==="string"&&I.format!=="qrCode"&&I.format!=="image",pe=W({get:()=>g(L.value,j.value),set:I=>{const h=_.value;let ee=I;h&&(Jt(h)?h.multiple?ee=Array.isArray(I)?I:[I]:ee=I&&I.toString():Ft(h)?ee=I&&I.toString():va(h)?ee=isNaN(parseFloat(I))?h.minimum!==void 0?h.minimum:0:parseFloat(I):Fa(h)?ee=I==="true"||I===!0:ee=I),J(L.value,j.value,ee)}});return(I,h)=>{const ee=Ja,A=za("v-number-input"),H=za("VCustomField",!0);return l(),v("div",is,[e(Ft)(e(_))&&e(_).format==="qrCode"?(l(),v(_e,{key:0},[p("label",{for:e(j),class:"v-label"},d(e(_).title),9,us),o(ee,{src:e(k),class:"mb-3"},null,8,["src"])],64)):Q("",!0),e(Ft)(e(_))&&e(_).format==="image"?(l(),v(_e,{key:1},[p("label",{for:e(j),class:"v-label"},d(e(_).title),9,cs),o(ee,{src:e(P),class:"mb-3"},null,8,["src"])],64)):e(Ft)(e(_))&&de(e(_))?(l(),z(e(Ie),{key:2,modelValue:e(pe),"onUpdate:modelValue":h[2]||(h[2]=T=>Se(pe)?pe.value=T:null),name:e(j)},{default:t(({field:T,errorMessage:$,errors:R})=>[p("label",{for:e(j),class:"v-label"},d(e(_).title),9,ds),o(rt,ze({"model-value":T.value,error:R.length>0,"error-messages":$,readonly:e(_).readonly,placeholder:e(_).placeholder,hint:e(_).description,"persistent-hint":""},T,{variant:"outlined",density:"compact",type:e(_).format==="password"?e(w)?"text":"password":"text","append-inner-icon":e(_).format==="password"?e(w)?e(Ko):e(Wo):void 0,"onClick:appendInner":h[1]||(h[1]=Y=>w.value=!e(w))}),ca({_:2},[e(S)?{name:"append-inner",fn:t(()=>[o(ae,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:h[0]||(h[0]=K(Y=>u(e(S).path,e(S).index),["stop"]))},{default:t(()=>[o(U,null,{default:t(()=>[x(d(e(At)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["model-value","error","error-messages","readonly","placeholder","hint","type","append-inner-icon"])]),_:1},8,["modelValue","name"])):e(va)(e(_))?(l(),z(e(Ie),{key:3,modelValue:e(pe),"onUpdate:modelValue":h[4]||(h[4]=T=>Se(pe)?pe.value=T:null),name:e(j)},{default:t(({field:T,errorMessage:$,errors:R})=>[p("label",{for:e(j),class:"v-label"},d(e(_).title),9,ms),o(A,ze({"model-value":T.value,error:R.length>0,"error-messages":$,readonly:e(_).readonly,hint:e(_).description,step:e(_).step||1,"persistent-hint":""},T,{variant:"outlined",type:"number",density:"compact"}),ca({_:2},[e(S)?{name:"append-inner",fn:t(()=>[o(ae,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:h[3]||(h[3]=K(Y=>u(e(S).path,e(S).index),["stop"]))},{default:t(()=>[o(U,null,{default:t(()=>[x(d(e(At)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["model-value","error","error-messages","readonly","hint","step"])]),_:1},8,["modelValue","name"])):e(Fa)(e(_))?(l(),z(e(Ie),{key:4,modelValue:e(pe),"onUpdate:modelValue":h[6]||(h[6]=T=>Se(pe)?pe.value=T:null),name:e(j),type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:t(({field:T,errors:$,errorMessage:R})=>[o(io,ze({"model-value":T.checked,class:"w-full"},T,{color:"#df2a4c",type:"checkbox","persistent-hint":"",label:e(_).title,error:$.length>0,"error-messages":R,hint:e(_).description}),ca({_:2},[e(S)?{name:"append",fn:t(()=>[o(ae,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:h[5]||(h[5]=K(Y=>u(e(S).path,e(S).index),["stop"]))},{default:t(()=>[o(U,null,{default:t(()=>[x(d(e(At)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["model-value","label","error","error-messages","hint"])]),_:1},8,["modelValue","name"])):e(Jt)(e(_))?(l(),z(e(Ie),{key:5,modelValue:e(pe),"onUpdate:modelValue":h[8]||(h[8]=T=>Se(pe)?pe.value=T:null),name:e(j)},{default:t(({field:T,errorMessage:$,errors:R})=>[p("label",{for:e(j),class:"v-label"},d(e(_).title),9,ps),o(Ot,ze({items:e(_).enum,error:R.length>0,"error-messages":$,readonly:e(_).readonly,hint:e(_).description,"model-value":T.value,"persistent-hint":""},T,{variant:"outlined",density:"compact",chips:"",multiple:e(_).multiple,clearable:!e(_).required&&!e(_).readonly,onKeydown:h[7]||(h[7]=K(()=>{},["prevent"]))}),{chip:t(({item:Y})=>[o(tt,{color:"#df2a4c"},{default:t(()=>[x(d(Y.title),1)]),_:2},1024)]),_:2},1040,["items","error","error-messages","readonly","hint","model-value","multiple","clearable"])]),_:1},8,["modelValue","name"])):e(Gn)(e(_))?(l(),v(_e,{key:6},[o(ae,{width:"100%",color:"#df2a4c",variant:"flat",class:"mt-3",loading:e(M),onClick:h[9]||(h[9]=K(T=>C("onAction",{configPath:e(j)}),["prevent"]))},{default:t(()=>[x(d(e(_).title),1)]),_:1},8,["loading"]),p("div",vs,[p("div",fs,[e(_).description?(l(),v("div",gs,d(e(_).description),1)):Q("",!0)])])],64)):e(Ut)(e(_))||e(Wa)(e(_))?(l(),z(Ct,{key:7,"model-value":e(_).opened?[0]:[],class:"inner-component-2 mt-0 mb-3"},{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px",width:"-webkit-fill-available"},class:"truncate"},ca({default:t(()=>[e(_).description?(l(),z(mt,{key:0,text:e(_).description,location:"top"},{activator:t(({props:T})=>[o(U,ze({size:"20"},T,{class:"mr-3 text-passive"}),{default:t(()=>[x(d(e(Da)),1)]),_:2},1040)]),_:1},8,["text"])):Q("",!0),x(" "+d(e(_).title||e(j))+" ",1)]),_:2},[e(S)?{name:"actions",fn:t(({expanded:T})=>[p("div",ys,[o(ae,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:h[10]||(h[10]=K($=>u(e(S).path,e(S).index),["stop"]))},{default:t(()=>[o(U,null,{default:t(()=>[x(d(e(At)),1)]),_:1})]),_:1}),T?(l(),z(U,{key:0,size:"22.5"},{default:t(()=>[x(d(e(oo)),1)]),_:1})):(l(),z(U,{key:1,size:"22.5"},{default:t(()=>[x(d(e(no)),1)]),_:1}))])]),key:"0"}:void 0]),1024),o(xt,{eager:""},{default:t(()=>{var T;return[(l(!0),v(_e,null,Ve(e(_).properties,($,R)=>(l(),v("div",{key:`${e(j)}.${R}`},[$.hidden?Q("",!0):(l(),z(H,{key:0,modelValue:e(L),"onUpdate:modelValue":h[11]||(h[11]=Y=>Se(L)?L.value=Y:null),"schema-field":$,"config-key":`${e(j)}.${R}`,loading:e(M),onOnSubmit:h[12]||(h[12]=Y=>C("onSubmit",Y)),onOnAction:h[13]||(h[13]=Y=>C("onAction",Y))},null,8,["modelValue","schema-field","config-key","loading"]))]))),128)),e(Wa)(e(_))&&((T=e(_).buttons)!=null&&T.length)?(l(),v("div",hs,[(l(!0),v(_e,null,Ve(e(_).buttons,($,R)=>(l(),z(ae,{key:`button-${R}`,variant:"flat",loading:e(M),class:"px-0 w-100 my-2",style:{background:"rgba(141, 141, 141, 0.2)"},onClick:K(()=>$?C("onSubmit",{actionId:$.onSubmit,payload:e(_o)(e(L),e(j))}):void 0,["prevent"])},{default:t(()=>[x(d($==null?void 0:$.label),1)]),_:2},1032,["loading","onClick"]))),128))])):Q("",!0)]}),_:1})]),_:1})]),_:1},8,["model-value"])):e(fa)(e(_))&&e(_).items?(l(),z(Ct,{key:8,"model-value":e(_).opened?[0]:[],class:"inner-component-2 mt-0 mb-3"},{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px",width:"-webkit-fill-available"},class:"truncate"},{default:t(()=>[e(_).description?(l(),z(mt,{key:0,text:e(_).description,location:"top"},{activator:t(({props:T})=>[o(U,ze({size:"20"},T,{class:"mr-3 text-passive"}),{default:t(()=>[x(d(e(Da)),1)]),_:2},1040)]),_:1},8,["text"])):Q("",!0),x(" "+d(e(_).title||e(j)),1)]),_:1}),o(xt,{eager:""},{default:t(()=>[(l(!0),v(_e,null,Ve(g(e(L),e(j)),(T,$)=>(l(),v("div",{key:`item-${$}-${(T==null?void 0:T.key)||T||$}`,class:"w-full"},[e(_).items.hidden?Q("",!0):(l(),z(H,{key:0,modelValue:e(L),"onUpdate:modelValue":h[14]||(h[14]=R=>Se(L)?L.value=R:null),"schema-field":e(_).items,"config-key":`${e(j)}[${$}]`,removable:{path:e(j),index:$},loading:e(M),onOnSubmit:h[15]||(h[15]=R=>C("onSubmit",R)),onOnAction:h[16]||(h[16]=R=>C("onAction",R))},null,8,["modelValue","schema-field","config-key","removable","loading"]))]))),128)),p("div",bs,[o(ae,{variant:"text",color:"#df2a4c",icon:"",onClick:h[17]||(h[17]=K(T=>q(e(j)),["prevent"]))},{default:t(()=>[o(U,{size:"30"},{default:t(()=>[x(d(e(so)),1)]),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,["model-value"])):Q("",!0)])}}}),ks=Bt(_s,[["__scopeId","data-v-ccf723c8"]]),ws={key:0},xs={key:1},Cs={key:2,class:"flex w-full mt-7"},ko=pt({__name:"VJsonSchema",props:{config:{},uiSchema:{},loading:{type:Boolean,default:!1},disableButton:{type:Boolean},saveButton:{type:Boolean,default:!0},saveButtonLabel:{},saveButtonColor:{default:"green"},showButton:{type:Boolean,default:!1}},emits:["onSubmit","onAction","onFormSubmit","changeGroup"],setup(a,{emit:s}){const n=s,C=a,{uiSchema:E,config:N,loading:L,saveButton:_,saveButtonLabel:j,showButton:S,disableButton:M,saveButtonColor:w}=vt(C),k=b(),P=b(),u=W(()=>Object.keys(N.value).length?{...Mo(N.value)}:E.value?Un(E.value):{}),q=W(()=>E.value?E.value:jn(N.value)),te=W(()=>Zn(q.value)),g=W(()=>ya(te.value)),J=W(()=>Object.keys(q.value.schema).every(A=>ho(q.value.schema[A]))),me=W(()=>Object.keys(q.value.schema).some(A=>bo(q.value.schema[A]))),de=W(()=>{const A=q.value,H=[];for(const[,T]of Object.entries(A.schema))T.group&&!T.hidden&&!H.includes(T.group)&&H.push(T.group);return H.length&&(P.value=H[0]),H});ke(P,A=>{A&&n("changeGroup",A)});const pe=async()=>{var A;return await((A=k.value)==null?void 0:A.validate())},I=async A=>{n("onAction",A)},h=async A=>{const H=await pe();H!=null&&H.valid&&n("onSubmit",A)},ee=async()=>{const A=await pe();A!=null&&A.valid&&n("onFormSubmit",u.value)};return(A,H)=>{const T=ks;return l(),v("div",null,[o(e(da),{ref_key:"formRef",ref:k,"validation-schema":e(g),onSubmit:ee},{default:t(()=>[e(de).length?(l(),v("div",ws,[o(Et,{modelValue:e(P),"onUpdate:modelValue":H[0]||(H[0]=$=>Se(P)?P.value=$:null),"selected-class":"primary-color",mandatory:"",column:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(de),$=>(l(),z(tt,{key:$,size:"small",value:$},{default:t(()=>[x(d($),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),o(qa,{modelValue:e(P),"onUpdate:modelValue":H[2]||(H[2]=$=>Se(P)?P.value=$:null),mandatory:"",eager:"",class:"mt-3"},{default:t(()=>[(l(!0),v(_e,null,Ve(e(de),($,R)=>(l(),z(Aa,{key:$,value:$,transition:"instant","reverse-transition":"instant"},{default:t(()=>[(l(!0),v(_e,null,Ve(e(q).schema,(Y,qe)=>(l(),v("div",{key:qe},[!Y.hidden&&(Y.group===$||!Y.group&&R===0)?(l(),z(T,{key:0,modelValue:e(u),"onUpdate:modelValue":H[1]||(H[1]=De=>Se(u)?u.value=De:null),"schema-field":Y,"config-key":qe.toString(),loading:e(L),onOnSubmit:h,onOnAction:I},null,8,["modelValue","schema-field","config-key","loading"])):Q("",!0)]))),128))]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])):(l(),v("div",xs,[(l(!0),v(_e,null,Ve(e(q).schema,($,R)=>(l(),v("div",{key:R},[$.hidden?Q("",!0):(l(),z(T,{key:0,modelValue:e(u),"onUpdate:modelValue":H[3]||(H[3]=Y=>Se(u)?u.value=Y:null),"schema-field":$,"config-key":R.toString(),loading:e(L),onOnSubmit:h,onOnAction:I},null,8,["modelValue","schema-field","config-key","loading"]))]))),128))])),!e(J)&&e(_)&&e(me)||e(S)?(l(),v("div",Cs,[o(ae,{class:"w-full my-3",color:e(w),variant:"flat",type:"submit",loading:e(L),disabled:e(M)},{default:t(()=>[x(d(e(j)||A.$t("components.form.button.save")),1)]),_:1},8,["color","loading","disabled"])])):Q("",!0)]),_:1},8,["validation-schema"])])}}}),$s=pt({__name:"VJsonSchemaDialog",props:Qo({pluginConfig:{},uiSchema:{},pluginName:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const s=new mo,n=No(a,"modelValue"),C=a,E=b(!1),N=b(),{uiSchema:L,pluginConfig:_,pluginName:j}=vt(C),{mutateAsync:S,isPending:M}=s.actionButtonQuery(),w=W(()=>E.value||M.value);ke(L,P=>{N.value=P},{deep:!0,immediate:!0});const k=async P=>{E.value=!0;const u={..._.value,...P.payload};await S({pluginName:j.value,actionId:P.actionId,payload:u},{onSuccess:q=>{q!=null&&q.toast&&yt[q.toast.type](q.toast.message),q!=null&&q.schema&&Object.keys(q.schema).length&&N.value?N.value.schema.config=q.schema.config:n.value=!1},onSettled:()=>{E.value=!1}})};return(P,u)=>{const q=ko,te=Ba;return l(),z(te,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=g=>n.value=g),title:P.$t("components.dialog.title.config"),loading:e(w),"hide-confirm-button":""},{content:t(()=>[o(q,{config:{},"ui-schema":e(N),loading:e(w),"save-button":!1,onOnSubmit:k},null,8,["ui-schema","loading"])]),_:1},8,["modelValue","title","loading"])}}}),Vs=async({cameraData:a})=>(await Ne.post("/cameras",a)).data,Ss=async({cameraData:a})=>(await Ne.post("/cameras/preview",a)).data,wo=async({cameraname:a,signal:s})=>(await Ne.get(`/cameras/${a}`,{signal:s})).data,Ps=async({cameraname:a,signal:s})=>(await Ne.get(`/cameras/${a}/snapshot`,{signal:s})).data,zs=async({parameter:a,signal:s})=>(await Ne.get("/cameras",{params:a,signal:s})).data,Ms=async({cameraname:a,cameraData:s})=>(await Ne.patch(`/cameras/${a}`,s)).data,Es=async({cameraname:a,signal:s})=>(await Ne.get(`/cameras/${a}/extensions`,{signal:s})).data,Fs=async({cameraname:a,pluginname:s,signal:n})=>(await Ne.get(`/cameras/${a}/${s}`,{signal:n})).data,Bs=async({cameraname:a,pluginname:s,configData:n})=>(await Ne.patch(`/cameras/${a}/${s}`,n)).data,Is=async({cameraname:a,pluginname:s,configPath:n})=>(await Ne.post(`/cameras/${a}/${s}/submit`,{configPath:n})).data,Ts=async({cameraname:a,pluginname:s,type:n})=>(await Ne.put(`/cameras/${a}/${s}/enable`,null,{params:{type:n}})).data,qs=async({cameraname:a,pluginname:s,type:n})=>(await Ne.put(`/cameras/${a}/${s}/disable`,null,{params:{type:n}})).data,As=async({cameraname:a,pluginname:s})=>(await Ne.post(`/cameras/${a}/${s}`)).data,Os=async({cameraname:a,pluginname:s})=>(await Ne.delete(`/cameras/${a}/${s}`)).data,Qs=async({cameraname:a,zonename:s,signal:n})=>(await Ne.get(`/cameras/${a}/zones/${s}`,{signal:n})).data,Ns=async({cameraname:a,zoneData:s})=>(await Ne.post(`/cameras/${a}/zones`,s)).data,Ds=async({cameraname:a,zonename:s,zoneData:n})=>(await Ne.patch(`/cameras/${a}/zones/${s}`,n)).data,Ls=async({cameraname:a,zonename:s})=>(await Ne.delete(`/cameras/${a}/zones/${s}`)).data,Rs=async({cameraname:a})=>(await Ne.delete(`/cameras/${a}`)).data,js=async()=>(await Ne.delete("/cameras")).data;class Xt{constructor(){Va(this,"_queryClient",Ln());Va(this,"queryActivator",b([{name:"getCameraQuery",enabled:!0},{name:"getCamerasQuery",enabled:!0},{name:"getCameraSnapshotQuery",enabled:!0},{name:"getCameraExtensionsQuery",enabled:!0},{name:"getCameraExtensionConfigQuery",enabled:!0},{name:"getZoneQuery",enabled:!0}]))}get queryClient(){return this._queryClient}createCameraQuery(){return et({mutationFn:Vs,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),yt.success(Tt.global.t("components.toast.camera_added"))}})}previewCameraQuery(){return et({mutationFn:Ss})}getCameraQuery(s){return Rt({queryKey:["cameras",s],queryFn:({signal:n})=>wo({cameraname:e(s),signal:n}),enabled:()=>this.queryActivator.value.some(n=>n.name==="getCameraQuery"&&n.enabled)})}getCameraExtensionsQuery(s){return Rt({queryKey:["camerasExtensions",s],queryFn:({signal:n})=>Es({cameraname:e(s),signal:n}),enabled:()=>this.queryActivator.value.some(n=>n.name==="getCameraExtensionsQuery"&&n.enabled)})}getCameraSnapshotQuery(s){return Rt({queryKey:["camerasSnapshot",s],queryFn:({signal:n})=>Ps({cameraname:e(s),signal:n}),enabled:()=>this.queryActivator.value.some(n=>n.name==="getCameraSnapshotQuery"&&n.enabled),staleTime:6e4,retry:!1})}getCamerasQuery(s){return Rt({queryKey:["camerasList",s],queryFn:({signal:n})=>zs({parameter:e(s),signal:n}),placeholderData:n=>n,enabled:()=>this.queryActivator.value.some(n=>n.name==="getCamerasQuery"&&n.enabled)})}patchCameraQuery(){return et({mutationFn:Ms,onSuccess:async(s,n)=>{if(n.cameraData.name&&n.cameraData.name!==n.cameraname){const E=n.cameraname;await this._queryClient.invalidateQueries({queryKey:[E]}),await this._queryClient.refetchQueries({queryKey:["camerasList"]})}else await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",n.cameraname]}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",n.cameraname]});yt.success(Tt.global.t("components.toast.camera_updated"))}})}getCameraExtensionConfigQuery(s,n,C){return Rt({staleTime:0,queryKey:["cameras","extensions",s,n],queryFn:({signal:E})=>Fs({cameraname:e(s),pluginname:e(n),signal:E}),enabled:()=>this.queryActivator.value.some(E=>E.name==="getCameraExtensionConfigQuery"&&E.enabled),refetchInterval(){if(C.value)return 3e3}})}patchCameraExtensionConfigQuery(){return et({mutationFn:Bs,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",n.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",n.cameraname]})}})}submitCameraExtensionConfigQuery(){return et({mutationFn:Is,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",n.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",n.cameraname]})}})}enableCameraExtensionQuery(){return et({mutationFn:Ts,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",n.cameraname]})}})}disableCameraExtensionQuery(){return et({mutationFn:qs,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",n.cameraname]})}})}addCameraExtensionQuery(){return et({mutationFn:As,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",n.cameraname]})}})}getZoneQuery(s,n){return Rt({queryKey:["cameras",s,"zones",n],queryFn:({signal:C})=>Qs({cameraname:e(s),zonename:e(n),signal:C}),enabled:()=>this.queryActivator.value.some(C=>C.name==="getZoneQuery"&&C.enabled)})}addCameraZoneQuery(){return et({mutationFn:Ns,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),yt.success(Tt.global.t("components.toast.zone_added"))}})}patchCameraZoneQuery(){return et({mutationFn:Ds,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),yt.success(Tt.global.t("components.toast.zone_updated"))}})}removeCameraZoneQuery(){return et({mutationFn:Ls,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),yt.success(Tt.global.t("components.toast.zone_removed"))}})}removeCameraExtensionQuery(){return et({mutationFn:Os,onSuccess:async(s,n)=>{await this._queryClient.refetchQueries({queryKey:["cameras",n.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",n.cameraname]})}})}removeCameraQuery(){return et({mutationFn:Rs,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),yt.success(Tt.global.t("components.toast.camera_removed"))}})}removeCamerasQuery(){return et({mutationFn:js,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),yt.success(Tt.global.t("components.toast.cameras_removed"))}})}toggleQueryActivator(s,n){const C=this.queryActivator.value.find(E=>E.name===s);C&&(C.enabled=n)}}const Us=he.union([he.literal("bubble://"),he.literal("dvrip://"),he.literal("echo:"),he.literal("exec:"),he.literal("expr:"),he.literal("ffmpeg:"),he.literal("gopro://"),he.literal("hass:"),he.literal("homekit://"),he.literal("http://"),he.literal("https://"),he.literal("httpx://"),he.literal("isapi://"),he.literal("ivideon:"),he.literal("kasa://"),he.literal("nest:"),he.literal("onvif://"),he.literal("roborock://"),he.literal("rtmp://"),he.literal("rtsp://"),he.literal("rtspx://"),he.literal("tapo://"),he.literal("tcp://"),he.literal("webrtc:"),he.literal("webtorrent:")]),Zs=he.object({protocol:Us,url:he.string().min(1,"Camera Source is required").array().nonempty("Camera Source is required")}).strict(),Ks=he.object({name:he.string().min(1,"Camera Source Name is required"),roles:Eo.array().nonempty("Minimum one role is required"),urls:Zs.array()}).strict(),Ws=Ks.array(),Hs=he.object({...Fo.shape,sources:Ws}).strict(),hu=ya(Hs),Ha=ya(Bo),xo=ya(Io),Co=a=>(Do("data-v-0cdb0e1b"),a=a(),Lo(),a),Ys={key:0},Js={key:1,class:"flex flex-col justify-center items-center"},Xs={class:"relative w-full"},Gs={class:"w-full flex flex-col items-center justify-center"},el={class:"relative w-full flex flex-col items-center justify-center"},tl={class:"absolute top-0 left-0 right-0 bottom-0"},al={class:"playground-container flex w-full h-full"},ol={class:"sandbox w-full h-full"},nl={class:"handles"},sl=["data-id","data-coord","data-region","onDblclick"],ll=Co(()=>p("div",{class:"delete-point"},null,-1)),rl=[ll],il={class:"clipboard"},ul={width:"100%",height:"100%",class:"polygon-container"},cl=["d","onClick","onDblclick","onMousedown","onTouchstart"],dl=Co(()=>p("div",{class:"shadowboard on"},null,-1)),ml={class:"flex align-center flex-column pa-6 zone-buttons"},pl={class:"w-100"},vl=["for"],fl={key:1,class:"text-grey text-caption align-self-center"},gl={key:1,class:"w-100"},yl={class:"v-label"},hl={key:0},bl={key:1},_l={key:0},kl={key:1},wl={key:0},xl={key:1},Cl=pt({__name:"VZoneEditor",props:{cameraName:{},zones:{},isNewZone:{type:Boolean}},emits:["show-modal"],setup(a,{emit:s}){const n=new Xt,C=s,E=a,{cameraName:N,zones:L,isNewZone:_}=vt(E),j=b(!0),S=b(!1),M=b([]),w=b([]),k=b([]),P=b(null),u=b(),q=b(!1),te=b(0),g=b(-1),J=b(null),me=b(-1),de=b(Object.values(rs).sort((m,f)=>m==="motion"?-1:f==="motion"?1:0));let pe=!1,I={x:0,y:0};const h=Yt(P);Ta(J,m=>{const f=m.target,oe=f.closest(".polygon"),le=f.closest(".edit-button"),ye=f.closest(".remove-button"),G=f.closest(".handle"),Me=f.closest(".zone-buttons"),Fe=f.closest(".coco-labels");!oe&&!le&&!ye&&!G&&!S.value&&!Me&&!Fe&&(g.value=-1)});const{mutateAsync:ee,isPending:A}=n.addCameraZoneQuery(),{mutateAsync:H,isPending:T}=n.patchCameraZoneQuery(),$=W(()=>q.value||A.value||T.value),R=W(()=>{var m,f;return((f=(m=u.value)==null?void 0:m.regions[g.value])==null?void 0:f.classes.length)===de.value.length}),Y=W(()=>{var m,f;return(((f=(m=u.value)==null?void 0:m.regions[g.value])==null?void 0:f.classes.length)||0)>0}),qe=W(()=>{var f;const m=[];return S.value&&m.push("customizing"),(f=u.value)!=null&&f.regions.length||m.push("start"),m.join(" ")});ke(me,()=>{me.value=-1}),ke(L,m=>{m&&(u.value=JSON.parse(JSON.stringify(m)))},{deep:!0,immediate:!0}),ke(u,m=>{m&&(M.value=m.regions.map((f,oe)=>f.coords.map((le,ye)=>({_id:le._id,regionIndex:oe,coordIndex:ye,coord:le.points}))).flat()||[])},{deep:!0,immediate:!0}),ke(j,m=>{m||setTimeout(()=>C("show-modal",!1),300)}),ke([h.width,h.height],()=>{se()});const De=()=>{!u.value||!u.value.regions[g.value]||(R.value?u.value.regions[g.value].classes=[]:u.value.regions[g.value].classes=[...de.value])},Le=m=>{if("touches"in m){const f=m.touches[0];return{x:f.clientX,y:f.clientY}}return{x:m.clientX,y:m.clientY}},Oe=(m,f)=>{if(m.stopPropagation(),!P.value)return;Je(S.value),pe=!0,g.value=f;const oe=P.value.getBoundingClientRect(),{x:le,y:ye}=Le(m);I.x=(le-oe.left)/oe.width*100,I.y=(ye-oe.top)/oe.height*100},Re=m=>{if(!pe||!P.value||g.value===-1||!u.value)return;const f=P.value.getBoundingClientRect(),{x:oe,y:le}=Le(m),ye=(oe-f.left)/f.width*100,G=(le-f.top)/f.height*100,Me=ye-I.x,Fe=G-I.y,xe=u.value.regions[g.value].coords;let ve=!1;for(let be=0;be<xe.length;be++){let ct=xe[be].points[0]+Me,st=xe[be].points[1]+Fe;if(ct<0||ct>100||st<0||st>100){ve=!0;break}}if(!ve)for(let be=0;be<xe.length;be++){xe[be].points[0]+=Me,xe[be].points[1]+=Fe,xe[be].points[0]=Math.max(0,Math.min(100,xe[be].points[0])),xe[be].points[1]=Math.max(0,Math.min(100,xe[be].points[1]));const ct=xe[be].points[0]/100*f.width,st=xe[be].points[1]/100*f.height,Xe=w.value.find(Qt=>Qt.id===xe[be]._id);Xe==null||Xe.setPosition(ct,st)}I.x=ye,I.y=G},Ce=()=>{setTimeout(()=>{pe=!1},100)},Pe=()=>{!u.value||g.value===-1||(u.value.regions[g.value].isPrivacyMask=!u.value.regions[g.value].isPrivacyMask)},Ee=()=>{!u.value||!u.value.regions[g.value]||(u.value.regions[g.value].filter=u.value.regions[g.value].filter==="include"?"exclude":"include")},Te=()=>{!u.value||!u.value.regions[g.value]||(u.value.regions[g.value].type=u.value.regions[g.value].type==="intersect"?"contain":"intersect")},Ze=m=>{if(!S.value||!u.value||pe)return;const f=te.value,oe=Math.min(Math.max(Math.round((m.offsetX-10)/h.width.value*100),0),100),le=Math.min(Math.max(Math.round((m.offsetY-10)/h.height.value*100),0),100);u.value.regions[f]||u.value.regions.push({_id:Math.random().toString(36).substring(7),coords:[],filter:"include",type:"contain",classes:[],isPrivacyMask:!1});const ye={_id:Math.random().toString(36).substring(7),points:[oe,le]};u.value.regions[f].coords.push(ye),$t(()=>{it({_id:ye._id,regionIndex:f,coordIndex:u.value.regions[f].coords.length-1,coord:[oe,le]})})},it=m=>{var oe;if(m.regionIndex===void 0||m.coordIndex===void 0)return;const f=(oe=k.value)==null?void 0:oe.filter(le=>le.dataset.coord===m.coordIndex.toString()&&le.dataset.region===m.regionIndex.toString());f.length!==0&&$e(f[0],m.coord)},nt=m=>{if(!u.value)return;let f=Math.round(m.coord[0]/h.width.value*100),oe=Math.round(m.coord[1]/h.height.value*100);const le={_id:m._id,points:[f,oe]};u.value.regions[m.regionIndex].coords[m.coordIndex]=le},We=()=>{u.value&&(S.value=!0,te.value=u.value.regions.length||0)},Je=m=>{var oe;if(!u.value)return;S.value=m||!1;const f=te.value;!u.value.regions.length||!u.value.regions[f]||!u.value.regions[f].coords||(u.value.regions[f].coords.length<3?u.value.regions=u.value.regions.filter((le,ye)=>ye!==f):(oe=k.value)==null||oe.forEach(le=>He(le)))},O=()=>{S.value=!0,te.value=g.value},ft=()=>{g.value===-1||!u.value||(u.value.regions=u.value.regions.filter((m,f)=>f!==g.value),g.value=-1)},ut=()=>{var oe,le;if(!((oe=u.value)!=null&&oe.regions.length))return;const m=ye=>{var G,Me,Fe,xe,ve;(Me=(G=u.value)==null?void 0:G.regions[ye])!=null&&Me.coords.length&&((xe=(Fe=u.value.regions[ye])==null?void 0:Fe.coords)==null||xe.pop(),(ve=u.value.regions[ye])!=null&&ve.coords.length||u.value.regions.pop())};let f=u.value.regions.length;(le=u.value.regions[f-1].coords)!=null&&le.length&&f--,!(f<0)&&m(f)},je=()=>{pe=!1,S.value=!1,M.value=[],u.value&&(u.value.regions=[])},Z=m=>{if(!m)return"";const f=m.map(le=>{const ye=Math.round(le[0]/100*h.width.value),G=Math.round(le[1]/100*h.height.value);return`${ye+10},${G+10}`});if(f.length===0)return"";let oe=`M ${f[0]}`;for(let le=1;le<f.length;le++)oe+=` L ${f[le]}`;return oe+=" Z",oe},X=m=>{S.value||(g.value=m)},se=()=>{ue(),k.value.forEach(m=>{var oe;if(!m.dataset.region||!m.dataset.coord||!u.value)return;const f=(oe=u.value.regions[parseInt(m.dataset.region)])==null?void 0:oe.coords[parseInt(m.dataset.coord)];$e(m,f.points),He(m)})},ue=()=>{w.value.forEach(m=>m.destroy()),w.value=[]},re=m=>{var f;!u.value||((f=u.value.regions[m.regionIndex])==null?void 0:f.coords.length)<4||u.value.regions[m.regionIndex].coords.splice(m.coordIndex,1)},$e=(m,f)=>{Object.assign(m.style,Qe(f))},Qe=m=>({left:Math.round(m[0]/100*h.width.value)+"px",top:Math.round(m[1]/100*h.height.value)+"px"}),He=m=>{m.classList.add("draggable");let f=new po(m,{containment:!0,grid:[0,0]}).on("pointerDown",()=>{var oe;(oe=document.querySelectorAll('[data-point="'+m.dataset.region+"-"+m.dataset.coord+'"]')[0])==null||oe.classList.add("changing")}).on("dragMove",()=>{if(!m.dataset.region||!m.dataset.coord||!m.dataset.id)return;const oe=f.position.x,le=f.position.y;nt({_id:m.dataset.id,coord:[oe,le],coordIndex:parseInt(m.dataset.coord),regionIndex:parseInt(m.dataset.region)})}).on("pointerUp",()=>{document.querySelectorAll(".point").forEach(oe=>oe.classList.remove("changing"))});f.id=m.dataset.id,w.value.push(f)},ge=async()=>{if(u.value)try{q.value=!0;const m=await xo.parse(u.value);m.value?(_.value?await ee({cameraname:N.value,zoneData:u.value}):await H({cameraname:N.value,zonename:u.value.name,zoneData:u.value}),j.value=!1):yt.error(m.errors[0].errors[0])}catch(m){console.error(m)}finally{q.value=!1}};return ga(async()=>{setTimeout(()=>{se()})}),(m,f)=>{const oe=Na,le=Ba;return l(),z(le,{modelValue:e(j),"onUpdate:modelValue":f[12]||(f[12]=ye=>Se(j)?j.value=ye:null),title:`${m.$t("components.zone_editor.zone")}: ${e(u)?e(u).name:m.$t("components.dialog.title.unknown")}`,loading:e($),onConfirm:f[13]||(f[13]=ye=>ge())},{content:t(()=>{var ye;return[e(u)?(l(),v("div",Js,[p("div",Xs,[p("div",{ref_key:"outsideEl",ref:J},null,512),p("div",Gs,[p("div",el,[p("div",tl,[p("div",al,[p("section",{class:jt(["playground w-full h-full",e(qe)]),onClick:Ze},[p("div",ol,[p("div",nl,[(l(!0),v(_e,null,Ve(e(M),G=>(l(),v("div",{key:G._id,ref_for:!0,ref_key:"draggables",ref:k,class:"handle","data-id":G._id,"data-coord":G.coordIndex,"data-region":G.regionIndex,onDblclick:K(Me=>re(G),["prevent"])},rl,40,sl))),128)),p("div",il,[(l(),v("svg",ul,[(l(!0),v(_e,null,Ve((ye=e(u))==null?void 0:ye.regions,(G,Me)=>(l(),v("path",{key:G._id,d:Z(G.coords.map(Fe=>Fe.points)),class:jt({polygon:G.filter=="include"&&!G.isPrivacyMask,"polygon-exclude":G.filter=="exclude"&&!G.isPrivacyMask,"polygon-privacy":G.isPrivacyMask,dash:G.type==="intersect"&&!G.isPrivacyMask,selected:e(g)===Me}),onClick:Fe=>X(Me),onDblclick:()=>G.isPrivacyMask=!G.isPrivacyMask,onMousedown:Fe=>Oe(Fe,Me),onMousemove:Re,onMouseup:Ce,onTouchstart:Fe=>Oe(Fe,Me),onTouchmove:Re,onTouchend:Ce},null,42,cl))),128))]))])]),dl])],2)])]),p("div",{ref_key:"player",ref:P,class:"w-full h-full flex flex-col items-center justify-center",style:{width:"calc(100% - 20px)","margin-top":"10px","margin-bottom":"10px"}},[o(oe,{mode:"webrtc",target:"stream","current-camera":e(N),"border-radius":0,border:"","source-role":"low-resolution"},null,8,["current-camera"])],512)]),p("div",ml,[p("div",pl,[e(u)&&e(u).regions&&e(g)>=0&&e(u).regions[e(g)]?(l(),z(e(Ie),{key:0,modelValue:e(u).regions[e(g)].classes,"onUpdate:modelValue":f[0]||(f[0]=G=>e(u).regions[e(g)].classes=G),name:`regions[${e(g)}].classes`},{default:t(({field:G,errorMessage:Me,errors:Fe})=>[p("label",{for:`regions[${e(g)}].classes`,class:"v-label"},d(m.$t("components.form.label.classes")),9,vl),o(Ot,ze({loading:e($),items:e(de),class:"coco-labels w-100",variant:"outlined",name:`regions[${e(g)}].classes`,type:"text",density:"compact",chips:"",multiple:"",clearable:""},G,{error:Fe.length>0,"error-messages":Me,"model-value":G.value,"menu-props":{class:"coco-labels"},onKeydown:K(()=>null,["prevent"])}),{"prepend-item":t(()=>[o(uo,{title:m.$t("components.form.label.select_all"),onClick:De},{prepend:t(()=>[o(co,{indeterminate:e(Y)&&!e(R),"model-value":e(R)},null,8,["indeterminate","model-value"])]),_:1},8,["title"]),o(Ye,{class:"mt-2"})]),chip:t(({item:xe,index:ve})=>[ve<5?(l(),z(tt,{key:0,color:"#df2a4c"},{default:t(()=>[x(d(xe.title),1)]),_:2},1024)):Q("",!0),ve===5?(l(),v("span",fl," (+"+d(e(u).regions[e(g)].classes.length-2)+") ",1)):Q("",!0)]),_:2},1040,["loading","items","name","error","error-messages","model-value"])]),_:1},8,["modelValue","name"])):(l(),v("div",gl,[p("label",yl,d(m.$t("components.form.label.classes")),1),o(Ot,{disabled:"",class:"w-100",variant:"outlined",type:"text",density:"compact"})]))]),o(Ua,{modelValue:e(me),"onUpdate:modelValue":f[7]||(f[7]=G=>Se(me)?me.value=G:null),variant:"outlined",divided:"",rounded:"xl",class:"mt-5"},{default:t(()=>[e(S)?(l(),z(ae,{key:1,loading:e($),onClick:f[2]||(f[2]=K(G=>Je(!1),["prevent"]))},{default:t(()=>[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(m.$t("components.form.tooltip.finish")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(Yo)),1)]),_:1})]),_:1},8,["loading"])):(l(),z(ae,{key:0,loading:e($),onClick:f[1]||(f[1]=K(G=>We(),["prevent"]))},{default:t(()=>[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(m.$t("components.form.tooltip.new")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(Ho)),1)]),_:1})]),_:1},8,["loading"])),o(ae,{loading:e($),disabled:!e(u).regions.length||e(g)<0||e(S),onClick:f[3]||(f[3]=K(G=>O(),["prevent"]))},{default:t(()=>[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(m.$t("components.form.tooltip.edit")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(lo)),1)]),_:1})]),_:1},8,["loading","disabled"]),o(ae,{loading:e($),disabled:!e(u).regions.length||e(g)<0,onClick:f[4]||(f[4]=K(G=>ft(),["prevent"]))},{default:t(()=>[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(m.$t("components.form.tooltip.delete")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(Jo)),1)]),_:1})]),_:1},8,["loading","disabled"]),o(ae,{loading:e($),disabled:!e(u).regions.length,onClick:f[5]||(f[5]=K(G=>ut(),["prevent"]))},{default:t(()=>[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(m.$t("components.form.tooltip.undo")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(Xo)),1)]),_:1})]),_:1},8,["loading","disabled"]),o(ae,{loading:e($),disabled:!e(u).regions.length,onClick:f[6]||(f[6]=K(G=>je(),["prevent"]))},{default:t(()=>[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(m.$t("components.form.tooltip.clear")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(Go)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1},8,["modelValue"]),o(Ua,{modelValue:e(me),"onUpdate:modelValue":f[11]||(f[11]=G=>Se(me)?me.value=G:null),variant:"outlined",divided:"",rounded:"xl",class:"mt-5"},{default:t(()=>[o(ae,{disabled:!(e(u)&&e(u).regions&&e(g)>=0&&e(u).regions[e(g)]),loading:e($),onClick:f[8]||(f[8]=K(G=>Pe(),["prevent"]))},{default:t(()=>[e(u)&&e(u).regions&&e(g)>=0&&e(u).regions[e(g)]?(l(),v("div",hl,[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(e(u).regions[e(g)].isPrivacyMask?m.$t("components.form.tooltip.privacy_mask"):m.$t("components.form.tooltip.public_mask")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(u).regions[e(g)].isPrivacyMask?e(en):e(Ma)),1)]),_:1})])):(l(),v("div",bl,[o(U,{size:"20"},{default:t(()=>[x(d(e(Ma)),1)]),_:1})]))]),_:1},8,["disabled","loading"]),o(ae,{disabled:!(e(u)&&e(u).regions&&e(g)>=0&&e(u).regions[e(g)]&&!e(u).regions[e(g)].isPrivacyMask),loading:e($),onClick:f[9]||(f[9]=K(G=>Ee(),["prevent"]))},{default:t(()=>[e(u)&&e(u).regions&&e(g)>=0&&e(u).regions[e(g)]&&!e(u).regions[e(g)].isPrivacyMask?(l(),v("div",_l,[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(e(u).regions[e(g)].filter==="include"?m.$t("components.form.tooltip.include"):m.$t("components.form.tooltip.exclude")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(u).regions[e(g)].filter==="include"?e(La):e(tn)),1)]),_:1})])):(l(),v("div",kl,[o(U,{size:"20"},{default:t(()=>[x(d(e(La)),1)]),_:1})]))]),_:1},8,["disabled","loading"]),o(ae,{disabled:!(e(u)&&e(u).regions&&e(g)>=0&&e(u).regions[e(g)]&&!e(u).regions[e(g)].isPrivacyMask),loading:e($),onClick:f[10]||(f[10]=K(G=>Te(),["prevent"]))},{default:t(()=>[e(u)&&e(u).regions&&e(g)>=0&&e(u).regions[e(g)]&&!e(u).regions[e(g)].isPrivacyMask?(l(),v("div",wl,[o(mt,{activator:"parent",location:"top"},{default:t(()=>[x(d(e(u).regions[e(g)].type==="intersect"?m.$t("components.form.tooltip.intersect"):m.$t("components.form.tooltip.contain")),1)]),_:1}),o(U,{size:"20"},{default:t(()=>[x(d(e(u).regions[e(g)].type==="intersect"?e(an):e(Ra)),1)]),_:1})])):(l(),v("div",xl,[o(U,{size:"20"},{default:t(()=>[x(d(e(Ra)),1)]),_:1})]))]),_:1},8,["disabled","loading"])]),_:1},8,["modelValue"])])])])])):(l(),v("div",Ys,[o(Vt,{indeterminate:"",color:"#df2a4c"})]))]}),_:1},8,["modelValue","title","loading"])}}}),$l=Bt(Cl,[["__scopeId","data-v-0cdb0e1b"]]),Vl={class:"flex flex-col w-full",style:{height:"calc(100% - 45px - env(safe-area-inset-bottom, 0px))"}},Sl={class:"flex w-full p-2 items-center"},Pl={key:0},zl={class:"options-segments flex items-center justify-between"},Ml={class:"flex flex-col items-center justify-center"},El={class:"options-segments-text"},Fl={key:0,class:"options-container flex justify-center items-center"},Bl={class:"mt-auto"},Il=pt({__name:"VOptionsSidebar",props:{state:{type:Boolean,default:!1},title:{},segments:{default:()=>["default"]},loading:{type:Boolean,default:!1},width:{default:400}},emits:["close","selected"],setup(a,{emit:s}){Ro(q=>({bd3ce394:e(k)}));const n=a,C=s,{segments:E,state:N,title:L,loading:_,width:j}=vt(n),S=b(null),M=b(E.value[0]),w=b(!1),k=b(`${j.value}px`),{smallMobileActive:P}=Xa();ke(N,()=>{w.value=N.value}),ke(w,()=>{w.value!==N.value&&setTimeout(()=>{C("close")},300),u(P.value&&w.value)}),ke(P,()=>{u(P.value&&w.value)});const u=q=>{};return Ta(S,q=>{const te=q.target,g=te.closest(".v-overlay-container"),J=te.closest(".Toastify");!g&&!J&&(w.value=!1)}),ga(()=>{C("selected",M.value)}),(q,te)=>(l(),z(eo,{name:"options-slide",mode:"out-in"},{default:t(()=>[e(w)?(l(),v("div",{key:0,ref_key:"optionsSidebar",ref:S,class:"options-sidebar"},[p("div",Vl,[p("div",Sl,[e(L)?(l(),v("b",Pl,d(e(L)),1)):Q("",!0),o(ae,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:te[0]||(te[0]=K(g=>w.value=!1,["prevent"]))},{default:t(()=>[o(U,{size:"20"},{default:t(()=>[x(d(e(At)),1)]),_:1})]),_:1})]),p("div",zl,[o(qn,{modelValue:e(M),"onUpdate:modelValue":[te[1]||(te[1]=g=>Se(M)?M.value=g:null),te[2]||(te[2]=g=>C("selected",g))],height:"100%",grow:"","slider-color":"#df2a4c"},{default:t(()=>[(l(!0),v(_e,null,Ve(e(E),(g,J)=>(l(),z(An,{key:J,value:g,disabled:e(_),"min-width":"auto"},{default:t(()=>[p("div",Ml,[Pa(q.$slots,`segmentIcon.${g}`,{},()=>[o(U,{size:"20"},{default:t(()=>[x(d(e(Ia)),1)]),_:1})],!0),p("span",El,d(q.$t(`components.options_sidebar.segment_tab_${g.toLowerCase()}`)),1)])]),_:2},1032,["value","disabled"]))),128))]),_:3},8,["modelValue"])]),e(_)?(l(),v("div",Fl,[o(Vt,{color:"#df2a4c",indeterminate:""})])):(l(),z(qa,{key:1,modelValue:e(M),"onUpdate:modelValue":te[3]||(te[3]=g=>Se(M)?M.value=g:null),class:"options-container",continuous:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(E),(g,J)=>(l(),z(Aa,{key:J,value:g,class:"h-full pb-safe overflow-y-scroll",eager:"",continuous:""},{default:t(()=>[Pa(q.$slots,`body.${g}`,{},void 0,!0)]),_:2},1032,["value"]))),128))]),_:3},8,["modelValue"])),p("div",Bl,[Pa(q.$slots,"footer",{},void 0,!0)])])],512)):Q("",!0)]),_:3}))}}),Tl=Bt(Il,[["__scopeId","data-v-03a5e73e"]]),ql={class:"text-sm"},Al={class:"text-right"},Ol={class:"text-right"},Ql={key:0},Nl={key:0},Dl={class:"text-right"},Ll={key:1},Rl={class:"text-right"},jl={key:2},Ul={class:"text-right"},Zl={class:"flex justify-start"},Kl={class:"v-label mb-0 ml-2",for:"disabled"},Wl={class:"relative mt-2"},Hl={for:"name",class:"v-label"},Yl={class:"relative"},Jl={for:"info.manufacturer",class:"v-label"},Xl={class:"relative"},Gl={for:"info.model",class:"v-label"},er={class:"relative"},tr={for:"info.hardware",class:"v-label"},ar={class:"relative"},or={for:"info.serialNumber",class:"v-label"},nr={class:"relative"},sr={for:"info.firmwareVersion",class:"v-label"},lr={class:"relative"},rr={for:"info.supportUrl",class:"v-label"},ir={for:"interface.streamingMode",class:"v-label"},ur={class:"text-sm"},cr={class:"w-full flex flex-col items-center justify-center mt-5"},dr={class:"relative w-full"},mr={for:"activitySettings.motion.timeout",class:"v-label"},pr={class:"text-sm"},vr={class:"w-full flex flex-col items-center justify-center mt-5"},fr={class:"relative w-full"},gr={for:"activitySettings.motion.confidence",class:"v-label"},yr={class:"w-full flex flex-col items-center justify-center"},hr={key:0,class:"text-sm text-passive mb-3"},br={class:"relative"},_r={for:"frameWorkerSettings.decoder",class:"v-label"},kr={class:"relative"},wr={for:"frameWorkerSettings.resolution",class:"v-label"},xr={class:"relative"},Cr={for:"frameWorkerSettings.fps",class:"v-label"},$r={class:"flex flex-row items-center justify-center ml-auto"},Vr={class:"relative mt-2"},Sr=["for"],Pr={class:"relative mt-2"},zr=["for"],Mr={class:"relative mt-2 flex flex-col w-full"},Er=["for"],Fr={class:"w-full flex items-center justify-center my-3"},Br={class:"plugints-title p-2"},Ir={class:"v-label"},Tr={key:0,class:"plugints-title p-2"},qr={class:"v-label"},Ar={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Or={class:"text-sm text-passive"},Qr={key:1,class:"plugints-title p-2"},Nr={class:"v-label"},Dr={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Lr={class:"text-sm text-passive"},Rr={key:2,class:"plugints-title p-2"},jr={class:"v-label"},Ur={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Zr={class:"text-sm text-passive"},Kr={key:3,class:"plugints-title p-2"},Wr={class:"v-label"},Hr={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Yr={class:"text-sm text-passive"},Jr={key:4,class:"plugints-title p-2"},Xr={class:"v-label"},Gr={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},ei={class:"text-sm text-passive"},ti={key:5,class:"plugints-title p-2"},ai={class:"v-label"},oi={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},ni={class:"text-sm text-passive"},si={class:"p-2"},li={key:0,class:"mb-4"},ri={class:"v-label"},ii={key:1},ui={class:"v-label"},ci={key:0,class:"w-full flex items-center justify-center my-5"},di={key:1,class:"w-full flex items-center justify-center my-5"},mi={class:"text-sm text-passive"},pi={key:0,class:"p-2"},vi={class:"v-label"},fi=pt({__name:"VCameraOptions",props:{cameraName:{},show:{type:Boolean,default:!1}},emits:["close"],setup(a,{emit:s}){const n=new Xt,C=new mo,E=Rn(),N=vo(),{api:L}=Ga(),_=a,j=s,{cameraName:S,show:M}=vt(_),w=b(),k=b(),P=b(),u=b(),q=b(),te=b(["hub","motionDetection","objectDetection","audioDetection","prebuffer","ptz","more"]),g=b(!1),J=b(!1),me=b(),de=b(),pe=b({page:1,pageSize:-1}),I=b(!1),h=b("hub"),ee=b(),A=b(),H=b(),T=b(),$=b(),R=b(),Y=b(""),qe=b(),De=b(!0),Le=b(!1),Oe=b(!1),Re=b(["high-resolution","mid-resolution","low-resolution","snapshot"]),Ce=b(["hls","mjpeg","mp4","mse","webrtc","webrtc/tcp"]),Pe=b([640,480,320]),Ee=b(["pillow","wasm"]),Te=b(!0),Ze=b(),it=b(),nt=b(),We=b(!1),Je=b({name:"",regions:[]});n.toggleQueryActivator("getCameraExtensionConfigQuery",!1);const{data:O,isLoading:ft,suspense:ut}=n.getCameraQuery(S),{data:je,isLoading:Z,suspense:X}=n.getCameraExtensionsQuery(S),{data:se,isLoading:ue}=n.getCameraExtensionConfigQuery(S.value,Y,Te),{mutate:re,isPending:$e}=n.removeCameraQuery(),{mutate:Qe,isPending:He}=n.patchCameraQuery(),{mutate:ge,isPending:m}=n.patchCameraExtensionConfigQuery(),{mutate:f,isPending:oe}=n.submitCameraExtensionConfigQuery(),{mutateAsync:le,isPending:ye}=n.addCameraExtensionQuery(),{mutateAsync:G,isPending:Me}=n.removeCameraExtensionQuery(),{mutateAsync:Fe,isPending:xe}=n.enableCameraExtensionQuery(),{mutateAsync:ve,isPending:be}=n.disableCameraExtensionQuery(),{mutateAsync:ct,isPending:st}=n.removeCameraZoneQuery(),{data:Xe,isLoading:Qt,suspense:Zt}=C.getPluginsQuery(pe),{data:dt,isLoading:ht}=C.getPluginsExtensionsQuery(pe),{mutate:Ke,isPending:ha}=C.actionButtonQuery(),we=W(()=>ft.value||$e.value),Ue=W(()=>Z.value||ht.value||ye.value||Me.value||xe.value||be.value||st.value),Nt=W(()=>st.value),Ge=W(()=>Nt.value||Ue.value||g.value||ha.value||m.value||He.value||oe.value),Kt=W(()=>{var c;const i=((c=je.value)==null?void 0:c.filter(D=>D.type.includes("hub")))||[];return i.length&&Xe.value&&Xe.value.result.some(D=>D.pluginName===i[0].pluginName&&!D.disabled)?(ee.value=i[0].pluginName,Y.value=i[0].pluginName):ee.value=void 0,bt(i)}),Gt=W(()=>{var c,D,fe;const i=((c=je.value)==null?void 0:c.filter(ie=>ie.type.includes("motionDetection")))||[];return i.length&&Be((D=O==null?void 0:O.value)==null?void 0:D.extensions.motionDetection)?A.value=(fe=O==null?void 0:O.value)==null?void 0:fe.extensions.motionDetection:A.value=void 0,bt(i)}),ea=W(()=>{var c,D,fe;const i=((c=je.value)==null?void 0:c.filter(ie=>ie.type.includes("audioDetection")))||[];return i.length&&Be((D=O==null?void 0:O.value)==null?void 0:D.extensions.audioDetection)?H.value=(fe=O==null?void 0:O.value)==null?void 0:fe.extensions.audioDetection:H.value=void 0,bt(i)}),Wt=W(()=>{var c,D,fe;const i=((c=je.value)==null?void 0:c.filter(ie=>ie.type.includes("objectDetection")))||[];return i.length&&Be((D=O==null?void 0:O.value)==null?void 0:D.extensions.objectDetection)?T.value=(fe=O==null?void 0:O.value)==null?void 0:fe.extensions.objectDetection:T.value=void 0,bt(i)}),Ht=W(()=>{var c,D,fe;const i=((c=je.value)==null?void 0:c.filter(ie=>ie.type.includes("ptz")))||[];return i.length&&Be((D=O==null?void 0:O.value)==null?void 0:D.extensions.ptz)?$.value=(fe=O==null?void 0:O.value)==null?void 0:fe.extensions.ptz:$.value=void 0,bt(i)}),ta=W(()=>{var c,D,fe;const i=((c=je.value)==null?void 0:c.filter(ie=>ie.type.includes("prebuffer")))||[];return i.length&&Be((D=O==null?void 0:O.value)==null?void 0:D.extensions.prebuffer)?R.value=(fe=O==null?void 0:O.value)==null?void 0:fe.extensions.prebuffer:R.value=void 0,bt(i)});ke(ee,(i,c)=>{i&&i!==c&&St()}),ke(h,(i,c)=>{i===void 0&&(h.value=c)}),ke(M,i=>{if(I.value){I.value=!1,j("close");return}$t(()=>I.value=i)}),ke(O,i=>{i&&(k.value=jo(i))},{deep:!0,immediate:!0}),ke(A,(i,c)=>{i!==c&&(!i&&c?lt(c,!1,"motionDetection"):i&<(i,!0,"motionDetection"))}),ke(T,(i,c)=>{i!==c&&(!i&&c?lt(c,!1,"objectDetection"):i&<(i,!0,"objectDetection"))}),ke($,(i,c)=>{i!==c&&(!i&&c?lt(c,!1,"ptz"):i&<(i,!0,"ptz"))}),ke(H,(i,c)=>{i!==c&&(!i&&c?lt(c,!1,"audioDetection"):i&<(i,!0,"audioDetection"))}),ke(R,(i,c)=>{i!==c&&(!i&&c?lt(c,!1,"prebuffer"):i&<(i,!0,"prebuffer"))}),ke(J,i=>{i||(me.value=void 0,de.value=void 0)});const bt=i=>i.sort((c,D)=>!Be(c.pluginName)&&Be(D.pluginName)?1:Be(c.pluginName)&&!Be(D.pluginName)?-1:c.displayName.localeCompare(D.displayName)),aa=async(i,c)=>{await n.queryClient.refetchQueries({queryKey:["cameras","extensions",i,c]})},oa=i=>{var c;(c=k.value)==null||c.sources[i].urls.push("")},ba=(i,c)=>{var D;(D=k.value)==null||D.sources[i].urls.splice(c,1)},Dt=()=>{re({cameraname:S.value},{onSuccess:()=>{E.path.includes(S.value)&&N.push({path:"/cameras"}),Le.value=!1}})},na=()=>{k.value&&k.value.sources.push({_id:"",name:"",roles:[],urls:[]})},_a=i=>{k.value&&k.value.sources.splice(i,1)},ka=()=>{Je.value={name:"",regions:[]},Oe.value=!0},wa=()=>{Oe.value=!1,qe.value=void 0,We.value=!1,Je.value={name:"",regions:[]}},sa=async(i,c)=>{var D;if(c){const fe=await((D=q.value)==null?void 0:D.validate());if(!(fe!=null&&fe.valid))return}Oe.value=!1,c?We.value=!0:We.value=!1,qe.value=i},xa=async i=>{await ct({cameraname:S.value,zonename:i})},lt=async(i,c,D)=>{c?(!D||!O.value||O.value.extensions[D]!==i)&&(await Fe({cameraname:S.value,pluginname:i,type:D}),$t(()=>St())):(!D||!O.value||O.value.extensions[D]===i)&&(await ve({cameraname:S.value,pluginname:i,type:D}),$t(()=>St()))},Be=i=>{if(i&&Xe.value&&Xe.value.result.some(c=>c.pluginName===i&&!c.disabled))return i},St=(i,c)=>{var D,fe,ie,It,Pt,y;switch(n.toggleQueryActivator("getCameraExtensionConfigQuery",!1),h.value){case"hub":Y.value=Be((D=Kt.value[0])==null?void 0:D.pluginName)||"";break;case"motionDetection":Y.value=Be((fe=O==null?void 0:O.value)==null?void 0:fe.extensions.motionDetection)||"";break;case"audioDetection":Y.value=Be((ie=O==null?void 0:O.value)==null?void 0:ie.extensions.audioDetection)||"";break;case"objectDetection":Y.value=Be((It=O==null?void 0:O.value)==null?void 0:It.extensions.objectDetection)||"";break;case"ptz":Y.value=Be((Pt=O==null?void 0:O.value)==null?void 0:Pt.extensions.ptz)||"";break;case"prebuffer":Y.value=Be((y=O==null?void 0:O.value)==null?void 0:y.extensions.prebuffer)||"";break;default:Y.value="";break}Y.value&&Y.value!==""&&n.toggleQueryActivator("getCameraExtensionConfigQuery",!0)},la=async i=>{je.value&&(je.value.some(c=>c.pluginName===i.pluginName)?await G({cameraname:S.value,pluginname:i.pluginName}):await le({cameraname:S.value,pluginname:i.pluginName}))},ra=async(i,c)=>{g.value=!0,f({cameraname:S.value,pluginname:c,configPath:i.configPath},{onSettled:()=>{g.value=!1}})},Ca=(i,c)=>{g.value=!0,Ke({pluginName:c,actionId:i.actionId,payload:i.payload},{onSuccess:D=>{D!=null&&D.toast&&yt[D.toast.type](D.toast.message),D!=null&&D.schema&&Object.keys(D.schema).length&&(de.value=i.payload,me.value=D,J.value=!0)},onSettled:()=>{g.value=!1}})},$a=(i,c,D)=>{g.value=!0,ge({cameraname:i,pluginname:c,configData:D},{onSettled:()=>{g.value=!1}})},ia=async()=>{var D,fe;g.value=!0;const i=await((D=P.value)==null?void 0:D.validate()),c=await((fe=u.value)==null?void 0:fe.validate());if(i!=null&&i.valid&&(c!=null&&c.valid)){const ie={...i.values,...c.values};Qe({cameraname:S.value,cameraData:ie},{onSettled:()=>{g.value=!1}})}else g.value=!1};return to(async()=>{await Zt(),await ut(),await X(),St()}),ga(async()=>{var i,c,D,fe;w.value=await L.deviceManager.getCameraByName(S.value),(i=w.value)==null||i.onMotionDetected.subscribe(ie=>{ie.state||ie.detections.length?Ze.value=ie.timestamp:ie.lastEvent&&(ie.lastEvent.state||ie.lastEvent.detections.length)&&(Ze.value=ie.lastEvent.timestamp)}),(c=w.value)==null||c.onAudioDetected.subscribe(ie=>{ie.state?it.value=ie.timestamp:ie.lastEvent&&ie.lastEvent.state&&(it.value=ie.lastEvent.timestamp)}),(D=w.value)==null||D.onObjectDetected.subscribe(ie=>{ie.detections.length?nt.value=ie.timestamp:ie.lastEvent&&ie.lastEvent.detections.length&&(nt.value=ie.lastEvent.timestamp)}),await((fe=w.value)==null?void 0:fe.start())}),ao(()=>{var i;Te.value=!1,(i=w.value)==null||i.close()}),(i,c)=>{var ce;const D=Na,fe=za("v-number-input"),ie=ko,It=Tl,Pt=Ba,y=$l,F=$s;return l(),v(_e,null,[e(M)?(l(),z(It,{key:0,state:e(I),title:e(S),segments:["overview","sources","settings","plugins"],loading:e(we)||!e(k),onClose:c[28]||(c[28]=r=>j("close")),onSelected:c[29]||(c[29]=r=>De.value=r!=="plugins"&&r!=="overview")},{"segmentIcon.overview":t(()=>[o(U,{size:"20"},{default:t(()=>[x(d(e(on)),1)]),_:1})]),"body.overview":t(()=>[o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),o(D,{target:"snapshot","current-camera":e(S),"border-radius":0,style:{"border-bottom":"1px solid var(--border)"}},null,8,["current-camera"]),o(On,{class:"table-fixed w-full p-2",style:{background:"none !important"}},{default:t(()=>{var r,B,V,ne,Ae,at;return[p("tbody",ql,[p("tr",null,[p("td",null,d(i.$t("components.camera_options.name")),1),p("td",Al,d(e(S)),1)]),p("tr",null,[p("td",null,d(i.$t("components.camera_options.plugin")),1),p("td",Ol,[e(Qt)?(l(),v("span",Ql,[o(Vt,{color:"#df2a4c",size:"20",indeterminate:""})])):Q("",!0),p("span",null,d(((r=e(O))==null?void 0:r.pluginId)!=="native"?((V=(B=e(Xe))==null?void 0:B.result.find(zt=>{var Mt;return zt.id===((Mt=e(O))==null?void 0:Mt.pluginId)}))==null?void 0:V.pluginName)||i.$t("components.camera_options.unknown"):i.$t("components.camera_options.native")),1)])]),(ne=e(O))!=null&&ne.extensions.motionDetection?(l(),v("tr",Nl,[p("td",null,d(i.$t("components.camera_options.last_motion")),1),p("td",Dl,d(e(Ze)?e(Sa)(e(Ze),"DD.MM.YYYY, HH:mm:ss"):"-"),1)])):Q("",!0),(Ae=e(O))!=null&&Ae.extensions.objectDetection?(l(),v("tr",Ll,[p("td",null,d(i.$t("components.camera_options.last_object")),1),p("td",Rl,d(e(nt)?e(Sa)(e(nt),"DD.MM.YYYY, HH:mm:ss"):"-"),1)])):Q("",!0),(at=e(O))!=null&&at.extensions.audioDetection?(l(),v("tr",jl,[p("td",null,d(i.$t("components.camera_options.last_audio")),1),p("td",Ul,d(e(it)?e(Sa)(e(it),"DD.MM.YYYY, HH:mm:ss"):"-"),1)])):Q("",!0)])]}),_:1})]),"segmentIcon.settings":t(()=>[o(U,{size:"20"},{default:t(()=>[x(d(e(Ia)),1)]),_:1})]),"body.settings":t(()=>[o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),o(e(da),{ref_key:"cameraVeeForm1",ref:P,class:"flex flex-col h-full w-full p-2","validation-schema":e(Ha)},{default:t(()=>[o(Ct,null,{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px"},class:"truncate"},{default:t(()=>[x(d(i.$t("components.camera_options.general")),1)]),_:1}),o(xt,{eager:""},{default:t(()=>[p("div",Zl,[o(e(Ie),{modelValue:e(k).disabled,"onUpdate:modelValue":c[0]||(c[0]=r=>e(k).disabled=r),name:"disabled",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:t(({field:r,errorMessage:B,errors:V})=>[o(io,ze({loading:e(we),name:"disabled"},r,{color:"#df2a4c",type:"checkbox",error:V.length>0,"error-messages":B,"hide-details":"","model-value":r.checked,style:{"max-width":"fit-content"}}),null,16,["loading","error","error-messages","model-value"]),p("label",Kl,d(i.$t("components.form.label.disabled")),1)]),_:1},8,["modelValue"])]),p("div",Wl,[o(e(Ie),{modelValue:e(k).name,"onUpdate:modelValue":c[1]||(c[1]=r=>e(k).name=r),name:"name"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",Hl,d(i.$t("components.form.label.name")),1),o(rt,ze({loading:e(we),variant:"outlined",name:"name",type:"text",density:"compact"},r,{error:V.length>0,"error-messages":B}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),o(ae,{width:"100%",color:"red",variant:"flat",class:"mt-3",loading:e(we)||e(Ge),onClick:c[2]||(c[2]=K(r=>Le.value=!0,["prevent"]))},{default:t(()=>[x(d(i.$t("components.form.button.remove")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),o(Ct,null,{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px"},class:"truncate"},{default:t(()=>[x(d(i.$t("components.camera_options.information")),1)]),_:1}),o(xt,{eager:""},{default:t(()=>[p("div",Yl,[o(e(Ie),{modelValue:e(k).info.manufacturer,"onUpdate:modelValue":c[3]||(c[3]=r=>e(k).info.manufacturer=r),name:"info.manufacturer"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",Jl,d(i.$t("components.form.label.camera_manufacturer")),1),o(rt,ze({loading:e(we),variant:"outlined",name:"info.manufacturer",type:"text",density:"compact"},r,{error:V.length>0,"error-messages":B}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),p("div",Xl,[o(e(Ie),{modelValue:e(k).info.model,"onUpdate:modelValue":c[4]||(c[4]=r=>e(k).info.model=r),name:"info.model"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",Gl,d(i.$t("components.form.label.camera_model")),1),o(rt,ze({loading:e(we),variant:"outlined",name:"info.model",type:"text",density:"compact"},r,{error:V.length>0,"error-messages":B}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),p("div",er,[o(e(Ie),{modelValue:e(k).info.hardware,"onUpdate:modelValue":c[5]||(c[5]=r=>e(k).info.hardware=r),name:"info.hardware"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",tr,d(i.$t("components.form.label.camera_hardware")),1),o(rt,ze({loading:e(we),variant:"outlined",name:"info.hardware",type:"text",density:"compact"},r,{error:V.length>0,"error-messages":B}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),p("div",ar,[o(e(Ie),{modelValue:e(k).info.serialNumber,"onUpdate:modelValue":c[6]||(c[6]=r=>e(k).info.serialNumber=r),name:"info.serialNumber"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",or,d(i.$t("components.form.label.camera_serialNumber")),1),o(rt,ze({loading:e(we),variant:"outlined",name:"info.serialNumber",type:"text",density:"compact"},r,{error:V.length>0,"error-messages":B}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),p("div",nr,[o(e(Ie),{modelValue:e(k).info.firmwareVersion,"onUpdate:modelValue":c[7]||(c[7]=r=>e(k).info.firmwareVersion=r),name:"info.firmwareVersion"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",sr,d(i.$t("components.form.label.camera_firmwareVersion")),1),o(rt,ze({loading:e(we),variant:"outlined",name:"info.firmwareVersion",type:"text",density:"compact"},r,{error:V.length>0,"error-messages":B}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),p("div",lr,[o(e(Ie),{modelValue:e(k).info.supportUrl,"onUpdate:modelValue":c[8]||(c[8]=r=>e(k).info.supportUrl=r),name:"info.supportUrl"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",rr,d(i.$t("components.form.label.camera_supportUrl")),1),o(rt,ze({loading:e(we),variant:"outlined",name:"info.supportUrl",type:"text",density:"compact"},r,{error:V.length>0,"error-messages":B}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1}),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),o(Ct,null,{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px"},class:"truncate"},{default:t(()=>[x(d(i.$t("components.camera_options.interface")),1)]),_:1}),o(xt,{eager:""},{default:t(()=>[o(e(Ie),{modelValue:e(k).interface.streamingMode,"onUpdate:modelValue":c[9]||(c[9]=r=>e(k).interface.streamingMode=r),name:"interface.streamingMode"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",ir,d(i.$t("components.form.label.streaming_mode")),1),o(Ot,ze({loading:e(we),items:e(Ce),variant:"outlined",name:"interface.streamingMode",type:"text",density:"compact",chips:""},r,{error:V.length>0,"error-messages":B,"model-value":r.value,onKeydown:K(()=>null,["prevent"])}),{chip:t(({item:ne})=>[o(tt,{color:"#df2a4c"},{default:t(()=>[x(d(ne.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),o(Ct,null,{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px"},class:"truncate"},{default:t(()=>[x(d(i.$t("components.camera_options.activity_detection")),1)]),_:1}),o(xt,{eager:""},{default:t(()=>[p("span",ur,d(i.$t("components.camera_options.motion_detection_settings")),1),p("div",cr,[p("div",dr,[o(e(Ie),{modelValue:e(k).activitySettings.motion.timeout,"onUpdate:modelValue":c[10]||(c[10]=r=>e(k).activitySettings.motion.timeout=r),name:"activitySettings.motion.timeout"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",mr,d(i.$t("components.form.label.motion_duration")),1),o(fe,ze({"model-value":r.value,loading:e(we),variant:"outlined",name:"activitySettings.motion.timeout",type:"number",density:"compact"},r,{error:V.length>0,"error-messages":B}),null,16,["model-value","loading","error","error-messages"])]),_:1},8,["modelValue"])])]),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-5"}),p("span",pr,d(i.$t("components.camera_options.object_detection_settings")),1),p("div",vr,[p("div",fr,[o(e(Ie),{modelValue:e(k).activitySettings.object.confidence,"onUpdate:modelValue":c[11]||(c[11]=r=>e(k).activitySettings.object.confidence=r),name:"activitySettings.object.confidence"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",gr,d(i.$t("components.form.label.confidence")),1),o(fe,ze({"model-value":r.value,loading:e(we),variant:"outlined",name:"activitySettings.object.confidence",type:"number",density:"compact"},r,{step:.01,error:V.length>0,"error-messages":B}),null,16,["model-value","loading","error","error-messages"])]),_:1},8,["modelValue"])])])]),_:1})]),_:1})]),_:1}),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),o(Ct,null,{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px"},class:"truncate"},{default:t(()=>[x(d(i.$t("components.camera_options.activity_zones")),1)]),_:1}),o(xt,{eager:""},{default:t(()=>{var r,B,V;return[p("div",yr,[(B=(r=e(O))==null?void 0:r.activityZones)!=null&&B.length?(l(!0),v(_e,{key:1},Ve((V=e(O))==null?void 0:V.activityZones,(ne,Ae)=>(l(),v("div",{key:Ae,class:"w-full flex flex-row items-center"},[o(rt,{class:"my-1","model-value":ne.name,variant:"outlined",density:"compact",type:"text","hide-details":"",readonly:""},{"append-inner":t(()=>[o(ae,{class:"mr-2",size:"24",rounded:"",density:"compact",variant:"flat",color:"green",loading:e(Nt),onClick:K(at=>sa(ne,!1),["prevent"])},{default:t(()=>[o(U,{size:"16"},{default:t(()=>[x(d(e(lo)),1)]),_:1})]),_:2},1032,["loading","onClick"]),o(ae,{size:"24",rounded:"",density:"compact",variant:"flat",color:"red",loading:e(Nt),onClick:K(at=>xa(ne.name),["prevent"])},{default:t(()=>[o(U,{size:"16"},{default:t(()=>[x(d(e(At)),1)]),_:1})]),_:2},1032,["loading","onClick"])]),_:2},1032,["model-value"])]))),128)):(l(),v("span",hr,d(i.$t("components.camera_options.no_zones")),1))]),o(ae,{class:"mt-3",block:"",color:"#df2a4c",loading:e(Nt),variant:"flat",onClick:c[12]||(c[12]=K(ne=>ka(),["prevent"]))},{default:t(()=>[x(d(i.$t("components.form.button.new_zone")),1)]),_:1},8,["loading"])]}),_:1})]),_:1})]),_:1}),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),o(Ct,null,{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px"},class:"truncate"},{default:t(()=>[x(d(i.$t("components.camera_options.frame_worker_settings")),1)]),_:1}),o(xt,{eager:""},{default:t(()=>[p("div",br,[o(e(Ie),{modelValue:e(k).frameWorkerSettings.decoder,"onUpdate:modelValue":c[13]||(c[13]=r=>e(k).frameWorkerSettings.decoder=r),name:"frameWorkerSettings.decoder"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",_r,d(i.$t("components.form.label.decoder")),1),o(Ot,ze({loading:e(we),items:e(Ee),variant:"outlined",name:"frameWorkerSettings.decoder",type:"text",density:"compact",chips:""},r,{error:V.length>0,"error-messages":B,"model-value":r.value,onKeydown:K(()=>null,["prevent"])}),{chip:t(({item:ne})=>[o(tt,{color:"#df2a4c"},{default:t(()=>[x(d(ne.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),p("div",kr,[o(e(Ie),{modelValue:e(k).frameWorkerSettings.resolution,"onUpdate:modelValue":c[14]||(c[14]=r=>e(k).frameWorkerSettings.resolution=r),name:"frameWorkerSettings.resolution"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",wr,d(i.$t("components.form.label.resolution")),1),o(Ot,ze({loading:e(we),items:e(Pe),variant:"outlined",name:"frameWorkerSettings.resolution",type:"number",density:"compact",chips:""},r,{error:V.length>0,"error-messages":B,"model-value":r.value,onKeydown:K(()=>null,["prevent"])}),{chip:t(({item:ne})=>[o(tt,{color:"#df2a4c"},{default:t(()=>[x(d(ne.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),p("div",xr,[o(e(Ie),{modelValue:e(k).frameWorkerSettings.fps,"onUpdate:modelValue":c[15]||(c[15]=r=>e(k).frameWorkerSettings.fps=r),name:"frameWorkerSettings.fps"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",Cr,d(i.$t("components.form.label.fps")),1),o(fe,ze({"model-value":r.value,loading:e(we),variant:"outlined",name:"frameWorkerSettings.fps",type:"number",density:"compact"},r,{min:5,max:10,step:1,error:V.length>0,"error-messages":B}),null,16,["model-value","loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1})]),_:1},8,["validation-schema"])]),"segmentIcon.sources":t(()=>[o(U,{size:"20"},{default:t(()=>[x(d(e(Ma)),1)]),_:1})]),"body.sources":t(()=>[o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),o(e(da),{ref_key:"cameraVeeForm2",ref:u,class:"flex flex-col h-full w-full p-2","validation-schema":e(Ha)},{default:t(()=>[(l(!0),v(_e,null,Ve(e(k).sources,(r,B)=>(l(),v("div",{key:B},[o(Ct,null,{default:t(()=>[o(kt,{elevation:"0"},{default:t(()=>[o(wt,{style:{height:"48px"},class:"truncate"},{actions:t(({expanded:V})=>{var ne;return[p("div",$r,[o(ae,{loading:e(we),disabled:((ne=e(k))==null?void 0:ne.sources)!==void 0&&e(k).sources.length<2,size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:K(Ae=>_a(B),["stop"])},{default:t(()=>[o(U,null,{default:t(()=>[x(d(e(At)),1)]),_:1})]),_:2},1032,["loading","disabled","onClick"]),V?(l(),z(U,{key:0,size:"22.5"},{default:t(()=>[x(d(e(oo)),1)]),_:1})):(l(),z(U,{key:1,size:"22.5"},{default:t(()=>[x(d(e(no)),1)]),_:1}))])]}),default:t(()=>[x(d(i.$t("components.camera_options.source")+": "+r.name.replace(/ /g,"_").toLowerCase())+" ",1)]),_:2},1024),o(xt,{eager:""},{default:t(()=>[p("div",Vr,[o(e(Ie),{modelValue:r.name,"onUpdate:modelValue":V=>r.name=V,name:`sources[${B}].name`},{default:t(({field:V,errorMessage:ne,errors:Ae})=>[p("label",{for:`sources[${B}].name`,class:"v-label"},d(i.$t("components.form.label.source_name")),9,Sr),o(rt,ze({loading:e(we),variant:"outlined",name:`sources[${B}].name`,type:"text",density:"compact",ref_for:!0},V,{error:Ae.length>0,"error-messages":ne}),null,16,["loading","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"])]),p("div",Pr,[o(e(Ie),{modelValue:r.roles,"onUpdate:modelValue":V=>r.roles=V,name:`sources[${B}].roles`},{default:t(({field:V,errorMessage:ne,errors:Ae})=>[p("label",{for:`sources[${B}].roles`,class:"v-label"},d(i.$t("components.form.label.source_role")),9,zr),o(Ot,ze({loading:e(we),items:e(Re).filter(at=>!e(k).sources.some((zt,Mt)=>zt.roles.includes(at)&&Mt!==B)),variant:"outlined",name:`sources[${B}].roles`,type:"text",density:"compact",chips:"",multiple:"",ref_for:!0},V,{"model-value":V.value,error:Ae.length>0,"error-messages":ne,onKeydown:K(()=>null,["prevent"])}),{chip:t(({item:at})=>[o(tt,{color:"#df2a4c"},{default:t(()=>[x(d(at.title),1)]),_:2},1024)]),_:2},1040,["loading","items","name","model-value","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"])]),p("div",Mr,[p("label",{for:`sources[${B}].urls[]`,class:"v-label"},d(i.$t("components.form.label.sources")),9,Er),(l(!0),v(_e,null,Ve(r.urls,(V,ne)=>(l(),v("div",{key:ne},[o(e(Ie),{modelValue:r.urls[ne],"onUpdate:modelValue":Ae=>r.urls[ne]=Ae,name:`sources[${B}].urls[${ne}]`,value:V},{default:t(({field:Ae,errorMessage:at,errors:zt})=>[o(rt,ze({loading:e(we),variant:"outlined",name:`sources[${B}].urls[${ne}]`,type:"text",density:"compact",ref_for:!0},Ae,{error:zt.length>0,"error-messages":at}),{"append-inner":t(()=>[r.urls.length>1?(l(),z(ae,{key:0,loading:e(we),size:"28",variant:"text",rounded:"",density:"compact",color:"red",disabled:r.urls.length<2,onClick:K(Mt=>ba(B,ne),["prevent"])},{default:t(()=>[o(U,{size:"20"},{default:t(()=>[x(d(e(nn)),1)]),_:1})]),_:2},1032,["loading","disabled","onClick"])):Q("",!0)]),_:2},1040,["loading","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name","value"])]))),128)),o(ae,{loading:e(we),color:"#df2a4c",variant:"flat",class:"ml-auto",onClick:K(V=>oa(B),["prevent"])},{default:t(()=>[x(d(i.$t("components.form.button.add_source")),1)]),_:2},1032,["loading","onClick"])])]),_:2},1024)]),_:2},1024)]),_:2},1024),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})]))),128)),p("div",Fr,[o(ae,{loading:e(we),variant:"text",color:"#df2a4c",icon:"",onClick:K(na,["prevent"])},{default:t(()=>[o(U,{size:"30"},{default:t(()=>[x(d(e(so)),1)]),_:1})]),_:1},8,["loading"])])]),_:1},8,["validation-schema"])]),"segmentIcon.plugins":t(()=>[o(U,{size:"20"},{default:t(()=>[x(d(e(sn)),1)]),_:1})]),"body.plugins":t(()=>[o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),p("div",Br,[p("label",Ir,d(i.$t("components.camera_options.categories")),1),o(Et,{modelValue:e(h),"onUpdate:modelValue":[c[16]||(c[16]=r=>Se(h)?h.value=r:null),c[17]||(c[17]=r=>St("@update:model-value chip group select"))],"selected-class":"primary-color",disabled:e(Ue),mandatory:"",column:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(te),r=>(l(),z(tt,{key:r,size:"small",disabled:e(Ge),value:r},{default:t(()=>[x(d(i.$t(`components.camera_options.chip_${r}`)),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])]),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),e(h)==="hub"?(l(),v("div",Tr,[p("label",qr,d(i.$t("components.camera_options.chip_plugins")),1),e(Kt).length?(l(),z(Et,{key:0,modelValue:e(ee),"onUpdate:modelValue":c[18]||(c[18]=r=>Se(ee)?ee.value=r:null),"selected-class":"primary-color",disabled:e(Ue),mandatory:"",column:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(Kt),r=>(l(),z(tt,{key:r.pluginName,disabled:!Be(r.pluginName)||e(Ge),size:"small",value:r.pluginName},{default:t(()=>[x(d(r.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(l(),v("div",Ar,[p("span",Or,d(i.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(h)==="motionDetection"?(l(),v("div",Qr,[p("label",Nr,d(i.$t("components.camera_options.enabled_extension")),1),e(Gt).length?(l(),z(Et,{key:0,modelValue:e(A),"onUpdate:modelValue":c[19]||(c[19]=r=>Se(A)?A.value=r:null),"selected-class":"primary-color",disabled:e(Ue),filter:"",column:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(Gt),r=>(l(),z(tt,{key:r.pluginName,disabled:!Be(r.pluginName)||e(Ge),size:"small",value:r.pluginName},{default:t(()=>[x(d(r.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(l(),v("div",Dr,[p("span",Lr,d(i.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(h)==="objectDetection"?(l(),v("div",Rr,[p("label",jr,d(i.$t("components.camera_options.enabled_extension")),1),e(Wt).length?(l(),z(Et,{key:0,modelValue:e(T),"onUpdate:modelValue":c[20]||(c[20]=r=>Se(T)?T.value=r:null),"selected-class":"primary-color",disabled:e(Ue),filter:"",column:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(Wt),r=>(l(),z(tt,{key:r.pluginName,disabled:!Be(r.pluginName)||e(Ge),size:"small",value:r.pluginName},{default:t(()=>[x(d(r.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(l(),v("div",Ur,[p("span",Zr,d(i.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(h)==="audioDetection"?(l(),v("div",Kr,[p("label",Wr,d(i.$t("components.camera_options.enabled_extension")),1),e(ea).length?(l(),z(Et,{key:0,modelValue:e(H),"onUpdate:modelValue":c[21]||(c[21]=r=>Se(H)?H.value=r:null),"selected-class":"primary-color",disabled:e(Ue),filter:"",column:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(ea),r=>(l(),z(tt,{key:r.pluginName,disabled:!Be(r.pluginName)||e(Ge),size:"small",value:r.pluginName},{default:t(()=>[x(d(r.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(l(),v("div",Hr,[p("span",Yr,d(i.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(h)==="prebuffer"?(l(),v("div",Jr,[p("label",Xr,d(i.$t("components.camera_options.enabled_extension")),1),e(ta).length?(l(),z(Et,{key:0,modelValue:e(R),"onUpdate:modelValue":c[22]||(c[22]=r=>Se(R)?R.value=r:null),"selected-class":"primary-color",disabled:e(Ue),filter:"",column:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(ta),r=>(l(),z(tt,{key:r.pluginName,disabled:!Be(r.pluginName)||e(Ge),size:"small",value:r.pluginName},{default:t(()=>[x(d(r.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(l(),v("div",Gr,[p("span",ei,d(i.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(h)==="ptz"?(l(),v("div",ti,[p("label",ai,d(i.$t("components.camera_options.enabled_extension")),1),e(Ht).length?(l(),z(Et,{key:0,modelValue:e($),"onUpdate:modelValue":c[23]||(c[23]=r=>Se($)?$.value=r:null),"selected-class":"primary-color",disabled:e(Ue),filter:"",column:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(Ht),r=>(l(),z(tt,{key:r.pluginName,disabled:!Be(r.pluginName)||e(Ge),size:"small",value:r.pluginName},{default:t(()=>[x(d(r.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(l(),v("div",oi,[p("span",ni,d(i.$t("components.camera_options.no_plugins_enabled")),1)]))])):Q("",!0),o(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),e(Ue)?(l(),z(Qn,{key:6,height:"2",color:"#df2a4c",indeterminate:"",style:{"margin-top":"-2px"}})):Q("",!0),p("div",si,[o(qa,{modelValue:e(h),"onUpdate:modelValue":c[27]||(c[27]=r=>Se(h)?h.value=r:null),disabled:e(Ue),mandatory:"",eager:""},{default:t(()=>[(l(!0),v(_e,null,Ve(e(te),r=>(l(),z(Aa,{key:r,value:r,transition:"instant","reverse-transition":"instant"},{default:t(()=>{var B,V;return[r==="more"?(l(),v("div",li,[p("div",null,[p("label",ri,d(i.$t("components.camera_options.manage_plugins")),1),(l(!0),v(_e,null,Ve((B=e(dt))==null?void 0:B.result,(ne,Ae)=>{var at,zt;return l(),v("div",{key:ne.pluginName},[o(Nn,{"select-strategy":"classic",class:"py-0",disabled:e(Ue),"onUpdate:selected":()=>la(ne)},{default:t(()=>{var Mt;return[o(uo,{value:ne.pluginName,class:"px-2",active:(Mt=e(je))==null?void 0:Mt.some(ua=>ua.pluginName===ne.pluginName)},{prepend:t(()=>[o(Dn,{start:""},{default:t(()=>{var ua;return[o(co,{"model-value":(ua=e(je))==null?void 0:ua.some(Vo=>Vo.pluginName===ne.pluginName),color:"#df2a4c"},null,8,["model-value"])]}),_:2},1024)]),append:t(()=>[o(ae,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:K(()=>i.$router.push(`/plugins/${ne.pluginName}`),["stop"])},{default:t(()=>[o(U,{size:"18"},{default:t(()=>[x(d(e(ln)),1)]),_:1})]),_:2},1032,["onClick"])]),default:t(()=>[x(d(ne.displayName)+" ",1)]),_:2},1032,["value","active"])]}),_:2},1032,["disabled","onUpdate:selected"]),(at=e(dt))!=null&&at.result&&Ae!==((zt=e(dt))==null?void 0:zt.result.length)-1?(l(),z(Ye,{key:0,style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})):Q("",!0)])}),128))])])):(l(),v("div",ii,[p("label",ui,d(i.$t("components.camera_options.plugin_settings")),1),e(ue)?(l(),v("div",ci,[o(Vt,{color:"#df2a4c",indeterminate:""})])):!e(Y)||!((V=e(se))!=null&&V.rootSchema)?(l(),v("div",di,[p("span",mi,d(i.$t("components.camera_options.no_config")),1)])):e(se)?(l(),z(ie,{key:r,config:e(se).config||{},"ui-schema":e(se).rootSchema,loading:e(Ge),onOnFormSubmit:c[24]||(c[24]=ne=>$a(e(S),e(Y),ne)),onOnSubmit:ne=>Ca(ne,r),onOnAction:c[25]||(c[25]=ne=>ra(ne,e(Y))),onChangeGroup:c[26]||(c[26]=()=>aa(e(S),e(Y)))},null,8,["config","ui-schema","loading","onOnSubmit"])):Q("",!0)]))]}),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","disabled"])])]),footer:t(()=>[e(De)?(l(),v("div",pi,[o(ae,{width:"100%",color:"green",variant:"flat",loading:e(we)||e(Ge),onClick:K(ia,["prevent"])},{default:t(()=>[x(d(i.$t("components.form.button.save")),1)]),_:1},8,["loading"])])):Q("",!0)]),_:1},8,["state","title","loading"])):Q("",!0),o(Pt,{modelValue:e(Le),"onUpdate:modelValue":c[30]||(c[30]=r=>Se(Le)?Le.value=r:null),title:i.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.remove",loading:e(we)||e(Ge),onConfirm:c[31]||(c[31]=r=>Dt())},{content:t(()=>[p("span",null,d(i.$t("components.dialog.message.confirm_remove")),1)]),_:1},8,["modelValue","title","loading"]),o(Pt,{modelValue:e(Oe),"onUpdate:modelValue":c[33]||(c[33]=r=>Se(Oe)?Oe.value=r:null),title:i.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.open_editor",loading:e(we)||e(Ge),onConfirm:c[34]||(c[34]=r=>sa(e(Je),!0))},{content:t(()=>[o(e(da),{ref_key:"cameraVeeForm3",ref:q,"validation-schema":e(xo),"initial-values":e(Je)},{default:t(()=>[o(e(Ie),{modelValue:e(Je).name,"onUpdate:modelValue":c[32]||(c[32]=r=>e(Je).name=r),name:"name",type:"text"},{default:t(({field:r,errorMessage:B,errors:V})=>[p("label",vi,d(i.$t("components.form.label.zone_name")),1),o(rt,ze({class:"my-1",variant:"outlined",density:"compact",type:"text",name:"name"},r,{error:V.length>0,"error-messages":B}),null,16,["error","error-messages"])]),_:1},8,["modelValue"])]),_:1},8,["validation-schema","initial-values"])]),_:1},8,["modelValue","title","loading"]),e(qe)?(l(),z(y,{key:1,"camera-name":e(S),zones:e(qe),"is-new-zone":e(We),onShowModal:c[35]||(c[35]=r=>r?null:wa())},null,8,["camera-name","zones","is-new-zone"])):Q("",!0),(ce=e(me))!=null&&ce.schema?(l(),z(F,{key:2,modelValue:e(J),"onUpdate:modelValue":c[36]||(c[36]=r=>Se(J)?J.value=r:null),"ui-schema":{schema:e(me).schema},"plugin-config":e(de)||{},"plugin-name":e(Y)},null,8,["modelValue","ui-schema","plugin-config","plugin-name"])):Q("",!0)],64)}}}),gi=Bt(fi,[["__scopeId","data-v-280c3f35"]]),yi={class:"w-full h-full flex items-center justify-center bg-black aspect-video"},$o=pt({__name:"VCameraSnapshot",props:{cameraName:{},src:{},loading:{type:Boolean}},setup(a,{expose:s}){const n=new Xt,C=a,{cameraName:E,loading:N,src:L}=vt(C);L.value&&n.toggleQueryActivator("getCameraSnapshotQuery",!1);const{data:_,isLoading:j}=n.getCameraSnapshotQuery(E),S=W(()=>N.value||j.value),M=W(()=>L.value?L.value:_.value?`data:image/jpeg;base64,${_.value}`:"");return s({download:()=>{if(M.value){const k=`${E.value.replace(/ /g,"_").toLowerCase()}_${new Date().toISOString()}.png`,P=document.createElement("a");P.setAttribute("download",k),P.href=M.value,document.body.appendChild(P),P.click(),P.remove()}}}),(k,P)=>{const u=Ja;return l(),v("div",yi,[e(S)?(l(),z(Vt,{key:0,color:"#df2a4c",indeterminate:""})):(l(),z(u,{key:1,src:e(M),width:"100%",height:"100%","aspect-ratio":"16/9",cover:""},null,8,["src"]))])}}}),hi=["data-ignore-id"],bi={class:"snapshot-hover-container flex items-center justify-center elevation-3"},_i={key:0,style:{width:"100%","aspect-ratio":"16/9"}},ki={class:"shortcut-menu p-3 elevation-5"},wi=pt({__name:"VCameraShortcuts",props:{currentCamera:{},clickInsideId:{},addingShortcuts:{type:Boolean}},setup(a){var je;const s=new Xt,n=new qo,C=To(),E=vo(),N=a,{clickInsideId:L,currentCamera:_,addingShortcuts:j}=vt(N),{loginState:S}=ro(C),M=b(null),w=b(null),k=b({}),P=b({}),u=b({}),q=b(!1),te=b(),g=b({page:1,pageSize:-1}),J=b(!1),me=b([]),de=b({}),pe=Yt(w),{data:I,isLoading:h}=s.getCameraQuery(_),{data:ee,isLoading:A}=s.getCamerasQuery(g),{data:H,isLoading:T}=n.getUserQuery(((je=S.value.user)==null?void 0:je.username)||""),{mutate:$,isPending:R}=n.patchShortcutQuery(),{mutateAsync:Y,isPending:qe}=n.createShortcutQuery(),{mutateAsync:De,isPending:Le}=n.removeShortcutQuery(),Oe=W(()=>h.value||T.value||R.value||A.value||qe.value||Le.value),Re=W(()=>{var Z;return(Z=ee.value)!=null&&Z.result?ee.value.result.filter(X=>X.name!==_.value):[]});ke([H,I],()=>{var Z;H.value&&I.value&&(me.value=((Z=H.value.preferences.cameras[I.value._id])==null?void 0:Z.shortcuts)||[])},{immediate:!0,deep:!0}),ke([pe.width,pe.height],()=>{J.value=!0,$t(()=>{it()})}),ke(me,()=>{$t(()=>{nt()})},{deep:!0,immediate:!0}),ke(J,Z=>{Z&&(te.value=void 0)});const Ce=(Z,X)=>{de.value[Z]=q.value?!1:X,Object.entries(de.value).forEach(([se,ue])=>{se!==Z&&ue&&(de.value[se]=!1)})},Pe=Z=>{q.value||O(Z)},Ee=(Z,X)=>{Z||(de.value[X._id]?(Ce(X._id,!1),ut(X.cameraId)):Ce(X._id,!0))},Te=()=>{Object.entries(P.value).forEach(([Z,X])=>{const se=w.value;if(!se)return;const ue=se.getBoundingClientRect(),re=X.element.getBoundingClientRect(),$e=(re.left-ue.left)/ue.width*100,Qe=(re.top-ue.top)/ue.height*100;u.value[Z]={x:Math.max(0,Math.min($e,100)),y:Math.max(0,Math.min(Qe,100))}})},Ze=()=>{Object.entries(P.value).forEach(([Z,X])=>{const se=u.value[Z];if(!se)return;const ue=w.value;if(!ue)return;const re=ue.getBoundingClientRect(),$e=X.element.getBoundingClientRect(),Qe=re.width-$e.width,He=re.height-$e.height,ge=Math.max(0,Math.min(se.x/100*re.width,Qe)),m=Math.max(0,Math.min(se.y/100*re.height,He));X.setPosition(ge,m)}),J.value=!1},it=()=>{Object.entries(u.value).forEach(([Z,X])=>{u.value[Z]={x:Math.max(0,Math.min(X.x,100)),y:Math.max(0,Math.min(X.y,100))}}),Ze()},nt=()=>{for(const[Z,X]of Object.entries(P.value))me.value.find(se=>se._id===Z)||(X.destroy(),delete P.value[Z],delete u.value[Z]);for(const[Z]of Object.entries(u.value))me.value.find(X=>X._id===Z)||delete u.value[Z];for(const[Z,X]of Object.entries(k.value)){const se=me.value.find(ue=>ue._id===Z);if(X&&se&&w.value){P.value[se._id]&&P.value[se._id].destroy();const ue=new po(X,{containment:w.value});P.value[se._id]=ue;const[re,$e]=se.coords.points,Qe=w.value.getBoundingClientRect(),He=re/100*Qe.width,ge=$e/100*Qe.height;ue.setPosition(He,ge),u.value[se._id]={x:re,y:$e},ue.on("dragMove",()=>{q.value=!0}),ue.on("dragEnd",()=>{if(setTimeout(()=>{q.value=!1},50),Te(),!H.value||!I.value)return;const m=u.value[se._id];$({username:H.value.username,cameraname:I.value.name,shortcutid:se._id,shortcutData:{coords:{_id:se.coords._id,points:[m.x,m.y]}}})})}}Ze()},We=Z=>{if(!j.value||!w.value)return;const X=w.value.getBoundingClientRect(),se=35,ue=35;te.value={x:Math.max(0,Math.min(Z.clientX-X.left-se/2,X.width-se)),y:Math.max(0,Math.min(Z.clientY-X.top-ue/2,X.height-ue))}},Je=async Z=>{if(!M.value||!H.value||!I.value||!w.value)return;const X=w.value,se=M.value,ue=X.getBoundingClientRect(),re=se.getBoundingClientRect(),$e=re.left-ue.left,Qe=re.top-ue.top,He=$e/ue.width*100,ge=Qe/ue.height*100;await Y({username:H.value.username,cameraname:I.value.name,shortcutData:{_id:"",coords:{_id:"",points:[He,ge]},cameraId:Z._id}},{onSuccess:m=>{me.value=m}}),te.value=void 0},O=async Z=>{!H.value||!I.value||await De({username:H.value.username,cameraname:I.value.name,shortcutid:Z._id},{onSuccess:X=>{me.value=X}})},ft=(Z,X)=>{k.value[X]=Z},ut=async Z=>{if(q.value)return;const X=new AbortController,ue=(await wo({cameraname:Z,signal:X.signal})).name;ue&&E.push(`/cameras/${ue}`)};return Uo(()=>{k.value={}}),ga(()=>{$t(()=>{nt()})}),Zo(()=>{Object.values(P.value).forEach(Z=>Z.destroy())}),(Z,X)=>{const se=Na,ue=$o;return l(),v("div",{ref_key:"shortcutContainer",ref:w,class:"shortcut-container relative",style:qt({cursor:e(j)?"pointer":"default"}),onClick:K(We,["self"])},[(l(!0),v(_e,null,Ve(e(me),re=>gt((l(),v("div",{ref_for:!0,ref:$e=>ft($e,re._id),key:re._id,class:"draggable absolute","data-ignore-id":e(L),style:qt({background:e(de)[re._id]?"#545454":void 0})},[o(ae,{color:"#383838",size:"32",density:"compact",icon:"",variant:"elevated",active:e(de)[re._id]},{default:t(()=>[o(U,{size:"30",style:{"margin-top":"3px"}},{default:t(()=>[x(d("$cuiCamera"))]),_:1})]),_:2},1032,["active"]),o(Za,{"model-value":e(q)?!1:e(de)[re._id]||void 0,target:"parent",offset:[10,20]},{default:t(()=>{var $e;return[p("div",bi,[($e=e(ee))!=null&&$e.result.find(Qe=>Qe._id===re.cameraId)?(l(),z(se,{key:1,"current-camera":e(ee).result.find(Qe=>Qe._id===re.cameraId).name,"border-radius":0,target:"stream","source-role":"low-resolution","show-mode":!1,"show-live-indicator":""},null,8,["current-camera"])):(l(),v("div",_i,[o(Vt,{color:"#df2a4c",indeterminate:""})]))])]}),_:2},1032,["model-value"])],12,hi)),[[e(Fn),$e=>Ce(re._id,$e)],[e(Bn),[()=>Pe(re),{distanceThreshold:24,delay:1e3,onMouseUp:($e,Qe,He)=>Ee(He,re)}]]])),128)),e(te)?(l(),v("div",{key:0,ref_key:"placeholderEl",ref:M,class:"draggable absolute",style:qt(`left: ${e(te).x}px; top: ${e(te).y}px;`)},[o(ae,{color:"#383838",size:"32",density:"compact",icon:"",variant:"elevated"},{default:t(()=>[o(U,{size:"30",style:{"margin-top":"3px"}},{default:t(()=>[x(d("$cuiCamera"))]),_:1})]),_:1})],4)):Q("",!0),e(j)&&!e(q)&&!e(J)?(l(),z(Za,{key:1,offset:[30,0],activator:"parent",target:"cursor","onUpdate:modelValue":X[0]||(X[0]=re=>re?null:te.value=void 0)},{default:t(()=>[p("div",ki,[(l(!0),v(_e,null,Ve(e(Re),re=>(l(),z(ue,{key:re._id,class:"shortcut-menu-item elevation-1","camera-name":re.name,width:"100%",loading:e(Oe),onClick:K($e=>Je(re),["prevent"])},null,8,["camera-name","loading","onClick"]))),128))])]),_:1})):Q("",!0)],4)}}}),xi=Bt(wi,[["__scopeId","data-v-216a3cdc"]]),Ci={class:"stream-control flex flex-row items-center justify-center elevation-2"},$i=pt({__name:"VPlayerController",props:{showVolume:{type:Boolean,default:!0},showRewind:{type:Boolean,default:!1},showFastForward:{type:Boolean,default:!1},showPlayPause:{type:Boolean,default:!0},showMicrophone:{type:Boolean,default:!1},showAirplay:{type:Boolean,default:!1},showPip:{type:Boolean,default:!1},showFs:{type:Boolean,default:!1},playing:{type:Boolean},muted:{type:Boolean},micActive:{type:Boolean},isFs:{type:Boolean},isPip:{type:Boolean},loading:{type:Boolean},collapsedControls:{default(){return[]}}},emits:["toggle-mute","toggle-play","toggle-microphone","toggle-airplay","toggle-picture-in-picture","toggle-fullscreen","toggle-rewind","toggle-fast-forward","toggle-playback-rate"],setup(a,{emit:s}){const n=s,C=a,{showAirplay:E,showFastForward:N,showMicrophone:L,showPip:_,showPlayPause:j,showRewind:S,showVolume:M,playing:w,micActive:k,muted:P,loading:u,showFs:q,isFs:te,isPip:g,collapsedControls:J}=vt(C),me=W(()=>J.value.includes("airplay")),de=W(()=>J.value.includes("fast-forward")),pe=W(()=>J.value.includes("microphone")),I=W(()=>J.value.includes("pip")),h=W(()=>J.value.includes("play-pause")),ee=W(()=>J.value.includes("rewind")),A=W(()=>J.value.includes("volume")),H=W(()=>J.value.includes("fs"));return(T,$)=>(l(),v("div",Ci,[e(ee)?Q("",!0):(l(),z(ae,{key:0,disabled:!e(S)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:$[0]||($[0]=K(R=>n("toggle-rewind"),["prevent"]))},{default:t(()=>[o(U,{color:"#fff",size:"18"},{default:t(()=>[x(d(e(rn)),1)]),_:1})]),_:1},8,["disabled"])),e(h)?Q("",!0):(l(),z(ae,{key:1,disabled:!e(j)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:$[1]||($[1]=K(R=>n("toggle-play"),["prevent"]))},{default:t(()=>[e(h)?Q("",!0):(l(),z(U,{key:0,color:"#fff",size:"18"},{default:t(()=>[x(d(e(w)?e(un):e(cn)),1)]),_:1}))]),_:1},8,["disabled"])),e(de)?Q("",!0):(l(),z(ae,{key:2,disabled:!e(N)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:$[2]||($[2]=K(R=>n("toggle-fast-forward"),["prevent"]))},{default:t(()=>[o(U,{color:"#fff",size:"18"},{default:t(()=>[x(d(e(dn)),1)]),_:1})]),_:1},8,["disabled"])),e(A)?Q("",!0):(l(),z(ae,{key:3,disabled:!e(M)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:$[3]||($[3]=K(R=>n("toggle-mute"),["prevent"]))},{default:t(()=>[o(U,{color:"#fff",size:"18"},{default:t(()=>[x(d(e(P)?e(mn):e(pn)),1)]),_:1})]),_:1},8,["disabled"])),e(pe)?Q("",!0):(l(),z(ae,{key:4,disabled:!e(L)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:$[4]||($[4]=K(R=>n("toggle-microphone"),["prevent"]))},{default:t(()=>[o(U,{color:"#fff",size:"18"},{default:t(()=>[x(d(e(k)?e(vn):e(fn)),1)]),_:1})]),_:1},8,["disabled"])),e(me)?Q("",!0):(l(),z(ae,{key:5,disabled:!e(E)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:$[5]||($[5]=K(R=>n("toggle-airplay"),["prevent"]))},{default:t(()=>[o(U,{color:"#fff",size:"18"},{default:t(()=>[x(d(e(gn)),1)]),_:1})]),_:1},8,["disabled"])),e(I)?Q("",!0):(l(),z(ae,{key:6,disabled:!e(_)||e(u)||e(te),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:$[6]||($[6]=K(R=>n("toggle-picture-in-picture"),["prevent"]))},{default:t(()=>[o(U,{color:"#fff",size:"18"},{default:t(()=>[x(d(e(g)?e(yn):e(hn)),1)]),_:1})]),_:1},8,["disabled"])),e(H)?Q("",!0):(l(),z(ae,{key:7,disabled:!e(q)||e(u)||e(g),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:$[7]||($[7]=K(R=>n("toggle-fullscreen"),["prevent"]))},{default:t(()=>[o(U,{color:"#fff",size:"18"},{default:t(()=>[x(d(e(te)?e(bn):e(_n)),1)]),_:1})]),_:1},8,["disabled"]))]))}}),Vi=Bt($i,[["__scopeId","data-v-b5e30f72"]]),Si=pt({__name:"VBBoxPlayground",props:{color:{default:"#df2a4c"},detections:{default(){return[]}}},setup(a,{expose:s}){const n=a,{color:C,detections:E}=vt(n),N=b(null),L=Yt(N),_=S=>{if(!N.value)return;const w=N.value.getContext("2d");if(w&&(j(),S.length)){const k=S[0].origWidth,P=S[0].origHeight;N.value.width=L.width.value,N.value.height=L.height.value;const u=N.value.width/k,q=N.value.height/P;S.forEach(te=>{const{origHeight:g,origWidth:J,inputWidth:me,inputHeight:de}=te,[pe,I,h,ee]=te.boundingBox,A=Math.round(pe*J/me),H=Math.round(I*g/de),T=Math.round(h*J/me),$=Math.round(ee*g/de),R=A*u,Y=H*q,qe=T*u,De=$*q;w.strokeStyle=C.value,w.lineWidth=2,w.beginPath(),w.moveTo(R+5,Y),w.lineTo(qe-5,Y),w.quadraticCurveTo(qe,Y,qe,Y+5),w.lineTo(qe,De-5),w.quadraticCurveTo(qe,De,qe-5,De),w.lineTo(R+5,De),w.quadraticCurveTo(R,De,R,De-5),w.lineTo(R,Y+5),w.quadraticCurveTo(R,Y,R+5,Y),w.closePath(),w.stroke();const Le=`${te.label} (${(te.confidence*100).toFixed(2)}%)`,Oe=w.measureText(Le).width+27,Re=20;let Ce=R,Pe=Y-Re-5;Pe<0&&(Pe=Y+5);const Ee=10,Te=5;w.beginPath(),w.moveTo(Ce+Te,Pe),w.lineTo(Ce+Oe+Ee*2-Te,Pe),w.quadraticCurveTo(Ce+Oe+Ee*2,Pe,Ce+Oe+Ee*2,Pe+Te),w.lineTo(Ce+Oe+Ee*2,Pe+Re-Te),w.quadraticCurveTo(Ce+Oe+Ee*2,Pe+Re,Ce+Oe+Ee*2-Te,Pe+Re),w.lineTo(Ce+Te,Pe+Re),w.quadraticCurveTo(Ce,Pe+Re,Ce,Pe+Re-Te),w.lineTo(Ce,Pe+Te),w.quadraticCurveTo(Ce,Pe,Ce+Te,Pe),w.closePath(),w.fillStyle="rgba(255, 255, 255, 0.7)",w.fill(),w.fillStyle="black",w.font="bold 13px sans-serif",w.textAlign="left",w.textBaseline="bottom",w.fillText(Le,Ce+Ee,Pe+Re-3)})}},j=()=>{if(!N.value)return;const S=N.value.getContext("2d");S&&S.clearRect(0,0,L.width.value,L.height.value)};return ke(E,S=>{$t(()=>{_(S)})},{deep:!0,immediate:!0}),s({draw:_,clear:j}),(S,M)=>(l(),v("canvas",{ref_key:"bboxCanvas",ref:N,class:"canvas-container"},null,512))}}),Ya=Bt(Si,[["__scopeId","data-v-bb909d51"]]);function Pi(){const a=W(()=>typeof window>"u"?!1:[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(P=>navigator.userAgent.match(P))),s=W(()=>typeof window>"u"?!1:[/Android/i].some(P=>navigator.userAgent.match(P))),n=W(()=>typeof window>"u"?!1:[/iPhone/i].some(P=>navigator.userAgent.match(P))),C=W(()=>typeof window>"u"?!1:[/iPad/i].some(P=>navigator.userAgent.match(P))),E=W(()=>C.value||n.value),N=W(()=>{var P;if(typeof window>"u")return[0,0];const k=/OS [\d_]+/i;return n.value?((P=navigator.userAgent.match(k))==null?void 0:P[0].substr(3).split("_").map(u=>parseInt(u)))||[0,0]:[0,0]}),L=W(()=>typeof window>"u"?!1:[/Safari/i].some(P=>navigator.userAgent.match(P))),_=W(()=>{if(typeof window>"u")return null;const k=/Version\/(\d+).+Safari/;return navigator.userAgent.match(k)}),j=W(()=>typeof window>"u"?!1:[/Firefox/i].some(P=>navigator.userAgent.match(P))),S=W(()=>typeof window>"u"?!1:[/Chrome/i].some(P=>navigator.userAgent.match(P))),M=W(()=>{let k=!1;if("maxTouchPoints"in navigator)k=navigator.maxTouchPoints>0;else if("msMaxTouchPoints"in navigator)navigator!==null&&(k=navigator.msMaxTouchPoints>0);else{const P=matchMedia("(pointer:coarse)");if(P&&P.media==="(pointer:coarse)")k=!!P.matches;else if("orientation"in window)k=!0;else{const u=navigator.userAgent;k=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(u)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(u)}}return k}),w=W(()=>{const k=typeof document.body.requestFullscreen<"u"||typeof document.body.mozRequestFullScreen<"u"||typeof document.body.webkitRequestFullscreen<"u"||typeof document.body.msRequestFullscreen<"u"||typeof document.exitFullscreen<"u"||typeof document.mozCancelFullScreen<"u"||typeof document.webkitExitFullscreen<"u",[P,u]=N.value,q=P&&P>=17&&u&&u>=2;return!!(k||!n.value||n.value&&q)});return{isMobile:a,isAndroid:s,isIphone:n,isIpad:C,isAppleMobile:E,iosVersion:N,isSafari:L,safariVersion:_,isFirefox:j,isChrome:S,isTouch:M,fsSupported:w}}const zi=["data-inside-id"],Mi={class:"relative player-container-main w-full",style:"background: var(--background-img);"},Ei={class:"relative w-full h-full flex items-center justify-center"},Fi={key:1,class:"relative w-full h-full"},Bi={key:0,class:"camera-name text-white"},Ii={class:"video-extras flex items-center justify-center"},Ti={key:0,class:"video-extras-bg text-white p-2"},qi={key:1,class:"mx-1"},Ai={key:1,class:"absolute w-full h-full flex flex-col items-center justify-center"},Oi={key:0,class:"mt-3 text-white text-sm"},Qi={key:4,width:"100%",height:"100%",class:"zones-container polygon-container"},Ni=["d"],Di=["muted"],Li={key:2,class:"relative w-full h-full"},Ri=["data-ignore-id"],ji={class:"flex items-center justify-between"},Ui={class:"leading-4 flex flex-col p-2"},Zi={key:0,class:"text-left"},Ki={key:0},Wi={class:"player-camera-subtitle ml-1"},Hi={key:1},Yi={class:"player-camera-subtitle ml-1"},Ji={class:"player-camera-settings-box flex items-center ml-auto"},Xi=["data-ignore-id"],Gi=5e3,eu=1e4,tu=pt({__name:"VPlayer",props:{currentCamera:{},target:{},mode:{},previewSrc:{},showCameraName:{type:Boolean,default:!1},showMode:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!1},showLiveIndicator:{type:Boolean,default:!1},absoluteTitle:{type:Boolean,default:!1},clickableTitle:{type:Boolean,default:!1},clickableContainer:{type:Boolean,default:!1},enableControl:{type:Boolean,default:!1},autoHideControl:{type:Boolean,default:!0},allowStreamRunningInBg:{type:Boolean,default:!1},showTooltips:{type:Boolean,default:!0},border:{type:Boolean,default:!1},borderRadius:{default:3},buttonElevation:{default:"0"},timelineScrolling:{type:Boolean,default:!1},zoomModel:{default:5},shortcuts:{type:Boolean,default:!1},settings:{type:Boolean,default:!1},share:{type:Boolean,default:!1},snapshot:{type:Boolean,default:!1},zoom:{type:Boolean,default:!1},motions:{type:Boolean,default:!1},objects:{type:Boolean,default:!1},zones:{type:Boolean,default:!1},sourceRole:{default:"high-resolution"}},emits:["settings","share","snapshot","resize","zoom-in","zoom-out","fullscreen"],setup(a,{expose:s,emit:n}){var It,Pt;const C=new Xt,{api:E}=Ga(),{mobileActive:N}=Xa(),{fsSupported:L,isIphone:_,isMobile:j}=Pi(),S=a,{absoluteTitle:M,allowStreamRunningInBg:w,autoHideControl:k,border:P,borderRadius:u,buttonElevation:q,clickableTitle:te,clickableContainer:g,currentCamera:J,enableControl:me,target:de,mode:pe,previewSrc:I,settings:h,share:ee,showTitle:A,snapshot:H,timelineScrolling:T,zoom:$,zoomModel:R,objects:Y,motions:qe,zones:De,sourceRole:Le,showCameraName:Oe,showMode:Re,showLiveIndicator:Ce,shortcuts:Pe,showTooltips:Ee}=vt(S),Te=n,Ze=b(Ao()),it=b(),nt=b(null),We=b(!1),Je=b(!1),O=b(null),ft=b(!1),ut=b(!1),je=b(null),Z=b(!1),X=b(!1),se=b(!0),ue=b(!0),re=b(!1),$e=b(),Qe=b(),He=b(),ge=b(),m=b(null),f=b([]),oe=b(),le=b(!1),ye=b(!1),G=b(!1),Me=b(!0),Fe=b(!1),xe=b(!1),ve=b(null),be=b("loading"),ct=b(),st=b(!1),Xe=b(!1);let Qt,Zt,dt,ht;C.toggleQueryActivator("getCameraQuery",de.value!=="preview");const Ke=C.getCameraQuery(J),ha=Yt(O),we=Yt(ve),{isFullscreen:Ue,toggle:Nt}=In(je);Lt(ve,"pause",()=>{Fe.value=!1}),Lt(ve,"play",()=>{Fe.value=!0}),Lt(ve,"loadeddata",()=>{xe.value=!0,le.value=!1}),Lt(ve,"enterpictureinpicture",()=>G.value=!0),Lt(ve,"leavepictureinpicture",()=>G.value=!1),me.value&&Ta(nt,y=>{const F=y.target,ce=F.closest(`[data-inside-id='${Ze.value}']`),r=F.closest(`[data-ignore-id='${Ze.value}']`),B=F.closest(".resizable-b");ce&&!r&&!B&&!We.value&&(k.value&&ra(),ut.value=!ut.value)}),((It=Ke==null?void 0:Ke.data.value)==null?void 0:It.interface.streamingMode)==="hls"&&((Pt=ve.value)!=null&&Pt.canPlayType("application/vnd.apple.mpegurl"))&&window.WebKitPlaybackTargetAvailabilityEvent&&Lt(ve,"webkitplaybacktargetavailabilitychanged",y=>{switch(y.availability){case"available":oe.value=!0;break;case"not-available":oe.value=void 0;break}});const Ge=W(()=>de.value==="stream"&&be.value!=="mjpeg"&&be.value!=="mp4"),Kt=W(()=>navigator.mediaDevices&&de.value==="stream"&&Xe.value),Gt=W(()=>{var y,F;return!!(be.value==="hls"&&((y=Ke==null?void 0:Ke.data.value)==null?void 0:y.interface.streamingMode)==="hls"&&((F=ve.value)!=null&&F.canPlayType("application/vnd.apple.mpegurl"))&&oe.value!==void 0)}),ea=W(()=>document.pictureInPictureEnabled&&!_.value&&de.value==="stream"&&be.value!=="mp4"&&be.value!=="mjpeg"),Wt=W(()=>de.value==="stream"&&be.value!=="mjpeg"&&be.value!=="mp4"),Ht=W(()=>!!(Ke!=null&&Ke.isLoading.value||!xe.value));if(ke(le,async y=>{y&&await i(!1,!1)}),ke(ha.height,(y,F)=>{Te("resize",y-F)},{deep:!0}),ke(ft,y=>{$t(()=>Je.value=y)}),ke(Ue,y=>{Te("fullscreen",y)}),!w.value&&de.value==="stream"&&!j.value){const y=Tn();ke(y,F=>{var ce;F==="hidden"?ye.value===!1&&(clearTimeout(Zt),Zt=setTimeout(()=>{ie()},eu)):(clearTimeout(Zt),ye.value&&((ce=m.value)==null||ce.reconnect()))})}const ta=async()=>{var ne;if(me.value&&k.value&&ut.value&&ra(),await(Ke==null?void 0:Ke.suspense()),ge.value=await E.deviceManager.getCameraByName(J.value),!ge.value)throw new Error("Camera not found!");let y;const F=ge.value.streamSource,ce=ge.value.snapshotSource,r=ge.value.highResolutionSource,B=ge.value.midResolutionSource,V=ge.value.lowResolutionSource;if(Le.value==="high-resolution"?r?y=r:(console.warn("High resolution source not found, using stream source instead"),y=F):Le.value==="mid-resolution"?B?y=B:(console.warn("Mid resolution source not found, using stream source instead"),y=F):Le.value==="low-resolution"?V?y=V:(console.warn("Low resolution source not found, using stream source instead"),y=F):Le.value==="snapshot"?ce?y=ce:(console.warn("Snapshot source not found, using stream source instead"),y=F):y=F,it.value=`${J.value.replace(/ /g,"_").toLowerCase()}_${y.name}`,se.value=!ge.value.hasMotionDetector,ue.value=!ge.value.hasObjectDetector,ge.value.onPropertyChange("hasMotionDetector").subscribe(({newData:Ae})=>{se.value=!Ae}),ge.value.onPropertyChange("hasObjectDetector").subscribe(({newData:Ae})=>{ue.value=!Ae}),!ve.value)throw new Error("Video player not found!");m.value=ge.value.createSession({mode:pe.value||((ne=Ke==null?void 0:Ke.data.value)==null?void 0:ne.interface.streamingMode)||"webrtc",sourceName:it.value,videoElement:ve.value,reconnectInterval:5e3}),m.value.addEventListener("error",bt),m.value.addEventListener("reconnect",aa),m.value.addEventListener("finishLoading",oa),m.value.connect()},bt=y=>{console.error(J.value,y),be.value="error",Xe.value=!1,xe.value=!1,le.value=!1},aa=()=>{be.value="reconnecting",Xe.value=!1,xe.value=!1,le.value=!0},oa=()=>{Xe.value=m.value.hasBackchannel,be.value=m.value.mode,xe.value=!0,le.value=!1},ba=()=>{var y,F;if(ve.value){const ce=document.createElement("canvas");ce.width=ve.value.videoWidth,ce.height=ve.value.videoHeight,(y=ce.getContext("2d"))==null||y.drawImage(ve.value,0,0,ce.width,ce.height);const r=ce.toDataURL("image/png"),B=`${J.value.replace(/ /g,"_").toLowerCase()}_${new Date().toISOString()}.png`,V=document.createElement("a");V.setAttribute("download",B),V.href=r,document.body.appendChild(V),V.click(),V.remove()}else(F=He.value)==null||F.download()},Dt=y=>{const F=St(y);F==null||F.clear()},na=(y,F)=>{const ce=St(y);ce==null||ce.draw(F)},_a=async()=>{var y;re.value||(re.value=!0,f.value=((y=ge.value)==null?void 0:y.activityZones)||[])},ka=()=>{re.value=!1,f.value=[]},wa=y=>{if(!y)return"";const F=y.map(r=>{const B=Math.round(r[0]/100*we.width.value),V=Math.round(r[1]/100*we.height.value);return`${B},${V}`});if(F.length===0)return"";let ce=`M ${F[0]}`;for(let r=1;r<F.length;r++)ce+=` L ${F[r]}`;return ce+=" Z",ce},sa=async()=>{var y,F;Z.value||(Dt("motion"),Z.value=!0,await((y=ge.value)==null?void 0:y.start()),dt=(F=ge.value)==null?void 0:F.onMotionDetected.subscribe(ce=>{na("motion",ce.detections)}))},xa=async()=>{var y,F;X.value||(Dt("object"),X.value=!0,await((y=ge.value)==null?void 0:y.start()),ht=(F=ge.value)==null?void 0:F.onObjectDetected.subscribe(ce=>{na("object",ce.detections)}))},lt=()=>{var y;Dt("motion"),Z.value=!1,X.value||(y=ge.value)==null||y.stop(),dt==null||dt.unsubscribe()},Be=()=>{var y;Dt("object"),X.value=!1,Z.value||(y=ge.value)==null||y.stop(),ht==null||ht.unsubscribe()},St=y=>y==="motion"?$e.value:Qe.value,la=async()=>{var y;if(ve.value)try{await ve.value.play()}catch(F){if(!((y=ve.value)!=null&&y.muted))return ve.value.muted=!0,la();console.warn(J.value,F)}},ra=()=>{clearTimeout(Qt),Qt=setTimeout(()=>{ut.value=!1},Gi)},Ca=()=>{var y;(y=ve.value)==null||y.webkitShowPlaybackTargetPicker()},$a=()=>{L.value?Nt():Ue.value=!Ue.value},ia=y=>{Me.value=y!==void 0?y:!Me.value},i=async(y,F=!1)=>{var ce,r;if((ce=m.value)!=null&&ce.micTransceiver)if(st.value=y!==void 0?y:!st.value,st.value)try{ct.value=await navigator.mediaDevices.getUserMedia({audio:!0});const B=ct.value.getAudioTracks()[0];Me.value=!F,m.value.micTransceiver.sender.replaceTrack(B)}catch(B){console.warn(J.value,B)}else(r=ct.value)==null||r.getTracks().forEach(B=>B.stop()),ct.value=void 0,m.value.micTransceiver.sender.replaceTrack(null)},c=()=>{var y;document.pictureInPictureElement?document.exitPictureInPicture():document.pictureInPictureEnabled&&((y=ve.value)==null||y.requestPictureInPicture())},D=()=>{ve.value&&(Fe.value?ve.value.pause():la())},fe=()=>{ye.value=!0,xe.value=!1,Me.value=!0},ie=()=>{var y;fe(),(y=m.value)==null||y.close()};return to(async()=>{try{de.value==="stream"&&await ta()}catch(y){console.error(y)}}),ao(()=>{var y,F,ce,r;ie(),(y=m.value)==null||y.removeEventListener("error",bt),(F=m.value)==null||F.removeEventListener("reconnect",aa),(ce=m.value)==null||ce.removeEventListener("finishLoading",oa),dt==null||dt.unsubscribe(),ht==null||ht.unsubscribe(),(r=ge.value)==null||r.close(),ge.value=void 0}),s({toggleMicrophone:i,toggleMute:ia}),(y,F)=>{const ce=Vi,r=xi,B=gi;return l(),v("div",{ref_key:"playerContainer",ref:O,"data-inside-id":e(Ze),class:"player-container w-full relative",style:qt(`border-radius: ${e(u)}px; border: ${e(P)?1:0}px solid var(--border);`)},[p("div",{ref_key:"fakeClick",ref:nt,class:"fake-click"},null,512),p("div",Mi,[p("div",{ref_key:"videoPlayerWrapper",ref:je,class:jt(["w-full h-full",{"fullscreen-video":!e(L)&&e(Ue)}])},[p("div",Ei,[p("div",{class:"video-container w-full aspect-video",style:qt(!e(L)&&e(Ue)?"width: unset":void 0)},[o(eo,{name:"fade",mode:"out-in"},{default:t(()=>[e(ut)&&e(me)?(l(),z(ce,{key:0,"data-ignore-id":e(Ze),loading:e(Ht),"show-rewind":"","show-fast-forward":"","show-volume":e(Ge),"show-play-pause":e(Wt),"show-microphone":e(Kt),"show-airplay":e(Gt)&&e(Wt),"show-pip":e(ea),"show-fs":e(L),"is-fs":e(Ue),"is-pip":e(G),muted:e(Me),playing:e(Fe),"mic-active":e(st),"collapsed-controls":["airplay"],onToggleMute:ia,onTogglePlay:D,onToggleMicrophone:F[0]||(F[0]=()=>i(void 0,!0)),onToggleAirplay:Ca,onTogglePictureInPicture:c,onToggleFullscreen:$a},null,8,["data-ignore-id","loading","show-volume","show-play-pause","show-microphone","show-airplay","show-pip","show-fs","is-fs","is-pip","muted","playing","mic-active"])):Q("",!0)]),_:1}),e(Pe)?(l(),z(r,{key:0,"current-camera":e(J),"adding-shortcuts":e(We),"click-inside-id":e(Ze)},null,8,["current-camera","adding-shortcuts","click-inside-id"])):Q("",!0),e(de)==="stream"?(l(),v("div",Fi,[e(Oe)?(l(),v("div",Bi,d(e(J)),1)):Q("",!0),p("div",Ii,[e(Re)&&!e(N)?(l(),v("div",Ti,d(e(be).toUpperCase()),1)):Q("",!0),e(Re)&&e(Ce)?(l(),v("div",qi)):Q("",!0),e(Ce)?(l(),v("div",{key:2,class:"live-indicator elevation-3",style:qt({background:e(xe)?"red":"gray"})},null,4)):Q("",!0)]),e(Ht)?(l(),v("div",Ai,[o(Vt,{color:"#df2a4c",indeterminate:""}),e(le)?(l(),v("span",Oi,d(y.$t("components.player.reconnecting"))+"...",1)):Q("",!0)])):Q("",!0),e(qe)&&!e(se)?(l(),z(Ya,{key:2,ref_key:"motionCanvas",ref:$e},null,512)):Q("",!0),e(Y)&&!e(ue)?(l(),z(Ya,{key:3,ref_key:"objectCanvas",ref:Qe,color:"green"},null,512)):Q("",!0),e(De)?(l(),v("svg",Qi,[(l(!0),v(_e,null,Ve(e(f),(V,ne)=>(l(),v("path",{key:ne,d:wa(V.points.map(Ae=>Ae)),class:jt({polygon:V.filter=="include"&&!V.isPrivacyMask,"polygon-exclude":V.filter=="exclude"&&!V.isPrivacyMask,"polygon-privacy":V.isPrivacyMask,dash:V.type==="intersect"&&!V.isPrivacyMask})},null,10,Ni))),128))])):Q("",!0),p("video",{id:"videoPlayer",ref_key:"videoPlayer",ref:ve,playsinline:"",autoplay:"",preload:"auto",muted:e(Me),class:"video-player"},null,8,Di)])):(l(),v("div",Li,[o($o,{ref_key:"cameraSnapshot",ref:He,"camera-name":e(J),src:e(I)},null,8,["camera-name","src"])]))],4)])],2)]),e(A)?(l(),v("div",{key:0,"data-ignore-id":e(Ze),class:jt(["p-2 px-3",{"player-header-absolute":e(M),"player-header-container":!e(M)}])},[p("div",ji,[o(ae,{class:jt({"player-title-text":!e(M),"cursor-pointer":e(te),"cursor-default":!e(te)}),style:{padding:"0"},ripple:e(M),color:e(M)?"#212121":void 0,height:"100%",variant:e(M)?"elevated":"text",elevation:e(q),rounded:"",to:e(te)?`/cameras/${e(J)}`:void 0},{default:t(()=>[p("div",Ui,[p("h3",{class:"player-camera-title",style:qt(`color: ${e(M)?"#ffffff":"color: var(--color);"}`)},d(e(J)),5),e(de)==="stream"?(l(),v("div",Zi,[e(T)?(l(),v("div",Ki,[o(Vt,{size:"10",width:"1",indeterminate:"",color:"#0173ff"},{default:t(()=>[o(U,{size:"20",color:"#0173ff",icon:e(ja)},null,8,["icon"])]),_:1}),p("span",Wi,d(y.$t("general.loading")),1)])):(l(),v("div",Hi,[o(Vt,{size:"10",width:"1","model-value":100,color:"red"},{default:t(()=>[o(U,{size:"20",color:"red",icon:e(ja)},null,8,["icon"])]),_:1}),p("span",Yi,d(y.$t("components.player.live")),1)]))])):Q("",!0)])]),_:1},8,["class","ripple","color","variant","elevation","to"]),p("div",Ji,[e($)?gt((l(),z(ae,{key:0,size:"28",density:"compact",disabled:e(R)==1,variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[1]||(F[1]=K(V=>Te("zoom-out"),["prevent"]))},{default:t(()=>[o(U,{size:"20",icon:e(kn)},null,8,["icon"])]),_:1},8,["disabled","variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:y.$t("components.player.zoom_out")}]]):Q("",!0),e($)?gt((l(),z(ae,{key:1,size:"28",density:"compact",disabled:e(R)==5,variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[2]||(F[2]=K(V=>Te("zoom-in"),["prevent"]))},{default:t(()=>[o(U,{size:"20",icon:e(wn)},null,8,["icon"])]),_:1},8,["disabled","variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:y.$t("components.player.zoom_in")}]]):Q("",!0),e(ee)?gt((l(),z(ae,{key:2,size:"28",density:"compact",variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[3]||(F[3]=K(V=>Te("share"),["prevent"]))},{default:t(()=>[o(U,{size:"20",icon:e(xn)},null,8,["icon"])]),_:1},8,["variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:y.$t("components.player.share_camera")}]]):Q("",!0),e(H)?gt((l(),z(ae,{key:3,size:"28",density:"compact",variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[4]||(F[4]=K(V=>ba(),["prevent"]))},{default:t(()=>[o(U,{size:"20",icon:e(Cn)},null,8,["icon"])]),_:1},8,["variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:y.$t("components.player.capture_snapshot")}]]):Q("",!0),e(qe)&&!e(se)?gt((l(),z(ae,{key:4,size:"28",density:"compact",variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[5]||(F[5]=K(V=>e(Z)?lt():sa(),["prevent"]))},{default:t(()=>[o(U,{size:"20",icon:e($n),disabled:!e(Z)},null,8,["icon","disabled"])]),_:1},8,["variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:e(Z)?y.$t("components.player.hide_motions"):y.$t("components.player.show_motions")}]]):Q("",!0),e(Y)&&!e(ue)?gt((l(),z(ae,{key:5,size:"28",density:"compact",variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[6]||(F[6]=K(V=>e(X)?Be():xa(),["prevent"]))},{default:t(()=>[o(U,{size:"20",icon:e(Vn),disabled:!e(X)},null,8,["icon","disabled"])]),_:1},8,["variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:e(X)?y.$t("components.player.hide_objects"):y.$t("components.player.show_objects")}]]):Q("",!0),e(De)?gt((l(),z(ae,{key:6,size:"28",density:"compact",variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[7]||(F[7]=K(V=>e(re)?ka():_a(),["prevent"]))},{default:t(()=>[o(U,{size:"20",icon:e(Sn),disabled:!e(re)},null,8,["icon","disabled"])]),_:1},8,["variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:e(re)?y.$t("components.player.hide_zones"):y.$t("components.player.show_zones")}]]):Q("",!0),e(Pe)?gt((l(),z(ae,{key:7,size:"28",density:"compact",variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[8]||(F[8]=K(V=>We.value=!e(We),["prevent"]))},{default:t(()=>[o(U,{size:"20"},{default:t(()=>[x(d(e(We)?e(Pn):e(zn)),1)]),_:1})]),_:1},8,["variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:e(We)?y.$t("components.player.save_shortcuts"):y.$t("components.player.add_shortcuts")}]]):Q("",!0),e(h)&&e(Oo)(void 0,"admin")?gt((l(),z(ae,{key:8,size:"28",density:"compact",variant:e(M)?"elevated":"text",icon:!e(M),rounded:!0,elevation:e(q),color:e(M)?"#212121":void 0,class:"ml-1",onClick:F[9]||(F[9]=K(V=>ft.value=!0,["prevent"]))},{default:t(()=>[o(U,{size:"20",icon:e(Ia)},null,8,["icon"])]),_:1},8,["variant","icon","elevation","color"])),[[_t,{disabled:!e(Ee),text:y.$t("components.player.settings")}]]):Q("",!0)])])],10,Ri)):Q("",!0),e(g)?(l(),v("div",{key:1,class:"absolute w-100 h-100 top-0 cursor-pointer",onClick:F[10]||(F[10]=K(V=>y.$router.push(`/cameras/${e(J)}`),["prevent"]))})):Q("",!0),e(ft)?(l(),v("div",{key:2,"data-ignore-id":e(Ze)},[o(B,{"camera-name":e(J),show:e(Je),onClose:F[11]||(F[11]=V=>ft.value=!1)},null,8,["camera-name","show"])],8,Xi)):Q("",!0)],12,zi)}}}),Na=Bt(tu,[["__scopeId","data-v-a0f36fae"]]);export{Xt as C,Na as _,ko as a,Ya as b,hu as c,gi as d,$s as e,Ka as g,Pi as u};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{_ as bt}from"./VConfigEditor.vue_vue_type_script_setup_true_lang-BWO69J8p.js";import{z as wt,a as xt,f as kt,t as Pt,P as b,e as Vt,w as Ct,d as $t}from"./main-D98w3n0I.js";import{F as Nt,t as Lt,r as c,c as F,w,a3 as St,x as zt,J as Qt,e as r,f as x,j as i,u as e,X as B,M as n,R as o,V as m,T as u,O as g,l as d,g as At,m as Y,i as V,q as k,ar as Tt,ai as It,aj as Bt}from"./@vue-CIFymae3.js";import{L as Ut,as as _e,ac as Rt,h as Dt,g as Ot,at as be,au as we,aa as jt,av as Ht,aw as Et,ax as Mt,T as Wt}from"./@mdi-DdmeckA1.js";import{b as Jt}from"./@vueform-B8BH3_sM.js";import{i as qt}from"./vue3-toastify-Cy6dUyKO.js";import{P as Gt}from"./plugins-YqHd7WK7.js";import{S as Kt}from"./system-D9DpU5c7.js";import{V as Xt}from"./VConsole-DF7NfqNS.js";import{s as Ft}from"./pinia-B_gX_pHL.js";import{k as Yt,b as Zt,d as el}from"./@vueuse-GPEsefjJ.js";import{e as y,V as ue,$ as tl,T as ll,X as xe,m as sl,l as ke,b as U,f as z,j as al,o as ol,I as nl,J as il,H as ul,y as rl}from"./vuetify-B_vGZaGi.js";const dl=R=>(It("data-v-fdc7c808"),R=R(),Bt(),R),cl={class:"flex space-x-4 w-full"},pl={key:0,class:"relative"},ml={class:"absolute right-0",style:{"z-index":"1",bottom:"5px"}},gl={class:"w-full",style:{"max-width":"calc(100% - 52px - 16px)"}},fl={class:"flex items-center w-full truncate",style:{height:"28px","max-height":"28px"}},vl={key:0,class:"mx-1"},yl={class:"ml-auto"},hl={key:0},_l={class:"truncate-box mt-2"},bl=["data-truncate-text"],wl={class:"flex space-x-1 items-center h-full w-full mt-auto",style:{height:"28px","max-height":"28px"}},xl={class:"flex items-center justify-center"},kl={style:{"font-size":"9pt"}},Pl=dl(()=>i("div",{class:"ml-auto"},null,-1)),Vl={style:{margin:"5px"}},Cl={class:"flex flex-row w-full justify-start items-center"},$l={class:"icon-wrapper"},Nl={class:"menu-item ml-2"},Ll={key:1,class:"my-1"},Sl={class:"flex flex-row w-full justify-start items-center"},zl={class:"icon-wrapper"},Ql={class:"menu-item ml-2"},Al={key:2,class:"my-1"},Tl={class:"flex flex-row w-full justify-start items-center"},Il={class:"icon-wrapper"},Bl={class:"menu-item ml-2"},Ul={key:3,class:"my-1"},Rl={class:"flex flex-row w-full justify-start items-center"},Dl={class:"icon-wrapper"},Ol={class:"menu-item ml-2"},jl={key:5,class:"my-1"},Hl={class:"flex flex-row w-full justify-start items-center"},El={class:"icon-wrapper"},Ml={class:"menu-item ml-2"},Wl={key:7,class:"my-1"},Jl={class:"flex flex-row w-full justify-start items-center"},ql={class:"icon-wrapper"},Gl={class:"menu-item ml-2",style:{color:"#ef4444 !important"}},Kl={class:"text-white"},Xl={class:"v-label"},Fl=Nt({__name:"VPluginCard",props:{plugin:{},showInstallButton:{type:Boolean,default:!1},showToggle:{type:Boolean,default:!1},showSettings:{type:Boolean,default:!1},showLogo:{type:Boolean,default:!1},showInstalledIcon:{type:Boolean,default:!1},showRestart:{type:Boolean,default:!1},showPluginStatus:{type:Boolean,default:!1},showLogs:{type:Boolean,default:!1},showConfigs:{type:Boolean,default:!1},borderRadius:{default:"8px"},background:{default:"var(--background-inner-component)"},width:{default:"100%"},height:{default:"100%"},minWidth:{},maxWidth:{},minHeight:{},maxHeight:{},truncate:{type:Boolean,default:!0}},emits:["isLoading"],setup(R,{emit:Pe}){const p=new Gt,J=new Kt,re=wt(),Ve=xt(),{smallMobileActive:q}=kt(),Ce=Pe,$e=R,{plugin:t,background:Ne,borderRadius:Le,height:$,minHeight:Se,maxHeight:ze,width:Qe,minWidth:Ae,maxWidth:Te,showToggle:de,showSettings:Ie,showInstallButton:Be,showLogo:Z,showInstalledIcon:Ue,showRestart:Re,showPluginStatus:ce,showLogs:De,showConfigs:Oe,truncate:pe}=Lt($e),{theme:je}=Ft(Ve),me=c(Pt()),D=c(""),ge=c(t.value.installedVersion||t.value.latestVersion),O=c(t.value.installedVersion||t.value.latestVersion),He=c(!1),N=c(),G=c(),fe=c(null),f=c({color:"rgba(var(--color-rgb), 0.3)",text:b.UNKNOWN}),K=c(!1),L=c(!t.value.disabled),ee=c(!1),Q=c(!1),S=c(!1),A=c(!1),T=c(!1),j=c(!1),te=c(!1),H=c(null),Ee=Yt(fe),Me=Zt(),ve=el({listenOrientation:!1});J.toggleQueryActivator("downloadLogQuery",!1),p.toggleQueryActivator("getPluginVersionsQuery",!1),p.toggleQueryActivator("getPluginConfigJsonQuery",!1),p.toggleQueryActivator("getPluginUpdateQuery",t.value.installPath!==void 0),p.toggleQueryActivator("getPluginLogoQuery",Z.value);const{mutateAsync:We,isPending:Je}=p.enablePluginQuery(),{mutateAsync:qe,isPending:Ge}=p.disablePluginQuery(),{mutateAsync:Ke,isPending:Xe}=p.startPluginQuery(),{mutateAsync:Fe,isPending:Ye}=p.stopPluginQuery(),{mutateAsync:Ze,isPending:et}=p.restartPluginQuery(),{mutateAsync:tt,isPending:lt}=p.installPluginQuery(),{mutateAsync:st,isPending:at}=p.uninstallPluginQuery(),{mutate:ot,isPending:nt}=p.patchPluginConfigQuery(),{data:X,isLoading:le}=p.getPluginVersionsQuery(t.value.pluginName),{data:E,isLoading:it}=p.getPluginUpdateQuery(t.value.pluginName),{data:se,isLoading:ut}=p.getPluginConfigJsonQuery(t.value.pluginName),{data:rt,isLoading:dt}=p.getPluginLogoQuery(t.value.pluginName),{data:ye,isLoading:ct,suspense:pt}=J.downloadLogQuery([`[${t.value.displayName}]`,t.value.pluginName]),mt=F(()=>({fontSize:14,showGutter:!q.value})),gt=F(()=>({fontSize:q.value?12:14})),C=F(()=>He.value||Je.value||Ge.value||et.value||at.value||lt.value||Xe.value||Ye.value||ut.value),ae=F(()=>f.value.text==="stopped"||f.value.text==="unknown");w(X,()=>{var s;(s=X.value)!=null&&s.versions.length&&(O.value=X.value.versions[0])}),w(t,()=>{ge.value=t.value.installedVersion||t.value.latestVersion,L.value=!t.value.disabled},{deep:!0}),w(se,()=>{se.value&&(D.value=JSON.stringify(se.value,null,2))},{deep:!0,immediate:!0}),w(C,s=>Ce("isLoading",s)),pe.value&&(w(Me.orientation,()=>{ne()},{deep:!0}),w([ve.height,ve.width],()=>{ne()},{deep:!0})),w(Q,s=>{p.toggleQueryActivator("getPluginConfigJsonQuery",s)}),w(T,s=>{p.toggleQueryActivator("getPluginVersionsQuery",s)}),w(S,s=>{oe(s),s||setTimeout(()=>{te.value=!1},300)}),w(q,()=>{ft()});const he=s=>{switch(s){case b.ERROR:f.value.color="#9d5752";break;case b.STARTING:f.value.color="orange",L.value=!0;break;case b.READY:f.value.color="yellow",L.value=!0;break;case b.STARTED:f.value.color="green",L.value=!0;break;case b.STOPPED:f.value.color="red";break;case b.DISABLED:f.value.color="transparent";break;case b.UNKNOWN:f.value.color="gray";break;default:f.value.color="gray";break}},oe=s=>{var l,_,I,P,M,a,v;s?(N.value=re.connectToNamespace("/logs"),(l=N.value)==null||l.socket.on(`stdout/${t.value.pluginName}`,h=>{var W;(W=H.value)==null||W.writeTerminal(h)}),(_=N.value)==null||_.socket.on("stdout",h=>{var W;(W=H.value)==null||W.writeTerminal(h)}),(I=N.value)==null||I.socket.on("disconnect",()=>{var h;(h=H.value)==null||h.writeTerminal(`
|
|
2
|
-
\rWebsocket failed to connect! Is the server running?
|
|
3
|
-
\r
|
|
4
|
-
\r`)}),(P=N.value)==null||P.socket.on("clear-log",()=>{var h;(h=H.value)==null||h.clearTerminal()}),ee.value||(M=N.value)==null||M.socket.emit("get-log",[`[${t.value.displayName}]`,t.value.pluginName])):(v=(a=N.value)==null?void 0:a.end)==null||v.call(a)},ft=()=>{S.value&&(oe(!1),oe(!0))},ne=()=>{const s=document.querySelector(`[data-truncate-text='${me.value}']`);let l=t.value.description||s.innerText;s.innerText=l||"";const _=$!=null&&$.value?parseInt($==null?void 0:$.value,10):Ee.height.value,I=2*20,a=_-I-28-28;for(;s.scrollHeight>a&&l.includes(" ");)l=l.substring(0,l.lastIndexOf(" ")),s.innerText=l+"..."},ie=async(s="latest")=>{ee.value=!0,T.value=!1,te.value=!0,t.value.installedVersion!==s&&(S.value=!0,await tt({pluginData:{pluginname:t.value.pluginName,pluginversion:s}}),ge.value=t.value.installedVersion||t.value.latestVersion,ee.value=!1)},vt=async()=>{j.value=!1,await st({pluginName:t.value.pluginName,removeStorage:K.value})},yt=async()=>{A.value=!1,await Ze({pluginName:t.value.pluginName})},ht=async()=>{let s;try{s=JSON.parse(D.value)}catch(l){console.error(l.message),qt.error(l.message);return}ot({pluginName:t.value.pluginName,configData:s},{onSuccess:()=>{Q.value=!1}})},_t=async()=>{try{if(J.toggleQueryActivator("downloadLogQuery",!0),await pt(),ye.value){const s=ye.value,l=window.URL.createObjectURL(new Blob([s])),_=document.createElement("a");_.href=l,_.setAttribute("download",`${t.value.pluginName}.log.txt`),document.body.appendChild(_),_.click(),_.remove()}}finally{J.toggleQueryActivator("downloadLogQuery",!1)}};return St(()=>{if(ce.value){if(G.value=re.getExistingNamespace("/plugins"),!G.value)throw new Error("Not connected to plugins!");G.value.request("get-plugin-status",t.value.pluginName).subscribe(s=>{f.value.text=s.status,he(s.status)}),G.value.socket.on(`plugin-status-${t.value.pluginName}`,s=>{console.log(s),f.value.text=s.status,he(s.status)})}}),zt(()=>{pe.value&&ne()}),(s,l)=>{const _=Vt,I=Qt("router-link"),P=Ct,M=bt;return r(),x("div",{ref_key:"pluginCard",ref:fe,class:"inner-component mt-0 flex flex-col w-full h-full p-5",style:B({width:e(Qe),height:e($),background:e(Ne),minHeight:e(Se),maxHeight:e(ze),minWidth:e(Ae),maxWidth:e(Te),borderRadius:e(Le)+" !important"})},[i("div",cl,[e(Z)?(r(),x("div",pl,[i("div",ml,[i("div",{class:"plugin-type flex items-center justify-center",style:B({background:e(t).isPython?"var(--background-inner-component)":"#f7df1c"})},[n(y,{size:15,style:B({marginTop:e(t).isPython?void 0:"-2px",marginRight:e(t).isPython?void 0:"1px"})},{default:o(()=>[m(u(e(t).isPython?"$cuiPy":"$cuiJs"),1)]),_:1},8,["style"])],4)]),n(tl,{size:"50",style:{border:"1px solid rgba(var(--color-rgb), 0.15)"}},{default:o(()=>[e(dt)?d("",!0):(r(),g(_,{key:0,src:`data:image/png;base64,${e(rt)}`,"error-height":70,"spinner-size":20,"spinner-width":3},null,8,["src"])),n(ue,{size:"20",width:"3",color:"#df2a4c",indeterminate:""})]),_:1})])):d("",!0),i("div",gl,[i("div",fl,[n(I,{to:e(t).installPath?`/plugins/${e(t).pluginName}`:"",class:"text-lg font-semibold truncate mr-1"},{default:o(()=>[m(u(e(t).displayName),1)]),_:1},8,["to"]),e(t).installPath&&e(it)?(r(),x("div",vl,[n(ue,{size:"12",width:"2",color:"#df2a4c",indeterminate:""})])):d("",!0),e(t).installPath&&e(Ue)?At((r(),g(y,{key:1,size:"15",color:"success",class:"mx-1"},{default:o(()=>[m(u(e(Ut)),1)]),_:1})),[[ll,s.$t("components.plugin_card.installed")]]):d("",!0),n(xe,{text:s.$t("components.plugin_card.update_available"),location:"top"},{activator:o(({props:a})=>{var v;return[(v=e(E))!=null&&v.updateAvailable?(r(),g(y,Y({key:0},a,{size:"17",color:"green",class:"mx-1"}),{default:o(()=>[m(u(e(_e)),1)]),_:2},1040)):d("",!0)]}),_:1},8,["text"]),i("div",yl,[e(C)&&e(de)?(r(),x("div",hl,[n(ue,{color:"#df2a4c",indeterminate:"",size:"15",width:"2"})])):e(de)?(r(),g(e(Jt),{key:1,modelValue:e(L),"onUpdate:modelValue":l[0]||(l[0]=a=>V(L)?L.value=a:null),class:"toggle-primary",onChange:l[1]||(l[1]=a=>a?e(We)({pluginName:e(t).pluginName}):e(qe)({pluginName:e(t).pluginName}))},null,8,["modelValue"])):d("",!0)])]),i("div",_l,[i("p",{class:"text-sm",style:{color:"var(--color-disabled)"},"data-truncate-text":e(me)},u(e(t).description||s.$t("components.plugin_card.no_description")),9,bl)])])]),i("div",wl,[i("div",xl,[e(Z)?d("",!0):(r(),x("div",{key:0,class:"plugin-type flex items-center justify-center mr-2",style:B({background:e(t).isPython?"var(--background-inner-component)":"#f7df1c"})},[n(y,{size:15,style:B({marginTop:e(t).isPython?void 0:"-2px",marginRight:e(t).isPython?void 0:"1px"})},{default:o(()=>[m(u(e(t).isPython?"$cuiPy":"$cuiJs"),1)]),_:1},8,["style"])],4)),n(sl,{class:"mr-1 flex items-center justify-center",size:"x-small",onClick:l[2]||(l[2]=k(a=>{var v;return s.$router.absUrl((v=e(t).links)==null?void 0:v.homepage)},["prevent"]))},{default:o(()=>[i("span",kl,"v"+u(e(t).installedVersion||e(t).latestVersion),1),n(y,{size:"12",class:"ml-1"},{default:o(()=>[m(u(e(Rt)),1)]),_:1})]),_:1})]),Pl,e(ce)&&e(f).text!==e(b).DISABLED&&e(f).text!==e(b).UNKNOWN?(r(),g(xe,{key:0,location:"top",text:s.$t(`components.plugin_card.status_${e(f).text}`)},{activator:o(({props:a})=>[n(ke,Y(a,{color:e(f).color,dot:"",inline:""}),null,16,["color"])]),_:1},8,["text"])):d("",!0),e(De)?(r(),g(U,{key:1,class:"disabled-text",size:"28",rounded:"",density:"compact",variant:"text",onClick:l[3]||(l[3]=k(a=>S.value=!0,["prevent"]))},{default:o(()=>[n(y,{size:"20"},{default:o(()=>[m(u(e(Dt)),1)]),_:1})]),_:1})):d("",!0),e(Oe)?(r(),g(U,{key:2,class:"disabled-text",size:"28",rounded:"",density:"compact",variant:"text",disabled:e(C),onClick:l[4]||(l[4]=k(a=>Q.value=!0,["prevent"]))},{default:o(()=>[n(y,{size:"20"},{default:o(()=>[m(u(e(Ot)),1)]),_:1})]),_:1},8,["disabled"])):d("",!0),e(Re)?(r(),g(U,{key:3,class:"disabled-text",size:"28",rounded:"",density:"compact",variant:"text",disabled:e(C),onClick:l[5]||(l[5]=k(a=>A.value=!0,["prevent"]))},{default:o(()=>[n(y,{size:"20"},{default:o(()=>[m(u(e(be)),1)]),_:1})]),_:1},8,["disabled"])):d("",!0),e(Ie)||e(t).installPath?(r(),g(ol,{key:4,offset:"2"},{activator:o(({props:a})=>{var v;return[(v=e(E))!=null&&v.updateAvailable?(r(),g(ke,{key:0,dot:"",color:"red","offset-x":"2","offset-y":"2"},{default:o(()=>[n(U,Y({class:"disabled-text"},a,{size:"28",rounded:"",density:"compact",variant:"text",disabled:e(C)}),{default:o(()=>[n(y,{size:"20"},{default:o(()=>[m(u(e(we)),1)]),_:1})]),_:2},1040,["disabled"])]),_:2},1024)):(r(),g(U,Y({key:1,class:"disabled-text"},a,{size:"28",rounded:"",density:"compact",variant:"text",disabled:e(C)}),{default:o(()=>[n(y,{size:"20"},{default:o(()=>[m(u(e(we)),1)]),_:1})]),_:2},1040,["disabled"]))]}),default:o(()=>[n(al,{width:"200",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:o(()=>{var a,v;return[i("div",Vl,[e(t).installPath&&((a=e(E))!=null&&a.updateAvailable)?(r(),g(z,{key:0,style:{"border-radius":"5px !important"},onClick:l[6]||(l[6]=k(h=>ie(e(E).latestVersion),["prevent"]))},{default:o(()=>[i("div",Cl,[i("div",$l,[n(y,{size:"20",class:"text-passive"},{default:o(()=>[m(u(e(_e)),1)]),_:1})]),i("span",Nl,u(s.$t("components.plugin_card.update")),1)])]),_:1})):d("",!0),e(t).installPath&&((v=e(E))!=null&&v.updateAvailable)?(r(),x("div",Ll)):d("",!0),n(z,{to:e(t).installPath?`/plugins/${e(t).pluginName}`:"",style:{"border-radius":"5px !important"}},{default:o(()=>[i("div",Sl,[i("div",zl,[n(y,{size:"20",class:"text-passive"},{default:o(()=>[m(u(e(jt)),1)]),_:1})]),i("span",Ql,u(s.$t("components.plugin_card.settings")),1)])]),_:1},8,["to"]),e(t).installPath?(r(),x("div",Al)):d("",!0),n(z,{disabled:e(t).private,style:{"border-radius":"5px !important"},onClick:l[7]||(l[7]=k(h=>T.value=!0,["prevent"]))},{default:o(()=>[i("div",Tl,[i("div",Il,[n(y,{size:"20",class:"text-passive"},{default:o(()=>[m(u(e(Ht)),1)]),_:1})]),i("span",Bl,u(s.$t("components.plugin_card.select_version")),1)])]),_:1},8,["disabled"]),e(t).installPath?(r(),x("div",Ul)):d("",!0),e(t).installPath?(r(),g(z,{key:4,disabled:e(t).disabled,style:{"border-radius":"5px !important"},onClick:l[8]||(l[8]=k(h=>e(ae)?e(Ke)({pluginName:e(t).pluginName}):e(Fe)({pluginName:e(t).pluginName}),["prevent"]))},{default:o(()=>[i("div",Rl,[i("div",Dl,[n(y,{size:"20",class:"text-passive"},{default:o(()=>[m(u(e(ae)?e(Et):e(Mt)),1)]),_:1})]),i("span",Ol,u(e(ae)?s.$t("components.plugin_card.start"):s.$t("components.plugin_card.stop")),1)])]),_:1},8,["disabled"])):d("",!0),e(t).installPath?(r(),x("div",jl)):d("",!0),e(t).installPath?(r(),g(z,{key:6,style:{"border-radius":"5px !important"},disabled:e(t).disabled,onClick:l[9]||(l[9]=k(h=>A.value=!0,["prevent"]))},{default:o(()=>[i("div",Hl,[i("div",El,[n(y,{size:"20",class:"text-passive"},{default:o(()=>[m(u(e(be)),1)]),_:1})]),i("span",Ml,u(s.$t("components.plugin_card.restart")),1)])]),_:1},8,["disabled"])):d("",!0),e(t).installPath?(r(),x("div",Wl)):d("",!0),e(t).installPath?(r(),g(z,{key:8,style:{color:"#ef4444 !important","border-radius":"5px !important"},onClick:l[10]||(l[10]=k(h=>j.value=!0,["prevent"]))},{default:o(()=>[i("div",Jl,[i("div",ql,[n(y,{size:"20",color:"red"},{default:o(()=>[m(u(e(Wt)),1)]),_:1})]),i("span",Gl,u(s.$t("components.plugin_card.uninstall")),1)])]),_:1})):d("",!0)])]}),_:1})]),_:1})):e(Be)?(r(),g(U,{key:5,class:"disabled-text",density:"compact",color:"#df2a4c",variant:"flat",disabled:e(C),onClick:l[11]||(l[11]=k(a=>ie(),["prevent"]))},{default:o(()=>[i("span",Kl,u(s.$t("components.form.button.install")),1)]),_:1},8,["disabled"])):d("",!0)]),n(P,{modelValue:e(A),"onUpdate:modelValue":l[12]||(l[12]=a=>V(A)?A.value=a:null),title:s.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.restart",onConfirm:l[13]||(l[13]=a=>yt())},{content:o(()=>[i("span",null,u(s.$t("components.dialog.message.confirm_restart_plugin")),1)]),_:1},8,["modelValue","title"]),n(P,{modelValue:e(j),"onUpdate:modelValue":l[15]||(l[15]=a=>V(j)?j.value=a:null),title:s.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.uninstall",onConfirm:l[16]||(l[16]=a=>vt())},{content:o(()=>[i("span",null,u(s.$t("components.dialog.message.confirm_uninstall_plugin")),1),n(z,{class:"px-0 mt-3"},{prepend:o(()=>[n(nl,{start:""},{default:o(()=>[n(il,{modelValue:e(K),"onUpdate:modelValue":l[14]||(l[14]=a=>V(K)?K.value=a:null),color:"#df2a4c"},null,8,["modelValue"])]),_:1})]),default:o(()=>[n(ul,null,{default:o(()=>[m(u(s.$t("components.form.label.remove_storage")),1)]),_:1})]),_:1})]),_:1},8,["modelValue","title"]),n(P,{modelValue:e(T),"onUpdate:modelValue":l[18]||(l[18]=a=>V(T)?T.value=a:null),title:s.$t("components.dialog.title.install_plugin"),"confirm-text":"components.form.button.install",loading:e(le),onConfirm:l[19]||(l[19]=a=>ie(e(O)))},{content:o(()=>{var a;return[i("label",Xl,u(s.$t("components.form.label.plugin_version")),1),n(rl,{modelValue:e(O),"onUpdate:modelValue":l[17]||(l[17]=v=>V(O)?O.value=v:null),"hide-details":"",solo:"",variant:"outlined",density:"compact",items:((a=e(X))==null?void 0:a.versions)||[],disabled:e(le),loading:e(le)},null,8,["modelValue","items","disabled","loading"])]}),_:1},8,["modelValue","title","loading"]),n(P,{modelValue:e(S),"onUpdate:modelValue":l[20]||(l[20]=a=>V(S)?S.value=a:null),title:s.$t("components.dialog.title.plugin_log"),"confirm-text":"components.form.button.download",loading:e(ct),"fullscreen-content":"","hide-confirm-button":e(te),onConfirm:l[21]||(l[21]=a=>_t())},{content:o(()=>[n(Xt,{ref_key:"consoleRef",ref:H,class:"text-editor",options:e(gt)},null,8,["options"])]),_:1},8,["modelValue","title","loading","hide-confirm-button"]),n(P,{modelValue:e(Q),"onUpdate:modelValue":l[23]||(l[23]=a=>V(Q)?Q.value=a:null),title:s.$t("components.dialog.title.plugin_config"),loading:e(nt),"fullscreen-content":"",onConfirm:l[24]||(l[24]=a=>ht())},{content:o(()=>[(r(),g(Tt,null,{default:o(()=>[n(M,{modelValue:e(D),"onUpdate:modelValue":l[22]||(l[22]=a=>V(D)?D.value=a:null),lang:"json",theme:e(je),options:e(mt),"read-only":e(C),class:"config-editor",style:B(e(q)?"height: 100%":"height: 400px")},null,8,["modelValue","theme","options","read-only","style"])]),_:1}))]),_:1},8,["modelValue","title","loading"])],4)}}}),ds=$t(Fl,[["__scopeId","data-v-fdc7c808"]]);export{ds as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.plugin-card[data-v-fdc7c808]{box-shadow:0 3px 1px -2px #0000000f,0 2px 2px #00000014,0 1px 5px #0000000d;border:1px solid rgba(var(--color-rgb),0)}.truncate-box[data-v-fdc7c808]{max-height:100px;overflow:hidden;position:relative}.toggle-primary[data-v-fdc7c808]{--toggle-bg-on: #df2a4c;--toggle-border-on: #df2a4c;--toggle-bg-on-disabled: #df2a4c;--toggle-border-on-disabled: #df2a4c;--toggle-bg-off: var(--toggle-off-color);--toggle-border-off: transparent;--toggle-bg-off-disabled: var(--toggle-off-color);--toggle-border-off-disabled: var(--toggle-off-color)}.toggle-container[data-v-fdc7c808]:focus{box-shadow:none!important}.config-editor[data-v-fdc7c808]{z-index:1;background:var(--background)!important}.plugin-type[data-v-fdc7c808]{width:20px;height:20px;border-radius:50%;border:2px solid var(--background-inner-component);overflow:hidden}
|