@camera.ui/server 0.0.83 → 0.0.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/interface/assets/Automation-CeUmche-.js +2 -0
  2. package/dist/interface/assets/Camera-7MHb-HMp.css +1 -0
  3. package/dist/interface/assets/Camera-DVyDlXYE.js +2 -0
  4. package/dist/interface/assets/{Camview-Dd7DwMHG.css → Camview-C0yJPOLo.css} +1 -1
  5. package/dist/interface/assets/Camview-ErGT6Il5.js +1 -0
  6. package/dist/interface/assets/{Menu-CVU0BFZE.js → Menu-D6KxnZ5o.js} +1 -1
  7. package/dist/interface/assets/{Recordings-ByHv1maW.js → Recordings-BFPNpPsM.js} +1 -1
  8. package/dist/interface/assets/{Settings-IT_TVoxj.js → Settings-CUf88ykd.js} +1 -1
  9. package/dist/interface/assets/SettingsNotifications-DkAzIgVC.js +2 -0
  10. package/dist/interface/assets/deviceId-CARl4LJm.js +1 -0
  11. package/dist/interface/assets/{main-DT6Chdxu.js → main-DAmKc904.js} +1 -1
  12. package/dist/interface/assets/router-BiR9abhL.js +2 -0
  13. package/dist/interface/assets/view-grid-BUBP-PlR.css +1 -0
  14. package/dist/interface/assets/view-grid-De5r5F-b.js +1 -0
  15. package/dist/interface/index.html +5 -4
  16. package/dist/interface/sw.js +1 -1
  17. package/dist/server/package.json +1 -1
  18. package/dist/server/src/manager/terminalManager.js +2 -1
  19. package/dist/server/src/manager/terminalManager.js.map +1 -1
  20. package/dist/server/src/utils/pythonInstaller.js +0 -1
  21. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  22. package/package.json +1 -1
  23. package/dist/interface/assets/Automation-DLYOhurK.js +0 -2
  24. package/dist/interface/assets/Camera-BhCDJE7I.css +0 -1
  25. package/dist/interface/assets/Camera-DxIoNlej.js +0 -2
  26. package/dist/interface/assets/Camview-BCGsAZwN.js +0 -1
  27. package/dist/interface/assets/SettingsNotifications-Cs2Aou6F.js +0 -2
  28. package/dist/interface/assets/router-Bucu1aUt.js +0 -2
  29. package/dist/interface/assets/view-grid-CEWa13Fo.js +0 -1
  30. package/dist/interface/assets/view-grid-SdzaC3O_.css +0 -1
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ConfigTriggerDetection-uMWpVTSR.js","assets/vendor-CF-D4B9g.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-cameraui-tvNekvZ-.js","assets/vendor-primevue-D0-7UQst.js","assets/useCameraOptions-6UE5D1hU.js","assets/cameras-DsRZnmdZ.js","assets/api-BNAa4vCH.js","assets/vendor-core-DinQdIbm.js","assets/api-musbfki8.css","assets/types-QvsYiGdQ.js","assets/vendor-zod-V2qTUMVc.js","assets/ConfigTriggerSensor-cWKNvfUq.js","assets/ConfigTriggerSchedule-DkFw3-m5.js","assets/ConfigTriggerWebhook-tZohuF4o.js","assets/CuiActionButton-BF1An_rl.js","assets/information-outline-C1VdAtHq.js","assets/copy-Dperv2E1.js","assets/ConfigTriggerSystem-BbYm9nOh.js","assets/plugins-B_9bmEqO.js","assets/ConfigTriggerManual-BaVkgZIY.js","assets/ConfigTriggerGeofence-B-v83llz.js","assets/vendor-leaflet-7XZntJjG.js","assets/vendor-leaflet-vh-t_kPv.css","assets/ConfigActionSnapshot-DufY2O1c.js","assets/ConfigActionSensor-P135Fcqg.js","assets/ConfigActionNotification-C84AedlS.js","assets/notifications-C1t3xoeG.js","assets/VariableInput-DkFR7QdD.js","assets/automations-DetVBJsj.js","assets/VariableSuggestions-Ceb5nNVA.js","assets/upload-C3Tc1apC.js","assets/ConfigActionHttp-DsUnm6fz.js","assets/ConfigActionDelay-pAWIJ-4v.js","assets/ConfigActionVariable-CrTklOPb.js","assets/ConfigActionPlugin-CfRU9Scx.js","assets/CuiSchema-iGevXnih.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/close-BvciW6Wg.js","assets/CuiImage-Cy8H2pV_.js","assets/CuiImage-Bxf7z2N4.css","assets/theme-CEoH-N3G.js","assets/check-C8Q3pZRh.js","assets/CuiSchema--yMBD996.css","assets/automations-BOEgGPG6.js","assets/ConfigActionImageInput-DvHnZPlc.js","assets/ConfigActionOutput-BaUXR2P8.js","assets/ConfigActionCameraControl-Bqw5XxP7.js","assets/types-BxFyoO54.js","assets/ConfigConditionIfElse-CMVwFS0B.js","assets/alert-outline-C4DaI8XN.js","assets/nodeDefinitions-D0AwVtA3.js","assets/bell-outline-XAqc3I7S.js","assets/lightbulb-outline-DnqcItJU.js","assets/ConfigConditionSwitch-BPZHUjQq.js","assets/ConfigConditionSensorState-96bi9hS8.js","assets/close-BVMcLU5Z.js","assets/ConfigConditionTime-BGpd11U7.js"])))=>i.map(i=>d[i]);
2
+ import{S as e,l as t}from"./api-BNAa4vCH.js";import{$n as n,$t as r,An as i,Cn as a,Dn as o,En as s,Gt as c,Hn as l,In as u,Jn as d,Qt as f,Rn as p,Sn as m,Vn as h,Wt as g,Xt as _,Yn as v,Yt as y,Zt as b,cr as x,dr as S,hn as C,in as w,kt as T,nr as E,on as D,pn as O,sr as k,tn as A,ur as j,wn as M}from"./vendor-CF-D4B9g.js";import{Bn as ee,Vn as N,di as P,et as F,st as I}from"./vendor-cameraui-tvNekvZ-.js";import{c as te,f as L,l as ne}from"./vendor-core-DinQdIbm.js";import{t as R}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as re,t as ie}from"./useSharedComposables-CTXKSCVm.js";import{D as z,E as B,J as ae,K as oe,O as se,g as V,k as ce,o as le}from"./vendor-primevue-D0-7UQst.js";import{t as ue}from"./CuiMenu-C29qjSSA.js";import{t as de}from"./play-solid-BgmJ89Sh.js";import{n as H,t as fe}from"./useCuiDialog-edZ-0AKr.js";import{t as pe}from"./CuiTopbarSlot-DTNeuYvo.js";import{t as me}from"./deviceId-CARl4LJm.js";import{r as U}from"./types-BxFyoO54.js";import{t as he}from"./automations-DetVBJsj.js";import{t as ge}from"./automations-BOEgGPG6.js";import{n as W,t as G}from"./nodeDefinitions-D0AwVtA3.js";import{t as K}from"./close-BVMcLU5Z.js";import{t as _e}from"./CuiBottomSheet-MtfOlAuh.js";import{t as ve}from"./back-filled-D7yFvzR6.js";import{t as ye}from"./trash-can-BFdf_rAq.js";import{t as be}from"./plus-B5POQ2Ue.js";import{a as q,c as J,i as xe,n as Se,o as Y,r as X,s as Ce,t as we}from"./vendor-vueflow--Q_FmuVt.js";import{t as Te}from"./settings-NKsXc7ux.js";var Ee={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function De(e,t){return M(),r(`svg`,Ee,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`M26 20h-6v-2h6zm4 8h-6v-2h6zm-2-4h-6v-2h6z`},null,-1),_(`path`,{fill:`currentColor`,d:`M17.003 20a4.9 4.9 0 0 0-2.404-4.173L22 3l-1.73-1l-7.577 13.126a5.7 5.7 0 0 0-5.243 1.503C3.706 20.24 3.996 28.682 4.01 29.04a1 1 0 0 0 1 .96h14.991a1 1 0 0 0 .6-1.8c-3.54-2.656-3.598-8.146-3.598-8.2m-5.073-3.003A3.11 3.11 0 0 1 15.004 20c0 .038.002.208.017.469l-5.9-2.624a3.8 3.8 0 0 1 2.809-.848M15.45 28A5.2 5.2 0 0 1 14 25h-2a6.5 6.5 0 0 0 .968 3h-2.223A16.6 16.6 0 0 1 10 24H8a17.3 17.3 0 0 0 .665 4H6c.031-1.836.29-5.892 1.803-8.553l7.533 3.35A13 13 0 0 0 17.596 28Z`},null,-1)]])}var Oe=v({name:`carbon-clean`,render:De}),ke={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Ae(e,t){return M(),r(`svg`,ke,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`M12 10h12.185l-3.587-3.586L22 5l6 6l-6 6l-1.402-1.415L24.182 12H12a6 6 0 0 0 0 12h8v2h-8a8 8 0 0 1 0-16`},null,-1)]])}var je=v({name:`carbon-redo`,render:Ae}),Me={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Ne(e,t){return M(),r(`svg`,Me,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`m27.71 9.29l-5-5A1 1 0 0 0 22 4H6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V10a1 1 0 0 0-.29-.71M12 6h8v4h-8Zm8 20h-8v-8h8Zm2 0v-8a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v8H6V6h4v4a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.41l4 4V26Z`},null,-1)]])}var Pe=v({name:`carbon-save`,render:Ne}),Fe={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Ie(e,t){return M(),r(`svg`,Fe,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`M23 20a5 5 0 0 0-3.89 1.89l-7.31-4.57a4.46 4.46 0 0 0 0-2.64l7.31-4.57A5 5 0 1 0 18 7a4.8 4.8 0 0 0 .2 1.32l-7.31 4.57a5 5 0 1 0 0 6.22l7.31 4.57A4.8 4.8 0 0 0 18 25a5 5 0 1 0 5-5m0-16a3 3 0 1 1-3 3a3 3 0 0 1 3-3M7 19a3 3 0 1 1 3-3a3 3 0 0 1-3 3m16 9a3 3 0 1 1 3-3a3 3 0 0 1-3 3`},null,-1)]])}var Le=v({name:`carbon-share`,render:Ie}),Re={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function ze(e,t){return M(),r(`svg`,Re,[...t[0]||=[_(`path`,{fill:`currentColor`,d:`M20 10H7.815l3.587-3.586L10 5l-6 6l6 6l1.402-1.415L7.818 12H20a6 6 0 0 1 0 12h-8v2h8a8 8 0 0 0 0-16`},null,-1)]])}var Be=v({name:`carbon-undo`,render:ze}),Ve=[`id`,`d`],He=24,Ue=D({__name:`DeletableEdge`,props:{id:{},sourceNode:{},targetNode:{},source:{},target:{},type:{},label:{type:[String,Object,Function]},style:{},selected:{type:Boolean},sourcePosition:{},targetPosition:{},sourceHandleId:{},targetHandleId:{},animated:{type:Boolean},updatable:{type:Boolean},markerStart:{},markerEnd:{},curvature:{},interactionWidth:{},data:{},events:{},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{},sourceX:{},sourceY:{},targetX:{},targetY:{}},setup(e){let t=e,{removeEdges:n}=J(),i=y(()=>Ce({sourceX:t.sourceX,sourceY:t.sourceY,sourcePosition:t.sourcePosition,targetX:t.targetX,targetY:t.targetY,targetPosition:t.targetPosition})),a=y(()=>i.value[0]),o=y(()=>i.value[1]),s=y(()=>i.value[2]),l=y(()=>{let e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return e.setAttribute(`d`,a.value),e.getTotalLength()}),u=y(()=>{let e=l.value;if(e<=0)return{stroke:`var(--text-muted-color)`,strokeWidth:2,fill:`none`};let t=e/2,n=He/2;return{stroke:`var(--text-muted-color)`,strokeWidth:2,fill:`none`,strokeDasharray:`${Math.max(0,t-n)} ${He} ${Math.max(0,e-t-n)}`}});function d(){n([t.id])}return(t,n)=>{let i=K;return M(),r(c,null,[_(`path`,{id:e.id,d:k(a),style:j(k(u)),class:`vue-flow__edge-path`},null,12,Ve),w(k(q),null,{default:h(()=>[_(`div`,{class:`automation-edge-button nodrag nopan`,style:j({pointerEvents:`all`,position:`absolute`,transform:`translate(-50%, -50%) translate(${k(o)}px, ${k(s)}px)`})},[_(`button`,{class:`automation-edge-delete`,onClick:g(d,[`stop`])},[w(i,{class:`w-3 h-3`})])],4)]),_:1})],64)}}}),We={maxInputs:1/0},Ge={class:`flex items-center gap-2 px-3 py-2.5`},Ke={class:`flex-1 min-w-0`},qe={class:`text-xs font-semibold truncate text-color`},Je={key:0,class:`text-[10px] text-muted truncate mt-0.5`},Ye=R(D({__name:`BaseNode`,props:O({icon:{},label:{},subtitle:{},color:{},selected:{type:Boolean},showInput:{type:Boolean},showOutput:{type:Boolean},maxInputs:{}},We),setup(e){let t={backgroundColor:`var(--text-muted-color)`,borderColor:`var(--card-background)`};return(n,a)=>(M(),r(`div`,{class:x([`automation-node card-background rounded-lg border-2 shadow-lg min-w-[180px] max-w-[220px] select-none`,{"ring-2 ring-primary":e.selected}]),style:j({borderColor:e.color})},[_(`div`,Ge,[_(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-md shrink-0`,style:j({backgroundColor:`${e.color}20`,color:e.color})},[(M(),b(i(e.icon),{class:`w-4.5 h-4.5`}))],4),_(`div`,Ke,[_(`div`,qe,S(e.label),1),e.subtitle?(M(),r(`div`,Je,S(e.subtitle),1)):f(``,!0)])]),e.showInput?(M(),b(k(Y),{key:0,type:`target`,position:k(X).Top,connectable:e.maxInputs,class:`!w-3 !h-3 !border-2`,style:t},null,8,[`position`,`connectable`])):f(``,!0),o(n.$slots,`handles`,{},()=>[e.showOutput?(M(),b(k(Y),{key:0,type:`source`,position:k(X).Bottom,class:`!w-3 !h-3 !border-2`,style:t},null,8,[`position`])):f(``,!0)],!0)],6))}}),[[`__scopeId`,`data-v-26c7ae33`]]),Xe={class:`text-muted font-medium truncate`},Ze={class:`text-color font-semibold text-right`},Z=D({__name:`ActionNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let t=e,{t:n}=P(),{lastOutput:i}=L(he()),a=y(()=>G(t.type)),o=y(()=>a.value?n(a.value.labelKey):t.type),l=y(()=>{let e=t.data,n=e.alias,r;return e.type===`action-delay`?r=`${e.duration} ${e.unit}`:e.type===`action-notification`&&e.title?r=e.title:e.type===`action-http`&&e.url?r=`${e.method} ${e.url}`:e.type===`action-plugin`&&e.repeat&&e.repeat>1&&(r=`${e.repeat}x`),n&&r?`[${n}] ${r}`:n?`[${n}]`:r}),u=y(()=>t.type!==`action-output`||!i.value?[]:Object.entries(i.value));return(t,n)=>{let i=I;return M(),r(`div`,null,[w(Ye,{icon:k(a).icon,label:k(o),subtitle:k(l),color:k(a)?.color??`#3b82f6`,selected:e.selected,"show-input":!0,"show-output":!0},null,8,[`icon`,`label`,`subtitle`,`color`,`selected`]),e.type===`action-output`&&k(u).length?(M(),b(i,{key:0,class:`cui-card mt-1`,pt:{body:{class:`p-0`}},style:{"min-width":`180px`}},{content:h(()=>[(M(!0),r(c,null,s(k(u),(e,t)=>(M(),r(`div`,{key:t,class:x([`flex justify-between gap-3 px-3 py-1.5 text-[11px]`,{"border-t border-surface-100 dark:border-surface-800":t>0}])},[_(`span`,Xe,S(e[0]),1),_(`span`,Ze,S(e[1]),1)],2))),128))]),_:1})):f(``,!0)])}}}),Q=D({__name:`ConditionNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let t=e,{t:n}=P(),r={borderColor:`var(--card-background)`},i=y(()=>G(t.type)),a=y(()=>i.value?n(i.value.labelKey):t.type),o=y(()=>{let e=t.data;if(e.type===`condition-ifelse`&&e.leftOperand&&e.operator)return`${e.leftOperand} ${e.operator} ${e.rightOperand}`});return(t,n)=>(M(),b(Ye,{icon:k(i).icon,label:k(a),subtitle:k(o),color:k(i)?.color??`#f59e0b`,selected:e.selected,"show-input":!0,"show-output":!1,"max-inputs":1},{handles:h(()=>[w(k(Y),{type:`source`,position:k(X).Bottom,id:`true`,class:`!w-3 !h-3 !border-2`,style:j({...r,backgroundColor:`var(--text-success-color)`,left:`30%`})},null,8,[`position`,`style`]),w(k(Y),{type:`source`,position:k(X).Bottom,id:`false`,class:`!w-3 !h-3 !border-2`,style:j({...r,backgroundColor:`var(--text-danger-color)`,left:`70%`})},null,8,[`position`,`style`])]),_:1},8,[`icon`,`label`,`subtitle`,`color`,`selected`]))}}),$=D({__name:`TriggerNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let t=e,{t:n}=P(),r=y(()=>G(t.type)),i=y(()=>r.value?n(r.value.labelKey):t.type),a=y(()=>{let e=t.data;if(e.type===`trigger-detection`&&e.cameraId)return e.cameraId;if(e.type===`trigger-schedule`&&e.cron)return e.cron});return(t,n)=>(M(),b(Ye,{icon:k(r).icon,label:k(i),subtitle:k(a),color:k(r)?.color??`#22c55e`,selected:e.selected,"show-input":!1,"show-output":!0},null,8,[`icon`,`label`,`subtitle`,`color`,`selected`]))}}),Qe=50;function $e(){let e=E([]),t=E([]);function n(e,t){return JSON.stringify({nodes:e,edges:t})}function r(e){return JSON.parse(e)}function i(r,i){let a=[...e.value,n(r,i)];a.length>Qe&&a.shift(),e.value=a,t.value=[]}function a(i,a){let o=[...e.value],s=o.pop();if(s)return e.value=o,t.value=[...t.value,n(i,a)],r(s)}function o(i,a){let o=[...t.value],s=o.pop();if(s)return t.value=o,e.value=[...e.value,n(i,a)],r(s)}function s(){e.value=[],t.value=[]}return{push:i,undo:a,redo:o,clear:s,canUndo:y(()=>e.value.length>0),canRedo:y(()=>t.value.length>0)}}var et=[`cameraId`,`sensorType`,`sensorName`,`sensorPluginId`,`property`];function tt(e,t){if(!e||!t)return null;let n={},r=e,i=t;for(let e of et)r[e]&&e in i&&!i[e]&&(n[e]=r[e]);return Object.keys(n).length>0?n:null}function nt(e){return e.type===`trigger-webhook`&&!e.webhookId?{...e,webhookId:me()}:e.type===`trigger-geofence`&&!e.geofenceId?{...e,geofenceId:me()}:e}var rt={class:`absolute inset-0 flex items-center justify-center pointer-events-none`},it={class:`text-muted text-sm`},at=D({__name:`CuiAutomationCanvas`,props:{flow:{},mobile:{type:Boolean}},emits:[`node-select`,`change`],setup(e,{expose:i,emit:o}){let s=e,c=o,{t:l}=P(),{smBreakpoint:u}=ie(),{screenToFlowCoordinate:f,getViewport:y,dimensions:b}=J(),C=$e(),T={"trigger-detection":v($),"trigger-sensor":v($),"trigger-schedule":v($),"trigger-webhook":v($),"trigger-system":v($),"trigger-manual":v($),"trigger-geofence":v($),"condition-ifelse":v(Q),"condition-switch":v(Q),"condition-sensorstate":v(Q),"condition-time":v(Q),"action-snapshot":v(Z),"action-sensor":v(Z),"action-notification":v(Z),"action-http":v(Z),"action-delay":v(Z),"action-variable":v(Z),"action-plugin":v(Z),"action-camera-control":v(Z),"action-image-input":v(Z),"action-output":v(Z)},E={default:v(Ue)},D=n([...s.flow.nodes]),O=n([...s.flow.edges]);function j(){C.push(D.value,O.value)}function ee(){let e=C.undo(D.value,O.value);e&&(D.value=e.nodes,O.value=e.edges,c(`node-select`,null),c(`change`))}function N(){let e=C.redo(D.value,O.value);e&&(D.value=e.nodes,O.value=e.edges,c(`node-select`,null),c(`change`))}function F(e){c(`node-select`,e.node.id)}function I(){c(`node-select`,null)}function te(e){let t=D.value.find(t=>t.id===e.source),n=D.value.find(t=>t.id===e.target);return!(!t||!n||e.source===e.target||n.type?.startsWith(`trigger-`))}function L(e){if(!te(e))return;j();let t=e.targetHandle??void 0,n=D.value.find(t=>t.id===e.target);if(n?.type?.startsWith(`condition-`)){let n=O.value.find(n=>n.target===e.target&&(n.targetHandle??void 0)===t);n&&(O.value=O.value.filter(e=>e.id!==n.id))}let r={id:`e-${e.source}-${e.target}`,source:e.source,target:e.target,sourceHandle:e.sourceHandle??void 0,targetHandle:t};O.value.push(r);let i=tt(D.value.find(t=>t.id===e.source)?.data,n?.data);i&&n?.data&&Object.assign(n.data,i),c(`change`)}function ne(e){e.some(e=>e.type===`remove`)&&(j(),c(`node-select`,null),c(`change`))}function R(e){let n=e.dataTransfer?.getData(`application/automationnode`);if(!n)return;let r=G(n);if(!r)return;j();let i=f({x:e.clientX,y:e.clientY}),a={id:t(12),type:n,position:i,data:nt({...r.defaults})};D.value=[...D.value,a],c(`change`)}function re(e){let n=G(e);if(!n)return;j();let{x:r,y:i,zoom:a}=y(),{width:o,height:s}=b.value,l=(-r+o/2)/a,u=(-i+s/2)/a,d=()=>(Math.random()-.5)*80,f={id:t(12),type:e,position:{x:l+d(),y:u+d()},data:nt({...n.defaults})};return D.value=[...D.value,f],c(`change`),f}function z(e){j(),D.value=D.value.filter(t=>t.id!==e),O.value=O.value.filter(t=>t.source!==e&&t.target!==e),c(`change`)}function B(){j(),D.value=[],O.value=[],c(`change`)}function ae(){return[...D.value]}function oe(){return[...O.value]}function se(e,t){let n=D.value.find(t=>t.id===e);n&&(n.data=t)}function V(e){let t=e.metaKey||e.ctrlKey;t&&e.key===`z`&&!e.shiftKey?(e.preventDefault(),ee()):(t&&e.key===`z`&&e.shiftKey||t&&e.key===`y`)&&(e.preventDefault(),N())}return p(()=>s.flow._id,()=>{D.value=[...s.flow.nodes],O.value=[...s.flow.edges],C.clear()}),m(()=>window.addEventListener(`keydown`,V)),a(()=>window.removeEventListener(`keydown`,V)),i({removeNode:z,addNodeAtCenter:re,clearAll:B,getNodes:ae,getEdges:oe,updateNodeData:se,undo:ee,redo:N,canUndo:C.canUndo,canRedo:C.canRedo}),(t,n)=>(M(),r(`div`,{ref:`canvasRef`,class:x([`h-full w-full border-left-color border-bottom-color border-right-color rounded-b-xl overflow-hidden`,{"rounded-none! border-0!":k(u)}]),onDrop:R,onDragover:n[2]||=g(()=>{},[`prevent`]),onDragenter:n[3]||=g(()=>{},[`prevent`])},[w(k(xe),{nodes:k(D),"onUpdate:nodes":n[0]||=e=>d(D)?D.value=e:null,edges:k(O),"onUpdate:edges":n[1]||=e=>d(O)?O.value=e:null,"node-types":T,"edge-types":E,"default-viewport":{zoom:e.mobile?.7:.9,x:0,y:0},"snap-to-grid":!0,"snap-grid":[16,16],"is-valid-connection":te,class:`automation-canvas`,onNodeClick:F,onPaneClick:I,onConnect:L,onNodesChange:ne},A({default:h(()=>[w(k(Se),{gap:16}),w(k(we))]),_:2},[k(D).length?void 0:{name:`default`,fn:h(()=>[_(`div`,rt,[_(`span`,it,S(e.mobile?k(l)(`views.automation.no_nodes_mobile`):k(l)(`views.automation.no_nodes`)),1)])]),key:`0`}]),1032,[`nodes`,`edges`,`default-viewport`])],34))}}),ot={"trigger-detection":H(()=>T(()=>import(`./ConfigTriggerDetection-uMWpVTSR.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),"trigger-sensor":H(()=>T(()=>import(`./ConfigTriggerSensor-cWKNvfUq.js`),__vite__mapDeps([12,1,2,3,4,5,6,7,8,9,10,11]))),"trigger-schedule":H(()=>T(()=>import(`./ConfigTriggerSchedule-DkFw3-m5.js`),__vite__mapDeps([13,1,2,3]))),"trigger-webhook":H(()=>T(()=>import(`./ConfigTriggerWebhook-tZohuF4o.js`),__vite__mapDeps([14,1,2,3,4,15,16,17]))),"trigger-system":H(()=>T(()=>import(`./ConfigTriggerSystem-BbYm9nOh.js`),__vite__mapDeps([18,1,2,3,4,19,7,8,9,5,6,10,11]))),"trigger-manual":H(()=>T(()=>import(`./ConfigTriggerManual-BaVkgZIY.js`),__vite__mapDeps([20,1,2,3]))),"trigger-geofence":H(()=>T(()=>import(`./ConfigTriggerGeofence-B-v83llz.js`),__vite__mapDeps([21,2,7,1,3,8,9,4,15,16,22,23,17]))),"action-snapshot":H(()=>T(()=>import(`./ConfigActionSnapshot-DufY2O1c.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,11]))),"action-sensor":H(()=>T(()=>import(`./ConfigActionSensor-P135Fcqg.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,10,11]))),"action-notification":H(()=>T(()=>import(`./ConfigActionNotification-C84AedlS.js`),__vite__mapDeps([26,1,2,3,4,27,7,8,9,28,29,30,31]))),"action-http":H(()=>T(()=>import(`./ConfigActionHttp-DsUnm6fz.js`),__vite__mapDeps([32,1,2,4,3,28,29,8,30]))),"action-delay":H(()=>T(()=>import(`./ConfigActionDelay-pAWIJ-4v.js`),__vite__mapDeps([33,1,2,3,4]))),"action-variable":H(()=>T(()=>import(`./ConfigActionVariable-CrTklOPb.js`),__vite__mapDeps([34,1,2,3,4,28,29,8,30]))),"action-plugin":H(()=>T(()=>import(`./ConfigActionPlugin-CfRU9Scx.js`),__vite__mapDeps([35,1,2,3,4,36,7,8,9,37,38,39,40,10,11,41,42,43,19,28,29,30,44]))),"action-image-input":H(()=>T(()=>import(`./ConfigActionImageInput-DvHnZPlc.js`),__vite__mapDeps([45,1,2,3,4,28,29,8,30,31]))),"action-output":H(()=>T(()=>import(`./ConfigActionOutput-BaUXR2P8.js`),__vite__mapDeps([46,1,2,3,38,4,28,29,8,30]))),"action-camera-control":H(()=>T(()=>import(`./ConfigActionCameraControl-Bqw5XxP7.js`),__vite__mapDeps([47,1,2,3,4,5,6,7,8,9,10,11,48]))),"condition-ifelse":H(()=>T(()=>import(`./ConfigConditionIfElse-CMVwFS0B.js`),__vite__mapDeps([49,1,2,3,4,16,28,29,8,30,50,51,52,53]))),"condition-switch":H(()=>T(()=>import(`./ConfigConditionSwitch-BPZHUjQq.js`),__vite__mapDeps([54,1,2,3,4,16,28,29,8,50,51,52,53]))),"condition-sensorstate":H(()=>T(()=>import(`./ConfigConditionSensorState-96bi9hS8.js`),__vite__mapDeps([55,1,2,3,4,5,6,7,8,9,10,11,56]))),"condition-time":H(()=>T(()=>import(`./ConfigConditionTime-BGpd11U7.js`),__vite__mapDeps([57,1,2,3,4,16])))},st={class:`h-full overflow-y-auto flex flex-col`},ct={class:`flex items-center gap-2 px-4 py-3 border-bottom-color`},lt={class:`flex-1 min-w-0`},ut={class:`text-sm font-semibold truncate text-color`},dt={class:`text-xs text-muted`},ft={class:`flex-1 overflow-y-auto`},pt={class:`text-color font-normal text-sm`},mt={class:`flex flex-col field-gap`},ht={class:`cui-input-hint`},gt={class:`text-color font-normal text-sm`},_t={class:`text-color font-normal text-sm`},vt={class:`flex flex-col gap-3`},yt={class:`flex flex-col field-gap`},bt={class:`cui-label`},xt={key:0,class:`flex flex-col field-gap`},St={class:`cui-label`},Ct={class:`cui-input-hint`},wt={key:1,class:`flex flex-col field-gap`},Tt={class:`cui-label`},Et={class:`p-4 border-top-color`},Dt=D({__name:`CuiAutomationNodeConfig`,props:{node:{}},emits:[`close`,`update:data`,`delete`],setup(e,{emit:t}){let n=e,a=t,{t:o}=P(),s=y(()=>n.node.type?G(n.node.type):void 0),c=y(()=>n.node.type?.startsWith(`action-`)),l=y(()=>{if(n.node.type)return ot[n.node.type]}),u=y(()=>{let e=[`config`];return c.value&&n.node.data.alias&&e.push(`alias`),s.value?.supportsRepeat&&n.node.data.repeat>1&&e.push(`repeat`),e});function d(e){a(`update:data`,e)}return(t,n)=>{let a=K,p=N,m=se,g=F,v=ce,y=z,x=V,C=B;return M(),r(`div`,st,[_(`div`,ct,[_(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-md shrink-0`,style:j({backgroundColor:`${k(s)?.color}20`,color:k(s)?.color})},[(M(),b(i(k(s)?.icon),{class:`w-4 h-4`}))],4),_(`div`,lt,[_(`div`,ut,S(k(s)?k(o)(k(s).labelKey):e.node.type),1),_(`div`,dt,S(k(o)(`views.automation.node_config`)),1)]),w(p,{severity:`secondary`,text:``,rounded:``,class:`shrink-0 cui-icon-sm`,onClick:n[0]||=e=>t.$emit(`close`)},{icon:h(()=>[w(a,{width:`100%`,height:`100%`})]),_:1})]),_(`div`,ft,[w(C,{multiple:``,value:k(u),class:`w-[300px]`},{default:h(()=>[k(c)?(M(),b(y,{key:0,value:`alias`},{default:h(()=>[w(m,{class:`px-4 rounded-none!`},{default:h(()=>[_(`span`,pt,S(k(o)(`components.automation_nodes.alias`)),1)]),_:1}),w(v,{pt:{content:{class:`px-4 w-[300px]`}}},{default:h(()=>[_(`div`,mt,[w(g,{"model-value":e.node.data.alias??``,placeholder:k(o)(`components.automation_nodes.alias_placeholder`),"onUpdate:modelValue":n[1]||=e=>d({alias:e||void 0})},null,8,[`model-value`,`placeholder`]),_(`span`,ht,S(k(o)(`components.automation_nodes.alias_hint`)),1)])]),_:1})]),_:1})):f(``,!0),k(l)?(M(),b(y,{key:1,value:`config`},{default:h(()=>[w(m,{class:`px-4 rounded-none!`},{default:h(()=>[_(`span`,gt,S(k(o)(`views.automation.node_config`)),1)]),_:1}),w(v,{pt:{content:{class:`px-4 w-[300px]`}}},{default:h(()=>[_(`div`,null,[(M(),b(i(k(l)),{data:e.node.data,"node-id":e.node.id,"onUpdate:data":d},null,40,[`data`,`node-id`]))])]),_:1})]),_:1})):f(``,!0),k(s)?.supportsRepeat?(M(),b(y,{key:2,value:`repeat`},{default:h(()=>[w(m,{class:`px-4 rounded-none!`},{default:h(()=>[_(`span`,_t,S(k(o)(`components.automation_nodes.repeat`)),1)]),_:1}),w(v,{pt:{content:{class:`px-4 w-[300px]`}}},{default:h(()=>[_(`div`,vt,[_(`div`,yt,[_(`label`,bt,S(k(o)(`components.automation_nodes.repeat_count`)),1),w(x,{"model-value":e.node.data.repeat??1,min:1,max:1e5,class:`w-full`,"onUpdate:modelValue":n[2]||=e=>d({repeat:e})},null,8,[`model-value`])]),e.node.data.repeat>1?(M(),r(`div`,xt,[_(`label`,St,S(k(o)(`components.automation_nodes.repeat_concurrency`)),1),w(x,{"model-value":e.node.data.repeatConcurrency??1,min:1,max:64,class:`w-full`,"onUpdate:modelValue":n[3]||=e=>d({repeatConcurrency:e})},null,8,[`model-value`]),_(`span`,Ct,S(k(o)(`components.automation_nodes.repeat_concurrency_hint`)),1)])):f(``,!0),e.node.data.repeat>1?(M(),r(`div`,wt,[_(`label`,Tt,S(k(o)(`components.automation_nodes.repeat_delay`)),1),w(x,{"model-value":e.node.data.repeatDelayMs??0,min:0,max:6e4,suffix:` ms`,class:`w-full`,"onUpdate:modelValue":n[4]||=e=>d({repeatDelayMs:e})},null,8,[`model-value`])])):f(``,!0)])]),_:1})]),_:1})):f(``,!0)]),_:1},8,[`value`])]),_(`div`,Et,[w(p,{severity:`danger`,fluid:``,class:`w-full cui-button-medium`,label:k(o)(`views.automation.delete_node`),onClick:n[5]||=e=>t.$emit(`delete`)},null,8,[`label`])])])}}}),Ot={key:0,class:`text-xs font-semibold text-muted uppercase tracking-wider mb-3`},kt={class:`text-xs font-medium text-muted mb-2`},At={class:`flex flex-col gap-1.5`},jt=[`draggable`,`onDragstart`,`onClick`],Mt={class:`flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5`},Nt={class:`flex-1 min-w-0`},Pt={class:`text-[13px] font-medium truncate text-color block leading-tight`},Ft={key:0,class:`text-[11px] text-muted block truncate mt-0.5 leading-tight`},It=R(D({__name:`CuiAutomationNodePalette`,props:O({mode:{}},U),emits:[`node-click`],setup(e){let{t}=P(),n=[{key:`trigger`,labelKey:`components.automation_nodes.category_triggers`,nodes:W(`trigger`)},{key:`condition`,labelKey:`components.automation_nodes.category_conditions`,nodes:W(`condition`)},{key:`utility`,labelKey:`components.automation_nodes.category_utilities`,nodes:W(`utility`)},{key:`action`,labelKey:`components.automation_nodes.category_actions`,nodes:W(`action`)}];function a(e,t){e.dataTransfer&&(e.dataTransfer.setData(`application/automationnode`,t),e.dataTransfer.effectAllowed=`move`)}return(o,l)=>(M(),r(`div`,{class:x([`overflow-y-auto p-3`,e.mode===`drag`?`h-full`:``])},[e.mode===`drag`?(M(),r(`div`,Ot,S(k(t)(`views.automation.node_palette`)),1)):f(``,!0),(M(),r(c,null,s(n,n=>_(`div`,{key:n.key,class:`mb-4`},[_(`div`,kt,S(k(t)(n.labelKey)),1),_(`div`,At,[(M(!0),r(c,null,s(n.nodes,n=>(M(),r(`div`,{key:n.type,class:x([`automation-palette-node`,e.mode===`drag`?`cursor-grab active:cursor-grabbing`:`cursor-pointer`]),draggable:e.mode===`drag`,onDragstart:t=>e.mode===`drag`?a(t,n.type):void 0,onClick:t=>e.mode===`click`?o.$emit(`node-click`,n.type):void 0},[_(`div`,{class:`automation-palette-node__accent`,style:j({backgroundColor:n.color})},null,4),_(`div`,Mt,[_(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-lg shrink-0`,style:j({backgroundColor:`${n.color}15`,color:n.color})},[(M(),b(i(n.icon),{class:`w-4.5 h-4.5`}))],4),_(`div`,Nt,[_(`span`,Pt,S(k(t)(n.labelKey)),1),e.mode===`click`?(M(),r(`span`,Ft,S(k(t)(n.descriptionKey)),1)):f(``,!0)])])],42,jt))),128))])])),64))],2))}}),[[`__scopeId`,`data-v-08caad7f`]]),Lt={class:`flex items-center gap-2 px-3 py-2 border-bottom-color card-background min-h-[48px]`},Rt=D({__name:`CuiAutomationToolbar`,props:{flow:{}},emits:[`update:name`,`toggle-enabled`,`toggle-suppress-duplicates`,`toggle-single-execution`],setup(e,{emit:t}){let n=e,i=t,{t:a}=P(),{smBreakpoint:o}=ie(),s=u(`menuRef`),c=y(()=>[{key:`suppressDuplicates`,label:a(`views.automation.suppress_duplicates`),description:a(`views.automation.suppress_duplicates_hint`),toggle:!0,toggleState:n.flow.suppressDuplicates,onClick:()=>i(`toggle-suppress-duplicates`)},{key:`singleExecution`,label:a(`views.automation.single_execution`),description:a(`views.automation.single_execution_hint`),toggle:!0,toggleState:n.flow.singleExecution,onClick:()=>i(`toggle-single-execution`)}]);return(t,n)=>{let i=ve,l=N,u=F,d=oe,p=Te,m=ue;return M(),r(`div`,Lt,[k(o)?f(``,!0):(M(),b(l,{key:0,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:n[0]||=e=>t.$router.push(`/automations`)},{icon:h(()=>[w(i,{width:`100%`,height:`100%`})]),_:1})),w(u,{"model-value":e.flow.name,class:x([`font-medium text-sm min-w-0 flex-1`,{"max-w-[300px]":!k(o)}]),placeholder:k(a)(`views.automations.flow_name_placeholder`),"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:name`,String(e??``))},null,8,[`model-value`,`class`,`placeholder`]),n[4]||=_(`div`,{class:`flex-1`},null,-1),w(d,{"model-value":e.flow.enabled,class:`shrink-0`,"onUpdate:modelValue":n[2]||=e=>t.$emit(`toggle-enabled`)},null,8,[`model-value`]),w(l,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:n[3]||=e=>k(s)?.toggleMenu(e)},{icon:h(()=>[w(p,{width:`100%`,height:`100%`})]),_:1}),w(m,{ref_key:`menuRef`,ref:s,items:k(c),"auto-hide":!1,popover:{pt:{root:{class:`w-[18rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),zt={class:`flex flex-col gap-4 w-full`},Bt={key:1,class:`text-sm text-muted`},Vt=D({__name:`CuiAutomationMobileNodeConfig`,props:{node:{}},setup(e,{expose:t}){let n=e,{t:a}=P(),o=he(),s=y(()=>{if(n.node.type)return ot[n.node.type]});function c(e){if(!o.draft)return;let t=o.draft.nodes.find(e=>e.id===n.node.id);t?.data&&Object.assign(t.data,e)}return t({onConfirm:async()=>{if(o.draft){let e=n.node.id;o.draft.nodes=o.draft.nodes.filter(t=>t.id!==e),o.draft.edges=o.draft.edges.filter(t=>t.source!==e&&t.target!==e)}}}),(t,n)=>(M(),r(`div`,zt,[k(s)?(M(),b(i(k(s)),{key:0,data:e.node.data,"node-id":e.node.id,"onUpdate:data":c},null,40,[`data`,`node-id`])):(M(),r(`div`,Bt,S(k(a)(`views.automation.no_node_selected`)),1))]))}}),Ht={class:`h-full w-full relative overflow-hidden flex flex-col`},Ut={class:`flex flex-1 min-h-0`},Wt={class:`relative w-6 h-6`},Gt={key:1,class:`flex flex-1 items-center justify-center`},Kt={key:2,class:`flex flex-1 items-center justify-center`},qt={class:`text-muted`},Jt=D({__name:`Automation`,setup(a){let o=new ge,s=te(),m=ne(),{t:g}=P(),{smBreakpoint:v}=ie(),{bottombarHeight:T}=re(),E=fe(),D=e(),O=he(),A=u(`canvasRef`),F=n(!1),I=n(!1),L=n(!1),R=n(!1),z=y(()=>s.params.id),B=y(()=>z.value===`new`),{data:oe,isBusy:se}=o.getAutomationQuery(z),{mutateAsync:V}=o.createAutomationQuery(),{mutateAsync:ce}=o.patchAutomationQuery(),{mutateAsync:ue}=o.deleteAutomationQuery(),{mutateAsync:H}=o.triggerAutomationQuery(),me=()=>{L.value=A.value?.canUndo??!1,R.value=A.value?.canRedo??!1},U=y({get:()=>O.draft,set:e=>{O.draft=e}}),W=()=>{U.value={_id:t(12),name:g(`views.automation.untitled`),enabled:!1,nodes:[],edges:[],suppressDuplicates:!1,singleExecution:!1,createdAt:Date.now(),updatedAt:Date.now()},O.selectedNodeId=null};p(z,e=>{O.activeFlowId=e===`new`?null:e??null,O.selectedNodeId=null,O.lastOutput=null,I.value=!1,e===`new`?W():U.value=null},{immediate:!0}),p(oe,e=>{e&&!I.value&&(U.value=JSON.parse(JSON.stringify(e)))},{immediate:!0});let K=()=>{I.value=!0,me()},q=y(()=>{if(!(!U.value||!O.selectedNodeId))return U.value.nodes.find(e=>e.id===O.selectedNodeId)}),J=y(()=>{if(!(v.value||!q.value))return`calc(300px + 1.25rem + env(safe-area-inset-right, 0px))`}),xe=y(()=>[...U.value?.nodes.some(e=>e.type===`trigger-manual`)??!1?[{label:g(`views.automation.run`),icon:de,buttonProps:{disabled:B.value||I.value},command:()=>Ae()}]:[],{label:g(`views.automation.undo`),icon:Be,buttonProps:{disabled:!L.value},command:()=>{A.value?.undo(),K()}},{label:g(`views.automation.redo`),icon:je,buttonProps:{disabled:!R.value},command:()=>{A.value?.redo(),K()}},{label:g(`views.automation.export_blueprint`),icon:Le,command:()=>Me()},{label:g(`views.automation.clear`),icon:Oe,command:()=>Ne()},{label:g(`views.automations.delete`),icon:ye,buttonProps:{severity:`danger`},command:()=>Fe()}]),Se=()=>{Te(),K()},Y=e=>{U.value&&(U.value.name=e,K())},X=(e,t)=>{if(!U.value)return;let n=U.value.nodes.find(t=>t.id===e);if(n&&n.data){if(!Object.entries(t).some(([e,t])=>n.data[e]!==t))return;Object.assign(n.data,t),A.value?.updateNodeData(e,{...n.data}),K()}},Ce=()=>{if(!U.value)return{};let e=A.value?.getNodes?.()??U.value.nodes,t=A.value?.getEdges?.()??U.value.edges;return{name:U.value.name,enabled:U.value.enabled,suppressDuplicates:U.value.suppressDuplicates,singleExecution:U.value.singleExecution,nodes:e.map(e=>({id:e.id,type:e.type??``,position:e.position,data:e.data??{}})),edges:t.map(e=>({id:e.id,source:e.source,target:e.target,sourceHandle:e.sourceHandle??void 0,targetHandle:e.targetHandle??void 0}))}},we=async()=>{if(!U.value)return;let e=Ce();try{if(B.value){let t=await V({data:e});I.value=!1,m.replace(`/automations/${t._id}`)}else{let t=await ce({id:U.value._id,data:e});if(I.value=!1,t?.nodes&&U.value)for(let e of t.nodes){let t=U.value.nodes.find(t=>t.id===e.id);t?.data&&e.data&&Object.assign(t.data,e.data)}D.add({severity:`success`,detail:g(`views.automation.saved`),life:3e3})}}catch{D.add({severity:`error`,detail:g(`views.automation.save_failed`),life:3e3})}},Te=()=>{if(!U.value)return;let e=A.value?.getNodes(),t=A.value?.getEdges();e&&(U.value.nodes=e),t&&(U.value.edges=t)},Ee=e=>{if(O.selectedNodeId=e,v.value&&e){Te();let t=U.value?.nodes.find(t=>t.id===e);if(!t)return;let n=t.type?G(t.type):void 0,r=n?g(n.labelKey):`Node`,i=t.id;E.openComponentDialog(Vt,{data:{title:r,confirmText:g(`views.automation.delete_node`),confirmButtonProps:{severity:`danger`},contentProps:{node:{id:t.id,type:t.type,data:t.data}}},onSettled:()=>{U.value?.nodes.some(e=>e.id===i)||(A.value?.removeNode(i),K())}})}},De=e=>{F.value=!1,A.value?.addNodeAtCenter(e),K()},ke=()=>{O.selectedNodeId&&(A.value?.removeNode(O.selectedNodeId),U.value&&(U.value.nodes=U.value.nodes.filter(e=>e.id!==O.selectedNodeId),U.value.edges=U.value.edges.filter(e=>e.source!==O.selectedNodeId&&e.target!==O.selectedNodeId)),O.selectedNodeId=null,O.lastOutput=null,K())},Ae=async()=>{if(!(!U.value||B.value))try{O.lastOutput=null;let e=await H({id:U.value._id});e?.output&&Object.keys(e.output).length>0&&(O.lastOutput=e.output),D.add({severity:`success`,detail:g(`views.automation.triggered`),life:3e3})}catch{D.add({severity:`error`,detail:g(`views.automation.trigger_failed`),life:3e3})}},Me=()=>{if(!U.value)return;we();let e={version:1,name:U.value.name,nodes:U.value.nodes,edges:U.value.edges},t=JSON.stringify(e,null,2),n=new Blob([t],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`${U.value.name.replace(/\s+/g,`_`).toLowerCase()}.blueprint.json`,i.click(),URL.revokeObjectURL(r)},Ne=()=>{E.openTextDialog({data:{title:g(`views.automation.clear`),contentText:g(`views.automation.clear_confirm`),confirmText:g(`views.automation.clear`)},onConfirm:async()=>{A.value?.clearAll(),U.value&&(U.value.nodes=[],U.value.edges=[]),O.selectedNodeId=null,K()}})},Fe=()=>{if(!U.value)return;let e=U.value._id;E.openTextDialog({data:{title:g(`views.automations.delete`),contentText:g(`views.automations.delete_confirm`),confirmText:g(`views.automations.delete`)},onConfirm:async()=>{await ue({id:e}),m.push(`/automations`)}})},Ie=()=>{I.value?E.openTextDialog({data:{title:g(`views.automation.unsaved_title`),contentText:g(`views.automation.unsaved_message`),confirmText:g(`views.automation.discard`)},onConfirm:async()=>{m.push(`/automations`)}}):m.push(`/automations`)};return(e,t)=>{let n=ve,a=N,o=pe,s=le,u=_e,p=ee,m=ae;return M(),r(`div`,Ht,[w(o,{position:`left`},{default:h(()=>[w(a,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:Ie},{icon:h(()=>[w(n,{class:`w-6 h-6`})]),_:1})]),_:1}),k(U)?(M(),r(c,{key:0},[w(Rt,{flow:k(U),"onUpdate:name":Y,onToggleEnabled:t[0]||=e=>{k(U).enabled=!k(U).enabled,K()},onToggleSuppressDuplicates:t[1]||=e=>{k(U).suppressDuplicates=!k(U).suppressDuplicates,K()},onToggleSingleExecution:t[2]||=e=>{k(U).singleExecution=!k(U).singleExecution,K()}},null,8,[`flow`]),_(`div`,Ut,[k(v)?f(``,!0):(M(),b(It,{key:0,class:`w-[240px] shrink-0`})),w(at,{ref_key:`canvasRef`,ref:A,flow:k(U),mobile:k(v),class:`flex-1 min-w-0`,onNodeSelect:Ee,onChange:Se},null,8,[`flow`,`mobile`]),k(v)?f(``,!0):(M(),r(`div`,{key:1,class:`shrink-0 overflow-hidden transition-[width] duration-200 ease-in-out`,style:j({width:k(q)?`300px`:`0px`})},[k(q)?(M(),b(Dt,{key:0,node:k(q),class:`w-[300px]`,onClose:t[3]||=e=>k(O).selectedNodeId=null,"onUpdate:data":t[4]||=e=>X(k(O).selectedNodeId,e),onDelete:ke},null,8,[`node`])):f(``,!0)],4))]),w(s,{model:k(xe),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},style:j({position:`fixed`,zIndex:15,bottom:`calc(${k(T)}px + ${k(I)?`4.25rem`:`1.25rem`} + env(safe-area-inset-bottom, 0px))`,right:k(J)||`calc(1.25rem + env(safe-area-inset-right, 0px))`,transition:`right 0.2s ease-in-out, bottom 0.2s ease-in-out`}),pt:{root:{style:`pointer-events: none`}}},{button:h(({visible:e,toggleCallback:t})=>[w(a,{rounded:``,severity:`secondary`,class:`pointer-events-auto`,onClick:t},{icon:h(()=>[_(`div`,Wt,[_(`div`,{class:x([`absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),_(`div`,{class:x([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),_(`div`,{class:x([`absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2)])]),_:2},1032,[`onClick`])]),item:h(({item:e,toggleCallback:t})=>[l((M(),b(a,C({severity:`secondary`},e.buttonProps,{rounded:``,class:`pointer-events-auto`,onClick:t}),{icon:h(()=>[(M(),b(i(e.icon)))]),_:2},1040,[`onClick`])),[[m,{value:e.label}]])]),_:1},8,[`model`,`style`]),k(v)?l((M(),b(a,{key:0,rounded:``,class:`pointer-events-auto text-white`,style:j({position:`fixed`,zIndex:15,bottom:`calc(${k(T)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`,right:`calc(4.75rem + env(safe-area-inset-right, 0px))`}),onClick:t[5]||=e=>F.value=!0},{icon:h(()=>[w(k(be),{class:`w-5 h-5`})]),_:1},8,[`style`])),[[m,{value:k(g)(`views.automation.add_step`)}]]):f(``,!0),k(I)?l((M(),b(a,{key:1,rounded:``,severity:`success`,class:`pointer-events-auto text-white`,style:j({position:`fixed`,zIndex:15,bottom:`calc(${k(T)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`,right:k(J)||`calc(1.25rem + env(safe-area-inset-right, 0px))`,transition:`right 0.2s ease-in-out`}),onClick:we},{icon:h(()=>[w(k(Pe),{class:`w-5 h-5`})]),_:1},8,[`style`])),[[m,{value:k(g)(`views.automation.save`)}]]):f(``,!0),w(u,{modelValue:k(F),"onUpdate:modelValue":t[6]||=e=>d(F)?F.value=e:null,title:k(g)(`views.automation.add_step`),"max-height":`70vh`},{default:h(()=>[w(It,{mode:`click`,onNodeClick:De})]),_:1},8,[`modelValue`,`title`])],64)):k(se)?(M(),r(`div`,Gt,[w(p,{class:`!w-8 !h-8`,strokeWidth:`4`})])):(M(),r(`div`,Kt,[_(`span`,qt,S(k(g)(`views.automations.no_automations`)),1)]))])}}});export{Jt as default};
@@ -0,0 +1 @@
1
+ .camera-tab-panels[data-v-af2d723b] .p-tabpanel{scrollbar-width:none;height:100%;overflow:hidden auto}.camera-tab-panels[data-v-af2d723b] .p-tabpanel::-webkit-scrollbar{display:none}.mobile-sheet-panels[data-v-af2d723b] .p-tabpanel{scrollbar-width:none;height:100%}.mobile-sheet-panels[data-v-af2d723b] .p-tabpanel::-webkit-scrollbar{display:none}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CuiCameraRecordings-Dt4rhX1V.js","assets/vendor-CF-D4B9g.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-cameraui-tvNekvZ-.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/useSharedComposables-CTXKSCVm.js","assets/vendor-core-DinQdIbm.js","assets/ui-q3Xp2p6M.js","assets/vendor-primevue-D0-7UQst.js","assets/eventIcons-BPti5ma5.js","assets/face-recognition-vNgsuvZQ.js","assets/types-DllqnzAz.js","assets/eventIcons-2hVCNchU.css","assets/ring-resize-DX9lIn8S.js","assets/CuiRecordingsGrid-N6sJROIT.js","assets/CuiImage-Cy8H2pV_.js","assets/api-BNAa4vCH.js","assets/api-musbfki8.css","assets/CuiImage-Bxf7z2N4.css","assets/useFileDownload-nLwpYJQR.js","assets/download-Dvs3QCvp.js","assets/CuiRecordingsGrid-CZIZiEuT.css","assets/CuiCameraRecordings-DM_o0Lya.css","assets/CuiCameraTable-BzfBCxw8.js","assets/CuiCameraSnapshot-BlFnD5rf.js","assets/cameras-DsRZnmdZ.js","assets/useStreamStatus-BvdsDqjv.js","assets/CuiCameraShares-Cav4gFjp.js","assets/CuiActionButton-BF1An_rl.js","assets/copy-16-filled-UD4hjH-4.js","assets/shares-DeoM85Kr.js","assets/CuiBottomSheet-n931Xv4P.js","assets/CuiBottomSheet-MtfOlAuh.js","assets/close-rounded-BhUZzZeA.js","assets/CuiBottomSheet-DxQ6D_RM.css"])))=>i.map(i=>d[i]);
2
+ import{$n as e,$t as t,Gt as n,Hn as r,Ht as i,In as a,Jn as o,Qt as s,Rn as c,Tn as ee,Vn as l,Xt as u,Yn as d,Yt as f,Zt as p,cr as m,dr as h,gn as g,in as _,kt as v,on as y,qt as te,rn as b,sr as x,tn as ne,ur as re,wn as S}from"./vendor-CF-D4B9g.js";import{Bn as ie,Ht as C,R as ae,U as oe,Vn as se,di as ce,st as le,xi as ue}from"./vendor-cameraui-tvNekvZ-.js";import{c as w,l as de,s as fe}from"./vendor-core-DinQdIbm.js";import{C as pe,w as me}from"./CuiCameraCard-B3EAanJH.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as E,t as D}from"./useSharedComposables-CTXKSCVm.js";import{B as he,G as ge,H as _e,J as ve,V as ye,W as be,b as O}from"./vendor-primevue-D0-7UQst.js";import{t as k}from"./hasPermission-CyA03Zx7.js";import{t as A}from"./types-DllqnzAz.js";import{t as xe}from"./cameras-DsRZnmdZ.js";import{n as j}from"./useCuiDialog-edZ-0AKr.js";import{t as Se}from"./useFileDownload-nLwpYJQR.js";import{t as Ce}from"./download-Dvs3QCvp.js";import{t as we}from"./routerState-C_8KP3kD.js";import{n as Te,t as Ee}from"./zoom-in-BfBU52rQ.js";import{t as De}from"./CuiCameraPipCard-Be0PIBkz.js";var M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,n){return S(),t(`svg`,M,[...n[0]||=[u(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[u(`path`,{d:`M12 7v5l2 2m3 8l5-3l-5-3z`}),u(`path`,{d:`M13.017 20.943a9 9 0 1 1 7.831-7.292`})],-1)]])}var Oe=d({name:`tabler-clock-play`,render:N}),P={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function F(e,n){return S(),t(`svg`,P,[...n[0]||=[u(`path`,{fill:`currentColor`,d:`M18 18v2H6v-2zm3-7v2H3v-2zm-3-7v2H6V4z`},null,-1)]])}var ke=d({name:`ri-menu5-line`,render:F}),Ae={class:`w-full h-full flex flex-col lg:flex-row gap-0 lg:gap-2 relative`},je={key:0,class:`h-full flex items-center justify-center`},Me={class:`flex flex-col-reverse gap-2 items-center`},I=T(y({__name:`Camera`,setup(d){let y=j(()=>v(()=>import(`./CuiCameraRecordings-Dt4rhX1V.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]))),T=j(()=>v(()=>import(`./CuiCameraTable-BzfBCxw8.js`),__vite__mapDeps([23,1,2,3,8,24,15,16,6,17,4,18,25,26]))),M=j(()=>v(()=>import(`./CuiCameraShares-Cav4gFjp.js`),__vite__mapDeps([27,16,2,1,3,6,17,8,28,29,30]))),N=j(()=>v(()=>import(`./CuiBottomSheet-n931Xv4P.js`),__vite__mapDeps([31,32,16,2,1,3,6,17,4,33,34]))),P=new xe,F=ce(),I=O(),L=w(),Ne=de(),{xmdBreakpoint:R,smBreakpoint:z,mdBreakpoint:Pe}=D(),{topbarHeight:Fe}=E(),{plugin:Ie}=C(`@camera.ui/camera-ui-nvr`),Le=we(),B=f(()=>L.params.cameraname),{data:V}=P.getCameraQuery(B),H=[`Off`,`1m`,`2m`,`3m`,`5m`],U=a(`cameraCardRef`),W=a(`cuiTimelineRef`),Re=a(`timelineRef`),G=e(!Le.isTransitioning),ze=e(!1),K=e(!1),Be=e(!1),Ve=e([]),q=e(),He=e(),J=e(0),Y=e(!1),X=f(()=>V.value?._id),Ue=f(()=>!!U.value?.isFullscreen),We=f(()=>W.value?.currentEventDescription),Ge=ue(Re),Z=ae(f(()=>X.value??``),{sourceRole:q}),Q=f(()=>{let e=L.query.startTs,t=Number(e);return e&&!isNaN(t)?t:void 0}),Ke=f(()=>({locale:F.locale.value,dayNames:I.config.locale?.dayNames,dayNamesShort:I.config.locale?.dayNamesShort,monthNames:I.config.locale?.monthNames,monthNamesShort:I.config.locale?.monthNamesShort})),qe=f(()=>{let e=W.value;return!e?.trimStartMs||!e?.trimEndMs?0:e.trimRecordingDurationMs??e.trimEndMs-e.trimStartMs}),$=f(()=>qe.value<3600*1e3);if(ee(A,{active:Be,regions:Ve}),!G.value){let e=c(()=>Le.isTransitioning,t=>{t||(G.value=!0,e())});setTimeout(()=>{G.value||(G.value=!0,e())},1e3)}function Je(){$.value||(J.value=(J.value+1)%H.length)}function Ye(e){try{U.value?.timelineScroll(e)}catch{}}function Xe(e){W.value?.scrollToEvent(e)}async function Ze(){let e=W.value;if(!e)return;let t=e.trimStartMs,n=e.trimEndMs;if(!t||!n||!X.value)return;let r=Ie.value;if(!r?.nvrExport)return;let i=H[J.value],a=i===`Off`?0:parseInt(i)*60;Y.value=!0;try{let e=await r.nvrExport(X.value,t*1e3,n*1e3,{timelapseIntervalSec:a||void 0});await Se({url:e.url,filename:e.filename})}catch(e){console.error(`Export failed:`,e)}finally{Y.value=!1}}return c(Q,e=>{e&&(Z.mode.value=`play`)},{immediate:!0,flush:`sync`}),c([X,Q],([e,t])=>{!e||!t||He.value!==t&&V.value?.name===B.value&&(He.value=t,Z.play(t*1e3),Ne.replace({query:{...L.query,startTs:void 0}}))},{immediate:!0}),c(B,(e,t)=>{t&&R.value&&ze.value&&g(()=>{g(()=>{try{U.value?.toggleTimeline()}catch{}})})},{flush:`pre`}),c(()=>U.value?.timelineState,e=>{e!==void 0&&(ze.value=e)}),c(()=>U.value?.trimMode,e=>{e||(J.value=0)}),c($,e=>{e&&(J.value=0)}),fe((e,t)=>{e.params.cameraname!==t.params.cameraname&&Z.isActive.value&&Z.stop()}),(e,a)=>{let c=De,ee=ie,d=he,f=ye,g=_e,v=be,C=ge,ae=le,ce=pe,ue=me,w=se,de=ke,fe=Oe,E=Ce,D=Ee,O=Te,A=ve;return S(),t(`div`,{class:m({"pt-2":!x(z),"px-2":!x(z)})},[u(`div`,Ae,[u(`div`,{class:m([`w-full flex flex-col gap-2`,{"h-full":!x(z)}]),style:re({paddingRight:!x(z)&&!x(R)?`calc(${x(Ge).width.value||400}px + 0.5rem)`:`0px`})},[u(`div`,{class:m({"flex max-h-[60%]":!x(z)})},[(S(),p(c,{ref_key:`cameraCardRef`,ref:U,key:x(B),"source-role":x(q),"onUpdate:sourceRole":a[0]||=e=>o(q)?q.value=e:null,"back-button":x(z),"camera-info":x(B),"flat-card":x(z),resizable:x(z),"control-microphone-button":!x(z),"toolbar-timeline-button":x(R),"toolbar-description-button":!!x(Ie),"event-description":x(We),"camera-name-overlay":!1,"show-shortcuts":``,"view-transition":``,class:`flex-1 h-full min-w-0`},null,8,[`source-role`,`back-button`,`camera-info`,`flat-card`,`resizable`,`control-microphone-button`,`toolbar-timeline-button`,`toolbar-description-button`,`event-description`]))],2),x(z)?s(``,!0):(S(),p(ae,{key:0,class:`cui-card flex-1 min-h-0`,pt:{content:{class:`overflow-hidden h-full flex flex-col`},body:{class:`h-full`}}},{content:l(()=>[x(G)?(S(),p(C,{key:1,value:`0`,class:`h-full flex flex-col`},{default:l(()=>[_(f,{class:`shrink-0`},{default:l(()=>[_(d,{value:`0`,class:`pt-0 text-sm`},{default:l(()=>[b(h(e.$t(`views.camera.recordings`)),1)]),_:1}),_(d,{value:`1`,class:`pt-0 text-sm`},{default:l(()=>[b(h(e.$t(`views.camera.cameras`)),1)]),_:1}),(`hasPermission`in e?e.hasPermission:x(k))(void 0,`admin`)?(S(),p(d,{key:0,value:`2`,class:`pt-0 text-sm`},{default:l(()=>[b(h(e.$t(`views.camera.shares`)),1)]),_:1})):s(``,!0)]),_:1}),_(v,{class:`camera-tab-panels px-0 pb-0 flex-1 min-h-0`},{default:l(()=>[_(g,{value:`0`,class:`!overflow-hidden`},{default:l(()=>[x(X)?(S(),p(x(y),{key:0,"camera-id":x(X),"camera-name":x(B),camera:x(V),onScrollToEvent:Xe},null,8,[`camera-id`,`camera-name`,`camera`])):s(``,!0)]),_:1}),_(g,{value:`1`},{default:l(()=>[_(x(T),{"active-camera":x(B)},null,8,[`active-camera`])]),_:1}),(`hasPermission`in e?e.hasPermission:x(k))(void 0,`admin`)?(S(),p(g,{key:0,value:`2`},{default:l(()=>[x(X)?(S(),p(x(M),{key:0,"camera-id":x(X),"camera-name":x(B)},null,8,[`camera-id`,`camera-name`])):s(``,!0)]),_:1})):s(``,!0)]),_:1})]),_:1})):(S(),t(`div`,je,[_(ee,{class:`w-[32px] h-[32px]`,"stroke-width":`4`})]))]),_:1}))],6),x(R)?s(``,!0):r((S(),t(`div`,{key:0,id:`camera-sidebar`,ref_key:`timelineRef`,ref:Re,class:m([`min-w-[400px]`,{"border-t-[1px] border-color":x(z),"lg:fixed lg:right-safe-offset-2 lg:bottom-safe-offset-2":!x(z)&&!x(R)}]),style:re({height:`calc(100% - ${x(Fe)}px - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))`})},null,6)),[[i,!x(Ue)]])]),x(z)&&x(G)?(S(),p(x(N),{key:0,modelValue:x(K),"onUpdate:modelValue":a[1]||=e=>o(K)?K.value=e:null,height:`70vh`,"max-height":`85vh`},{default:l(()=>[(S(),p(C,{key:x(B),value:`0`,class:`h-full flex flex-col`},{default:l(()=>[_(f,{class:`shrink-0 w-full mt-5`},{default:l(()=>[_(d,{value:`0`,class:`pt-0 text-sm flex-1`},{default:l(()=>[b(h(e.$t(`views.camera.recordings`)),1)]),_:1}),_(d,{value:`1`,class:`pt-0 text-sm flex-1`},{default:l(()=>[b(h(e.$t(`views.camera.cameras`)),1)]),_:1}),_(d,{value:`2`,class:`pt-0 text-sm flex-1`},{default:l(()=>[b(h(e.$t(`views.camera.shares`)),1)]),_:1})]),_:1}),_(v,{class:`mobile-sheet-panels px-0 pb-0 flex-1 min-h-0`},{default:l(()=>[_(g,{value:`0`,class:`h-full !overflow-hidden`},{default:l(()=>[x(X)?(S(),p(x(y),{key:0,"camera-id":x(X),"camera-name":x(B),camera:x(V),compact:``,onScrollToEvent:Xe},null,8,[`camera-id`,`camera-name`,`camera`])):s(``,!0)]),_:1}),_(g,{value:`1`,class:`h-full overflow-auto`},{default:l(()=>[_(x(T),{"active-camera":x(B)},null,8,[`active-camera`])]),_:1}),_(g,{value:`2`,class:`h-full overflow-auto`},{default:l(()=>[x(X)?(S(),p(x(M),{key:0,"camera-id":x(X),"camera-name":x(B)},null,8,[`camera-id`,`camera-name`])):s(``,!0)]),_:1})]),_:1})]),_:1}))]),_:1},8,[`modelValue`])):s(``,!0),(S(),p(te,{key:x(B),to:x(R)?`#timeline-container`:`#camera-sidebar`,defer:``},[(S(),p(x(oe),{ref_key:`cuiTimelineRef`,ref:W,key:x(B),"camera-ids":x(X)?[x(X)]:[],loading:!x(G),"flat-card":x(z)||x(R),type:x(R)?`horizontal`:`vertical`,"show-segments":!x(z)&&!x(R),"show-zoom":!0,"initial-timestamp":x(Q),class:m({"absolute bottom-0 left-0 w-full h-[200px]":x(R),"h-full":!x(R)}),"card-class":{"h-[200px]":x(R)},transparent:x(R),"dark-mode":x(R),"overlay-class":x(R)?`timeline-overlay !z-0`:void 0,"locale-settings":x(Ke),"trim-mode":x(U)?.trimMode,"ignore-bottom-safe-area":!x(R),"md-breakpoint":x(Pe),onScrolling:Ye},{"bottom-right":l(()=>[u(`div`,Me,[x(z)?r((S(),p(w,{key:0,rounded:``,severity:`primary`,disabled:x(U)?.micButtonDisabled??!0,class:`shadow-md pointer-events-auto w-12 h-12`,onClick:a[2]||=e=>x(U)?.toggleMicrophone(void 0,!0)},{icon:l(()=>[x(U)?.micActive?(S(),p(ce,{key:0,width:`100%`,height:`100%`})):(S(),p(ue,{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`disabled`])),[[A,{value:e.$t(`components.player.intercom`)},void 0,{left:!0}]]):s(``,!0),x(z)?r((S(),p(w,{key:1,rounded:``,severity:`secondary`,class:`shadow-md pointer-events-auto w-12 h-12`,onClick:a[3]||=e=>K.value=!0},{icon:l(()=>[_(de,{width:`100%`,height:`100%`})]),_:1})),[[A,{value:e.$t(`components.player.more`)},void 0,{left:!0}]]):s(``,!0),x(U)?.trimMode?(S(),t(n,{key:2},[r((S(),p(w,{rounded:``,severity:`secondary`,disabled:x($),label:x(J)>0?H[x(J)]:void 0,class:`shadow-md pointer-events-auto w-12 h-12 !text-xs !font-semibold`,onClick:Je},ne({_:2},[x(J)===0?{name:`icon`,fn:l(()=>[_(fe,{width:`100%`,height:`100%`,class:`opacity-40`})]),key:`0`}:void 0]),1032,[`disabled`,`label`])),[[A,{value:x($)?e.$t(`components.player.timelapse_min_duration`):x(J)>0?`${e.$t(`components.player.timelapse`)}: ${H[x(J)]}`:e.$t(`components.player.timelapse_off`)},void 0,{left:!0}]]),r((S(),p(w,{rounded:``,severity:`success`,loading:x(Y),class:`shadow-md pointer-events-auto w-12 h-12`,onClick:Ze},{icon:l(()=>[_(E,{width:`100%`,height:`100%`})]),_:1},8,[`loading`])),[[A,{value:e.$t(`components.player.export_selection`)},void 0,{left:!0}]])],64)):s(``,!0),x(z)||x(R)?(S(),t(n,{key:3},[r((S(),p(w,{rounded:``,severity:`secondary`,disabled:(x(W)?.zoomLevel??0)>=8,class:`shadow-md pointer-events-auto w-12 h-12`,onClick:a[4]||=e=>x(W)?.zoomIn()},{icon:l(()=>[_(D,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[A,{value:e.$t(`components.form.tooltip.zoom_in`)},void 0,{left:!0}]]),r((S(),p(w,{rounded:``,severity:`secondary`,disabled:(x(W)?.zoomLevel??0)<=0,class:`shadow-md pointer-events-auto w-12 h-12`,onClick:a[5]||=e=>x(W)?.zoomOut()},{icon:l(()=>[_(O,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[A,{value:e.$t(`components.form.tooltip.zoom_out`)},void 0,{left:!0}]])],64)):s(``,!0)])]),_:1},8,[`camera-ids`,`loading`,`flat-card`,`type`,`show-segments`,`initial-timestamp`,`class`,`card-class`,`transparent`,`dark-mode`,`overlay-class`,`locale-settings`,`trim-mode`,`ignore-bottom-safe-area`,`md-breakpoint`]))],8,[`to`]))],2)}}}),[[`__scopeId`,`data-v-af2d723b`]]);export{I as default};
@@ -1 +1 @@
1
- .drag-preview[data-v-a4c67afd]{pointer-events:none!important;z-index:9999!important;opacity:.8!important;will-change:left, top!important;cursor:grabbing!important;border-radius:.75rem!important;transition:none!important;position:fixed!important;overflow:hidden!important;transform:none!important}.view-dnd-card[data-v-82916b84]{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.view-container[data-v-69af4a41]{width:100%;height:100%;transition:padding .2s ease-in-out}.cui-fs-exit[data-v-69af4a41]{top:calc(env(safe-area-inset-top) + 12px);right:calc(env(safe-area-inset-right) + 12px);z-index:2147483647;-webkit-backdrop-filter:blur(8px);opacity:.85;width:40px;height:40px;transition:opacity .15s;position:fixed;color:#fff!important;background:#0000008c!important;border:1px solid #ffffff26!important}.cui-fs-exit[data-v-69af4a41]:hover,.cui-fs-exit[data-v-69af4a41]:focus{opacity:1}.view-box[data-v-69af4a41]{margin-right:-400px;transition:all .2s ease-in-out}.card-expanded[data-v-69af4a41]{animation:.25s ease-out card-expand-69af4a41}@keyframes card-expand-69af4a41{0%{opacity:.8;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.card-collapsing[data-v-69af4a41]{animation:.25s ease-out forwards card-collapse-69af4a41}@keyframes card-collapse-69af4a41{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.grid-stack>.grid-stack-item>.grid-stack-item-content{background:#000;border:2px solid #0000;transition:top .25s,right .25s,bottom .25s,left .25s,border-radius .25s;overflow:hidden}.grid-stack>.grid-stack-placeholder>.placeholder-content{border-radius:8px;background:#df2a4c14!important;border:2px dashed #df2a4c99!important}.grid-stack:not(.grid-stack-static)>.grid-stack-item:not(.ui-resizable-disabled)>.ui-resizable-se{opacity:0;z-index:10;border-radius:0 0 8px;transition:opacity .15s;background:linear-gradient(135deg,#0000 50%,#df2a4c99 50%)!important;width:24px!important;height:24px!important;display:block!important;transform:none!important}.grid-stack:not(.grid-stack-static)>.grid-stack-item:hover>.ui-resizable-se{opacity:1}.grid-stack:not(.grid-stack-static)>.grid-stack-item>.grid-stack-item-content{border:2px solid #0000;border-radius:12px;transition:top .25s,right .25s,bottom .25s,left .25s,border-radius .25s,border-color .15s;animation:.5s ease-out rearrange-border-pulse}@keyframes rearrange-border-pulse{0%{border-color:#0000}35%{border-color:#df2a4cb3}to{border-color:#0000}}.grid-stack:not(.grid-stack-static)>.grid-stack-item:hover>.grid-stack-item-content{border-color:#df2a4c80}.grid-stack>.grid-stack-item.ui-draggable-dragging>.grid-stack-item-content{border-color:#df2a4ccc;box-shadow:0 8px 32px #0006}.view-select-container[data-v-35f7d629]{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.view-select-item[data-v-35f7d629]{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;display:flex}.view-select-item-icon[data-v-35f7d629]{background:var(--border-color);border-radius:10px;transition:box-shadow .2s}.view-select-item-label[data-v-35f7d629]{border-radius:4px;font-size:14px}.view-select-item:hover .view-select-item-icon[data-v-35f7d629],.selected-view[data-v-35f7d629]{box-shadow:inset 0px 0px 0px 1px var(--text-primary-color)}.view-select-item:hover .view-select-item-label[data-v-35f7d629],.selected-view-label[data-v-35f7d629]{background:var(--text-primary-color);transition:background .2s;color:#fff!important}.camview-content-transition[data-v-5629927d]{transition:width .3s ease-out,height .3s ease-out,padding-bottom .3s ease-out}.slide-left-enter-active[data-v-5629927d],.slide-left-leave-active[data-v-5629927d]{transition:transform .3s ease-out,opacity .3s ease-out;position:absolute;top:55px;bottom:0;right:0}.slide-left-enter-from[data-v-5629927d],.slide-left-leave-to[data-v-5629927d]{opacity:0;transform:translate(100%)}.slide-up-enter-active[data-v-5629927d],.slide-up-leave-active[data-v-5629927d]{transition:transform .3s ease-out,opacity .3s ease-out}.slide-up-enter-from[data-v-5629927d],.slide-up-leave-to[data-v-5629927d]{opacity:0;transform:translateY(100%)}.p-divider-vertical[data-v-5629927d]:before{border-inline-start:1px solid #2d2d2d}[data-v-5629927d] .p-speeddial-open .p-speeddial-list{pointer-events:auto}
1
+ .drag-preview[data-v-a4c67afd]{pointer-events:none!important;z-index:9999!important;opacity:.8!important;will-change:left, top!important;cursor:grabbing!important;border-radius:.75rem!important;transition:none!important;position:fixed!important;overflow:hidden!important;transform:none!important}.view-dnd-card[data-v-82916b84]{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.view-container[data-v-69af4a41]{width:100%;height:100%;transition:padding .2s ease-in-out}.cui-fs-exit[data-v-69af4a41]{top:calc(env(safe-area-inset-top) + 12px);right:calc(env(safe-area-inset-right) + 12px);z-index:2147483647;-webkit-backdrop-filter:blur(8px);opacity:.85;width:40px;height:40px;transition:opacity .15s;position:fixed;color:#fff!important;background:#0000008c!important;border:1px solid #ffffff26!important}.cui-fs-exit[data-v-69af4a41]:hover,.cui-fs-exit[data-v-69af4a41]:focus{opacity:1}.view-box[data-v-69af4a41]{margin-right:-400px;transition:all .2s ease-in-out}.card-expanded[data-v-69af4a41]{animation:.25s ease-out card-expand-69af4a41}@keyframes card-expand-69af4a41{0%{opacity:.8;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.card-collapsing[data-v-69af4a41]{animation:.25s ease-out forwards card-collapse-69af4a41}@keyframes card-collapse-69af4a41{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.grid-stack>.grid-stack-item>.grid-stack-item-content{background:#000;border:2px solid #0000;transition:top .25s,right .25s,bottom .25s,left .25s,border-radius .25s;overflow:hidden}.grid-stack>.grid-stack-placeholder>.placeholder-content{border-radius:8px;background:#df2a4c14!important;border:2px dashed #df2a4c99!important}.grid-stack:not(.grid-stack-static)>.grid-stack-item:not(.ui-resizable-disabled)>.ui-resizable-se{opacity:0;z-index:10;border-radius:0 0 8px;transition:opacity .15s;background:linear-gradient(135deg,#0000 50%,#df2a4c99 50%)!important;width:24px!important;height:24px!important;display:block!important;transform:none!important}.grid-stack:not(.grid-stack-static)>.grid-stack-item:hover>.ui-resizable-se{opacity:1}.grid-stack:not(.grid-stack-static)>.grid-stack-item>.grid-stack-item-content{border:2px solid #0000;border-radius:12px;transition:top .25s,right .25s,bottom .25s,left .25s,border-radius .25s,border-color .15s;animation:.5s ease-out rearrange-border-pulse}@keyframes rearrange-border-pulse{0%{border-color:#0000}35%{border-color:#df2a4cb3}to{border-color:#0000}}.grid-stack:not(.grid-stack-static)>.grid-stack-item:hover>.grid-stack-item-content{border-color:#df2a4c80}.grid-stack>.grid-stack-item.ui-draggable-dragging>.grid-stack-item-content{border-color:#df2a4ccc;box-shadow:0 8px 32px #0006}.view-select-container[data-v-35f7d629]{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.view-select-item[data-v-35f7d629]{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;display:flex}.view-select-item-icon[data-v-35f7d629]{background:var(--border-color);border-radius:10px;transition:box-shadow .2s}.view-select-item-label[data-v-35f7d629]{border-radius:4px;font-size:14px}.view-select-item:hover .view-select-item-icon[data-v-35f7d629],.selected-view[data-v-35f7d629]{box-shadow:inset 0px 0px 0px 1px var(--text-primary-color)}.view-select-item:hover .view-select-item-label[data-v-35f7d629],.selected-view-label[data-v-35f7d629]{background:var(--text-primary-color);transition:background .2s;color:#fff!important}.camview-content-transition[data-v-5cecaa2e]{transition:width .3s ease-out,height .3s ease-out,padding-bottom .3s ease-out}.slide-left-enter-active[data-v-5cecaa2e],.slide-left-leave-active[data-v-5cecaa2e]{transition:transform .3s ease-out,opacity .3s ease-out;position:absolute;top:55px;bottom:0;right:0}.slide-left-enter-from[data-v-5cecaa2e],.slide-left-leave-to[data-v-5cecaa2e]{opacity:0;transform:translate(100%)}.slide-up-enter-active[data-v-5cecaa2e],.slide-up-leave-active[data-v-5cecaa2e]{transition:transform .3s ease-out,opacity .3s ease-out}.slide-up-enter-from[data-v-5cecaa2e],.slide-up-leave-to[data-v-5cecaa2e]{opacity:0;transform:translateY(100%)}.p-divider-vertical[data-v-5cecaa2e]:before{border-inline-start:1px solid #2d2d2d}[data-v-5cecaa2e] .p-speeddial-open .p-speeddial-list{pointer-events:auto}
@@ -0,0 +1 @@
1
+ import{S as e,d as t,i as n,y as r}from"./api-BNAa4vCH.js";import{$n as i,$t as a,An as o,C as s,Cn as c,En as l,Gt as u,Hn as d,Ht as f,In as p,Qt as m,Rn as h,Rt as g,Sn as _,T as v,Vn as y,Wt as ee,Xt as b,Yn as x,Yt as S,Zn as C,Zt as w,ar as T,cr as E,dn as D,dr as O,gn as te,hn as ne,in as k,nr as A,on as j,pn as M,rr as re,sr as N,ur as P,w as F,wn as I,yn as L}from"./vendor-CF-D4B9g.js";import{A as ie,Bn as ae,F as R,Ft as z,U as oe,Vn as B,di as se,et as V,xi as ce}from"./vendor-cameraui-tvNekvZ-.js";import{f as le}from"./vendor-core-DinQdIbm.js";import{A as H,C as ue,D as U,E as de,F as fe,M as pe,N as W,O as me,P as he,T as ge,j as _e,k as ve}from"./CuiCameraCard-B3EAanJH.js";import{t as ye}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as be,n as xe,r as Se,t as Ce}from"./useSharedComposables-CTXKSCVm.js";import{n as we}from"./ui-q3Xp2p6M.js";import{t as Te}from"./close-BvciW6Wg.js";import{J as Ee,K as De,R as Oe,U as ke,b as Ae,o as je}from"./vendor-primevue-D0-7UQst.js";import{t as Me}from"./grid-fill-BmsHxwDf.js";import{t as G}from"./CuiCameraSnapshot-BlFnD5rf.js";import{a as K,i as q,n as J,r as Y,t as Ne}from"./vendor-dnd-BuMMZfLh.js";import{n as Pe,t as Fe}from"./CuiMenu-C29qjSSA.js";import{t as Ie}from"./cameras-DsRZnmdZ.js";import{t as Le}from"./useCuiDialog-edZ-0AKr.js";import{a as Re}from"./users.schema-nZK4wXvw.js";import{t as ze}from"./routerState-C_8KP3kD.js";import{n as Be,t as Ve}from"./microphone-Ctgn-sl1.js";import{t as He}from"./check-C8Q3pZRh.js";import{t as Ue}from"./plus-DO_I5Ekc.js";import{t as We}from"./CuiCameraPipCard-Be0PIBkz.js";import{n as Ge,t as Ke}from"./CuiTopNavbarItem-MJr5l6Aq.js";import{t as qe}from"./delete-BzeGTp2V.js";import{t as Je}from"./vendor-gridstack-DD5uGA3X.js";var X={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ye(e,t){return I(),a(`svg`,X,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M7.5 5.6L5 7l1.4-2.5L5 2l2.5 1.4L10 2L8.6 4.5L10 7zm12 9.8L22 14l-1.4 2.5L22 19l-2.5-1.4L17 19l1.4-2.5L17 14zM22 2l-1.4 2.5L22 7l-2.5-1.4L17 7l1.4-2.5L17 2l2.5 1.4zm-8.66 10.78l2.44-2.44l-2.12-2.12l-2.44 2.44zm1.03-5.49l2.34 2.34c.39.37.39 1.02 0 1.41L5.04 22.71c-.39.39-1.04.39-1.41 0l-2.34-2.34c-.39-.37-.39-1.02 0-1.41L12.96 7.29c.39-.39 1.04-.39 1.41 0`},null,-1)]])}var Xe=x({name:`mdi-auto-fix`,render:Ye}),Ze={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Z(e,t){return I(),a(`svg`,Ze,[...t[0]||=[b(`g`,{fill:`none`,"fill-rule":`evenodd`},[b(`path`,{d:`m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z`}),b(`path`,{fill:`currentColor`,d:`M19 11a2 2 0 0 1 1.995 1.85L21 13v6a2 2 0 0 1-1.85 1.995L19 21h-4a2 2 0 0 1-1.995-1.85L13 19v-6a2 2 0 0 1 1.85-1.995L15 11zM9 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2zM9 3a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm10 0a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`})],-1)]])}var Qe=x({name:`mingcute-grid2-fill`,render:Z}),$e={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function et(e,t){return I(),a(`svg`,$e,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M13 6v5h5V7.75L22.25 12L18 16.25V13h-5v5h3.25L12 22.25L7.75 18H11v-5H6v3.25L1.75 12L6 7.75V11h5V6H7.75L12 1.75L16.25 6z`},null,-1)]])}var tt=x({name:`mdi-cursor-move`,render:et}),nt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function rt(e,t){return I(),a(`svg`,nt,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`m8.471 7.237l3.056 12.992c.233.993 1.63 1.04 1.929.065l2.945-9.58l.384 1.527a1 1 0 0 0 .97.756H21a1 1 0 1 0 0-2h-2.466l-1.069-4.241c-.247-.981-1.628-1.017-1.925-.05l-2.912 9.472L9.475 2.771c-.24-1.02-1.688-1.03-1.943-.014l-2.065 8.24H3a1 1 0 0 0 0 2h3.247a1 1 0 0 0 .97-.757z`},null,-1)]])}var it=x({name:`fluent-pulse-24-filled`,render:rt}),Q={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function at(e,t){return I(),a(`svg`,Q,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124m5.393.984a.75.75 0 1 0-1.06 1.06a5.5 5.5 0 0 1 0 7.78a.75.75 0 1 0 1.06 1.06a7 7 0 0 0 0-9.9`},null,-1),b(`path`,{fill:`currentColor`,d:`M10.828 5.172a.75.75 0 1 0-1.06 1.06a2.5 2.5 0 0 1 0 3.536a.75.75 0 1 0 1.06 1.06a4 4 0 0 0 0-5.656`},null,-1)]])}var ot=x({name:`heroicons-speaker-wave-16-solid`,render:at}),st={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function $(e,t){return I(),a(`svg`,st,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124M11.28 5.72a.75.75 0 1 0-1.06 1.06L11.44 8l-1.22 1.22a.75.75 0 1 0 1.06 1.06l1.22-1.22l1.22 1.22a.75.75 0 1 0 1.06-1.06L13.56 8l1.22-1.22a.75.75 0 0 0-1.06-1.06L12.5 6.94z`},null,-1)]])}var ct=x({name:`heroicons-speaker-x-mark-16-solid`,render:$}),lt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ut(e,t){return I(),a(`svg`,lt,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M10.4 13.45h3.2l.6 1.625q.075.2.238.313t.362.112q.35 0 .538-.275t.062-.6l-2.55-6.7q-.075-.2-.237-.312T12.25 7.5h-.5q-.2 0-.363.113t-.237.312L8.625 14.65q-.125.3.05.575t.525.275q.2 0 .363-.112t.237-.313zm.4-1.15L11.95 9h.1l1.15 3.3zM12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12q0-.8.125-1.6T2.5 8.825q.125-.4.513-.537t.737.062q.375.2.538.588t.037.812q-.15.55-.238 1.113T4 12q0 3.35 2.325 5.675T12 20t5.675-2.325T20 12t-2.325-5.675T12 4q-.6 0-1.187.087T9.65 4.35q-.425.125-.8-.025T8.3 3.8t-.013-.762t.563-.513q.75-.275 1.55-.4T12 2q2.075 0 3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22M4.438 6.563Q4 6.125 4 5.5t.438-1.062T5.5 4t1.063.438T7 5.5t-.437 1.063T5.5 7t-1.062-.437M12 12`},null,-1)]])}var dt=x({name:`material-symbols-motion-photos-auto-outline-rounded`,render:ut}),ft={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function pt(e,t){return I(),a(`svg`,ft,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3zm-7 3H3V6h16v7h2V6c0-1.11-.89-2-2-2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11z`},null,-1)]])}var mt=x({name:`mdi-card-plus-outline`,render:pt}),ht={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function gt(e,t){return I(),a(`svg`,ht,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M9 3h2v2H9zm4 0h2v2h-2zM9 7h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2z`},null,-1)]])}var _t=x({name:`mdi-drag-vertical`,render:gt}),vt={class:`text-sm text-muted truncate`},yt=ye(j({__name:`ViewDnDDrag`,props:{camera:{},isDropped:{type:Boolean},canDrag:{type:Boolean}},setup(e){let{camera:t,canDrag:n}=T(e),r=p(`boxRef`),o=A(null),s=i(0),c=i(0),l=i(!1),{x:u,y:d,sourceType:f}=be(),[m,g]=q(()=>({type:`camera-sidebar`,options:{dropEffect:`copy`},item:t.value,canDrag:n.value,collect:e=>({style:{opacity:e.isDragging()?.4:1},isDragging:e.isDragging()})})),_=S(()=>m.value.isDragging),v=S(()=>_.value&&f.value===`touch`);function ee(){o.value&&document.body.contains(o.value)&&document.body.removeChild(o.value),o.value=null}function x(){if(ee(),!r.value)return;let e=r.value.cloneNode(!0),t=r.value.getBoundingClientRect();e.style.width=`${t.width}px`,e.style.height=`${t.height}px`,e.classList.add(`drag-preview`),e.style.position=`fixed`,e.style.left=`${u.value-s.value}px`,e.style.top=`${d.value-c.value}px`,document.body.appendChild(e),o.value=e}function C(){l.value=!1,ee()}function w(){C(),l.value=!0;let e=r.value?.getBoundingClientRect();e&&(s.value=u.value-e.left,c.value=d.value-e.top,x())}function D(){!o.value||!l.value||requestAnimationFrame(()=>{o.value&&(o.value.style.left=`${u.value-s.value}px`,o.value.style.top=`${d.value-c.value}px`)})}return h(v,e=>e?w():C()),h([u,d],()=>D(),{flush:`sync`}),L(()=>C()),(n,i)=>{let o=_t,s=G,c=B;return I(),a(`div`,{ref_key:`boxRef`,ref:r},[b(`div`,{ref:N(g),style:P(N(m).style)},[k(c,{disabled:e.isDropped,fluid:``,severity:`secondary`,class:`cui-rounded-corner dark-mode shadow-sm items-center justify-normal`,style:P({cursor:e.isDropped?`not-allowed`:`grab`})},{default:y(()=>[k(o,{size:`20`,class:`text-muted mr-2`}),k(s,{camera:N(t),width:`110px`,class:E([`cui-rounded-corner shadow-md overflow-hidden`,{"opacity-30":e.isDropped}])},null,8,[`camera`,`class`]),b(`span`,vt,O(N(t).name),1)]),_:1},8,[`disabled`,`style`])],4)],512)}}}),[[`__scopeId`,`data-v-a4c67afd`]]),bt={editMode:!1,rearrangeMode:!1,viewSize:1},xt=Object.fromEntries(Object.entries({1:{cols:1,rows:1},4:{cols:2,rows:2},6:{cols:3,rows:3},7:{cols:4,rows:4},9:{cols:3,rows:3},10:{cols:4,rows:4},12:{cols:6,rows:6},13:{cols:4,rows:4},15:{cols:12,rows:12},16:{cols:4,rows:4},20:{cols:6,rows:6},26:{cols:12,rows:12}}).map(([e,t])=>[e,{cols:t.cols*16,rows:t.rows*16}])),St=e=>e.map(e=>({x:e.x*16,y:e.y*16,w:e.w*16,h:e.h*16})),Ct=Object.fromEntries(Object.entries({1:[{x:0,y:0,w:1,h:1}],4:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1}],6:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1}],7:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],9:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:2,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1},{x:2,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1}],10:[{x:0,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],12:[{x:0,y:0,w:3,h:3},{x:3,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:3,w:1,h:1},{x:4,y:3,w:1,h:1},{x:5,y:3,w:1,h:1},{x:3,y:4,w:1,h:1},{x:4,y:4,w:1,h:1},{x:5,y:4,w:1,h:1},{x:3,y:5,w:1,h:1},{x:4,y:5,w:1,h:1},{x:5,y:5,w:1,h:1}],13:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:0,y:3,w:1,h:1},{x:1,y:3,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],15:[{x:0,y:0,w:6,h:6},{x:6,y:0,w:6,h:6},{x:0,y:6,w:3,h:3},{x:3,y:6,w:3,h:3},{x:0,y:9,w:3,h:3},{x:3,y:9,w:3,h:3},{x:6,y:6,w:2,h:2},{x:8,y:6,w:2,h:2},{x:10,y:6,w:2,h:2},{x:6,y:8,w:2,h:2},{x:8,y:8,w:2,h:2},{x:10,y:8,w:2,h:2},{x:6,y:10,w:2,h:2},{x:8,y:10,w:2,h:2},{x:10,y:10,w:2,h:2}],16:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:0,y:3,w:1,h:1},{x:1,y:3,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],20:[{x:0,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:0,w:1,h:1},{x:4,y:0,w:1,h:1},{x:5,y:0,w:1,h:1},{x:3,y:1,w:1,h:1},{x:4,y:1,w:1,h:1},{x:5,y:1,w:1,h:1},{x:3,y:2,w:1,h:1},{x:4,y:2,w:1,h:1},{x:5,y:2,w:1,h:1},{x:3,y:3,w:1,h:1},{x:4,y:3,w:1,h:1},{x:5,y:3,w:1,h:1},{x:3,y:4,w:1,h:1},{x:4,y:4,w:1,h:1},{x:5,y:4,w:1,h:1},{x:3,y:5,w:1,h:1},{x:4,y:5,w:1,h:1},{x:5,y:5,w:1,h:1}],26:[{x:0,y:0,w:3,h:3},{x:3,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:3,w:3,h:3},{x:6,y:0,w:2,h:2},{x:8,y:0,w:2,h:2},{x:10,y:0,w:2,h:2},{x:6,y:2,w:2,h:2},{x:8,y:2,w:2,h:2},{x:10,y:2,w:2,h:2},{x:6,y:4,w:2,h:2},{x:8,y:4,w:2,h:2},{x:10,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:2,y:6,w:2,h:2},{x:4,y:6,w:2,h:2},{x:0,y:8,w:2,h:2},{x:2,y:8,w:2,h:2},{x:4,y:8,w:2,h:2},{x:0,y:10,w:2,h:2},{x:2,y:10,w:2,h:2},{x:4,y:10,w:2,h:2},{x:6,y:6,w:3,h:3},{x:9,y:6,w:3,h:3},{x:6,y:9,w:3,h:3},{x:9,y:9,w:3,h:3}]}).map(([e,t])=>[e,St(t)])),wt={class:`text-lg font-semibold text-white`},Tt={class:`flex flex-col gap-3 w-full h-full overflow-y-auto`},Et={class:`cui-label`},Dt=j({__name:`ViewDnDSidebar`,props:{cameras:{},droppedCameras:{},title:{}},emits:[`changeViewSize`],setup(e,{emit:t}){let n=e,r=t,{droppedCameras:i}=T(n);function o(e){return i.value.some(t=>t.name===e.name)}return(t,n)=>{let i=B,s=yt;return I(),a(`div`,{class:`sidebar-view-background flex flex-col p-2 border-[1px] border-color gap-2 rounded-xl`,style:P({width:`${N(400)}px`})},[b(`span`,wt,O(e.title),1),b(`div`,Tt,[k(i,{fluid:``,label:`Change grid size`,class:`cui-button-small dark-mode shrink-0 my-4`,onClick:n[0]||=e=>r(`changeViewSize`)}),b(`label`,Et,O(t.$t(`components.view_box.available_streams`)),1),(I(!0),a(u,null,l(e.cameras,(e,t)=>(I(),a(`div`,{key:t},[k(s,{camera:e,"is-dropped":o(e),"can-drag":!o(e)},null,8,[`camera`,`is-dropped`,`can-drag`])]))),128))])],4)}}}),Ot={key:1,class:`w-full h-full bg-[#1a1a1a] flex items-center justify-center`},kt={key:2,class:`w-full h-full bg-[#111]`},At={key:1,class:`w-full h-full flex items-center justify-center`},jt=ye(j({__name:`ViewDnDCard`,props:{camera:{},cameras:{},droppedCameras:{},mode:{},index:{},cameraCardProps:{},cameraCardModels:{},onDrop:{type:Function}},emits:[`drop`,`remove`,`expand`],setup(e,{expose:t,emit:n}){let r=e,i=n,{lgBreakpoint:o}=Ce(),{camera:s,mode:c,cameras:l,droppedCameras:d}=T(r),f=p(`boxRef`),h=p(`containerRef`),g=p(`playerRef`),_=p(`menuRef`),{width:v}=ce(h),[x,C]=Y({accept:`camera-sidebar`,drop:r.onDrop,collect:e=>({isOver:e.isOver(),canDrop:e.canDrop()&&!s.value}),canDrop:()=>c.value===`edit`&&!s.value}),D=S(()=>x.value.canDrop&&x.value.isOver),O=S(()=>c.value===`edit`?D.value?`#171717`:`#202020`:`#000`),te=S(()=>v.value<=200),A=S(()=>l.value.filter(e=>!d.value.some(t=>t.name===e.name))),j=S(()=>A.value.map(e=>({label:e.name,onClick:()=>i(`drop`,e)})));function M(e){g.value?.toggleMute(e)}async function re(e,t){await g.value?.toggleMicrophone(e,t)}function F(e){g.value?.toggleActivityMode(e)}async function L(e){await g.value?.toggleSourceRole(e)}async function ie(e){await g.value?.toggleStreamingMode(e)}function ae(e){g.value?.toggleBbox(e)}function R(e){g.value?.togglePip(e)}return t({togglePlayerMute:M,toggleMicrophone:re,togglePlayerActivityMode:F,togglePlayerSourceRole:L,togglePlayerStreamingMode:ie,togglePlayerBbox:ae,togglePip:R}),(t,n)=>{let r=We,l=Ue,d=Te,p=B,v=G,x=Fe;return I(),a(`div`,{ref_key:`boxRef`,ref:f,class:`view-dnd-card`},[N(c)===`normal`||N(c)===`rearrange`?(I(),a(u,{key:0},[N(s)?(I(),w(r,ne({key:0,ref_key:`playerRef`,ref:g},e.cameraCardProps,{"activity-mode":e.cameraCardModels?.activityMode,"source-role":e.cameraCardModels?.sourceRole,"streaming-mode":e.cameraCardModels?.streamingMode,"camera-info":N(s),class:`w-full h-full`,onExpand:n[0]||=e=>i(`expand`,N(s),e)}),null,16,[`activity-mode`,`source-role`,`streaming-mode`,`camera-info`])):N(c)===`rearrange`?(I(),a(`div`,Ot,[k(l,{class:`w-6 h-6 text-white/20`})])):(I(),a(`div`,kt))],64)):N(c)===`edit`?(I(),a(u,{key:1},[b(`div`,{ref:N(C),style:P({backgroundColor:N(O)}),class:`w-full h-full`},[N(s)?(I(),a(`div`,{key:0,ref_key:`containerRef`,ref:h,class:`w-full h-full flex items-center justify-center relative min-w-0`},[k(p,{class:E([`z-1`,{"cui-icon-lg":N(te),"cui-button-small":!N(te)}]),label:N(te)?void 0:N(s).name,onClick:n[1]||=ee(e=>i(`remove`,N(s)),[`prevent`])},{icon:y(()=>[k(d)]),_:1},8,[`class`,`label`]),k(v,{camera:N(s),class:`absolute w-full h-full top-0 left-0 bg-black/50 opacity-20`},null,8,[`camera`])],512)):N(o)?m(``,!0):(I(),a(`div`,At,[k(p,{text:``,rounded:``,class:`cui-icon-md`,onClick:N(_)?.toggleMenu},{icon:y(()=>[k(l,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])]))],4),k(x,{ref_key:`menuRef`,ref:_,items:N(j),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],64)):m(``,!0)],512)}}}),[[`__scopeId`,`data-v-82916b84`]]),Mt={class:`w-full h-full flex flex-row`},Nt=[`gs-id`,`gs-x`,`gs-y`,`gs-w`,`gs-h`],Pt={class:`grid-stack-item-content`},Ft=ye(j({__name:`CuiCameraViewDnD`,props:M({cameras:{},viewSize:{},cards:{},title:{},editMode:{type:Boolean},rearrangeMode:{type:Boolean},cameraCardProps:{},cameraCardModels:{}},bt),emits:[`drop`,`remove`,`changeViewSize`,`expand`,`rearrange`],setup(e,{expose:t,emit:n}){let r=e,o=n,{isTouch:s}=Se(),{smBreakpoint:c,lgBreakpoint:g}=Ce(),v=D(ie,void 0),{routeFrom:ee,routeTo:x}=le(ze()),{editMode:C,rearrangeMode:O,viewSize:ne,cards:A,cameraCardProps:j}=T(r),M=p(`viewRef`),F=p(`wrapperRef`),ae=p(`gridRef`),R=p(`cardRefs`),oe=i(),se=i(),V=null,{isFullscreen:H,toggle:ue}=z(M,{mode:`scroll`}),U=ce(M),fe=ce(F),pe=S(()=>C.value?`edit`:O.value?`rearrange`:`normal`),W=S(()=>oe.value??se.value),me=S(()=>e=>{let t={...re(j.value)};if(e){let n=ee.value?.includes(`/cameras/${e.name}`)??!1,r=x.value?.includes(`/cameras/${e.name}`)??!1,i=t.viewTransition&&(n||r),a=`/cameras/${e.name}`;v?.isActive.value?t.routerLink=`${a}?startTs=${Math.floor(v.currentTimestamp.value/1e3)}`:t.routerLink=a,t.viewTransition=i}return t}),he=S(()=>(U.height.value-16)*(16/9)),ge=S(()=>A.value.filter(e=>e.lastDroppedCamera).map(e=>e.lastDroppedCamera));function _e(e){let t=A.value[e];if(c.value)return{x:0,y:t?.y??e,w:1,h:1};let n=Ct[ne.value]?.[e];return{x:t?.x??n?.x??0,y:t?.y??n?.y??0,w:t?.colSpan??n?.w??1,h:t?.rowSpan??n?.h??1}}function ve(){if(!V)return;let e=[];for(let t of V.getGridItems()){let n=t.gridstackNode;if(!n)continue;let r=parseInt(n.id),i=A.value[r];i?.lastDroppedCamera&&e.push({index:r,cameraId:i.lastDroppedCamera._id,colSpan:n.w,rowSpan:n.h,x:n.x,y:n.y})}o(`rearrange`,e)}function ye(){ve()}function be(){if(!ae.value)return;let e=xt[ne.value];if(!e)return;let t=c.value,n=t?1:e.cols,r=t?A.value.length:e.rows,i=F.value?.clientWidth??0,a=t?i*9/16:i>0?i*9/16/e.rows:60,o=pe.value===`rearrange`;V=Je.init({column:n,minRow:r,cellHeight:a,margin:o?3:1,float:!1,animate:!1,staticGrid:!o,resizable:t?{handles:``}:{handles:`se`},disableResize:t,alwaysShowResizeHandle:!t},ae.value),V.on(`change`,ye),requestAnimationFrame(()=>V?.setAnimation(!0))}function xe(){V&&=(V.offAll(),V.destroy(!1),null)}function we(e,t,n){n?oe.value=t:(se.value=t,oe.value=void 0,setTimeout(()=>{se.value=void 0},250)),o(`expand`,e,n)}async function Te(){await ue()}function Ee(e){for(let t of R.value||[])t.togglePlayerMute(e)}async function De(e,t){await Promise.allSettled((R.value||[]).map(n=>n.toggleMicrophone(e,t)))}function Oe(e){for(let t of R.value||[])t.togglePlayerActivityMode(e)}async function ke(e){await Promise.allSettled((R.value||[]).map(t=>t.togglePlayerSourceRole(e)))}async function Ae(e){await Promise.allSettled((R.value||[]).map(t=>t.togglePlayerStreamingMode(e)))}function je(e){for(let t of R.value||[])t.togglePlayerBbox(e)}function Me(e){for(let t of R.value||[])t.togglePip(e)}function G(){V&&(V.compact(),ve())}function q(){if(!V)return;let e=xt[ne.value];if(!e)return;let t=e.cols,n=[];for(let e of V.getGridItems()){let t=e.gridstackNode;if(!t)continue;let r=parseInt(t.id),[i,a]=((A.value[r]?.lastDroppedCamera)?.interfaceSettings?.aspectRatio||`16:9`).split(`:`).map(Number);n.push({idx:r,el:e,cellRatio:i/a*(9/16)})}if(!n.length)return;let r=new Map,i=0,a=0;for(;a<n.length;){let e=[],o=0;for(;a<n.length;){let r=n[a],i=16*r.cellRatio;if(o+i>t&&e.length>0)break;e.push(r),o+=i,a++}let s=t/o,c=Math.max(1,Math.round(16*s)),l=0;for(let n=0;n<e.length;n++){let a=e[n],o=n===e.length-1?t-l:Math.max(1,Math.round(16*a.cellRatio*s));r.set(a.idx,{x:l,y:i,w:o,h:c}),l+=o}i+=c}V.batchUpdate();for(let[e,t]of r){let r=n.find(t=>t.idx===e);r&&V.update(r.el,t)}V.batchUpdate(!1),ve()}return h([ne,()=>A.value.length,c],()=>{xe(),te(()=>be())},{immediate:!1}),h(pe,e=>{if(!V)return;let t=e===`rearrange`;V.setStatic(!t),V.margin(t?3:1)}),h(()=>fe.width.value,e=>{if(!(!V||e<=0)){if(V.setAnimation(!1),c.value)V.cellHeight(e*9/16);else{let t=xt[ne.value]?.rows??1;V.cellHeight(e*9/16/t)}requestAnimationFrame(()=>V?.setAnimation(!0))}}),_(()=>{te(()=>be())}),L(()=>{xe()}),t({toggleFullscreen:Te,toggleAllPlayerMute:Ee,toggleAllPlayerMicrophone:De,toggleAllPlayerActivityMode:Oe,toggleAllPlayerSourceRole:ke,toggleAllPlayerStreamingMode:Ae,toggleAllPlayerBbox:je,toggleAllPip:Me,compactGrid:G,fitAspectRatios:q,isFullscreen:H}),(t,n)=>{let r=de,i=B,p=jt,h=Dt;return I(),w(N(K),{backend:N(s)?N(Ne):N(J)},{default:y(()=>[b(`div`,Mt,[b(`div`,{ref_key:`viewRef`,ref:M,class:E([`view-container w-full flex flex-col min-w-0 overflow-y-auto items-center`,{"px-2":N(C)&&N(g)}])},[N(H)?(I(),w(i,{key:0,severity:`secondary`,rounded:``,class:`cui-fs-exit`,"aria-label":t.$t(`components.form.tooltip.fullscreen_off`),onClick:N(ue)},{icon:y(()=>[k(r,{class:`w-5 h-5`})]),_:1},8,[`aria-label`,`onClick`])):m(``,!0),N(W)===void 0?m(``,!0):(I(),a(`div`,{key:1,class:`w-full aspect-video relative my-auto`,style:P({maxWidth:`${N(he)}px`})},[k(p,{ref:`fsCardRef`,class:E([`w-full h-full`,{"card-expanded":N(oe)!==void 0,"card-collapsing":N(se)!==void 0}]),camera:N(A)[N(W)]?.lastDroppedCamera,cameras:e.cameras,"dropped-cameras":N(ge),mode:`normal`,index:N(W),"camera-card-props":{...N(me)(N(A)[N(W)]?.lastDroppedCamera),expanded:!0},"camera-card-models":e.cameraCardModels,onExpand:n[0]||=(e,t)=>we(e,N(W),t)},null,8,[`class`,`camera`,`cameras`,`dropped-cameras`,`index`,`camera-card-props`,`camera-card-models`])],4)),d(b(`div`,{ref_key:`wrapperRef`,ref:F,class:E([`w-full relative my-auto`,N(c)?`h-auto`:`aspect-video`]),style:P(N(c)?void 0:{maxWidth:`${N(he)}px`})},[b(`div`,{ref_key:`gridRef`,ref:ae,class:`grid-stack w-full h-full`},[(I(!0),a(u,null,l(N(A),(t,r)=>(I(),a(`div`,{key:r,class:`grid-stack-item`,"gs-id":String(r),"gs-x":_e(r).x,"gs-y":_e(r).y,"gs-w":_e(r).w,"gs-h":_e(r).h},[b(`div`,Pt,[k(p,{ref_for:!0,ref_key:`cardRefs`,ref:R,camera:t.lastDroppedCamera,cameras:e.cameras,"dropped-cameras":N(ge),mode:N(pe),index:r,"camera-card-props":{...N(me)(t.lastDroppedCamera),expanded:N(W)===r},"camera-card-models":e.cameraCardModels,"on-drop":e=>o(`drop`,r,e),onExpand:(e,t)=>we(e,r,t),onDrop:e=>o(`drop`,r,e),onRemove:n[1]||=e=>o(`remove`,e)},null,8,[`camera`,`cameras`,`dropped-cameras`,`mode`,`index`,`camera-card-props`,`camera-card-models`,`on-drop`,`onExpand`,`onDrop`])])],8,Nt))),128))],512)],6),[[f,N(W)===void 0]])],2),N(C)&&N(g)?(I(),w(h,{key:0,cameras:e.cameras,"dropped-cameras":N(ge),title:e.title,class:`view-box shadow-xl`,style:P({"margin-right":N(C)?`0px`:`-${N(400)}px`}),onChangeViewSize:n[2]||=e=>o(`changeViewSize`)},null,8,[`cameras`,`dropped-cameras`,`title`,`style`])):m(``,!0)])]),_:1},8,[`backend`])}}}),[[`__scopeId`,`data-v-69af4a41`]]),It={class:`flex flex-col gap-3`},Lt={class:`text-wrap`},Rt={class:`w-full h-full flex items-center justify-center relative`},zt=j({__name:`AudioVisualizer`,emits:[`listening`],setup(t,{expose:n,emit:r}){let o=r,s=e(),l=D(`dialogRefProps`),u=p(`canvasRef`),d=A(),f=A(),m=i(!1),h=S(()=>!!l.loading?.value);async function g(){if(m.value)v();else try{d.value&&v();let e;try{e=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){s.add({severity:`warn`,detail:`Can not enable AudioVisualizer, see console.`,life:3e3}),console.warn(`Can not enable AudioVisualizer`,e);return}m.value=!0,o(`listening`,!0),d.value=new AudioContext;let t=d.value.createAnalyser();t.fftSize=1024,f.value=e.getTracks(),d.value.createMediaStreamSource(e).connect(t);let n,r=u.value?.getContext(`2d`),i=()=>{if(u.value&&r){let e=[],a=[];r.clearRect(0,0,u.value.width,u.value.height),requestAnimationFrame(i);let o=t.frequencyBinCount,s=new Uint8Array(o);t.getByteFrequencyData(s),e.push(s);for(let t=0;t<e[0].length;t++)a.push(0),e.forEach(e=>{a[t]+=e[t]});let c=u.value.width/2,l=u.value.height/2;r.beginPath(),r.arc(c,l,30,0,2*Math.PI),r.lineWidth=1,r.stroke(),r.closePath();for(let e=0;e<90;e++){n=a[e]*.4;let t=Math.PI*2/90;_(r,c+Math.cos(t*e)*30,l+Math.sin(t*e)*30,c+Math.cos(t*e)*(30+n),l+Math.sin(t*e)*(30+n),3)}m.value||r.clearRect(0,0,u.value.width,u.value.height)}};i()}catch(e){v(),console.error(e)}}function _(e,t,n,r,i,a){let o=e.createLinearGradient(t,n,r,i);o.addColorStop(0,`#5b040f`),o.addColorStop(.5,`#b50b21`),o.addColorStop(.9,`#df2a4c`),o.addColorStop(1,`#df6380`),e.lineWidth=a,e.strokeStyle=o,e.beginPath(),e.moveTo(t,n),e.lineTo(r,i),e.stroke(),e.closePath()}function v(){d.value?.close(),d.value=void 0,f.value?.forEach(e=>e.stop()),f.value=void 0,m.value=!1,o(`listening`,!1)}return c(()=>{v()}),n({isLoading:h}),(e,t)=>{let n=Ve,r=B;return I(),a(`div`,It,[b(`span`,Lt,O(e.$t(`components.dialog.message.intercom_info`)),1),b(`div`,Rt,[k(r,{rounded:``,class:`w-[60px] h-[60px] absolute z-1`,onClick:g},{icon:y(()=>[k(n,{width:`100%`,height:`100%`})]),_:1}),b(`canvas`,{ref_key:`canvasRef`,ref:u,height:`300`,width:`300`},null,512)])])}}}),Bt=[`fill`],Vt=j({__name:`CuiCameraGridIcon1`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm0 8h952v532H9V9Z`},null,-1)]],8,Bt))}}),Ht=[`fill`],Ut=j({__name:`CuiCameraGridIcon10`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm726 275h226v130H735V276Zm-242 0h234v130H493V276Zm0 265V414h234v127H493ZM9 541V276h476v265H9Zm726 0V414h226v127H735ZM961 9v121H735V9h226ZM735 138h226v130H735V138ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Z`},null,-1)]],8,Ht))}}),Wt=[`fill`],Gt=j({__name:`CuiCameraGridIcon12`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 275v129H810.5V276H961Zm-158.5 0v129h-152V276h152Zm-152 265V413h152v128h-152Zm-8-265v129H493V276h149.5ZM493 541V413h149.5v128H493ZM9 276h476v265H9V276Zm801.5 265V413H961v128H810.5ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z`},null,-1)]],8,Wt))}}),Kt=[`fill`],qt=j({__name:`CuiCameraGridIcon13`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-273.5H485v129.5H250.5V276Zm-8 0v129.5H9V276h233.5ZM961 9v121H735V9h226ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Zm250 129h226v130H735V138Zm0 267.5V276h226v129.5H735ZM493 276h234v129.5H493V276Zm0 265V413.5h234V541H493Zm-242.5 0V413.5H485V541H250.5ZM9 541V413.5h233.5V541H9Zm726 0V413.5h226V541H735Z`},null,-1)]],8,Kt))}}),Jt=[`fill`],Yt=j({__name:`CuiCameraGridIcon15`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-144V276H485v129.5H250.5Zm-8-129.5v129.5H9V276h233.5Zm570 90H961v82H812.5v-82Zm-160 0h152v82h-152v-82ZM961 276v82H812.5v-82H961Zm-308.5 0h152v82h-152v-82Zm0 180h152v85h-152v-85ZM961 541H812.5v-85H961v85Zm-316.5-93H493v-82h151.5v82Zm0-172v82H493v-82h151.5Zm0 180v85H493v-85h151.5ZM485 413.5V541H250.5V413.5H485Zm-242.5 0V541H9V413.5h233.5ZM961 9v259H493V9h468ZM9 9h476v259H9V9Z`},null,-1)]],8,Jt))}}),Xt=[`fill`],Zt=j({__name:`CuiCameraGridIcon16`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v121.5H732.5V9H961ZM724.5 9v121.5H493V9h231.5ZM493 268V138.5h231.5V268H493Zm0 137.5V276h231.5v129.5H493Zm468 0H732.5V276H961v129.5ZM493 541V413.5h231.5V541H493Zm468 0H732.5V413.5H961V541Zm0-273H732.5V138.5H961V268ZM485 9v121.5H250.5V9H485ZM250.5 138.5H485V268H250.5V138.5ZM242.5 9v121.5H9V9h233.5ZM9 138.5h233.5V268H9V138.5ZM250.5 276H485v129.5H250.5V276Zm0 137.5H485V541H250.5V413.5Zm-8-137.5v129.5H9V276h233.5ZM9 541V413.5h233.5V541H9Z`},null,-1)]],8,Xt))}}),Qt=[`fill`],$t=j({__name:`CuiCameraGridIcon20`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 94v82H812.5V95H961Zm-156.5 82h-152V95h152v82ZM961 9v78H812.5V9H961ZM652.5 9h152v78h-152V9Zm0 176h152v83h-152v-83ZM961 268H812.5v-83H961v83Zm-308.5 8h152v82h-152v-82Zm160 0H961v82H812.5v-82Zm-168-181v82H493V95h151.5Zm0-86v78H493V9h151.5ZM493 268v-83h151.5v83H493Zm0 90v-82h151.5v82H493ZM9 9h476v259H9V9Zm952 357v82H812.5v-82H961Zm-156.5 0v82h-152v-82h152Zm-152 90h152v85h-152v-85ZM961 541H812.5v-85H961v85ZM644.5 366v82H493v-82h151.5ZM493 541v-85h151.5v85H493ZM9 276h476v265H9V276Z`},null,-1)]],8,Qt))}}),en=[`fill`],tn=j({__name:`CuiCameraGridIcon26`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{"fill-rule":`evenodd`,d:`M1.5 9A7.5 7.5 0 0 1 9 1.5h952a7.5 7.5 0 0 1 7.5 7.5v532a7.5 7.5 0 0 1-7.5 7.5H9a7.5 7.5 0 0 1-7.5-7.5V9Zm960 168V94h-153v83h153Zm-160 0h-153V94h153v83Zm7-90h153V9a.5.5 0 0 0-.5-.5H808.5V87Zm-7-78.5V87h-153V8.5h153Zm0 175.5v84.5h-153V184h153Zm7 84.5V184h153v84.5h-153Zm-167-91.5V94h-149v83h149Zm0-90V8.5h-149V87h149Zm-149 97h149v84.5h-149V184Zm0 91.5H719V402H492.5V275.5Zm0 133.5v132.5H719V409H492.5Zm233.5 0v132.5h235a.5.5 0 0 0 .5-.5V409H726Zm235.5-7V275.5H726V402h235.5Zm-476-270V8.5H252V132h233.5ZM245 139H8.5v129.5H245V139Zm0-7V8.5H9a.5.5 0 0 0-.5.5v123H245Zm240.5 136.5V139H252v129.5h233.5Zm-477 7h157v81H8.5v-81Zm164 81v-81h153v81h-153Zm153 7h-153v83h153v-83Zm7 83v-83h153v83h-153Zm-7 7h-153v88h153v-88Zm7 88v-88h153v88h-153Zm0-185v-81h153v81h-153Zm-324 7h157v83H8.5v-83Zm0 90h157v88H9a.5.5 0 0 1-.5-.5v-87.5Z`},null,-1)]],8,en))}}),nn=[`fill`],rn=j({__name:`CuiCameraGridIcon4`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v259H493V9h468ZM493 541V276h468v265H493ZM485 9v259H9V9h476ZM9 541V276h476v265H9Z`},null,-1)]],8,nn))}}),an=[`fill`],on=j({__name:`CuiCameraGridIcon6`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm641.5 187.5H961v171H650.5v-171ZM961 9v171.5H650.5V9H961ZM642.5 9v350.5H9V9h633.5ZM9 541V367.5h315.5V541H9Zm323.5-173.5h310V541h-310V367.5Zm318 0H961V541H650.5V367.5Z`},null,-1)]],8,an))}}),sn=[`fill`],cn=j({__name:`CuiCameraGridIcon7`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm725.5 275H961v130H734.5V276Zm0 265V414H961v127H734.5Zm-8-265v130H493V276h233.5ZM493 541V414h233.5v127H493ZM9 276h476v265H9V276ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z`},null,-1)]],8,sn))}}),ln=[`fill`],un=j({__name:`CuiCameraGridIcon9`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=T(e);return(e,n)=>(I(),a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:N(t)},[...n[0]||=[b(`path`,{d:`M969.5 359v-.5h-.5V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V366.5h.5V359ZM961 187v171.5H651V187h310ZM651 541V366.5h310V541H651Zm-8-354v171.5H330V187h313ZM330 541V366.5h313V541H330Zm-8-354v171.5H9V187h313ZM9 541V366.5h313V541H9ZM961 9v170H651V9h310ZM643 9v170H330V9h313ZM322 9v170H9V9h313Z`},null,-1)]],8,ln))}}),dn={for:`name`,class:`cui-label`},fn={key:0,class:`flex flex-col gap-6 justify-center`},pn={key:0,class:`text-red-500 text-center mb-5`},mn={class:`md:max-h-[350px] overflow-y-auto`},hn={class:`block cui-label mb-3`},gn={key:1,class:`flex flex-col gap-6 justify-center`},_n={key:0,class:`text-red-500 text-center mb-5`},vn={class:`md:max-h-[450px] overflow-y-auto`},yn={class:`block cui-label mb-3`},bn={class:`view-select-container`},xn=[`onClick`],Sn=ye(j({__name:`CamviewForm`,props:{form:{},type:{},cameras:{},views:{}},setup(c,{expose:d}){let f=new r,ee=c,x=e(),{t:C}=se(),te=D(`dialogRefProps`),{user:A}=le(t()),{mutateAsync:j,isPending:M}=f.createViewQuery(),{mutateAsync:re,isPending:P}=f.patchViewQuery(),{form:L,type:ie,cameras:ae,views:R}=T(ee),z=p(`formRef`),oe=i([1,4,6,7,9,10,12,13,15,16,20,26]),B=i(!0),ce=i(!0),H=i([]),ue=i(!1),U=i(L.value?n(L.value):{}),de=S(()=>!!(te.loading?.value||M.value||P.value));function fe(e){let t=H.value.findIndex(t=>t.name===e.name);t===-1?H.value.push(e):H.value.splice(t,1)}function pe(e){switch(e){case 1:return Vt;case 4:return rn;case 6:return on;case 7:return cn;case 9:return un;case 10:return Ut;case 12:return Gt;case 13:return qt;case 15:return Yt;case 16:return Zt;case 20:return $t;case 26:return tn;default:return Vt}}async function W(){if(!z.value||!A.value)return;let e=R.value.find(e=>e.name===U.value.name);if(e&&!ue.value)return console.log(`View already exists`,e),x.add({severity:`error`,detail:C(`components.toast.validation_failed`),life:3e3}),null;if(ie.value===`dnd`){if(ce.value)return console.log(`No cameras selected`),x.add({severity:`error`,detail:C(`components.toast.validation_failed`),life:3e3}),null;let e=H.value.map((e,t)=>({cameraId:e._id,index:t}));U.value.cameras=e,U.value.type=`dnd`,U.value.viewSize=1,z.value.setFieldValue(`type`,`dnd`),z.value.setFieldValue(`viewSize`,1),z.value.setFieldValue(`cameras`,e);let t=await z.value.validate();return t?.valid?ue.value?await re({username:A.value.username,viewid:U.value._id,viewData:U.value}):await j({username:A.value.username,viewData:U.value}):(console.log(`Validation failed`,t),x.add({severity:`error`,detail:C(`components.toast.validation_failed`),life:3e3}),null)}else{if(B.value)return console.log(`No view selected`),x.add({severity:`error`,detail:C(`components.toast.validation_failed`),life:3e3}),null;U.value.cameras=[],U.value.type=`view`,z.value.setFieldValue(`type`,`view`),z.value.setFieldValue(`cameras`,[]);let e=await z.value.validate();return e?.valid?n(U.value):(console.log(`Validation failed`,e),x.add({severity:`error`,detail:C(`components.toast.validation_failed`),life:3e3}),null)}}return h(U,e=>{for(let[t,n]of Object.entries(e))z.value?.setFieldValue(t,n);e.viewSize&&(B.value=!1),e.cameras?.length&&(ce.value=!1)},{deep:!0,immediate:!0}),h(H,e=>{ce.value=e.length===0},{deep:!0}),_(()=>{H.value=ae.value?.filter(e=>U.value?.cameras?.some(t=>t.cameraId===e._id))||[],ue.value=Object.keys(U.value).length>0}),d({isLoading:de,onConfirm:W}),(e,t)=>{let n=V,r=Oe,i=ke,c=De,d=Pe;return I(),w(N(v),{ref_key:`formRef`,ref:z,class:`flex flex-col gap-6`,"validation-schema":N(Re),"initial-values":N(U)},{default:y(()=>[k(N(F),{modelValue:N(U).name,"onUpdate:modelValue":t[0]||=e=>N(U).name=e,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:y(({field:t,errors:i})=>[b(`label`,dn,O(e.$t(`components.form.label.name`)),1),k(r,null,{default:y(()=>[k(n,ne(t,{invalid:i.length>0,loading:N(de),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),k(g,{name:`fade`},{default:y(()=>[k(N(s),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),k(i,{class:`m-0 py-3`}),N(ie)===`dnd`?(I(),a(`div`,fn,[k(g,{name:`fade`},{default:y(()=>[N(ce)?(I(),a(`span`,pn,O(e.$t(`components.form.error.no_cameras_selected`)),1)):m(``,!0)]),_:1}),b(`div`,mn,[b(`label`,hn,O(e.$t(`components.form.label.cameras`)),1),(I(!0),a(u,null,l(N(ae),(e,t)=>(I(),a(`div`,{key:t,class:`cui-list-item`},[k(d,{class:`h-14`,active:N(H).some(t=>t.name===e.name),onClick:t=>fe(e)},{append:y(()=>[k(c,{"model-value":N(H).some(t=>t.name===e.name),"onUpdate:modelValue":t=>fe(e)},null,8,[`model-value`,`onUpdate:modelValue`])]),default:y(()=>[b(`span`,null,O(e.name),1)]),_:2},1032,[`active`,`onClick`])]))),128))])])):(I(),a(`div`,gn,[k(g,{name:`fade`},{default:y(()=>[N(B)?(I(),a(`span`,_n,O(e.$t(`components.form.error.no_view_selected`)),1)):m(``,!0)]),_:1}),b(`div`,vn,[b(`label`,yn,O(e.$t(`components.form.label.views`)),1),b(`div`,bn,[(I(!0),a(u,null,l(N(oe),t=>(I(),a(`div`,{key:t,class:`view-select-item w-full`,onClick:e=>N(U).viewSize=t},[b(`div`,{class:E([`view-select-item-icon w-full p-3`,{"selected-view":N(U).viewSize===t}])},[(I(),w(o(pe(t)),{style:{width:`100%`,height:`100%`}}))],2),b(`span`,{class:E([`view-select-item-label text-muted mt-3 px-2 py-1 cui-rounded-corners`,{"selected-view-label":N(U).viewSize===t}])},O(t)+` `+O(e.$t(`views.camview.cameras`)),3)],8,xn))),128))])])]))]),_:1},8,[`validation-schema`,`initial-values`])}}}),[[`__scopeId`,`data-v-35f7d629`]]),Cn={class:`h-full w-full dark-mode relative`},wn={key:0,class:`flex flex-col w-full h-full items-center justify-center`},Tn={key:1,class:`flex flex-col w-full h-full`},En={class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},Dn={class:`text-muted text-sm`},On={class:`relative w-6 h-6`},kn=ye(j({__name:`Camview`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(e){let s=new r,c=new Ie,l=e,u=se(),{t:f}=u,_=Ae(),v=Le(),{bottombarHeight:ee}=xe(),{smBreakpoint:x,lgBreakpoint:D,mdBreakpoint:te}=Ce(),{user:A}=le(t()),{uiSettings:j}=le(we()),{data:M,isLoading:re}=c.getCamerasQuery({page:1,pageSize:-1}),{data:F,isLoading:L}=s.getViewsQuery(A.value?.username??``,{page:1,pageSize:-1}),{mutate:ie,isPending:z}=s.removeViewQuery(),{mutateAsync:V,isPending:ce}=s.createViewQuery(),{mutateAsync:ye,isPending:be}=s.patchViewQuery(),{navbarWidth:Se,navbarLeft:Te}=T(l),De=p(`menuRef`),Oe=p(`newViewMenuRef`),G=p(`viewDndRef`),K=i({}),q=i(!1),J=i(!1),Y=i(!1),Ne=i(!1),Pe=i(!1),Re=i(!1),ze=i(!0),Ve=i(`always-on`),We=i(`low-resolution`),Je=i(`webrtc`),X=i([]),Ye=i({}),Ze=C({sourceRole:We.value,activityMode:Ve.value,streamingMode:Je.value}),Z=S(()=>re.value||L.value||z.value||ce.value||be.value),$e=S(()=>Se.value+Te.value),et=S(()=>({locale:u.locale.value,dayNames:_.config.locale?.dayNames,dayNamesShort:_.config.locale?.dayNamesShort,monthNames:_.config.locale?.monthNames,monthNamesShort:_.config.locale?.monthNamesShort})),nt=S(()=>({doubleClickZoom:!1,flatCard:!0,cameraNameOverlay:!0,control:!0,toolbar:!1,expandableCard:($.value?.cameras?.length??0)>1,detectionIndicatorOverlay:!0,boundingBoxOverlay:!1,cardClickAction:`expand`,viewTransition:!0,cardProps:{pt:{root:{style:`background: #000`}}}})),rt=S(()=>F.value?.result.length?D.value?{width:Pe.value?`calc(100% - 400px)`:`100%`,height:`100%`,overflowY:`scroll`}:{height:`100%`,paddingBottom:Pe.value?ee.value>0?`200px`:`192px`:`0px`,overflowY:`scroll`}:{width:`100%`,height:`100%`,overflowY:`scroll`}),Q=S(()=>q.value||J.value),at=S(()=>!!G.value?.isFullscreen),st=S(()=>[{label:at.value?f(`components.form.tooltip.fullscreen_off`):f(`components.form.tooltip.fullscreen_on`),icon:at.value?de:ge,command:Tt},{label:ze.value?f(`components.form.tooltip.unmute`):f(`components.form.tooltip.mute`),icon:ze.value?ct:ot,command:Et},{label:f(`components.form.tooltip.intercom`),icon:ue,command:()=>ht(`intercom`)},{label:Je.value===`auto`?`${f(`components.form.tooltip.mode`)}: ${f(`components.form.tooltip.streaming_mode_auto`)}`:Je.value===`webrtc`?`${f(`components.form.tooltip.mode`)}: ${f(`components.form.tooltip.streaming_mode_webrtc`)}`:`${f(`components.form.tooltip.mode`)}: ${f(`components.form.tooltip.streaming_mode_mse`)}`,icon:Je.value===`auto`?dt:Je.value===`webrtc`?_e:H,command:()=>kt()},{label:Ve.value===`always-on`?f(`components.form.tooltip.activity_mode_always_on`):Ve.value===`standby`?f(`components.form.tooltip.activity_mode_standby`):f(`components.form.tooltip.activity_mode_activity`),icon:Ve.value===`always-on`?pe:Ve.value===`standby`?W:it,command:()=>Dt()},{label:We.value===`low-resolution`?`${f(`components.form.tooltip.resolution`)}: ${f(`components.form.tooltip.source_role_low`)}`:We.value===`mid-resolution`?`${f(`components.form.tooltip.resolution`)}: ${f(`components.form.tooltip.source_role_mid`)}`:`${f(`components.form.tooltip.resolution`)}: ${f(`components.form.tooltip.source_role_high`)}`,icon:We.value===`low-resolution`?U:We.value===`mid-resolution`?me:ve,command:()=>Ot()}]),$=S(()=>{let e=F.value?.result.find(e=>e._id===j.value.camview.viewid)||F.value?.result[0];return e?(K.value=e,j.value.camview.viewid=e._id):K.value={},e}),lt=S(()=>$.value?.cameras?.map(e=>e.cameraId)??[]);R(lt,{sourceRole:`low`});let ut=S(()=>Q.value&&K.value.viewSize>0?K.value.viewSize:$.value?$.value.viewSize:1),ft=S(()=>{let e=[];for(let t of F.value?.result||[])e.push({label:t.name,active:t._id===$.value?._id,onClick:()=>gt(t)});return e}),pt=S(()=>[{label:f(`views.camview.new_view`),icon:mt,onClick:()=>ht(`newView`)}]);function ht(e){switch(e){case`newView`:case`editView`:{let t=e===`editView`,n=f(t?`components.dialog.title.edit_view`:`components.dialog.title.new_view`);t?q.value=!0:J.value=!0,v.openComponentDialog(Sn,{data:{title:n,loading:Z,confirmText:f(`components.form.button.next`),contentProps:{form:t?K.value:void 0,type:`view`,cameras:M.value?.result||[],views:F.value?.result||[]}},onConfirm:e=>{e&&(K.value=e)},onCancel:()=>{J.value=!1}});break}case`intercom`:v.openComponentDialog(zt,{data:{title:f(`components.dialog.title.intercom`),hideConfirmButton:!0,loading:Z,contentProps:{}},events:{listening:At}});break;case`removeView`:v.openTextDialog({data:{title:f(`components.dialog.title.confirm`),confirmText:f(`components.form.button.remove`),contentText:f(`components.dialog.message.confirm_remove_layout`),confirmButtonProps:{severity:`danger`}},onConfirm:_t});break}}function gt(e){j.value.camview.viewid=e._id}function _t(){!$.value||!A.value||ie({username:A.value.username,viewid:$.value._id},{onSuccess:e=>{e.length?j.value.camview.viewid=e[0]._id:j.value.camview.viewid=void 0}})}async function vt(){if(!A.value||Object.keys(K.value).length===0)return;let e=X.value.filter(e=>e.lastDroppedCamera).map(e=>({cameraId:e.lastDroppedCamera._id,index:e.index,colSpan:e.colSpan,rowSpan:e.rowSpan})).sort((e,t)=>e.index-t.index);if(!e.length)return;let t=n(K.value);t.cameras=e,t._id?wt(await ye({username:A.value.username,viewid:t._id,viewData:t})):wt(await V({username:A.value.username,viewData:t}))}function yt(e,t){X.value[e].lastDroppedCamera=t}function bt(e){X.value=X.value.map(t=>(t.lastDroppedCamera?.name===e.name&&(t.lastDroppedCamera=void 0),t))}function xt(e){return`${x.value?`mobile`:`desktop`}:${e}`}function St(e){let t=$.value?._id;t&&(j.value.camview.layouts||(j.value.camview.layouts={}),j.value.camview.layouts[xt(t)]=e.map(e=>({index:e.index,cameraId:e.cameraId,x:e.x??0,y:e.y??0,w:e.colSpan??1,h:e.rowSpan??1})))}function Ct(e,t){Ye.value[e._id]=t}function wt(e){j.value.camview.viewid=e._id,J.value=!1,q.value=!1}function Tt(){G.value?.toggleFullscreen()}function Et(){ze.value=!ze.value,G.value?.toggleAllPlayerMute(ze.value)}function Dt(e){let t=Ve.value;t=e||(t===`always-on`?`standby`:t===`standby`?`activity`:`always-on`),G.value?.toggleAllPlayerActivityMode(t),Ve.value=t}async function Ot(e){let t=We.value;t=e||(t===`low-resolution`?`mid-resolution`:t===`mid-resolution`?`high-resolution`:`low-resolution`),await G.value?.toggleAllPlayerSourceRole(t),We.value=t}async function kt(e){let t=Je.value;t===`auto`&&(t=`webrtc`);let n=e||(t===`mse`?`webrtc`:`mse`);await G.value?.toggleAllPlayerStreamingMode(n),Je.value=n}async function At(e){await G.value?.toggleAllPlayerMicrophone(e)}return h(Ne,e=>{e&&(Re.value=!0)}),h([ut,$,M,Q,j,x],()=>{let e=Array.from({length:ut.value}).map((e,t)=>({accept:`camera`,index:t,lastDroppedCamera:void 0}));if(!J.value){let t=$.value?._id,n=t?xt(t):void 0,r=n?j.value.camview.layouts?.[n]:void 0,i=new Set(M.value?.result.map(e=>e._id)??[]),a=!1;for(let t of $.value?.cameras||[]){if(!e[t.index])continue;let n=M.value?.result.find(e=>e._id===t.cameraId);e[t.index].lastDroppedCamera=n;let o=r?.find(e=>e.index===t.index);o&&(!o.cameraId||i.has(o.cameraId)?(e[t.index].x=o.x,e[t.index].y=o.y,e[t.index].colSpan=o.w,e[t.index].rowSpan=o.h):a=!0)}a&&n&&j.value.camview.layouts?.[n]&&(j.value.camview.layouts[n]=j.value.camview.layouts[n].filter(e=>!e.cameraId||i.has(e.cameraId)))}X.value=e},{deep:!0,immediate:!0}),(e,t)=>{let n=Ke,r=tt,i=He,s=Qe,c=Xe,l=he,u=fe,f=ke,p=qe,h=Be,_=Ue,v=Ge,S=ae,C=Me,T=B,A=je,re=Fe,L=Ee;return I(),a(`div`,Cn,[k(v,{"left-offset":N($e),animate:``},{left:y(()=>[!N(J)&&N($)?(I(),w(n,{key:0,type:`dropdown`,label:N($).name,"menu-open":N(De)?.isOpen,disabled:N(Z)||N(q),onClick:t[0]||=e=>N(De)?.toggleMenu(e)},null,8,[`label`,`menu-open`,`disabled`])):N(J)&&N(K).name?(I(),w(n,{key:1,label:N(K).name,disabled:N(Z)},null,8,[`label`,`disabled`])):m(``,!0)]),right:y(()=>[!N(Q)&&N($)?d((I(),w(n,{key:0,active:N(Y),onClick:t[1]||=e=>Y.value=!N(Y)},{icon:y(()=>[N(Y)?(I(),w(i,{key:1,width:`100%`,height:`100%`})):(I(),w(r,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`active`])),[[L,{value:N(Y)?e.$t(`views.camview.rearrange_done`):e.$t(`views.camview.rearrange`)},void 0,{bottom:!0}]]):m(``,!0),!N(Q)&&N($)&&N(Y)&&!N(x)?d((I(),w(n,{key:1,onClick:t[2]||=e=>N(G)?.fitAspectRatios()},{icon:y(()=>[k(s,{width:`100%`,height:`100%`})]),_:1})),[[L,{value:e.$t(`views.camview.rearrange_fit_aspect`)},void 0,{bottom:!0}]]):m(``,!0),!N(Q)&&N($)&&N(Y)&&!N(x)?d((I(),w(n,{key:2,onClick:t[3]||=e=>N(G)?.compactGrid()},{icon:y(()=>[k(c,{width:`100%`,height:`100%`})]),_:1})),[[L,{value:e.$t(`views.camview.rearrange_auto`)},void 0,{bottom:!0}]]):m(``,!0),!N(Q)&&N($)?d((I(),w(n,{key:3,active:N(Ne),onClick:t[4]||=e=>Ne.value=!N(Ne)},{icon:y(()=>[N(Ne)?(I(),w(u,{key:1,width:`100%`,height:`100%`})):(I(),w(l,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`active`])),[[L,{value:N(Ne)?e.$t(`components.form.tooltip.hide_timeline`):e.$t(`components.form.tooltip.show_timeline`)},void 0,{bottom:!0}]]):m(``,!0),!N(Q)&&N($)?(I(),w(f,{key:4,layout:`vertical`})):m(``,!0),!N(Q)&&N($)?d((I(),w(n,{key:5,disabled:N(Y),onClick:t[5]||=e=>ht(`removeView`)},{icon:y(()=>[k(p,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[L,{value:e.$t(`components.form.tooltip.delete`)},void 0,{bottom:!0}]]):m(``,!0),!N(q)&&!N(J)&&N($)?d((I(),w(n,{key:6,disabled:N(Y),onClick:t[6]||=e=>q.value=!0},{icon:y(()=>[k(h,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[L,{value:e.$t(`components.form.tooltip.edit`)},void 0,{bottom:!0}]]):m(``,!0),!N(q)&&!N(J)?d((I(),w(n,{key:7,disabled:N(Y),onClick:N(Oe)?.toggleMenu},{icon:y(()=>[k(_,{class:E([`transform transition-transform duration-300`,{"rotate-45":N(Oe)?.isOpen}]),width:`100%`,height:`100%`},null,8,[`class`])]),_:1},8,[`disabled`,`onClick`])),[[L,{value:e.$t(`components.form.tooltip.new`)},void 0,{bottom:!0}]]):m(``,!0),N(q)||N(J)?(I(),w(n,{key:8,label:e.$t(`components.form.button.cancel`),onClick:t[7]||=e=>N(q)?q.value=!1:J.value=!1},null,8,[`label`])):m(``,!0),N(q)||N(J)?(I(),w(n,{key:9,label:e.$t(`components.form.button.save`),disabled:N(X).every(e=>e.lastDroppedCamera===void 0),primary:``,onClick:vt},null,8,[`label`,`disabled`])):m(``,!0)]),_:1},8,[`left-offset`]),b(`div`,{class:E([`w-full h-full flex relative`,{"flex-row":N(D),"flex-col":!N(D)}]),style:P({paddingTop:`${N(55)}px`})},[b(`div`,{class:E([`flex relative z-1 camview-content-transition`,{"h-full items-center justify-center":N(D)||!N(F)?.result.length,"w-full items-start justify-start":!N(D)&&N(F)?.result.length}]),style:P(N(rt))},[N(Z)?(I(),a(`div`,wn,[(I(),w(S,{key:0,class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`}))])):!N($)&&!N(J)?(I(),a(`div`,Tn,[b(`div`,En,[k(C,{class:`w-12 h-12 text-muted`}),b(`span`,Dn,O(e.$t(`views.camview.no_views_configured`)),1)])])):N($)||N(J)?(I(),a(`div`,{key:2,class:E([`w-full h-full`,{"p-2 pb-0":!N(x)}])},[(I(),w(Ft,{ref_key:`viewDndRef`,ref:G,key:N(j).camview.viewid+(N(J)?`-new`:N(q)?`-edit`:`-view`),cameras:N(M)?.result||[],"edit-mode":N(J)||N(q),"rearrange-mode":N(Y),"view-size":N(J)?N(K).viewSize:N(ut),title:N(K).name,cards:N(X),"camera-card-props":N(nt),"camera-card-models":N(Ze),onDrop:yt,onRemove:bt,onChangeViewSize:t[8]||=e=>ht(`editView`),onExpand:Ct,onRearrange:St},null,8,[`cameras`,`edit-mode`,`rearrange-mode`,`view-size`,`title`,`cards`,`camera-card-props`,`camera-card-models`]))],2)):m(``,!0)],6),k(g,{name:N(D)?`slide-left`:`slide-up`,onBeforeEnter:t[9]||=e=>Pe.value=!0,onAfterEnter:t[10]||=e=>Re.value=!1,onBeforeLeave:t[11]||=e=>Pe.value=!1},{default:y(()=>[N(Ne)?(I(),w(N(oe),{key:0,"camera-ids":N(lt),loading:N(Re),type:N(D)?`vertical`:`horizontal`,"dark-mode":``,"md-breakpoint":N(te),class:E([`shrink-0 transition-[left] duration-200`,{"h-full w-[400px] pt-2 pr-2":N(D),"h-[200px] pt-2 px-2 pb-2 pb-safe-offset fixed right-safe-offset-0 z-10":!N(D),"p-0! pt-2! border-color":N(x)}]),"card-class":{"!shadow-xl":!0,"!rounded-none border-l-0! border-r-0!":N(x)},style:P(N(D)?void 0:{left:`${N($e)}px`,bottom:`calc(${N(ee)}px + env(safe-area-inset-bottom, 0px))`}),"locale-settings":N(et)},null,8,[`camera-ids`,`loading`,`type`,`md-breakpoint`,`class`,`card-class`,`style`,`locale-settings`])):m(``,!0)]),_:1},8,[`name`])],6),!N(Q)&&N($)?(I(),w(A,{key:0,model:N(st),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-2 z-11 dark-mode`,pt:{root:{style:`pointer-events: none`}},style:P({bottom:N(D)?`0`:`calc(${N(Pe)?192:0}px + ${N(ee)>0?`0.5rem`:`0px`})`,right:N(D)?`calc(${N(Pe)?400:0}px + 0.5rem)`:`0.5rem`,transition:`bottom 0.25s ease-out, right 0.25s ease-out`})},{button:y(({visible:e,toggleCallback:t})=>[k(T,{severity:`secondary`,class:E([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,loading:N(Z),onClick:t},{icon:y(()=>[b(`div`,On,[b(`div`,{class:E([`bg-white absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}])},null,2),b(`div`,{class:E([`bg-white absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}])},null,2),b(`div`,{class:E([`bg-white absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}])},null,2)])]),_:2},1032,[`class`,`loading`,`onClick`])]),item:y(({item:e,toggleCallback:t})=>[d((I(),w(T,ne({loading:N(Z),severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:y(()=>[(I(),w(o(e.icon)))]),_:2},1040,[`loading`,`onClick`])),[[L,{value:e.label}]])]),_:1},8,[`model`,`style`])):m(``,!0),k(re,{ref_key:`menuRef`,ref:De,items:N(ft),class:`dark-mode`,popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),k(re,{ref_key:`newViewMenuRef`,ref:Oe,items:N(pt),class:`dark-mode`,popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-5cecaa2e`]]);export{kn as default};
@@ -1 +1 @@
1
- import{d as e,f as t}from"./api-BNAa4vCH.js";import{$t as n,An as r,En as i,Gt as a,On as o,Qt as s,Vn as c,Xt as l,Yn as u,Yt as d,Zt as f,dr as p,in as m,nn as h,on as g,rn as _,sr as v,wn as y}from"./vendor-CF-D4B9g.js";import{di as b}from"./vendor-cameraui-tvNekvZ-.js";import{f as x}from"./vendor-core-DinQdIbm.js";import{t as S}from"./power-2WnCmUq_.js";import{t as C}from"./CuiAvatar-BV13656r.js";import{n as w}from"./router-Bucu1aUt.js";import{t as T}from"./hasPermission-CyA03Zx7.js";import{n as E,r as D}from"./CuiMenu-C29qjSSA.js";import{t as O}from"./information-outline-C1VdAtHq.js";import{t as k}from"./chevron-right--xa71qcO.js";var A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return y(),n(`svg`,A,[...t[0]||=[l(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M17 20V4m0 0l3 3m-3-3l-3 3M7 4v16m0 0l3-3m-3 3l-3-3`},null,-1)]])}var M=u({name:`iconoir-data-transfer-both`,render:j}),N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return y(),n(`svg`,N,[...t[0]||=[h(`<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="1.5"><path d="M11 21H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v7"></path><path stroke-linejoin="round" d="M2 7h20M5 5.01l.01-.011M8 5.01l.01-.011M11 5.01l.01-.011m10.657 11.668C21.047 15.097 19.635 14 17.99 14c-1.758 0-3.252 1.255-3.793 3"></path><path stroke-linejoin="round" d="M19.995 16.772H21.4a.6.6 0 0 0 .6-.6V14.55m-7.666 4.783C14.953 20.903 16.366 22 18.01 22c1.758 0 3.252-1.255 3.793-3"></path><path stroke-linejoin="round" d="M16.005 19.228H14.6a.6.6 0 0 0-.6.6v1.622"></path></g>`,1)]])}var F=u({name:`iconoir-reload-window`,render:P}),I={class:`flex flex-col items-center py-8`},L={class:`mt-3 text-lg font-semibold`},R={class:`text-sm text-muted`},z={class:`px-4 mb-4`},B={class:`card-title`},V={key:0,class:`px-4 mb-4`},H={class:`card-title`},U={class:`px-4 mb-4`},W={class:`card-title`},G={class:`text-primary`},K=g({__name:`Menu`,setup(u){let{t:h}=b(),g=e(),{user:A}=x(g),j=new Set([`Faces`,`Plugins`,`Settings`]),N=d(()=>w.filter(e=>e.meta?.profileMenu&&e.meta.auth&&T(e))),P=d(()=>N.value.filter(e=>j.has(e.name)).map(e=>({to:e.path,label:h(`navigation.${e.name.toLowerCase()}`),icon:e.meta.profileMenu.icon.default}))),K=d(()=>N.value.filter(e=>!j.has(e.name)).map(e=>({to:e.path,label:h(`navigation.${e.name.toLowerCase()}`),icon:e.meta.profileMenu.icon.default})));function q(){window.location.reload()}async function J(){await t()}return(e,t)=>{let u=C,d=o(`RouterLink`),h=k,b=E,x=D,w=O,T=F,j=M,N=S;return y(),n(`div`,null,[l(`section`,I,[m(d,{to:`/settings/account`,class:`flex flex-col items-center justify-center`},{default:c(()=>[m(u,{src:`avatar`,size:80,style:{width:`80px`,height:`80px`}}),l(`div`,L,p(v(A)?.username??`Unknown`),1),l(`div`,R,p(v(A)?.role??`user`),1)]),_:1})]),l(`section`,z,[l(`span`,B,p(e.$t(`views.menu.section_app`)),1),m(x,{size:`large`,dividers:``},{default:c(()=>[(y(!0),n(a,null,i(v(P),e=>(y(),f(b,{key:e.to,to:e.to},{prepend:c(()=>[(y(),f(r(e.icon),{class:`w-5 h-5 text-muted`}))]),append:c(()=>[m(h,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:1})]),v(K).length?(y(),n(`section`,V,[l(`span`,H,p(e.$t(`views.menu.section_system`)),1),m(x,{size:`large`,dividers:``},{default:c(()=>[(y(!0),n(a,null,i(v(K),e=>(y(),f(b,{key:e.to,to:e.to},{prepend:c(()=>[(y(),f(r(e.icon),{class:`w-5 h-5 text-muted`}))]),append:c(()=>[m(h,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:1})])):s(``,!0),l(`section`,U,[l(`span`,W,p(e.$t(`views.menu.section_actions`)),1),m(x,{size:`large`,dividers:``},{default:c(()=>[m(b,{to:`/about`},{prepend:c(()=>[m(w,{class:`w-5 h-5 text-muted`})]),append:c(()=>[m(h,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.$t(`navigation.about`))+` `,1)]),_:1}),m(b,{onClick:q},{prepend:c(()=>[m(T,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.$t(`views.menu.reload`)),1)]),_:1}),v(!1)?(y(),f(b,{key:0,onClick:J},{prepend:c(()=>[m(j,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.$t(`views.menu.switch_server`)),1)]),_:1})):s(``,!0),m(b,{onClick:t[0]||=()=>v(g).logout()},{prepend:c(()=>[m(N,{class:`w-5 h-5 text-primary`})]),default:c(()=>[l(`span`,G,p(e.$t(`views.menu.logout`)),1)]),_:1})]),_:1})])])}}});export{K as default};
1
+ import{d as e,f as t}from"./api-BNAa4vCH.js";import{$t as n,An as r,En as i,Gt as a,On as o,Qt as s,Vn as c,Xt as l,Yn as u,Yt as d,Zt as f,dr as p,in as m,nn as h,on as g,rn as _,sr as v,wn as y}from"./vendor-CF-D4B9g.js";import{di as b}from"./vendor-cameraui-tvNekvZ-.js";import{f as x}from"./vendor-core-DinQdIbm.js";import{t as S}from"./power-2WnCmUq_.js";import{t as C}from"./CuiAvatar-BV13656r.js";import{n as w}from"./router-BiR9abhL.js";import{t as T}from"./hasPermission-CyA03Zx7.js";import{n as E,r as D}from"./CuiMenu-C29qjSSA.js";import{t as O}from"./information-outline-C1VdAtHq.js";import{t as k}from"./chevron-right--xa71qcO.js";var A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return y(),n(`svg`,A,[...t[0]||=[l(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M17 20V4m0 0l3 3m-3-3l-3 3M7 4v16m0 0l3-3m-3 3l-3-3`},null,-1)]])}var M=u({name:`iconoir-data-transfer-both`,render:j}),N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return y(),n(`svg`,N,[...t[0]||=[h(`<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="1.5"><path d="M11 21H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v7"></path><path stroke-linejoin="round" d="M2 7h20M5 5.01l.01-.011M8 5.01l.01-.011M11 5.01l.01-.011m10.657 11.668C21.047 15.097 19.635 14 17.99 14c-1.758 0-3.252 1.255-3.793 3"></path><path stroke-linejoin="round" d="M19.995 16.772H21.4a.6.6 0 0 0 .6-.6V14.55m-7.666 4.783C14.953 20.903 16.366 22 18.01 22c1.758 0 3.252-1.255 3.793-3"></path><path stroke-linejoin="round" d="M16.005 19.228H14.6a.6.6 0 0 0-.6.6v1.622"></path></g>`,1)]])}var F=u({name:`iconoir-reload-window`,render:P}),I={class:`flex flex-col items-center py-8`},L={class:`mt-3 text-lg font-semibold`},R={class:`text-sm text-muted`},z={class:`px-4 mb-4`},B={class:`card-title`},V={key:0,class:`px-4 mb-4`},H={class:`card-title`},U={class:`px-4 mb-4`},W={class:`card-title`},G={class:`text-primary`},K=g({__name:`Menu`,setup(u){let{t:h}=b(),g=e(),{user:A}=x(g),j=new Set([`Faces`,`Plugins`,`Settings`]),N=d(()=>w.filter(e=>e.meta?.profileMenu&&e.meta.auth&&T(e))),P=d(()=>N.value.filter(e=>j.has(e.name)).map(e=>({to:e.path,label:h(`navigation.${e.name.toLowerCase()}`),icon:e.meta.profileMenu.icon.default}))),K=d(()=>N.value.filter(e=>!j.has(e.name)).map(e=>({to:e.path,label:h(`navigation.${e.name.toLowerCase()}`),icon:e.meta.profileMenu.icon.default})));function q(){window.location.reload()}async function J(){await t()}return(e,t)=>{let u=C,d=o(`RouterLink`),h=k,b=E,x=D,w=O,T=F,j=M,N=S;return y(),n(`div`,null,[l(`section`,I,[m(d,{to:`/settings/account`,class:`flex flex-col items-center justify-center`},{default:c(()=>[m(u,{src:`avatar`,size:80,style:{width:`80px`,height:`80px`}}),l(`div`,L,p(v(A)?.username??`Unknown`),1),l(`div`,R,p(v(A)?.role??`user`),1)]),_:1})]),l(`section`,z,[l(`span`,B,p(e.$t(`views.menu.section_app`)),1),m(x,{size:`large`,dividers:``},{default:c(()=>[(y(!0),n(a,null,i(v(P),e=>(y(),f(b,{key:e.to,to:e.to},{prepend:c(()=>[(y(),f(r(e.icon),{class:`w-5 h-5 text-muted`}))]),append:c(()=>[m(h,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:1})]),v(K).length?(y(),n(`section`,V,[l(`span`,H,p(e.$t(`views.menu.section_system`)),1),m(x,{size:`large`,dividers:``},{default:c(()=>[(y(!0),n(a,null,i(v(K),e=>(y(),f(b,{key:e.to,to:e.to},{prepend:c(()=>[(y(),f(r(e.icon),{class:`w-5 h-5 text-muted`}))]),append:c(()=>[m(h,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:1})])):s(``,!0),l(`section`,U,[l(`span`,W,p(e.$t(`views.menu.section_actions`)),1),m(x,{size:`large`,dividers:``},{default:c(()=>[m(b,{to:`/about`},{prepend:c(()=>[m(w,{class:`w-5 h-5 text-muted`})]),append:c(()=>[m(h,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.$t(`navigation.about`))+` `,1)]),_:1}),m(b,{onClick:q},{prepend:c(()=>[m(T,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.$t(`views.menu.reload`)),1)]),_:1}),v(!1)?(y(),f(b,{key:0,onClick:J},{prepend:c(()=>[m(j,{class:`w-5 h-5 text-muted`})]),default:c(()=>[_(` `+p(e.$t(`views.menu.switch_server`)),1)]),_:1})):s(``,!0),m(b,{onClick:t[0]||=()=>v(g).logout()},{prepend:c(()=>[m(N,{class:`w-5 h-5 text-primary`})]),default:c(()=>[l(`span`,G,p(e.$t(`views.menu.logout`)),1)]),_:1})]),_:1})])])}}});export{K as default};
@@ -1 +1 @@
1
- import{$n as e,$t as t,An as n,En as r,Gt as i,Hn as a,In as o,Jn as s,Qt as c,Rn as l,Sn as u,Tn as d,Vn as f,Xt as p,Yn as m,Yt as h,Zn as g,Zt as _,cr as ee,dr as v,in as y,nr as b,on as x,qt as S,rn as te,sr as C,ur as w,wn as T}from"./vendor-CF-D4B9g.js";import{Gi as E,H as ne,I as re,Ki as ie,Nn as ae,P as oe,V as D,Vn as se,W as O,X as k,Y as ce,di as le,et as ue,k as de,mi as fe,q as pe,vn as A,wn as j,yn as M}from"./vendor-cameraui-tvNekvZ-.js";import{S as N}from"./CuiCameraCard-B3EAanJH.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as F,r as I,t as me}from"./useSharedComposables-CTXKSCVm.js";import{C as L,J as R,i as z,u as B}from"./vendor-primevue-D0-7UQst.js";import{n as V,r as H,t as he}from"./view-grid-CEWa13Fo.js";import{t as U}from"./eventIcons-BPti5ma5.js";import{t as ge}from"./CuiCameraSnapshot-BlFnD5rf.js";import{n as _e}from"./types-DllqnzAz.js";import{t as ve}from"./cameras-DsRZnmdZ.js";import{t as ye}from"./useCuiDialog-edZ-0AKr.js";import{n as be,t as xe}from"./CuiTopbarSlot-DTNeuYvo.js";import{t as Se}from"./ring-resize-DX9lIn8S.js";import{n as W,t as Ce}from"./CuiRecordingsGrid-N6sJROIT.js";import{n as we,t as Te}from"./round-alt-arrow-left-bold-CLoPDaOh.js";var G={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function K(e,n){return T(),t(`svg`,G,[...n[0]||=[p(`path`,{fill:`currentColor`,d:`M3 11h8V3H3m2 2h4v4H5m8 12h8v-8h-8m2 2h4v4h-4M3 21h8v-8H3m2 2h4v4H5m8-16v8h8V3m-2 6h-4V5h4Z`},null,-1)]])}var Ee=m({name:`mdi-view-grid-outline`,render:K}),q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,n){return T(),t(`svg`,q,[...n[0]||=[p(`path`,{fill:`currentColor`,d:`M22 18.605a.75.75 0 0 1-.75.75h-5.1a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h7.74a2.93 2.93 0 0 1 5.66 0h5.1a.75.75 0 0 1 .75.75m0-13.21a.75.75 0 0 1-.75.75H18.8a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h10.39a2.93 2.93 0 0 1 5.66 0h2.45a.74.74 0 0 1 .75.75m0 6.6a.74.74 0 0 1-.75.75H9.55a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h1.14a2.93 2.93 0 0 1 5.66 0h11.7a.75.75 0 0 1 .75.75`},null,-1)]])}var De=m({name:`mage-filter-fill`,render:J}),Oe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Y(e,n){return T(),t(`svg`,Oe,[...n[0]||=[p(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-miterlimit":`10`,"stroke-width":`1.5`,d:`M21.25 12H8.895m-4.361 0H2.75m18.5 6.607h-5.748m-4.361 0H2.75m18.5-13.214h-3.105m-4.361 0H2.75m13.214 2.18a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm-9.25 6.607a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm6.607 6.608a2.18 2.18 0 1 0 0-4.361a2.18 2.18 0 0 0 0 4.36Z`},null,-1)]])}var ke=m({name:`mage-filter`,render:Y}),Ae={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function je(e,n){return T(),t(`svg`,Ae,[...n[0]||=[p(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 9l6 6l6-6`},null,-1)]])}var Me=m({name:`tabler-chevron-down`,render:je}),Ne={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Pe(e,n){return T(),t(`svg`,Ne,[...n[0]||=[p(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 15l6-6l6 6`},null,-1)]])}var Fe=m({name:`tabler-chevron-up`,render:Pe}),X={class:`flex flex-col gap-2`},Z={class:`sidebar-section-title`},Q={class:`p-input-icon-left w-full`},$={class:`flex flex-col gap-2`},Ie={class:`sidebar-section-title flex items-center gap-1.5`},Le={key:0,class:`flex flex-col gap-1.5 mt-1`},Re={class:`text-xs text-muted`},ze={class:`flex items-center gap-3`},Be={class:`text-xs font-mono w-8 text-right shrink-0`},Ve={class:`flex flex-col gap-2`},He={class:`sidebar-section-title`},Ue={class:`flex flex-col gap-2`},We={class:`sidebar-section-title`},Ge={class:`relative rounded-md overflow-hidden`},Ke={class:`flex flex-col gap-2`},qe={class:`sidebar-section-title`},Je={class:`flex items-center gap-3`},Ye={class:`text-xs font-mono w-8 text-right shrink-0`},Xe={class:`flex flex-col gap-2`},Ze={class:`sidebar-section-title`},Qe={class:`flex flex-wrap gap-1`},$e={class:`flex flex-col gap-2`},et={key:0,class:`flex flex-col gap-2`},tt={class:`flex items-center gap-2 cursor-pointer text-sm`},nt={key:0,class:`flex flex-col gap-2 ml-6`},rt={class:`filter-logic-divider`},it={class:`flex flex-col gap-2`},at={key:0,class:`flex flex-col gap-2`},ot={class:`filter-logic-divider`},st={class:`flex flex-col gap-2`},ct={key:0,class:`flex flex-col gap-2`},lt={class:`flex items-center gap-2 cursor-pointer text-sm`},ut=288,dt=P(x({__name:`RecordingsFilterSidebar`,props:{filters:{},cameras:{},isOpen:{type:Boolean},isOverlay:{type:Boolean},semanticSearchAvailable:{type:Boolean},semanticSearchLoading:{type:Boolean}},emits:[`update:filters`,`semantic-search`,`close`],setup(a,{expose:u,emit:d}){let f={doorbell:`views.recordings.audio_doorbell`,glass_break:`views.recordings.audio_glass_break`,siren:`views.recordings.audio_siren`,speaking:`views.recordings.audio_speaking`,gunshot:`views.recordings.audio_gunshot`,dog_bark:`views.recordings.audio_dog_bark`,baby_cry:`views.recordings.audio_baby_cry`,alarm:`views.recordings.audio_alarm`,scream:`views.recordings.audio_scream`,cat:`views.recordings.audio_cat`,car_alarm:`views.recordings.audio_car_alarm`,smoke_alarm:`views.recordings.audio_smoke_alarm`},m={face:`views.recordings.attr_face`,license_plate:`views.recordings.attr_license_plate`},ee={motion:`views.recordings.sensor_motion`,audio:`views.recordings.sensor_audio`,contact:`views.recordings.sensor_contact`,doorbell:`views.recordings.sensor_doorbell`,switch:`views.recordings.sensor_switch`,light:`views.recordings.sensor_light`,siren:`views.recordings.sensor_siren`,security_system:`views.recordings.sensor_security_system`,"line-crossing":`views.recordings.sensor_line_crossing`},b=new Set([`motion`,`audio`]),x=a,S=d,{t:E}=le(),{xlBreakpoint:ne}=me(),{topbarHeight:re,bottombarHeight:oe}=F(),{icons:D,generic:O}=U(),de=D,P=Fe,I=Me,R=o(`sidebarRef`),V=e(x.filters.semanticQuery??``),H=g({eventTypes:!0,attributes:!0,sensorEvents:!0}),he=h(()=>x.isOpen?ut:0),ve=h(()=>x.cameras.map(e=>({id:e.id,name:e.name}))),ye=h(()=>{if(x.filters.cameraIds.length===1)return x.cameras.find(e=>e.id===x.filters.cameraIds[0])?.name}),be=h(()=>[{label:E(`views.recordings.filter_and`),value:`and`},{label:E(`views.recordings.filter_or`),value:`or`}]),xe=h(()=>[{label:E(`views.recordings.time_1h`),value:`1h`},{label:E(`views.recordings.time_1d`),value:`1d`},{label:E(`views.recordings.time_1w`),value:`1w`},{label:E(`views.recordings.time_1m`),value:`1m`}]),Se=h(()=>M.filter(e=>!b.has(e)).map(e=>({label:E(`views.recordings.type_${e}`),value:e,icon:D[e]??O}))),W=h(()=>({label:E(`views.recordings.type_other`),value:pe,icon:D.other??O})),Ce=h(()=>ae.map(e=>({label:E(ee[e]??`views.recordings.sensor_${e}`),value:e,icon:de[e]??O}))),we=h(()=>j.map(e=>({label:E(f[e]??e),value:e,icon:D[e]??O}))),Te=h(()=>A.map(e=>({label:E(m[e]??`views.recordings.attr_${e}`),value:e,icon:D[e]??O})));function G(e,t){S(`update:filters`,{...x.filters,[e]:t})}let K=ie(e=>{G(`search`,e)},300);function Ee(){let e=V.value.trim();G(`semanticQuery`,e),S(`semantic-search`,e)}function q(e){let t=[...x.filters.eventTypes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`eventTypes`,t)}function J(e){let t=[...x.filters.audioLabels],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`audioLabels`,t)}function De(e){let t=[...x.filters.sensorEvents],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`sensorEvents`,t)}function Oe(e){let t=[...x.filters.hasAttributes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`hasAttributes`,t)}function Y(e){H[e]=!H[e]}return l(V,e=>{!e?.trim()&&x.filters.semanticQuery&&G(`semanticQuery`,``)}),fe(R,e=>{let t=e.target;t.closest(`#recordings-sidebar-toggle`)||t.closest(`[data-pc-section="overlay"], [data-pc-section="panel"], .p-connected-overlay`)||x.isOpen&&(x.isOverlay||!ne.value)&&S(`close`)}),u({sidebarWidth:he}),(e,o)=>{let l=ue,u=_e,d=z,f=se,m=ce,h=B,g=ge,ee=N,b=L,x=k;return T(),t(`nav`,{ref_key:`sidebarRef`,ref:R,class:`recordings-sidebar fixed transition-all duration-200 overflow-x-hidden overflow-y-auto md:!pl-0 pl-safe pb-safe flex flex-col z-4`,style:w({width:`${C(he)}px`,borderRightWidth:a.isOpen?`1px`:`0px`,paddingBottom:`calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + ${C(oe)}px + ${C(re)}px)`})},[p(`div`,{class:`flex flex-col gap-4 p-4`,style:w({width:`${ut}px`})},[p(`div`,X,[p(`label`,Z,v(e.$t(`views.recordings.search`)),1),p(`span`,Q,[y(l,{"model-value":a.filters.search,placeholder:e.$t(`views.recordings.search_placeholder`),class:`w-full text-sm`,"onUpdate:modelValue":o[0]||=e=>C(K)(e)},null,8,[`model-value`,`placeholder`])])]),o[18]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,$,[p(`label`,Ie,[y(u,{class:`w-3.5 h-3.5`}),te(` `+v(e.$t(`views.recordings.semantic_search`)),1)]),y(d,{modelValue:C(V),"onUpdate:modelValue":o[1]||=e=>s(V)?V.value=e:null,placeholder:e.$t(`views.recordings.semantic_search_placeholder`),class:`w-full text-sm semantic-textarea`,rows:`3`,disabled:!a.semanticSearchAvailable},null,8,[`modelValue`,`placeholder`,`disabled`]),y(f,{label:e.$t(`views.recordings.semantic_search_button`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,loading:a.semanticSearchLoading,disabled:!a.semanticSearchAvailable||!C(V)?.trim(),onClick:Ee},null,8,[`label`,`loading`,`disabled`]),a.filters.semanticQuery?(T(),t(`div`,Le,[p(`label`,Re,v(e.$t(`views.recordings.min_match_score`)),1),p(`div`,ze,[y(m,{"model-value":a.filters.minSemanticScore,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":o[2]||=e=>G(`minSemanticScore`,e)},null,8,[`model-value`]),p(`span`,Be,v(Math.round(a.filters.minSemanticScore*100))+`%`,1)])])):c(``,!0)]),o[19]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,Ve,[p(`label`,He,v(e.$t(`views.recordings.cameras`)),1),y(h,{"model-value":a.filters.cameraIds,options:C(ve),"option-label":`name`,"option-value":`id`,placeholder:e.$t(`views.recordings.all_cameras`),class:`w-full text-sm`,"max-selected-labels":2,"show-toggle-all":!1,pt:{overlay:{style:`position: fixed`}},"onUpdate:modelValue":o[3]||=e=>G(`cameraIds`,e)},null,8,[`model-value`,`options`,`placeholder`])]),C(ye)?(T(),t(i,{key:0},[o[13]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,Ue,[p(`label`,We,v(e.$t(`views.recordings.grid_search`)),1),p(`div`,Ge,[y(g,{camera:C(ye),"object-fit":`cover`},null,8,[`camera`]),y(ee,{"model-value":a.filters.gridRegions,"onUpdate:modelValue":o[4]||=e=>G(`gridRegions`,e)},null,8,[`model-value`])]),y(f,{label:e.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,disabled:a.filters.gridRegions.length===0,onClick:o[5]||=e=>G(`gridRegions`,[])},null,8,[`label`,`disabled`])])],64)):c(``,!0),o[20]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,Ke,[p(`label`,qe,v(e.$t(`views.recordings.confidence`)),1),p(`div`,Je,[y(m,{"model-value":a.filters.minConfidence,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":o[6]||=e=>G(`minConfidence`,e)},null,8,[`model-value`]),p(`span`,Ye,v(Math.round(a.filters.minConfidence*100))+`%`,1)])]),o[21]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,Xe,[p(`label`,Ze,v(e.$t(`views.recordings.time_range`)),1),p(`div`,Qe,[(T(!0),t(i,null,r(C(xe),e=>(T(),_(f,{key:e.value,label:e.label,severity:a.filters.timeRange===e.value?void 0:`secondary`,outlined:a.filters.timeRange!==e.value,size:`small`,class:`text-xs flex-1 min-w-0`,onClick:t=>G(`timeRange`,a.filters.timeRange===e.value?null:e.value)},null,8,[`label`,`severity`,`outlined`,`onClick`]))),128))])]),o[22]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,$e,[p(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:o[7]||=e=>Y(`sensorEvents`)},[p(`span`,null,v(e.$t(`views.recordings.sensor_events`)),1),(T(),_(n(C(H).sensorEvents?C(P):C(I)),{class:`w-4 h-4 text-muted`}))]),C(H).sensorEvents?(T(),t(`div`,et,[(T(!0),t(i,null,r(C(Ce),e=>(T(),t(i,{key:e.value},[p(`label`,tt,[y(b,{"model-value":a.filters.sensorEvents.includes(e.value),binary:!0,"onUpdate:modelValue":t=>De(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(T(),_(n(e.icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(e.label),1)]),e.value===`audio`&&a.filters.sensorEvents.includes(`audio`)?(T(),t(`div`,nt,[(T(!0),t(i,null,r(C(we),e=>(T(),t(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[y(b,{"model-value":a.filters.audioLabels.includes(e.value),binary:!0,"onUpdate:modelValue":t=>J(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(T(),_(n(e.icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(e.label),1)]))),128))])):c(``,!0)],64))),128))])):c(``,!0)]),p(`div`,rt,[o[14]||=p(`div`,{class:`filter-logic-line`},null,-1),y(x,{"model-value":a.filters.filterLogicTriggers,options:C(be),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":o[8]||=e=>G(`filterLogicTriggers`,e)},null,8,[`model-value`,`options`]),o[15]||=p(`div`,{class:`filter-logic-line`},null,-1)]),p(`div`,it,[p(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:o[9]||=e=>Y(`eventTypes`)},[p(`span`,null,v(e.$t(`views.recordings.event_type`)),1),(T(),_(n(C(H).eventTypes?C(P):C(I)),{class:`w-4 h-4 text-muted`}))]),C(H).eventTypes?(T(),t(`div`,at,[(T(!0),t(i,null,r(C(Se),e=>(T(),t(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[y(b,{"model-value":a.filters.eventTypes.includes(e.value),binary:!0,"onUpdate:modelValue":t=>q(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(T(),_(n(e.icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(e.label),1)]))),128))])):c(``,!0)]),p(`div`,ot,[o[16]||=p(`div`,{class:`filter-logic-line`},null,-1),y(x,{"model-value":a.filters.filterLogicAttributes,options:C(be),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":o[10]||=e=>G(`filterLogicAttributes`,e)},null,8,[`model-value`,`options`]),o[17]||=p(`div`,{class:`filter-logic-line`},null,-1)]),p(`div`,st,[p(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:o[11]||=e=>Y(`attributes`)},[p(`span`,null,v(e.$t(`views.recordings.attributes`)),1),(T(),_(n(C(H).attributes?C(P):C(I)),{class:`w-4 h-4 text-muted`}))]),C(H).attributes?(T(),t(`div`,ct,[(T(!0),t(i,null,r(C(Te),e=>(T(),t(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[y(b,{"model-value":a.filters.hasAttributes.includes(e.value),binary:!0,"onUpdate:modelValue":t=>Oe(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(T(),_(n(e.icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(e.label),1)]))),128)),p(`label`,lt,[y(b,{"model-value":a.filters.eventTypes.includes(C(W).value),binary:!0,"onUpdate:modelValue":o[12]||=e=>q(C(W).value)},null,8,[`model-value`]),(T(),_(n(C(W).icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(C(W).label),1)])])):c(``,!0)])],4)],4)}}}),[[`__scopeId`,`data-v-de3974e2`]]),ft={class:`font-semibold text-xl truncate`},pt={class:`w-full h-full relative`},mt={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10`},ht={class:`relative z-2 page-title !m-0`},gt={key:0,class:`flex items-center gap-2 mb-2 text-xs text-muted ml-auto`},_t={key:0,class:`inline-flex items-center gap-1`},vt={key:2,class:`flex justify-center py-4`},yt={key:3,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},bt={class:`text-muted text-sm`},xt=288,St=10,Ct=11,wt=x({__name:`Recordings`,setup(n){let r=new ve,i=ye(),{smBreakpoint:s,xlBreakpoint:m,mdBreakpoint:g}=me(),{isTouch:x}=I(),{registerScrollToTop:ie}=be();if(!x.value&&typeof VideoDecoder<`u`){let e=ne({cacheSize:20});d(de,e),E(()=>e.dispose())}let{results:ae,isSearching:k,isAvailable:ce,hasSearched:le,search:ue,clear:fe}=re(),{data:pe}=r.getCamerasQuery({page:1,pageSize:-1}),A={"1h":3600*1e3,"1d":1440*60*1e3,"1w":10080*60*1e3,"1m":720*60*60*1e3},j=o(`gridRef`),M=e(`closed`),N=e(!1),P=e({search:``,semanticQuery:``,filterLogicTriggers:`or`,filterLogicAttributes:`or`,cameraIds:[],timeRange:null,customDateRange:null,eventTypes:[],audioLabels:[],hasAttributes:[],sensorEvents:[],gridRegions:[],minConfidence:.5,minSemanticScore:.5}),F=b({state:`ended`,hasDetections:!0}),L=JSON.stringify(F.value),z=e(!1),B=b([]),U=h(()=>m.value?!0:M.value===`opened`),ge=h(()=>g.value),G=h(()=>g.value?`0px`:U.value?`${xt}px`:`0px`),K=h(()=>(pe.value?.result??[]).map(e=>({id:e._id,name:e.name}))),q=h(()=>{let e=new Map;for(let t of K.value)e.set(t.id,t.name);return e}),J=h(()=>{let e=new Map;for(let t of pe.value?.result??[])e.set(t._id,t);return e}),Oe=h(()=>P.value.cameraIds),Y=h(()=>K.value.map(e=>e.id));ie(()=>j.value?.scrollToTop());let{events:Ae,isLoading:je,hasMore:Me,loadMore:Ne,loadThumbnails:Pe,getCachedThumbnails:Fe}=D({availableCameraIds:Y,cameraIds:Oe,realtime:!0,pageSize:40,filter:F}),X=h(()=>{let e=new Map;for(let t of ae.value??[]){let n=e.get(t.eventId);(!n||t.score>n)&&e.set(t.eventId,t.score)}return e}),Z=h(()=>le.value),Q=h(()=>{let e=Ae.value.filter(e=>e.state===`ended`),t=P.value;if(t.timeRange&&A[t.timeRange]){let n=Date.now()-A[t.timeRange];e=e.filter(e=>e.startTime>=n)}if(t.gridRegions.length>0&&(e=e.filter(e=>e.segments.some(e=>e.detections.some(e=>e.box&&Re(e.box,t.gridRegions))))),Z.value){let n=.15,r=t.minSemanticScore*(.38-n)+n;e=e.filter(e=>{let t=X.value.get(e.id);return t!=null&&t>=r}),e.sort((e,t)=>(X.value.get(t.id)??0)-(X.value.get(e.id)??0))}return e}),$=h(()=>z.value&&B.value.length?B.value:Q.value.map(e=>({event:e,key:e.id})));function Ie(){M.value=M.value===`opened`?`closed`:`opened`}function Le(){M.value=`closed`}function Re(e,t){if(t.length===0)return!0;let n=1/St,r=1/Ct,i=e.x/n,a=(e.x+e.width)/n,o=e.y/r,s=(e.y+e.height)/r;for(let e of t)if(a>e.col&&i<e.col+e.w&&s>e.row&&o<e.row+e.h)return!0;return!1}function ze(e,t){let n=[];if(e.attributes)for(let[r,i]of Object.entries(e.attributes)){let e=O(i);if(!e)continue;let a=r.indexOf(`:`);n.push({key:`${t.id}:attr:${r}`,url:e,type:a>=0?r.substring(0,a):r,label:a>=0?r.substring(a+1):void 0})}if(e.detections)for(let[r,i]of Object.entries(e.detections)){let e=O(i);if(!e)continue;let a=r.includes(`:`)?r.split(`:`).slice(1).join(`:`):r;n.push({key:`${t.id}:det:${r}`,url:e,type:a})}if(e.scenes)for(let[r,i]of Object.entries(e.scenes)){let e=O(i);e&&n.push({key:`${t.id}:scene:${r}`,url:e,type:`scene`})}let r=new Set;return n.filter(e=>r.has(e.url)?!1:(r.add(e.url),!0))}function Be(e){let t=[];for(let n of e){let e=Fe(n.id);if(!e){t.push({event:n,key:n.id});continue}let r=ze(e,n),i=oe(e,n);if(i.url){let e=r.findIndex(e=>e.url===i.url);e>0&&r.unshift(...r.splice(e,1))}r.length<=1?t.push({event:n,key:n.id}):r.forEach((e,r)=>{t.push({event:n,key:r===0?n.id:e.key,thumbnailOverride:{url:e.url,type:e.type,label:e.label}})})}return t}function Ve(e){!e.semanticQuery?.trim()&&P.value.semanticQuery?.trim()&&fe(),P.value=e}function He(e){if(!e.trim()){fe();return}ue(e)}function Ue(e){let t=J.value.get(e.cameraId);t&&i.openComponentDialog(V,{data:{title:t.name,stayActive:!0,hideCancelButton:!0,hideConfirmButton:!0,contentProps:{camera:t,eventTimestamp:e.startTime},headerActions:e.segments?.some(e=>e?.description)?[{icon:_e,toggle:!0,onClick:()=>{}}]:void 0,draggable:!0,blockDragOnSelectors:[`.p-dialog-body`],dismissableMask:!1,modal:!1,dialogContentClass:`!px-0 h-full`,goTo:`/cameras/${t.name}?startTs=${e.startTime}`},dialogSize:{desktop:{maxWidth:`800px`,maxHeight:`calc(100vh - max(1rem, env(safe-area-inset-top, 0px)) - max(1rem, env(safe-area-inset-bottom, 0px)))`,width:`50vw`}}})}return l(m,e=>{e&&(M.value=`closed`)}),l(P,e=>{let t=e.eventTypes.length>0||e.sensorEvents.length>0||e.audioLabels.length>0||e.hasAttributes.length>0,n={types:e.eventTypes.length>0?e.eventTypes:void 0,triggers:e.sensorEvents.length>0?e.sensorEvents:void 0,triggerLabels:e.audioLabels.length>0?e.audioLabels:void 0,attributes:e.hasAttributes.length>0?e.hasAttributes:void 0,filterLogicTriggers:t?e.filterLogicTriggers:void 0,filterLogicAttributes:t?e.filterLogicAttributes:void 0,search:e.search||void 0,minConfidence:e.minConfidence>0?e.minConfidence:void 0,state:`ended`,hasDetections:!t},r=JSON.stringify(n);r!==L&&(L=r,F.value=n)},{deep:!0,immediate:!0}),l(z,e=>{e?B.value=Be(Q.value):B.value=[]}),l(Q,e=>{if(!z.value)return;let t=new Set(e.map(e=>e.id)),n=new Set(B.value.map(e=>e.event.id)),r=B.value.filter(e=>t.has(e.event.id)),i=e.filter(e=>!n.has(e.id));i.length&&(r=[...Be(i),...r]),B.value=r}),l(()=>P.value.cameraIds,e=>{e.length!==1&&P.value.gridRegions.length>0&&(P.value={...P.value,gridRegions:[]})}),u(()=>{requestAnimationFrame(()=>{N.value=!0})}),(e,n)=>{let r=xe,i=ke,o=De,l=se,u=Te,d=we,h=Ee,g=he,b=_e,x=W,E=Ce,ne=Se,re=H,ie=R;return T(),t(`div`,null,[y(r,{position:`center`},{default:f(()=>[p(`span`,ft,v(e.$t(`views.recordings.title`)),1)]),_:1}),y(r,{position:`left`},{default:f(()=>[y(l,{id:`recordings-sidebar-toggle`,severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:Ie},{icon:f(()=>[C(M)===`closed`?(T(),_(i,{key:0,width:`100%`,height:`100%`})):(T(),_(o,{key:1,width:`100%`,height:`100%`}))]),_:1})]),_:1}),y(dt,{filters:C(P),cameras:C(K),"is-open":C(U),"is-overlay":C(ge),"semantic-search-available":C(ce),"semantic-search-loading":C(k),"onUpdate:filters":Ve,onSemanticSearch:He,onClose:Le},null,8,[`filters`,`cameras`,`is-open`,`is-overlay`,`semantic-search-available`,`semantic-search-loading`]),(T(),_(S,{to:`#container`,defer:``},[C(U)&&C(ge)?(T(),t(`div`,{key:0,class:`fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1`,onClick:Le})):c(``,!0)])),p(`main`,{class:`relative w-full h-full`,style:w({paddingLeft:C(G),transition:C(N)?`padding-left 200ms`:void 0})},[p(`div`,pt,[C(s)?c(``,!0):(T(),t(`div`,mt,[n[1]||=p(`div`,{class:`ml-2`},null,-1),C(m)?c(``,!0):(T(),_(l,{key:0,id:`recordings-sidebar-toggle`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:Ie},{icon:f(()=>[C(U)?(T(),_(u,{key:0,width:`100%`,height:`100%`})):(T(),_(d,{key:1,width:`100%`,height:`100%`}))]),_:1})),p(`h1`,ht,v(e.$t(`views.recordings.title`)),1),n[2]||=p(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[p(`div`),p(`div`),p(`div`),p(`div`),p(`div`),p(`div`)],-1)])),p(`div`,{class:ee([`px-2 h-full w-full pb-2 flex flex-col`,{"pt-4":C(s),"pt-[calc(40px+2rem)]":!C(s)}])},[C(Q).length||C(Z)?(T(),t(`div`,gt,[a((T(),_(l,{severity:C(z)?`primary`:`secondary`,text:``,rounded:``,class:`cui-icon-sm`,onClick:n[0]||=e=>z.value=!C(z)},{icon:f(()=>[C(z)?(T(),_(g,{key:1,width:`100%`,height:`100%`})):(T(),_(h,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`severity`])),[[ie,{value:e.$t(`views.recordings.ungroup`)},void 0,{bottom:!0}]]),p(`span`,null,v(e.$t(`views.recordings.result_count`,{count:C($).length})),1),C(Z)?(T(),t(`span`,_t,[y(b,{class:`w-3 h-3`}),te(` `+v(e.$t(`views.recordings.semantic_results`,{count:C(X).size})),1)])):c(``,!0)])):c(``,!0),C($).length?(T(),_(E,{key:1,ref_key:`gridRef`,ref:j,items:C($),"min-item-width":C(s)?160:180,gap:8,"has-more":C(Me),"load-more":C(Ne),"item-key":e=>e.key,class:`flex-1 min-h-0`},{item:f(({item:e})=>[y(x,{event:e.event,"camera-name":C(q).get(e.event.cameraId),camera:C(J).get(e.event.cameraId),"load-thumbnails":C(Pe),"semantic-score":C(X).get(e.event.id),"thumbnail-override":e.thumbnailOverride,onScrollToEvent:()=>Ue(e.event)},null,8,[`event`,`camera-name`,`camera`,`load-thumbnails`,`semantic-score`,`thumbnail-override`,`onScrollToEvent`])]),_:1},8,[`items`,`min-item-width`,`has-more`,`load-more`,`item-key`])):c(``,!0),C(je)||C(k)?(T(),t(`div`,vt,[y(ne,{width:`24px`,height:`24px`,class:`text-muted`})])):c(``,!0),!C(Q).length&&!C(je)&&!C(k)?(T(),t(`div`,yt,[y(re,{class:`w-12 h-12 text-muted`}),p(`span`,bt,v(e.$t(`views.recordings.no_recordings`)),1)])):c(``,!0)],2)])],4)])}}});export{wt as default};
1
+ import{$n as e,$t as t,An as n,En as r,Gt as i,Hn as a,In as o,Jn as s,Qt as c,Rn as l,Sn as u,Tn as d,Vn as f,Xt as p,Yn as m,Yt as h,Zn as g,Zt as _,cr as ee,dr as v,in as y,nr as b,on as x,qt as S,rn as te,sr as C,ur as w,wn as T}from"./vendor-CF-D4B9g.js";import{Gi as E,H as ne,I as re,Ki as ie,Nn as ae,P as oe,V as D,Vn as se,W as O,X as k,Y as ce,di as le,et as ue,k as de,mi as fe,q as pe,vn as A,wn as j,yn as M}from"./vendor-cameraui-tvNekvZ-.js";import{S as N}from"./CuiCameraCard-B3EAanJH.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as F,r as I,t as me}from"./useSharedComposables-CTXKSCVm.js";import{C as L,J as R,i as z,u as B}from"./vendor-primevue-D0-7UQst.js";import{n as V,r as H,t as he}from"./view-grid-De5r5F-b.js";import{t as U}from"./eventIcons-BPti5ma5.js";import{t as ge}from"./CuiCameraSnapshot-BlFnD5rf.js";import{n as _e}from"./types-DllqnzAz.js";import{t as ve}from"./cameras-DsRZnmdZ.js";import{t as ye}from"./useCuiDialog-edZ-0AKr.js";import{n as be,t as xe}from"./CuiTopbarSlot-DTNeuYvo.js";import{t as Se}from"./ring-resize-DX9lIn8S.js";import{n as W,t as Ce}from"./CuiRecordingsGrid-N6sJROIT.js";import{n as we,t as Te}from"./round-alt-arrow-left-bold-CLoPDaOh.js";var G={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function K(e,n){return T(),t(`svg`,G,[...n[0]||=[p(`path`,{fill:`currentColor`,d:`M3 11h8V3H3m2 2h4v4H5m8 12h8v-8h-8m2 2h4v4h-4M3 21h8v-8H3m2 2h4v4H5m8-16v8h8V3m-2 6h-4V5h4Z`},null,-1)]])}var Ee=m({name:`mdi-view-grid-outline`,render:K}),q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,n){return T(),t(`svg`,q,[...n[0]||=[p(`path`,{fill:`currentColor`,d:`M22 18.605a.75.75 0 0 1-.75.75h-5.1a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h7.74a2.93 2.93 0 0 1 5.66 0h5.1a.75.75 0 0 1 .75.75m0-13.21a.75.75 0 0 1-.75.75H18.8a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h10.39a2.93 2.93 0 0 1 5.66 0h2.45a.74.74 0 0 1 .75.75m0 6.6a.74.74 0 0 1-.75.75H9.55a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h1.14a2.93 2.93 0 0 1 5.66 0h11.7a.75.75 0 0 1 .75.75`},null,-1)]])}var De=m({name:`mage-filter-fill`,render:J}),Oe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Y(e,n){return T(),t(`svg`,Oe,[...n[0]||=[p(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-miterlimit":`10`,"stroke-width":`1.5`,d:`M21.25 12H8.895m-4.361 0H2.75m18.5 6.607h-5.748m-4.361 0H2.75m18.5-13.214h-3.105m-4.361 0H2.75m13.214 2.18a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm-9.25 6.607a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm6.607 6.608a2.18 2.18 0 1 0 0-4.361a2.18 2.18 0 0 0 0 4.36Z`},null,-1)]])}var ke=m({name:`mage-filter`,render:Y}),Ae={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function je(e,n){return T(),t(`svg`,Ae,[...n[0]||=[p(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 9l6 6l6-6`},null,-1)]])}var Me=m({name:`tabler-chevron-down`,render:je}),Ne={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Pe(e,n){return T(),t(`svg`,Ne,[...n[0]||=[p(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 15l6-6l6 6`},null,-1)]])}var Fe=m({name:`tabler-chevron-up`,render:Pe}),X={class:`flex flex-col gap-2`},Z={class:`sidebar-section-title`},Q={class:`p-input-icon-left w-full`},$={class:`flex flex-col gap-2`},Ie={class:`sidebar-section-title flex items-center gap-1.5`},Le={key:0,class:`flex flex-col gap-1.5 mt-1`},Re={class:`text-xs text-muted`},ze={class:`flex items-center gap-3`},Be={class:`text-xs font-mono w-8 text-right shrink-0`},Ve={class:`flex flex-col gap-2`},He={class:`sidebar-section-title`},Ue={class:`flex flex-col gap-2`},We={class:`sidebar-section-title`},Ge={class:`relative rounded-md overflow-hidden`},Ke={class:`flex flex-col gap-2`},qe={class:`sidebar-section-title`},Je={class:`flex items-center gap-3`},Ye={class:`text-xs font-mono w-8 text-right shrink-0`},Xe={class:`flex flex-col gap-2`},Ze={class:`sidebar-section-title`},Qe={class:`flex flex-wrap gap-1`},$e={class:`flex flex-col gap-2`},et={key:0,class:`flex flex-col gap-2`},tt={class:`flex items-center gap-2 cursor-pointer text-sm`},nt={key:0,class:`flex flex-col gap-2 ml-6`},rt={class:`filter-logic-divider`},it={class:`flex flex-col gap-2`},at={key:0,class:`flex flex-col gap-2`},ot={class:`filter-logic-divider`},st={class:`flex flex-col gap-2`},ct={key:0,class:`flex flex-col gap-2`},lt={class:`flex items-center gap-2 cursor-pointer text-sm`},ut=288,dt=P(x({__name:`RecordingsFilterSidebar`,props:{filters:{},cameras:{},isOpen:{type:Boolean},isOverlay:{type:Boolean},semanticSearchAvailable:{type:Boolean},semanticSearchLoading:{type:Boolean}},emits:[`update:filters`,`semantic-search`,`close`],setup(a,{expose:u,emit:d}){let f={doorbell:`views.recordings.audio_doorbell`,glass_break:`views.recordings.audio_glass_break`,siren:`views.recordings.audio_siren`,speaking:`views.recordings.audio_speaking`,gunshot:`views.recordings.audio_gunshot`,dog_bark:`views.recordings.audio_dog_bark`,baby_cry:`views.recordings.audio_baby_cry`,alarm:`views.recordings.audio_alarm`,scream:`views.recordings.audio_scream`,cat:`views.recordings.audio_cat`,car_alarm:`views.recordings.audio_car_alarm`,smoke_alarm:`views.recordings.audio_smoke_alarm`},m={face:`views.recordings.attr_face`,license_plate:`views.recordings.attr_license_plate`},ee={motion:`views.recordings.sensor_motion`,audio:`views.recordings.sensor_audio`,contact:`views.recordings.sensor_contact`,doorbell:`views.recordings.sensor_doorbell`,switch:`views.recordings.sensor_switch`,light:`views.recordings.sensor_light`,siren:`views.recordings.sensor_siren`,security_system:`views.recordings.sensor_security_system`,"line-crossing":`views.recordings.sensor_line_crossing`},b=new Set([`motion`,`audio`]),x=a,S=d,{t:E}=le(),{xlBreakpoint:ne}=me(),{topbarHeight:re,bottombarHeight:oe}=F(),{icons:D,generic:O}=U(),de=D,P=Fe,I=Me,R=o(`sidebarRef`),V=e(x.filters.semanticQuery??``),H=g({eventTypes:!0,attributes:!0,sensorEvents:!0}),he=h(()=>x.isOpen?ut:0),ve=h(()=>x.cameras.map(e=>({id:e.id,name:e.name}))),ye=h(()=>{if(x.filters.cameraIds.length===1)return x.cameras.find(e=>e.id===x.filters.cameraIds[0])?.name}),be=h(()=>[{label:E(`views.recordings.filter_and`),value:`and`},{label:E(`views.recordings.filter_or`),value:`or`}]),xe=h(()=>[{label:E(`views.recordings.time_1h`),value:`1h`},{label:E(`views.recordings.time_1d`),value:`1d`},{label:E(`views.recordings.time_1w`),value:`1w`},{label:E(`views.recordings.time_1m`),value:`1m`}]),Se=h(()=>M.filter(e=>!b.has(e)).map(e=>({label:E(`views.recordings.type_${e}`),value:e,icon:D[e]??O}))),W=h(()=>({label:E(`views.recordings.type_other`),value:pe,icon:D.other??O})),Ce=h(()=>ae.map(e=>({label:E(ee[e]??`views.recordings.sensor_${e}`),value:e,icon:de[e]??O}))),we=h(()=>j.map(e=>({label:E(f[e]??e),value:e,icon:D[e]??O}))),Te=h(()=>A.map(e=>({label:E(m[e]??`views.recordings.attr_${e}`),value:e,icon:D[e]??O})));function G(e,t){S(`update:filters`,{...x.filters,[e]:t})}let K=ie(e=>{G(`search`,e)},300);function Ee(){let e=V.value.trim();G(`semanticQuery`,e),S(`semantic-search`,e)}function q(e){let t=[...x.filters.eventTypes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`eventTypes`,t)}function J(e){let t=[...x.filters.audioLabels],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`audioLabels`,t)}function De(e){let t=[...x.filters.sensorEvents],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`sensorEvents`,t)}function Oe(e){let t=[...x.filters.hasAttributes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`hasAttributes`,t)}function Y(e){H[e]=!H[e]}return l(V,e=>{!e?.trim()&&x.filters.semanticQuery&&G(`semanticQuery`,``)}),fe(R,e=>{let t=e.target;t.closest(`#recordings-sidebar-toggle`)||t.closest(`[data-pc-section="overlay"], [data-pc-section="panel"], .p-connected-overlay`)||x.isOpen&&(x.isOverlay||!ne.value)&&S(`close`)}),u({sidebarWidth:he}),(e,o)=>{let l=ue,u=_e,d=z,f=se,m=ce,h=B,g=ge,ee=N,b=L,x=k;return T(),t(`nav`,{ref_key:`sidebarRef`,ref:R,class:`recordings-sidebar fixed transition-all duration-200 overflow-x-hidden overflow-y-auto md:!pl-0 pl-safe pb-safe flex flex-col z-4`,style:w({width:`${C(he)}px`,borderRightWidth:a.isOpen?`1px`:`0px`,paddingBottom:`calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + ${C(oe)}px + ${C(re)}px)`})},[p(`div`,{class:`flex flex-col gap-4 p-4`,style:w({width:`${ut}px`})},[p(`div`,X,[p(`label`,Z,v(e.$t(`views.recordings.search`)),1),p(`span`,Q,[y(l,{"model-value":a.filters.search,placeholder:e.$t(`views.recordings.search_placeholder`),class:`w-full text-sm`,"onUpdate:modelValue":o[0]||=e=>C(K)(e)},null,8,[`model-value`,`placeholder`])])]),o[18]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,$,[p(`label`,Ie,[y(u,{class:`w-3.5 h-3.5`}),te(` `+v(e.$t(`views.recordings.semantic_search`)),1)]),y(d,{modelValue:C(V),"onUpdate:modelValue":o[1]||=e=>s(V)?V.value=e:null,placeholder:e.$t(`views.recordings.semantic_search_placeholder`),class:`w-full text-sm semantic-textarea`,rows:`3`,disabled:!a.semanticSearchAvailable},null,8,[`modelValue`,`placeholder`,`disabled`]),y(f,{label:e.$t(`views.recordings.semantic_search_button`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,loading:a.semanticSearchLoading,disabled:!a.semanticSearchAvailable||!C(V)?.trim(),onClick:Ee},null,8,[`label`,`loading`,`disabled`]),a.filters.semanticQuery?(T(),t(`div`,Le,[p(`label`,Re,v(e.$t(`views.recordings.min_match_score`)),1),p(`div`,ze,[y(m,{"model-value":a.filters.minSemanticScore,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":o[2]||=e=>G(`minSemanticScore`,e)},null,8,[`model-value`]),p(`span`,Be,v(Math.round(a.filters.minSemanticScore*100))+`%`,1)])])):c(``,!0)]),o[19]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,Ve,[p(`label`,He,v(e.$t(`views.recordings.cameras`)),1),y(h,{"model-value":a.filters.cameraIds,options:C(ve),"option-label":`name`,"option-value":`id`,placeholder:e.$t(`views.recordings.all_cameras`),class:`w-full text-sm`,"max-selected-labels":2,"show-toggle-all":!1,pt:{overlay:{style:`position: fixed`}},"onUpdate:modelValue":o[3]||=e=>G(`cameraIds`,e)},null,8,[`model-value`,`options`,`placeholder`])]),C(ye)?(T(),t(i,{key:0},[o[13]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,Ue,[p(`label`,We,v(e.$t(`views.recordings.grid_search`)),1),p(`div`,Ge,[y(g,{camera:C(ye),"object-fit":`cover`},null,8,[`camera`]),y(ee,{"model-value":a.filters.gridRegions,"onUpdate:modelValue":o[4]||=e=>G(`gridRegions`,e)},null,8,[`model-value`])]),y(f,{label:e.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,disabled:a.filters.gridRegions.length===0,onClick:o[5]||=e=>G(`gridRegions`,[])},null,8,[`label`,`disabled`])])],64)):c(``,!0),o[20]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,Ke,[p(`label`,qe,v(e.$t(`views.recordings.confidence`)),1),p(`div`,Je,[y(m,{"model-value":a.filters.minConfidence,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":o[6]||=e=>G(`minConfidence`,e)},null,8,[`model-value`]),p(`span`,Ye,v(Math.round(a.filters.minConfidence*100))+`%`,1)])]),o[21]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,Xe,[p(`label`,Ze,v(e.$t(`views.recordings.time_range`)),1),p(`div`,Qe,[(T(!0),t(i,null,r(C(xe),e=>(T(),_(f,{key:e.value,label:e.label,severity:a.filters.timeRange===e.value?void 0:`secondary`,outlined:a.filters.timeRange!==e.value,size:`small`,class:`text-xs flex-1 min-w-0`,onClick:t=>G(`timeRange`,a.filters.timeRange===e.value?null:e.value)},null,8,[`label`,`severity`,`outlined`,`onClick`]))),128))])]),o[22]||=p(`div`,{class:`sidebar-divider`},null,-1),p(`div`,$e,[p(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:o[7]||=e=>Y(`sensorEvents`)},[p(`span`,null,v(e.$t(`views.recordings.sensor_events`)),1),(T(),_(n(C(H).sensorEvents?C(P):C(I)),{class:`w-4 h-4 text-muted`}))]),C(H).sensorEvents?(T(),t(`div`,et,[(T(!0),t(i,null,r(C(Ce),e=>(T(),t(i,{key:e.value},[p(`label`,tt,[y(b,{"model-value":a.filters.sensorEvents.includes(e.value),binary:!0,"onUpdate:modelValue":t=>De(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(T(),_(n(e.icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(e.label),1)]),e.value===`audio`&&a.filters.sensorEvents.includes(`audio`)?(T(),t(`div`,nt,[(T(!0),t(i,null,r(C(we),e=>(T(),t(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[y(b,{"model-value":a.filters.audioLabels.includes(e.value),binary:!0,"onUpdate:modelValue":t=>J(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(T(),_(n(e.icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(e.label),1)]))),128))])):c(``,!0)],64))),128))])):c(``,!0)]),p(`div`,rt,[o[14]||=p(`div`,{class:`filter-logic-line`},null,-1),y(x,{"model-value":a.filters.filterLogicTriggers,options:C(be),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":o[8]||=e=>G(`filterLogicTriggers`,e)},null,8,[`model-value`,`options`]),o[15]||=p(`div`,{class:`filter-logic-line`},null,-1)]),p(`div`,it,[p(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:o[9]||=e=>Y(`eventTypes`)},[p(`span`,null,v(e.$t(`views.recordings.event_type`)),1),(T(),_(n(C(H).eventTypes?C(P):C(I)),{class:`w-4 h-4 text-muted`}))]),C(H).eventTypes?(T(),t(`div`,at,[(T(!0),t(i,null,r(C(Se),e=>(T(),t(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[y(b,{"model-value":a.filters.eventTypes.includes(e.value),binary:!0,"onUpdate:modelValue":t=>q(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(T(),_(n(e.icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(e.label),1)]))),128))])):c(``,!0)]),p(`div`,ot,[o[16]||=p(`div`,{class:`filter-logic-line`},null,-1),y(x,{"model-value":a.filters.filterLogicAttributes,options:C(be),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":o[10]||=e=>G(`filterLogicAttributes`,e)},null,8,[`model-value`,`options`]),o[17]||=p(`div`,{class:`filter-logic-line`},null,-1)]),p(`div`,st,[p(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:o[11]||=e=>Y(`attributes`)},[p(`span`,null,v(e.$t(`views.recordings.attributes`)),1),(T(),_(n(C(H).attributes?C(P):C(I)),{class:`w-4 h-4 text-muted`}))]),C(H).attributes?(T(),t(`div`,ct,[(T(!0),t(i,null,r(C(Te),e=>(T(),t(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[y(b,{"model-value":a.filters.hasAttributes.includes(e.value),binary:!0,"onUpdate:modelValue":t=>Oe(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(T(),_(n(e.icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(e.label),1)]))),128)),p(`label`,lt,[y(b,{"model-value":a.filters.eventTypes.includes(C(W).value),binary:!0,"onUpdate:modelValue":o[12]||=e=>q(C(W).value)},null,8,[`model-value`]),(T(),_(n(C(W).icon),{class:`w-4 h-4 text-muted`})),p(`span`,null,v(C(W).label),1)])])):c(``,!0)])],4)],4)}}}),[[`__scopeId`,`data-v-de3974e2`]]),ft={class:`font-semibold text-xl truncate`},pt={class:`w-full h-full relative`},mt={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10`},ht={class:`relative z-2 page-title !m-0`},gt={key:0,class:`flex items-center gap-2 mb-2 text-xs text-muted ml-auto`},_t={key:0,class:`inline-flex items-center gap-1`},vt={key:2,class:`flex justify-center py-4`},yt={key:3,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},bt={class:`text-muted text-sm`},xt=288,St=10,Ct=11,wt=x({__name:`Recordings`,setup(n){let r=new ve,i=ye(),{smBreakpoint:s,xlBreakpoint:m,mdBreakpoint:g}=me(),{isTouch:x}=I(),{registerScrollToTop:ie}=be();if(!x.value&&typeof VideoDecoder<`u`){let e=ne({cacheSize:20});d(de,e),E(()=>e.dispose())}let{results:ae,isSearching:k,isAvailable:ce,hasSearched:le,search:ue,clear:fe}=re(),{data:pe}=r.getCamerasQuery({page:1,pageSize:-1}),A={"1h":3600*1e3,"1d":1440*60*1e3,"1w":10080*60*1e3,"1m":720*60*60*1e3},j=o(`gridRef`),M=e(`closed`),N=e(!1),P=e({search:``,semanticQuery:``,filterLogicTriggers:`or`,filterLogicAttributes:`or`,cameraIds:[],timeRange:null,customDateRange:null,eventTypes:[],audioLabels:[],hasAttributes:[],sensorEvents:[],gridRegions:[],minConfidence:.5,minSemanticScore:.5}),F=b({state:`ended`,hasDetections:!0}),L=JSON.stringify(F.value),z=e(!1),B=b([]),U=h(()=>m.value?!0:M.value===`opened`),ge=h(()=>g.value),G=h(()=>g.value?`0px`:U.value?`${xt}px`:`0px`),K=h(()=>(pe.value?.result??[]).map(e=>({id:e._id,name:e.name}))),q=h(()=>{let e=new Map;for(let t of K.value)e.set(t.id,t.name);return e}),J=h(()=>{let e=new Map;for(let t of pe.value?.result??[])e.set(t._id,t);return e}),Oe=h(()=>P.value.cameraIds),Y=h(()=>K.value.map(e=>e.id));ie(()=>j.value?.scrollToTop());let{events:Ae,isLoading:je,hasMore:Me,loadMore:Ne,loadThumbnails:Pe,getCachedThumbnails:Fe}=D({availableCameraIds:Y,cameraIds:Oe,realtime:!0,pageSize:40,filter:F}),X=h(()=>{let e=new Map;for(let t of ae.value??[]){let n=e.get(t.eventId);(!n||t.score>n)&&e.set(t.eventId,t.score)}return e}),Z=h(()=>le.value),Q=h(()=>{let e=Ae.value.filter(e=>e.state===`ended`),t=P.value;if(t.timeRange&&A[t.timeRange]){let n=Date.now()-A[t.timeRange];e=e.filter(e=>e.startTime>=n)}if(t.gridRegions.length>0&&(e=e.filter(e=>e.segments.some(e=>e.detections.some(e=>e.box&&Re(e.box,t.gridRegions))))),Z.value){let n=.15,r=t.minSemanticScore*(.38-n)+n;e=e.filter(e=>{let t=X.value.get(e.id);return t!=null&&t>=r}),e.sort((e,t)=>(X.value.get(t.id)??0)-(X.value.get(e.id)??0))}return e}),$=h(()=>z.value&&B.value.length?B.value:Q.value.map(e=>({event:e,key:e.id})));function Ie(){M.value=M.value===`opened`?`closed`:`opened`}function Le(){M.value=`closed`}function Re(e,t){if(t.length===0)return!0;let n=1/St,r=1/Ct,i=e.x/n,a=(e.x+e.width)/n,o=e.y/r,s=(e.y+e.height)/r;for(let e of t)if(a>e.col&&i<e.col+e.w&&s>e.row&&o<e.row+e.h)return!0;return!1}function ze(e,t){let n=[];if(e.attributes)for(let[r,i]of Object.entries(e.attributes)){let e=O(i);if(!e)continue;let a=r.indexOf(`:`);n.push({key:`${t.id}:attr:${r}`,url:e,type:a>=0?r.substring(0,a):r,label:a>=0?r.substring(a+1):void 0})}if(e.detections)for(let[r,i]of Object.entries(e.detections)){let e=O(i);if(!e)continue;let a=r.includes(`:`)?r.split(`:`).slice(1).join(`:`):r;n.push({key:`${t.id}:det:${r}`,url:e,type:a})}if(e.scenes)for(let[r,i]of Object.entries(e.scenes)){let e=O(i);e&&n.push({key:`${t.id}:scene:${r}`,url:e,type:`scene`})}let r=new Set;return n.filter(e=>r.has(e.url)?!1:(r.add(e.url),!0))}function Be(e){let t=[];for(let n of e){let e=Fe(n.id);if(!e){t.push({event:n,key:n.id});continue}let r=ze(e,n),i=oe(e,n);if(i.url){let e=r.findIndex(e=>e.url===i.url);e>0&&r.unshift(...r.splice(e,1))}r.length<=1?t.push({event:n,key:n.id}):r.forEach((e,r)=>{t.push({event:n,key:r===0?n.id:e.key,thumbnailOverride:{url:e.url,type:e.type,label:e.label}})})}return t}function Ve(e){!e.semanticQuery?.trim()&&P.value.semanticQuery?.trim()&&fe(),P.value=e}function He(e){if(!e.trim()){fe();return}ue(e)}function Ue(e){let t=J.value.get(e.cameraId);t&&i.openComponentDialog(V,{data:{title:t.name,stayActive:!0,hideCancelButton:!0,hideConfirmButton:!0,contentProps:{camera:t,eventTimestamp:e.startTime},headerActions:e.segments?.some(e=>e?.description)?[{icon:_e,toggle:!0,onClick:()=>{}}]:void 0,draggable:!0,blockDragOnSelectors:[`.p-dialog-body`],dismissableMask:!1,modal:!1,dialogContentClass:`!px-0 h-full`,goTo:`/cameras/${t.name}?startTs=${e.startTime}`},dialogSize:{desktop:{maxWidth:`800px`,maxHeight:`calc(100vh - max(1rem, env(safe-area-inset-top, 0px)) - max(1rem, env(safe-area-inset-bottom, 0px)))`,width:`50vw`}}})}return l(m,e=>{e&&(M.value=`closed`)}),l(P,e=>{let t=e.eventTypes.length>0||e.sensorEvents.length>0||e.audioLabels.length>0||e.hasAttributes.length>0,n={types:e.eventTypes.length>0?e.eventTypes:void 0,triggers:e.sensorEvents.length>0?e.sensorEvents:void 0,triggerLabels:e.audioLabels.length>0?e.audioLabels:void 0,attributes:e.hasAttributes.length>0?e.hasAttributes:void 0,filterLogicTriggers:t?e.filterLogicTriggers:void 0,filterLogicAttributes:t?e.filterLogicAttributes:void 0,search:e.search||void 0,minConfidence:e.minConfidence>0?e.minConfidence:void 0,state:`ended`,hasDetections:!t},r=JSON.stringify(n);r!==L&&(L=r,F.value=n)},{deep:!0,immediate:!0}),l(z,e=>{e?B.value=Be(Q.value):B.value=[]}),l(Q,e=>{if(!z.value)return;let t=new Set(e.map(e=>e.id)),n=new Set(B.value.map(e=>e.event.id)),r=B.value.filter(e=>t.has(e.event.id)),i=e.filter(e=>!n.has(e.id));i.length&&(r=[...Be(i),...r]),B.value=r}),l(()=>P.value.cameraIds,e=>{e.length!==1&&P.value.gridRegions.length>0&&(P.value={...P.value,gridRegions:[]})}),u(()=>{requestAnimationFrame(()=>{N.value=!0})}),(e,n)=>{let r=xe,i=ke,o=De,l=se,u=Te,d=we,h=Ee,g=he,b=_e,x=W,E=Ce,ne=Se,re=H,ie=R;return T(),t(`div`,null,[y(r,{position:`center`},{default:f(()=>[p(`span`,ft,v(e.$t(`views.recordings.title`)),1)]),_:1}),y(r,{position:`left`},{default:f(()=>[y(l,{id:`recordings-sidebar-toggle`,severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:Ie},{icon:f(()=>[C(M)===`closed`?(T(),_(i,{key:0,width:`100%`,height:`100%`})):(T(),_(o,{key:1,width:`100%`,height:`100%`}))]),_:1})]),_:1}),y(dt,{filters:C(P),cameras:C(K),"is-open":C(U),"is-overlay":C(ge),"semantic-search-available":C(ce),"semantic-search-loading":C(k),"onUpdate:filters":Ve,onSemanticSearch:He,onClose:Le},null,8,[`filters`,`cameras`,`is-open`,`is-overlay`,`semantic-search-available`,`semantic-search-loading`]),(T(),_(S,{to:`#container`,defer:``},[C(U)&&C(ge)?(T(),t(`div`,{key:0,class:`fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1`,onClick:Le})):c(``,!0)])),p(`main`,{class:`relative w-full h-full`,style:w({paddingLeft:C(G),transition:C(N)?`padding-left 200ms`:void 0})},[p(`div`,pt,[C(s)?c(``,!0):(T(),t(`div`,mt,[n[1]||=p(`div`,{class:`ml-2`},null,-1),C(m)?c(``,!0):(T(),_(l,{key:0,id:`recordings-sidebar-toggle`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:Ie},{icon:f(()=>[C(U)?(T(),_(u,{key:0,width:`100%`,height:`100%`})):(T(),_(d,{key:1,width:`100%`,height:`100%`}))]),_:1})),p(`h1`,ht,v(e.$t(`views.recordings.title`)),1),n[2]||=p(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[p(`div`),p(`div`),p(`div`),p(`div`),p(`div`),p(`div`)],-1)])),p(`div`,{class:ee([`px-2 h-full w-full flex flex-col`,{"pt-4":C(s),"pt-[calc(40px+2rem)]":!C(s)}])},[C(Q).length||C(Z)?(T(),t(`div`,gt,[a((T(),_(l,{severity:C(z)?`primary`:`secondary`,text:``,rounded:``,class:`cui-icon-sm`,onClick:n[0]||=e=>z.value=!C(z)},{icon:f(()=>[C(z)?(T(),_(g,{key:1,width:`100%`,height:`100%`})):(T(),_(h,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`severity`])),[[ie,{value:e.$t(`views.recordings.ungroup`)},void 0,{bottom:!0}]]),p(`span`,null,v(e.$t(`views.recordings.result_count`,{count:C($).length})),1),C(Z)?(T(),t(`span`,_t,[y(b,{class:`w-3 h-3`}),te(` `+v(e.$t(`views.recordings.semantic_results`,{count:C(X).size})),1)])):c(``,!0)])):c(``,!0),C($).length?(T(),_(E,{key:1,ref_key:`gridRef`,ref:j,items:C($),"min-item-width":C(s)?160:180,gap:8,"has-more":C(Me),"load-more":C(Ne),"item-key":e=>e.key,class:`flex-1 min-h-0`},{item:f(({item:e})=>[y(x,{event:e.event,"camera-name":C(q).get(e.event.cameraId),camera:C(J).get(e.event.cameraId),"load-thumbnails":C(Pe),"semantic-score":C(X).get(e.event.id),"thumbnail-override":e.thumbnailOverride,onScrollToEvent:()=>Ue(e.event)},null,8,[`event`,`camera-name`,`camera`,`load-thumbnails`,`semantic-score`,`thumbnail-override`,`onScrollToEvent`])]),_:1},8,[`items`,`min-item-width`,`has-more`,`load-more`,`item-key`])):c(``,!0),C(je)||C(k)?(T(),t(`div`,vt,[y(ne,{width:`24px`,height:`24px`,class:`text-muted`})])):c(``,!0),!C(Q).length&&!C(je)&&!C(k)?(T(),t(`div`,yt,[y(re,{class:`w-12 h-12 text-muted`}),p(`span`,bt,v(e.$t(`views.recordings.no_recordings`)),1)])):c(``,!0)],2)])],4)])}}});export{wt as default};
@@ -1 +1 @@
1
- import{$n as e,$t as t,An as n,En as r,Gt as i,In as a,On as o,Qt as s,Rn as c,Sn as l,Vn as u,Xt as d,Yt as f,Zt as p,ar as m,cr as h,dr as g,gn as _,in as v,on as y,sr as b,ur as x,wn as S}from"./vendor-CF-D4B9g.js";import{Bn as C,Ki as w,Mi as T,Ni as E,Ri as D,Vn as O,mi as k,xi as A}from"./vendor-cameraui-tvNekvZ-.js";import{f as j,l as M}from"./vendor-core-DinQdIbm.js";import{t as N}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as P,o as F,r as I,s as ee,t as L}from"./useSharedComposables-CTXKSCVm.js";import{n as R}from"./router-Bucu1aUt.js";import{t as z}from"./hasPermission-CyA03Zx7.js";import{t as B}from"./CuiTopbarSlot-DTNeuYvo.js";import{t as V}from"./routerState-C_8KP3kD.js";import{n as H,t as U}from"./round-alt-arrow-left-bold-CLoPDaOh.js";var W={},G={class:`w-full h-full flex items-center justify-center`};function K(e,n){let r=C;return S(),t(`div`,G,[v(r,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])}var q=N(W,[[`render`,K]]),J={key:0},Y={key:1},X={class:`overflow-hidden w-full`},Z={class:`ml-2 flex flex-row items-center justify-between`},Q={class:`text-start flex-1`},te={class:`text-sm font-bold max-w-100 truncate`},ne={key:0,class:`text-sm text-muted font-normal`},re=N(y({__name:`CuiSubNavItem`,props:{label:{},to:{},description:{},icon:{},activeIcon:{}},setup(e){let{icon:n,activeIcon:r,label:i,description:a,to:c}=m(e);return(e,l)=>{let f=O,m=o(`RouterLink`);return S(),p(m,{to:b(c)},{default:u(({isExactActive:e})=>[v(f,{text:``,severity:`secondary`,class:h([`subnavitem-button w-full h-[120px] flex items-start justify-start p-6 bg-none text-color hover:!text-primary active:!text-primary focus:!text-primary rounded-none`,{"active !text-primary":e}]),fluid:``},{default:u(()=>[b(n)&&!e||!b(r)?(S(),t(`div`,J,[v(b(n),{class:`w-[24px] h-[24px]`})])):b(r)&&e?(S(),t(`div`,Y,[v(b(r),{class:`w-[24px] h-[24px]`})])):s(``,!0),d(`div`,X,[d(`div`,Z,[d(`div`,Q,[d(`div`,te,g(b(i)),1),b(a)?(S(),t(`div`,ne,g(b(a)),1)):s(``,!0)])])])]),_:2},1032,[`class`])]),_:1},8,[`to`])}}}),[[`__scopeId`,`data-v-a5399c04`]]),$={CLOSED:0,EXPANDED:288},ie=N(y({__name:`CuiSubNavbar`,setup(n,{expose:o}){let s=M(),{bus:u}=F(),{xlBreakpoint:d,mdBreakpoint:m}=L(),{bottombarHeight:h,subbarState:g,navbarState:v,topbarHeight:y}=P(),C=a(`subnavbarRef`),T=e(`closed`),D=f(()=>d.value?`opened`:T.value),O=f(()=>D.value===`closed`?$.CLOSED:$.EXPANDED),A=f(()=>R.find(e=>e.name===`Settings`).children.filter(e=>e.meta?.settingsBar&&z(e)));function j(){T.value=`closed`,u.emit({subbarState:`closed`})}function N(){_(()=>{let e=C.value?.querySelector(`.subnavitem-button.active`);e&&e.scrollIntoView({block:`center`,behavior:`smooth`})})}let I=w(N,100);return k(C,e=>{let t=e.target,n=t.closest(`#menu-icon`),r=t.closest(`#submenu-icon`),i=t.closest(`#navbar-icon`);!n&&!r&&!i&&j()}),E(C,()=>{I()}),c(g,e=>{e&&e!==T.value&&(T.value=e)}),c(s.currentRoute,(e,t)=>{e.path!==t.path&&j()}),c(v,e=>{e===`opened`&&m.value&&j()}),l(()=>{N()}),o({subnavbarState:D}),(e,n)=>{let a=re;return S(),t(`nav`,{ref_key:`subnavbarRef`,ref:C,class:`cui-subnavbar fixed transition-all duration-200 overflow-x-hidden overflow-y-scroll md:!pl-0 pl-safe pb-safe w-full h-full flex flex-col`,style:x({width:`${b(O)}px`,borderRightWidth:b(D)===`opened`?`1px`:`0px`,paddingBottom:`calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + ${b(h)}px + ${b(y)}px)`})},[(S(!0),t(i,null,r(b(A),t=>(S(),p(a,{key:t.name,icon:t.meta.settingsBar.icon.default,"active-icon":t.meta.settingsBar.icon.active,to:t.path,label:e.$t(`navigation.${(t.meta?.name).toLowerCase()}`),description:e.$t(`navigation_description.${t.meta?.description}`),class:`cui-list-item !m-0 !p-0 shrink-0`,style:x({width:`${b($).EXPANDED}px`})},null,8,[`icon`,`active-icon`,`to`,`label`,`description`,`style`]))),128))],4)}}}),[[`__scopeId`,`data-v-ebf1579c`]]),ae={class:`font-semibold text-xl truncate`},oe={class:`relative flex overflow-hidden items-center justify-center w-5 h-5`},se={class:`flex flex-col justify-between w-4 h-3 transform transition-all duration-100 origin-center overflow-hidden`},ce={class:`w-full h-full relative`},le={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-2`},ue={class:`relative z-2 page-title !m-0`},de=y({__name:`Settings`,setup(r){let i=M(),l=ee(),{bus:m}=F(),{isTouch:_}=I(),{mdBreakpoint:y,xlBreakpoint:C,smBreakpoint:w}=L(),{routerLoading:E}=j(V()),k=R.find(e=>e.name===`Settings`).children.filter(e=>z(e)&&e.meta?.settingsBar),N=a(`subnavbarRef`),P=a(`containerRef`),W=e(!0),{isSwiping:G,direction:K}=_.value?D(P,{threshold:50,onSwipeStart(e){let t=e.target;([`INPUT`,`TEXTAREA`,`SELECT`,`BUTTON`].includes(t.tagName)||t.closest(`.p-datatable`))&&(W.value=!1)},onSwipeEnd(){W.value=!0}}):T(P,{threshold:50,onSwipeStart(e){let t=e.target;([`INPUT`,`TEXTAREA`,`SELECT`,`BUTTON`].includes(t.tagName)||t.closest(`.p-datatable`))&&(W.value=!1)},onSwipeEnd(){W.value=!0}}),J=A(N),Y=f(()=>N.value?.subnavbarState??`closed`);function X(){let e=Y.value===`opened`?`closed`:`opened`;m.emit({subbarState:e})}return c([G,K],()=>{if(G.value&&W.value){let e=k.findIndex(e=>e.path===i.currentRoute.value.path.split(`/settings/`)[1]);switch(K.value){case`right`:{let t=k[e-1];t&&i.push({path:t.path})}break;case`left`:{let t=k[e+1];t&&i.push({path:t.path})}break}}}),(e,r)=>{let i=B,a=O,c=ie,f=U,m=H,_=q,T=o(`RouterView`);return S(),t(`div`,null,[v(i,{position:`center`},{default:u(()=>[d(`span`,ae,g(e.$t(`views.settings.title_${e.$route.meta?.name}`)),1)]),_:1}),v(i,{position:`left`},{default:u(()=>[v(a,{id:`menu-icon`,class:`cui-button relative group p-2 transition-colors duration-100 w-[40px] h-[42px] flex items-center justify-center`,severity:`secondary`,text:``,onClick:X},{default:u(()=>[d(`div`,oe,[d(`div`,se,[d(`div`,{class:h([`h-0.5 w-2 transform transition-all duration-100 origin-center`,{"w-4 rotate-45 translate-y-[5px]":b(Y)===`opened`}]),style:{backgroundColor:`var(--text-color)`}},null,2),d(`div`,{class:h([`h-0.5 w-4 rounded transform transition-all duration-100`,{"opacity-0":b(Y)===`opened`}]),style:{backgroundColor:`var(--text-color)`}},null,2),d(`div`,{class:h([`h-0.5 w-3 transform transition-all duration-100 origin-center`,{"w-4 -rotate-45 -translate-y-[5px]":b(Y)===`opened`}]),style:{backgroundColor:`var(--text-color)`}},null,2)])])]),_:1})]),_:1}),v(c,{ref_key:`subnavbarRef`,ref:N,class:`z-4 min-w-0`},null,512),d(`main`,{class:`relative w-full h-full`,style:x({paddingLeft:b(y)?`0px`:`${b(J).width.value}px`})},[d(`div`,ce,[b(w)?s(``,!0):(S(),t(`div`,le,[r[0]||=d(`div`,{class:`ml-2`},null,-1),b(C)?s(``,!0):(S(),p(a,{key:0,id:`submenu-icon`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:X},{icon:u(()=>[b(Y)===`opened`?(S(),p(f,{key:0,width:`100%`,height:`100%`})):(S(),p(m,{key:1,width:`100%`,height:`100%`}))]),_:1})),d(`h1`,ue,g(e.$t(`views.settings.title_${e.$route.meta?.name}`)),1),r[1]||=d(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[d(`div`),d(`div`),d(`div`),d(`div`),d(`div`),d(`div`)],-1)])),d(`div`,{ref_key:`containerRef`,ref:P,class:h([`px-2 h-full w-full`,{"py-4":b(w),"pt-[calc(40px+2rem)] pb-2":!b(w)}])},[b(E)&&b(l).showRouterLoadingSub.value?(S(),p(_,{key:0,class:`w-full h-full relative overflow-x-hidden`})):(S(),p(T,{key:1},{default:u(({Component:e})=>[(S(),p(n(e),{class:`h-full`}))]),_:1}))],2)])],4)])}}});export{de as default};
1
+ import{$n as e,$t as t,An as n,En as r,Gt as i,In as a,On as o,Qt as s,Rn as c,Sn as l,Vn as u,Xt as d,Yt as f,Zt as p,ar as m,cr as h,dr as g,gn as _,in as v,on as y,sr as b,ur as x,wn as S}from"./vendor-CF-D4B9g.js";import{Bn as C,Ki as w,Mi as T,Ni as E,Ri as D,Vn as O,mi as k,xi as A}from"./vendor-cameraui-tvNekvZ-.js";import{f as j,l as M}from"./vendor-core-DinQdIbm.js";import{t as N}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as P,o as F,r as I,s as ee,t as L}from"./useSharedComposables-CTXKSCVm.js";import{n as R}from"./router-BiR9abhL.js";import{t as z}from"./hasPermission-CyA03Zx7.js";import{t as B}from"./CuiTopbarSlot-DTNeuYvo.js";import{t as V}from"./routerState-C_8KP3kD.js";import{n as H,t as U}from"./round-alt-arrow-left-bold-CLoPDaOh.js";var W={},G={class:`w-full h-full flex items-center justify-center`};function K(e,n){let r=C;return S(),t(`div`,G,[v(r,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])}var q=N(W,[[`render`,K]]),J={key:0},Y={key:1},X={class:`overflow-hidden w-full`},Z={class:`ml-2 flex flex-row items-center justify-between`},Q={class:`text-start flex-1`},te={class:`text-sm font-bold max-w-100 truncate`},ne={key:0,class:`text-sm text-muted font-normal`},re=N(y({__name:`CuiSubNavItem`,props:{label:{},to:{},description:{},icon:{},activeIcon:{}},setup(e){let{icon:n,activeIcon:r,label:i,description:a,to:c}=m(e);return(e,l)=>{let f=O,m=o(`RouterLink`);return S(),p(m,{to:b(c)},{default:u(({isExactActive:e})=>[v(f,{text:``,severity:`secondary`,class:h([`subnavitem-button w-full h-[120px] flex items-start justify-start p-6 bg-none text-color hover:!text-primary active:!text-primary focus:!text-primary rounded-none`,{"active !text-primary":e}]),fluid:``},{default:u(()=>[b(n)&&!e||!b(r)?(S(),t(`div`,J,[v(b(n),{class:`w-[24px] h-[24px]`})])):b(r)&&e?(S(),t(`div`,Y,[v(b(r),{class:`w-[24px] h-[24px]`})])):s(``,!0),d(`div`,X,[d(`div`,Z,[d(`div`,Q,[d(`div`,te,g(b(i)),1),b(a)?(S(),t(`div`,ne,g(b(a)),1)):s(``,!0)])])])]),_:2},1032,[`class`])]),_:1},8,[`to`])}}}),[[`__scopeId`,`data-v-a5399c04`]]),$={CLOSED:0,EXPANDED:288},ie=N(y({__name:`CuiSubNavbar`,setup(n,{expose:o}){let s=M(),{bus:u}=F(),{xlBreakpoint:d,mdBreakpoint:m}=L(),{bottombarHeight:h,subbarState:g,navbarState:v,topbarHeight:y}=P(),C=a(`subnavbarRef`),T=e(`closed`),D=f(()=>d.value?`opened`:T.value),O=f(()=>D.value===`closed`?$.CLOSED:$.EXPANDED),A=f(()=>R.find(e=>e.name===`Settings`).children.filter(e=>e.meta?.settingsBar&&z(e)));function j(){T.value=`closed`,u.emit({subbarState:`closed`})}function N(){_(()=>{let e=C.value?.querySelector(`.subnavitem-button.active`);e&&e.scrollIntoView({block:`center`,behavior:`smooth`})})}let I=w(N,100);return k(C,e=>{let t=e.target,n=t.closest(`#menu-icon`),r=t.closest(`#submenu-icon`),i=t.closest(`#navbar-icon`);!n&&!r&&!i&&j()}),E(C,()=>{I()}),c(g,e=>{e&&e!==T.value&&(T.value=e)}),c(s.currentRoute,(e,t)=>{e.path!==t.path&&j()}),c(v,e=>{e===`opened`&&m.value&&j()}),l(()=>{N()}),o({subnavbarState:D}),(e,n)=>{let a=re;return S(),t(`nav`,{ref_key:`subnavbarRef`,ref:C,class:`cui-subnavbar fixed transition-all duration-200 overflow-x-hidden overflow-y-scroll md:!pl-0 pl-safe pb-safe w-full h-full flex flex-col`,style:x({width:`${b(O)}px`,borderRightWidth:b(D)===`opened`?`1px`:`0px`,paddingBottom:`calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + ${b(h)}px + ${b(y)}px)`})},[(S(!0),t(i,null,r(b(A),t=>(S(),p(a,{key:t.name,icon:t.meta.settingsBar.icon.default,"active-icon":t.meta.settingsBar.icon.active,to:t.path,label:e.$t(`navigation.${(t.meta?.name).toLowerCase()}`),description:e.$t(`navigation_description.${t.meta?.description}`),class:`cui-list-item !m-0 !p-0 shrink-0`,style:x({width:`${b($).EXPANDED}px`})},null,8,[`icon`,`active-icon`,`to`,`label`,`description`,`style`]))),128))],4)}}}),[[`__scopeId`,`data-v-ebf1579c`]]),ae={class:`font-semibold text-xl truncate`},oe={class:`relative flex overflow-hidden items-center justify-center w-5 h-5`},se={class:`flex flex-col justify-between w-4 h-3 transform transition-all duration-100 origin-center overflow-hidden`},ce={class:`w-full h-full relative`},le={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-2`},ue={class:`relative z-2 page-title !m-0`},de=y({__name:`Settings`,setup(r){let i=M(),l=ee(),{bus:m}=F(),{isTouch:_}=I(),{mdBreakpoint:y,xlBreakpoint:C,smBreakpoint:w}=L(),{routerLoading:E}=j(V()),k=R.find(e=>e.name===`Settings`).children.filter(e=>z(e)&&e.meta?.settingsBar),N=a(`subnavbarRef`),P=a(`containerRef`),W=e(!0),{isSwiping:G,direction:K}=_.value?D(P,{threshold:50,onSwipeStart(e){let t=e.target;([`INPUT`,`TEXTAREA`,`SELECT`,`BUTTON`].includes(t.tagName)||t.closest(`.p-datatable`))&&(W.value=!1)},onSwipeEnd(){W.value=!0}}):T(P,{threshold:50,onSwipeStart(e){let t=e.target;([`INPUT`,`TEXTAREA`,`SELECT`,`BUTTON`].includes(t.tagName)||t.closest(`.p-datatable`))&&(W.value=!1)},onSwipeEnd(){W.value=!0}}),J=A(N),Y=f(()=>N.value?.subnavbarState??`closed`);function X(){let e=Y.value===`opened`?`closed`:`opened`;m.emit({subbarState:e})}return c([G,K],()=>{if(G.value&&W.value){let e=k.findIndex(e=>e.path===i.currentRoute.value.path.split(`/settings/`)[1]);switch(K.value){case`right`:{let t=k[e-1];t&&i.push({path:t.path})}break;case`left`:{let t=k[e+1];t&&i.push({path:t.path})}break}}}),(e,r)=>{let i=B,a=O,c=ie,f=U,m=H,_=q,T=o(`RouterView`);return S(),t(`div`,null,[v(i,{position:`center`},{default:u(()=>[d(`span`,ae,g(e.$t(`views.settings.title_${e.$route.meta?.name}`)),1)]),_:1}),v(i,{position:`left`},{default:u(()=>[v(a,{id:`menu-icon`,class:`cui-button relative group p-2 transition-colors duration-100 w-[40px] h-[42px] flex items-center justify-center`,severity:`secondary`,text:``,onClick:X},{default:u(()=>[d(`div`,oe,[d(`div`,se,[d(`div`,{class:h([`h-0.5 w-2 transform transition-all duration-100 origin-center`,{"w-4 rotate-45 translate-y-[5px]":b(Y)===`opened`}]),style:{backgroundColor:`var(--text-color)`}},null,2),d(`div`,{class:h([`h-0.5 w-4 rounded transform transition-all duration-100`,{"opacity-0":b(Y)===`opened`}]),style:{backgroundColor:`var(--text-color)`}},null,2),d(`div`,{class:h([`h-0.5 w-3 transform transition-all duration-100 origin-center`,{"w-4 -rotate-45 -translate-y-[5px]":b(Y)===`opened`}]),style:{backgroundColor:`var(--text-color)`}},null,2)])])]),_:1})]),_:1}),v(c,{ref_key:`subnavbarRef`,ref:N,class:`z-4 min-w-0`},null,512),d(`main`,{class:`relative w-full h-full`,style:x({paddingLeft:b(y)?`0px`:`${b(J).width.value}px`})},[d(`div`,ce,[b(w)?s(``,!0):(S(),t(`div`,le,[r[0]||=d(`div`,{class:`ml-2`},null,-1),b(C)?s(``,!0):(S(),p(a,{key:0,id:`submenu-icon`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:X},{icon:u(()=>[b(Y)===`opened`?(S(),p(f,{key:0,width:`100%`,height:`100%`})):(S(),p(m,{key:1,width:`100%`,height:`100%`}))]),_:1})),d(`h1`,ue,g(e.$t(`views.settings.title_${e.$route.meta?.name}`)),1),r[1]||=d(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[d(`div`),d(`div`),d(`div`),d(`div`),d(`div`),d(`div`)],-1)])),d(`div`,{ref_key:`containerRef`,ref:P,class:h([`px-2 h-full w-full`,{"py-4":b(w),"pt-[calc(40px+2rem)] pb-2":!b(w)}])},[b(E)&&b(l).showRouterLoadingSub.value?(S(),p(_,{key:0,class:`w-full h-full relative overflow-x-hidden`})):(S(),p(T,{key:1},{default:u(({Component:e})=>[(S(),p(n(e),{class:`h-full`}))]),_:1}))],2)])],4)])}}});export{de as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-BF5SJFVX.js","assets/vendor-capacitor-Dqo8SY0p.js","assets/vendor-CF-D4B9g.js","assets/rolldown-runtime-DAXXjFlN.js"])))=>i.map(i=>d[i]);
2
+ import{S as e,h as t}from"./api-BNAa4vCH.js";import{$n as n,$t as r,En as i,Gt as a,Hn as ee,Qt as o,Rn as s,Sn as c,Ut as te,Vn as l,Xt as u,Yn as d,Yt as f,Zn as p,Zt as m,dr as h,in as g,kt as _,on as v,rn as y,sr as b,wn as x}from"./vendor-CF-D4B9g.js";import{Bn as ne,Q as re,Vn as ie,di as S,et as ae,st as oe}from"./vendor-cameraui-tvNekvZ-.js";import{t as C}from"./useElectron-mh8HQUAI.js";import{J as se,K as ce,T as le,U as ue,h as de,x as fe,z as pe}from"./vendor-primevue-D0-7UQst.js";import{t as w}from"./hasPermission-CyA03Zx7.js";import"./deviceId-CARl4LJm.js";import{t as T}from"./notifications-C1t3xoeG.js";var E={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function D(e,t){return x(),r(`svg`,E,[...t[0]||=[u(`path`,{fill:`currentColor`,d:`M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3zM7 6h10v13H7zm2 2v9h2V8zm4 0v9h2V8z`},null,-1)]])}var me=d({name:`mdi-trash-can-outline`,render:D}),O=`cui.push.registrations`;n(!1);function he(){return{registerForPush:async()=>{},forgetIfThisDevice:async(e,t)=>{if(!e)return;let n=await j(e);!n||n.deviceId!==t||await M(e)},isServerSynced:async e=>e?await j(e)!==null:!1}}async function k(){try{let{Preferences:e}=await _(async()=>{let{Preferences:e}=await import(`./esm-BF5SJFVX.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3])),{value:t}=await e.get({key:O});return t?JSON.parse(t):{}}catch{return{}}}async function A(e){try{let{Preferences:t}=await _(async()=>{let{Preferences:e}=await import(`./esm-BF5SJFVX.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]));await t.set({key:O,value:JSON.stringify(e)})}catch{}}async function j(e){return(await k())[e]??null}async function M(e){let t=await k();t[e]&&(delete t[e],await A(t))}var ge={class:`flex flex-col w-full gap-6`},_e={class:`card-title`},ve={class:`flex flex-col gap-5`},ye={class:`text-sm`},be={key:0,class:`flex items-center justify-center py-8`},xe={class:`flex items-center gap-4`},Se={class:`flex flex-col field-switch-gap`},Ce={class:`cui-label-switch`},we={key:0,class:`flex items-center gap-4`},Te={class:`flex flex-col field-switch-gap min-w-0`},Ee={class:`cui-label-switch`},De={key:1,class:`flex items-center gap-4`},Oe={class:`flex flex-col field-switch-gap min-w-0`},ke={class:`cui-label-switch`},Ae={key:2,class:`flex flex-col gap-2`},je={class:`flex items-center gap-4`},Me={class:`flex flex-col field-switch-gap`},Ne={class:`cui-label-switch`},Pe={key:0,class:`grid grid-cols-1 sm:grid-cols-3 gap-3 mt-2`},Fe={class:`flex flex-col field-gap`},Ie={for:`qh-from`,class:`cui-label`},Le={class:`flex flex-col field-gap`},Re={for:`qh-to`,class:`cui-label`},ze={class:`flex flex-col field-gap`},Be={for:`qh-tz`,class:`cui-label`},Ve={key:0},He={class:`card-title`},Ue={class:`flex flex-col gap-5`},We={class:`text-sm`},Ge={key:0,class:`flex items-center justify-center py-8`},Ke={key:1,class:`text-sm text-muted-color text-center py-8`},qe={key:2,class:`flex flex-col gap-3`},Je={class:`flex items-center gap-4`},Ye={class:`flex flex-col field-switch-gap`},Xe={class:`cui-label-switch`},Ze={key:1},Qe={class:`card-title`},$e={class:`flex flex-col gap-5`},et={class:`text-sm`},tt={key:0,class:`flex items-center justify-center py-8`},nt={key:1,class:`text-sm text-muted-color text-center py-8`},rt={key:2,class:`flex flex-col gap-3`},it={class:`flex items-center gap-4`},at={class:`flex flex-col field-switch-gap`},ot={class:`cui-label-switch`},st={key:2},ct={class:`card-title`},lt={class:`flex flex-col gap-5`},ut={class:`text-sm`},dt={key:0,class:`flex items-center justify-center py-8`},ft={key:1,class:`text-sm text-muted-color text-center py-8`},pt={key:3,class:`flex justify-end gap-2`},N=v({__name:`SettingsNotifications`,setup(d){let _=new T,{t:v,te:E}=S(),D=e(),O=w(void 0,`admin`),{registerForPush:k,forgetIfThisDevice:A,isServerSynced:j}=he(),{isElectronApp:M,electron:N}=C(),{data:P,isLoading:mt}=_.getSettingsQuery(),{data:F,isLoading:ht}=_.listDevicesQuery(()=>O),{data:I,isLoading:L}=_.listSourcesQuery(),{mutate:gt,isPending:_t}=_.setSettingsQuery(),{mutateAsync:vt}=_.setSettingsQuerySilent(),{mutate:yt}=_.revokeDeviceQuery(),{mutate:R}=_.updateDeviceQuery(),z=Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`,B=n(null),V=n(``),H=n(!1),U=n(!1),W=n(!1),G=n(!0),K=n(!1),q=n(null),J=p({}),Y=n(null),bt=f(()=>!!B.value&&JSON.stringify(B.value)!==V.value),X=f(()=>!!B.value?.enabled),Z=f(()=>_t.value),xt=f(()=>Tt(B.value?.quietHours?.from)),St=f(()=>Tt(B.value?.quietHours?.to));function Q(e){e&&(B.value=JSON.parse(JSON.stringify(e)),V.value=JSON.stringify(e))}function Ct(){Q(P.value)}function wt(e){B.value&&(e?B.value.quietHours={from:`22:00`,to:`07:00`,timezone:z}:delete B.value.quietHours)}function Tt(e){if(!e)return null;let[t,n]=e.split(`:`).map(Number);if(!Number.isFinite(t)||!Number.isFinite(n))return null;let r=new Date;return r.setHours(t,n,0,0),r}function Et(e){return e?`${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}`:`00:00`}function Dt(e,t){B.value?.quietHours&&(B.value.quietHours[e]=Et(t))}function Ot(e){return B.value?.systemTypes?.[e]!==!1}function kt(e,t){B.value&&(B.value.systemTypes||(B.value.systemTypes={}),t?delete B.value.systemTypes[e]:B.value.systemTypes[e]=!1)}function At(e){return B.value?.sources?.[e]!==!1}function jt(e,t){B.value&&(B.value.sources||(B.value.sources={}),t?delete B.value.sources[e]:B.value.sources[e]=!1)}function Mt(e){let t=`views.settings.notifications.system_types.${e.type.replaceAll(`.`,`_`)}`;return E(t)?v(t):e.label}function Nt(){B.value&&gt({settings:B.value},{onSuccess:e=>Q(e)})}async function Pt(e){if(!(!B.value||!P.value)){H.value=!0;try{Q(await vt({settings:{...P.value,enabled:e}}))}catch(e){D.add({severity:`error`,detail:e,life:3e3})}finally{H.value=!1}}}async function Ft(){let e=t();U.value=e?await j(e):!1}async function It(){if(!(!M||!N))try{G.value=await N.invoke(`get-desktop-notifications`)}catch{}}async function Lt(e){if(N){K.value=!0;try{G.value=await N.invoke(`set-desktop-notifications`,e)}catch(e){D.add({severity:`error`,detail:e,life:3e3})}finally{K.value=!1}}}async function Rt(){W.value=!0;try{await k(),await Ft(),await _.queryClient.invalidateQueries({queryKey:[`notifications`,`devices`]})}catch(e){D.add({severity:`error`,detail:e,life:3e3})}finally{W.value=!1}}function zt(e){q.value=e;let n=t();yt({deviceId:e},{onSuccess:async()=>{n&&await A(n,e),Ft()},onSettled:()=>q.value=null})}function $(e){let t=J[e.id];if(t==null)return;let n=t.trim();if(!n||n===e.name){delete J[e.id];return}Y.value=e.id,R({deviceId:e.id,patch:{name:n}},{onSuccess:()=>delete J[e.id],onSettled:()=>Y.value=null})}function Bt(e,t){Y.value=e,R({deviceId:e,patch:{active:t}},{onSettled:()=>Y.value=null})}return s(P,Q,{immediate:!0}),c(()=>{M&&It()}),(e,t)=>{let n=ne,s=pe,c=ce,d=ie,f=re,p=ae,_=oe,v=ue,S=fe,C=le,w=me,T=de,E=se;return x(),r(`div`,null,[u(`div`,ge,[u(`div`,null,[u(`span`,_e,h(e.$t(`views.settings.notifications.general`)),1),g(_,{class:`cui-card`},{content:l(()=>[u(`div`,ve,[u(`span`,ye,h(e.$t(`views.settings.notifications.general_info`)),1),b(mt)&&!b(B)?(x(),r(`div`,be,[g(n,{style:{width:`24px`,height:`24px`},"stroke-width":`4`})])):b(B)?(x(),r(a,{key:1},[u(`div`,xe,[u(`div`,Se,[u(`label`,Ce,h(e.$t(`views.settings.notifications.enable`)),1),g(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[y(h(e.$t(`views.settings.notifications.enable_info`)),1)]),_:1})]),g(c,{"model-value":b(B).enabled,loading:b(H),class:`ml-auto shrink-0`,"onUpdate:modelValue":Pt},null,8,[`model-value`,`loading`])]),b(!1)&&b(B).enabled?(x(),r(`div`,we,[u(`div`,Te,[u(`label`,Ee,h(e.$t(`views.settings.notifications.this_device`)),1),g(s,{severity:b(U)?`secondary`:`warn`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[y(h(b(U)?e.$t(`views.settings.notifications.this_device_synced`):e.$t(`views.settings.notifications.this_device_unsynced`)),1)]),_:1},8,[`severity`])]),g(d,{size:`small`,severity:b(U)?`secondary`:void 0,loading:b(W),class:`ml-auto shrink-0`,label:b(U)?e.$t(`views.settings.notifications.resync`):e.$t(`views.settings.notifications.sync`),onClick:Rt},null,8,[`severity`,`loading`,`label`])])):b(M)&&b(B).enabled?(x(),r(`div`,De,[u(`div`,Oe,[u(`label`,ke,h(e.$t(`views.settings.notifications.this_device`)),1),g(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[y(h(e.$t(`views.settings.notifications.this_device_desktop`)),1)]),_:1})]),g(c,{"model-value":b(G),loading:b(K),class:`ml-auto shrink-0`,"onUpdate:modelValue":Lt},null,8,[`model-value`,`loading`])])):o(``,!0),b(B).enabled?(x(),r(`div`,Ae,[u(`div`,je,[u(`div`,Me,[u(`label`,Ne,h(e.$t(`views.settings.notifications.quiet_hours`)),1),g(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[y(h(e.$t(`views.settings.notifications.quiet_hours_info`)),1)]),_:1})]),g(c,{"model-value":!!b(B).quietHours,class:`ml-auto shrink-0`,"onUpdate:modelValue":wt},null,8,[`model-value`])]),b(B).quietHours?(x(),r(`div`,Pe,[u(`div`,Fe,[u(`label`,Ie,h(e.$t(`views.settings.notifications.from`)),1),g(f,{"input-id":`qh-from`,"model-value":b(xt),"time-only":``,"show-icon":``,"icon-display":`input`,class:`w-full`,"onUpdate:modelValue":t[0]||=e=>Dt(`from`,e)},null,8,[`model-value`])]),u(`div`,Le,[u(`label`,Re,h(e.$t(`views.settings.notifications.to`)),1),g(f,{"input-id":`qh-to`,"model-value":b(St),"time-only":``,"show-icon":``,"icon-display":`input`,class:`w-full`,"onUpdate:modelValue":t[1]||=e=>Dt(`to`,e)},null,8,[`model-value`])]),u(`div`,ze,[u(`label`,Be,h(e.$t(`views.settings.notifications.timezone`)),1),g(p,{id:`qh-tz`,modelValue:b(B).quietHours.timezone,"onUpdate:modelValue":t[2]||=e=>b(B).quietHours.timezone=e,placeholder:b(z)},null,8,[`modelValue`,`placeholder`])])])):o(``,!0)])):o(``,!0)],64)):o(``,!0)])]),_:1})]),b(X)&&b(O)?(x(),r(`div`,Ve,[u(`span`,He,h(e.$t(`views.settings.notifications.system_notifications`)),1),g(_,{class:`cui-card`},{content:l(()=>[u(`div`,Ue,[u(`span`,We,h(e.$t(`views.settings.notifications.system_notifications_info`)),1),b(L)&&!b(I)?(x(),r(`div`,Ge,[g(n,{style:{width:`24px`,height:`24px`},"stroke-width":`4`})])):b(I)?.system?.length?(x(),r(`div`,qe,[(x(!0),r(a,null,i(b(I).system,(e,t)=>(x(),r(`div`,{key:e.type},[u(`div`,Je,[u(`div`,Ye,[u(`label`,Xe,h(Mt(e)),1),e.description?(x(),m(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[y(h(e.description),1)]),_:2},1024)):o(``,!0)]),g(c,{"model-value":Ot(e.type),class:`ml-auto shrink-0`,"onUpdate:modelValue":t=>kt(e.type,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),t<b(I).system.length-1?(x(),m(v,{key:0,class:`my-2`})):o(``,!0)]))),128))])):(x(),r(`div`,Ke,h(e.$t(`views.settings.notifications.no_system_types`)),1))])]),_:1})])):o(``,!0),b(X)?(x(),r(`div`,Ze,[u(`span`,Qe,h(e.$t(`views.settings.notifications.plugin_notifications`)),1),g(_,{class:`cui-card`},{content:l(()=>[u(`div`,$e,[u(`span`,et,h(e.$t(`views.settings.notifications.plugin_notifications_info`)),1),b(L)&&!b(I)?(x(),r(`div`,tt,[g(n,{style:{width:`24px`,height:`24px`},"stroke-width":`4`})])):b(I)?.plugins?.length?(x(),r(`div`,rt,[(x(!0),r(a,null,i(b(I).plugins,(e,t)=>(x(),r(`div`,{key:e.id},[u(`div`,it,[u(`div`,at,[u(`label`,ot,h(e.name),1)]),g(c,{"model-value":At(e.id),class:`ml-auto shrink-0`,"onUpdate:modelValue":t=>jt(e.id,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),t<b(I).plugins.length-1?(x(),m(v,{key:0,class:`my-2`})):o(``,!0)]))),128))])):(x(),r(`div`,nt,h(e.$t(`views.settings.notifications.no_plugin_sources`)),1))])]),_:1})])):o(``,!0),b(X)&&b(O)?(x(),r(`div`,st,[u(`span`,ct,h(e.$t(`views.settings.notifications.devices`)),1),g(_,{class:`cui-card`},{content:l(()=>[u(`div`,lt,[u(`span`,ut,h(e.$t(`views.settings.notifications.devices_info`)),1),b(ht)&&!b(F)?(x(),r(`div`,dt,[g(n,{style:{width:`24px`,height:`24px`},"stroke-width":`4`})])):b(F)?.length?(x(),m(T,{key:2,value:b(F),"striped-rows":``},{default:l(()=>[g(S,{field:`name`,header:e.$t(`views.settings.notifications.col_name`)},{body:l(({data:e})=>[g(p,{"model-value":b(J)[e.id]??e.name,disabled:b(Y)===e.id,class:`w-full max-w-xs min-w-[150px]`,"onUpdate:modelValue":t=>b(J)[e.id]=t??``,onBlur:t=>$(e),onKeyup:te(t=>$(e),[`enter`])},null,8,[`model-value`,`disabled`,`onUpdate:modelValue`,`onBlur`,`onKeyup`])]),_:1},8,[`header`]),g(S,{field:`pluginName`,header:e.$t(`views.settings.notifications.col_plugin`)},{body:l(({data:e})=>[g(C,{label:e.pluginName,class:`text-xs`},null,8,[`label`])]),_:1},8,[`header`]),g(S,{field:`active`,header:e.$t(`views.settings.notifications.col_active`),style:{width:`7rem`}},{body:l(({data:e})=>[g(c,{"model-value":e.active,loading:b(Y)===e.id,"onUpdate:modelValue":t=>Bt(e.id,t)},null,8,[`model-value`,`loading`,`onUpdate:modelValue`])]),_:1},8,[`header`]),g(S,{field:`actions`,header:``,style:{width:`6rem`}},{body:l(({data:t})=>[ee((x(),m(d,{severity:`danger`,text:``,rounded:``,loading:b(q)===t.id,onClick:e=>zt(t.id)},{icon:l(()=>[g(w,{width:`20`,height:`20`})]),_:1},8,[`loading`,`onClick`])),[[E,e.$t(`views.settings.notifications.revoke`)]])]),_:1})]),_:1},8,[`value`])):(x(),r(`div`,ft,h(e.$t(`views.settings.notifications.no_devices`)),1))])]),_:1})])):o(``,!0),b(B)&&b(bt)?(x(),r(`div`,pt,[g(d,{severity:`secondary`,outlined:``,disabled:b(Z),onClick:Ct},{default:l(()=>[y(h(e.$t(`views.settings.notifications.reset`)),1)]),_:1},8,[`disabled`]),g(d,{severity:`success`,loading:b(Z),onClick:Nt},{default:l(()=>[y(h(e.$t(`views.settings.notifications.save`)),1)]),_:1},8,[`loading`])])):o(``,!0)])])}}});export{N as default};
@@ -0,0 +1 @@
1
+ import"./api-BNAa4vCH.js";import"./vendor-CF-D4B9g.js";var e=`cameraui:web-push-id`;function t(){if(typeof crypto<`u`&&typeof crypto.randomUUID==`function`)return crypto.randomUUID();if(typeof window<`u`&&window.crypto!==void 0&&typeof window.crypto.randomUUID==`function`)return window.crypto.randomUUID();let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[...e].map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function n(){let n=localStorage.getItem(e);return n||(n=t(),localStorage.setItem(e,n)),n}export{n,t};