From ccaaa4bd21934610d755475ef1ef01aa92e8bf37 Mon Sep 17 00:00:00 2001 From: Donald Zou Date: Sat, 13 Sep 2025 23:26:23 +0800 Subject: [PATCH] Build of #873 --- ...CKBhOHsA.js => DashboardClientAssignmentStore-D4FsyWTT.js} | 2 +- .../assets/{browser-B8eugmTx.js => browser-DqvcZvnx.js} | 2 +- .../{clientViewer-7MUereWv.js => clientViewer-B-7p9bwx.js} | 2 +- .../assets/{clients-D7IlE2fP.js => clients-CK5j-MUJ.js} | 2 +- .../{configuration-DJLpD0qL.js => configuration-Dv_GGSLh.js} | 2 +- ...gurationList-hQTdd0KW.js => configurationList-D7EdousE.js} | 2 +- ...ettings-CqwOH0Oa.js => dashboardEmailSettings-Gsulq66_.js} | 2 +- ...hboardSettingsWireguardConfigurationAutostart-BUzKGHGv.js} | 2 +- ...oardWebHooks-CM8M01wM.js => dashboardWebHooks-DbyBIABh.js} | 2 +- .../assets/{dayjs.min-BSByM7MH.js => dayjs.min-CkODZHdU.js} | 2 +- ...onfiguration-CQ-Que9N.js => editConfiguration-X9cbGuVG.js} | 2 +- .../assets/{index-mH92cJrc.js => index-BimuIV8Z.js} | 4 ++-- .../assets/{index-CS9Zp8p_.js => index-C-epBlv_.js} | 2 +- .../assets/{index-nqiVjQME.js => index-CMd-xOr8.js} | 2 +- .../assets/{localeText-DSmP42vs.js => localeText-D0Ve6fTw.js} | 2 +- .../assets/{message-BboFmGeA.js => message-B6STwPS6.js} | 2 +- ...Configuration-CmCSMTnr.js => newConfiguration-c8aZ26W-.js} | 2 +- .../assets/{osmap-DlmBiBAF.js => osmap-BF5g68HQ.js} | 2 +- .../{peerAddModal-BSgPEdCb.js => peerAddModal-plMS_jE5.js} | 2 +- ...eerAssignModal-DGqPau-e.js => peerAssignModal-DuPflJwB.js} | 2 +- ...tionFile-Dzh_MPky.js => peerConfigurationFile-Bvds9YiG.js} | 2 +- ...ltSettings-BUOqWfwF.js => peerDefaultSettings-CX_FkPKH.js} | 2 +- .../assets/{peerJobs-DcngDA8N.js => peerJobs-jGW1mswZ.js} | 2 +- ...rJobsAllModal-ljWdMyMH.js => peerJobsAllModal-CDqdvFvr.js} | 2 +- ...obsLogsModal-DVpI41bm.js => peerJobsLogsModal-CumKSmXP.js} | 2 +- .../assets/{peerList-CcSkTACy.js => peerList-BvR4xu_k.js} | 4 ++-- .../assets/{peerQRCode-BKf0Be_T.js => peerQRCode-hIJWR375.js} | 2 +- .../{peerSearchBar-DwcNmL3i.js => peerSearchBar-DyGm2y_Y.js} | 2 +- .../{peerSettings-0EGEZFQJ.js => peerSettings-P8zE49-z.js} | 2 +- ...reLinkModal-DYghPK4L.js => peerShareLinkModal-BGmaWj4p.js} | 2 +- ...nput-DgB9BWQw.js => peersDefaultSettingsInput-BBQyY1Fm.js} | 2 +- .../assets/{ping-DEMEwZfI.js => ping-DS9FytFq.js} | 2 +- .../{protocolBadge-DNw_4GNb.js => protocolBadge-Ck_G7NzU.js} | 2 +- ...iguration-H5ju5_ix.js => restoreConfiguration-Bqy8eC2K.js} | 2 +- ...chedulePeerJob-9nZCB-vb.js => schedulePeerJob-Cb0Cf1NE.js} | 2 +- .../{selectPeers-OsdjzB9V.js => selectPeers-C5PtdxOJ.js} | 2 +- .../assets/{settings-CoChm88i.js => settings-CRSDCN7L.js} | 2 +- .../assets/{setup-D70wX31Y.js => setup-yhg8KxTU.js} | 2 +- .../assets/{share-Clo4DEcY.js => share-rfnu988H.js} | 2 +- .../assets/{signin-CCqyeuTK.js => signin-4-L-H3zJ.js} | 2 +- ...e_vue_type_style_index_0_scoped_9509d7a0_lang-CgRpYUbi.js} | 2 +- .../{systemStatus-jNzJNFlD.js => systemStatus--DPdeCEb.js} | 2 +- .../assets/{totp-Bom_Rztd.js => totp-B7gZYtYa.js} | 2 +- .../dist/WGDashboardAdmin/assets/traceroute-D9mlT_ah.css | 1 + .../assets/{traceroute-D0BywLrP.js => traceroute-DzVtw1iM.js} | 2 +- .../dist/WGDashboardAdmin/assets/traceroute-cPX-1ydq.css | 1 - ...{vue-datepicker-DXRta4gJ.js => vue-datepicker-VDLvxrT_.js} | 2 +- ...rdSettings-3RfrzlK5.js => wgdashboardSettings-CHYv-Cz_.js} | 2 +- ...HGJPkYyO.js => wireguardConfigurationSettings-FwCY-ehA.js} | 2 +- src/static/dist/WGDashboardAdmin/index.html | 2 +- 50 files changed, 51 insertions(+), 51 deletions(-) rename src/static/dist/WGDashboardAdmin/assets/{DashboardClientAssignmentStore-CKBhOHsA.js => DashboardClientAssignmentStore-D4FsyWTT.js} (95%) rename src/static/dist/WGDashboardAdmin/assets/{browser-B8eugmTx.js => browser-DqvcZvnx.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{clientViewer-7MUereWv.js => clientViewer-B-7p9bwx.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{clients-D7IlE2fP.js => clients-CK5j-MUJ.js} (96%) rename src/static/dist/WGDashboardAdmin/assets/{configuration-DJLpD0qL.js => configuration-Dv_GGSLh.js} (86%) rename src/static/dist/WGDashboardAdmin/assets/{configurationList-hQTdd0KW.js => configurationList-D7EdousE.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{dashboardEmailSettings-CqwOH0Oa.js => dashboardEmailSettings-Gsulq66_.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{dashboardSettingsWireguardConfigurationAutostart-CcYlrBrT.js => dashboardSettingsWireguardConfigurationAutostart-BUzKGHGv.js} (96%) rename src/static/dist/WGDashboardAdmin/assets/{dashboardWebHooks-CM8M01wM.js => dashboardWebHooks-DbyBIABh.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{dayjs.min-BSByM7MH.js => dayjs.min-CkODZHdU.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{editConfiguration-CQ-Que9N.js => editConfiguration-X9cbGuVG.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{index-mH92cJrc.js => index-BimuIV8Z.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{index-CS9Zp8p_.js => index-C-epBlv_.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{index-nqiVjQME.js => index-CMd-xOr8.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{localeText-DSmP42vs.js => localeText-D0Ve6fTw.js} (76%) rename src/static/dist/WGDashboardAdmin/assets/{message-BboFmGeA.js => message-B6STwPS6.js} (84%) rename src/static/dist/WGDashboardAdmin/assets/{newConfiguration-CmCSMTnr.js => newConfiguration-c8aZ26W-.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{osmap-DlmBiBAF.js => osmap-BF5g68HQ.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{peerAddModal-BSgPEdCb.js => peerAddModal-plMS_jE5.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{peerAssignModal-DGqPau-e.js => peerAssignModal-DuPflJwB.js} (97%) rename src/static/dist/WGDashboardAdmin/assets/{peerConfigurationFile-Dzh_MPky.js => peerConfigurationFile-Bvds9YiG.js} (92%) rename src/static/dist/WGDashboardAdmin/assets/{peerDefaultSettings-BUOqWfwF.js => peerDefaultSettings-CX_FkPKH.js} (78%) rename src/static/dist/WGDashboardAdmin/assets/{peerJobs-DcngDA8N.js => peerJobs-jGW1mswZ.js} (90%) rename src/static/dist/WGDashboardAdmin/assets/{peerJobsAllModal-ljWdMyMH.js => peerJobsAllModal-CDqdvFvr.js} (90%) rename src/static/dist/WGDashboardAdmin/assets/{peerJobsLogsModal-DVpI41bm.js => peerJobsLogsModal-CumKSmXP.js} (96%) rename src/static/dist/WGDashboardAdmin/assets/{peerList-CcSkTACy.js => peerList-BvR4xu_k.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{peerQRCode-BKf0Be_T.js => peerQRCode-hIJWR375.js} (90%) rename src/static/dist/WGDashboardAdmin/assets/{peerSearchBar-DwcNmL3i.js => peerSearchBar-DyGm2y_Y.js} (95%) rename src/static/dist/WGDashboardAdmin/assets/{peerSettings-0EGEZFQJ.js => peerSettings-P8zE49-z.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{peerShareLinkModal-DYghPK4L.js => peerShareLinkModal-BGmaWj4p.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{peersDefaultSettingsInput-DgB9BWQw.js => peersDefaultSettingsInput-BBQyY1Fm.js} (93%) rename src/static/dist/WGDashboardAdmin/assets/{ping-DEMEwZfI.js => ping-DS9FytFq.js} (97%) rename src/static/dist/WGDashboardAdmin/assets/{protocolBadge-DNw_4GNb.js => protocolBadge-Ck_G7NzU.js} (79%) rename src/static/dist/WGDashboardAdmin/assets/{restoreConfiguration-H5ju5_ix.js => restoreConfiguration-Bqy8eC2K.js} (98%) rename src/static/dist/WGDashboardAdmin/assets/{schedulePeerJob-9nZCB-vb.js => schedulePeerJob-Cb0Cf1NE.js} (96%) rename src/static/dist/WGDashboardAdmin/assets/{selectPeers-OsdjzB9V.js => selectPeers-C5PtdxOJ.js} (97%) rename src/static/dist/WGDashboardAdmin/assets/{settings-CoChm88i.js => settings-CRSDCN7L.js} (90%) rename src/static/dist/WGDashboardAdmin/assets/{setup-D70wX31Y.js => setup-yhg8KxTU.js} (96%) rename src/static/dist/WGDashboardAdmin/assets/{share-Clo4DEcY.js => share-rfnu988H.js} (95%) rename src/static/dist/WGDashboardAdmin/assets/{signin-CCqyeuTK.js => signin-4-L-H3zJ.js} (97%) rename src/static/dist/WGDashboardAdmin/assets/{storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ES0Nq9XH.js => storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-CgRpYUbi.js} (88%) rename src/static/dist/WGDashboardAdmin/assets/{systemStatus-jNzJNFlD.js => systemStatus--DPdeCEb.js} (97%) rename src/static/dist/WGDashboardAdmin/assets/{totp-Bom_Rztd.js => totp-B7gZYtYa.js} (94%) create mode 100644 src/static/dist/WGDashboardAdmin/assets/traceroute-D9mlT_ah.css rename src/static/dist/WGDashboardAdmin/assets/{traceroute-D0BywLrP.js => traceroute-DzVtw1iM.js} (78%) delete mode 100644 src/static/dist/WGDashboardAdmin/assets/traceroute-cPX-1ydq.css rename src/static/dist/WGDashboardAdmin/assets/{vue-datepicker-DXRta4gJ.js => vue-datepicker-VDLvxrT_.js} (99%) rename src/static/dist/WGDashboardAdmin/assets/{wgdashboardSettings-3RfrzlK5.js => wgdashboardSettings-CHYv-Cz_.js} (84%) rename src/static/dist/WGDashboardAdmin/assets/{wireguardConfigurationSettings-HGJPkYyO.js => wireguardConfigurationSettings-FwCY-ehA.js} (74%) diff --git a/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-CKBhOHsA.js b/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-D4FsyWTT.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-CKBhOHsA.js rename to src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-D4FsyWTT.js index 4f8af1d5..a4c6b55f 100644 --- a/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-CKBhOHsA.js +++ b/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-D4FsyWTT.js @@ -1 +1 @@ -import{a7 as A,r as n,D as S,g as l,z as v}from"./index-mH92cJrc.js";const b=A("DashboardClientAssignmentStore",()=>{const f=n({}),d=n([]),o=n({}),c=n([]),g=n(!1),r=n(""),i=S(),w=async()=>{await l("/api/clients/allClients",{},s=>{o.value=s.data})},y=async()=>{await l("/api/clients/allClientsRaw",{},s=>{c.value=s.data,console.log(c.value)})},m=s=>Object.values(o.value).flat().find(e=>e.ClientID===s),u=async(s,e)=>{await l("/api/clients/assignedClients",{ConfigurationName:s,Peer:e},a=>{d.value=a.data})};return{assignments:d,getAssignedClients:u,getClients:w,getClientsRaw:y,clients:o,unassignClient:async(s,e,a)=>{g.value=!0,await v("/api/clients/unassignClient",{AssignmentID:a},async t=>{t.status?(i.newMessage("Server","Unassign successfully!","success"),s&&e&&await u(s,e)):(i.newMessage("Server","Unassign Failed. Reason: "+t.message,"success"),console.error("Unassign Failed. Reason: "+t.message)),g.value=!1})},assignClient:async(s,e,a,t=!0)=>{r.value=a,await v("/api/clients/assignClient",{ConfigurationName:s,Peer:e,ClientID:a},async C=>{C.status?(i.newMessage("Server","Assign successfully!","success"),t&&await u(s,e)):(i.newMessage("Server","Assign Failed. Reason: "+C.message,"success"),console.error("Assign Failed. Reason: "+C.message)),r.value=""})},getClientById:m,unassigning:g,assigning:r,clientsRaw:c,allConfigurationsPeers:f,getAllConfigurationsPeers:async()=>{await l("/api/clients/allConfigurationsPeers",{},s=>{f.value=s.data})}}});export{b as D}; +import{a7 as A,r as n,D as S,g as l,z as v}from"./index-BimuIV8Z.js";const b=A("DashboardClientAssignmentStore",()=>{const f=n({}),d=n([]),o=n({}),c=n([]),g=n(!1),r=n(""),i=S(),w=async()=>{await l("/api/clients/allClients",{},s=>{o.value=s.data})},y=async()=>{await l("/api/clients/allClientsRaw",{},s=>{c.value=s.data,console.log(c.value)})},m=s=>Object.values(o.value).flat().find(e=>e.ClientID===s),u=async(s,e)=>{await l("/api/clients/assignedClients",{ConfigurationName:s,Peer:e},a=>{d.value=a.data})};return{assignments:d,getAssignedClients:u,getClients:w,getClientsRaw:y,clients:o,unassignClient:async(s,e,a)=>{g.value=!0,await v("/api/clients/unassignClient",{AssignmentID:a},async t=>{t.status?(i.newMessage("Server","Unassign successfully!","success"),s&&e&&await u(s,e)):(i.newMessage("Server","Unassign Failed. Reason: "+t.message,"success"),console.error("Unassign Failed. Reason: "+t.message)),g.value=!1})},assignClient:async(s,e,a,t=!0)=>{r.value=a,await v("/api/clients/assignClient",{ConfigurationName:s,Peer:e,ClientID:a},async C=>{C.status?(i.newMessage("Server","Assign successfully!","success"),t&&await u(s,e)):(i.newMessage("Server","Assign Failed. Reason: "+C.message,"success"),console.error("Assign Failed. Reason: "+C.message)),r.value=""})},getClientById:m,unassigning:g,assigning:r,clientsRaw:c,allConfigurationsPeers:f,getAllConfigurationsPeers:async()=>{await l("/api/clients/allConfigurationsPeers",{},s=>{f.value=s.data})}}});export{b as D}; diff --git a/src/static/dist/WGDashboardAdmin/assets/browser-B8eugmTx.js b/src/static/dist/WGDashboardAdmin/assets/browser-DqvcZvnx.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/browser-B8eugmTx.js rename to src/static/dist/WGDashboardAdmin/assets/browser-DqvcZvnx.js index a2823745..eb7df578 100644 --- a/src/static/dist/WGDashboardAdmin/assets/browser-B8eugmTx.js +++ b/src/static/dist/WGDashboardAdmin/assets/browser-DqvcZvnx.js @@ -1,4 +1,4 @@ -import{R as te}from"./index-mH92cJrc.js";import{r as ee}from"./galois-field-CkUIqpA6.js";var z={},Q,Bt;function ne(){return Bt||(Bt=1,Q=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),Q}var G={},U={},pt;function _(){if(pt)return U;pt=1;let r;const o=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return U.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},U.getSymbolTotalCodewords=function(n){return o[n]},U.getBCHDigit=function(i){let n=0;for(;i!==0;)n++,i>>>=1;return n},U.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');r=n},U.isKanjiModeEnabled=function(){return typeof r<"u"},U.toSJIS=function(n){return r(n)},U}var $={},Rt;function wt(){return Rt||(Rt=1,function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function o(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+i)}}r.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},r.from=function(n,t){if(r.isValid(n))return n;try{return o(n)}catch{return t}}}($)),$}var W,At;function re(){if(At)return W;At=1;function r(){this.buffer=[],this.length=0}return r.prototype={get:function(o){const i=Math.floor(o/8);return(this.buffer[i]>>>7-o%8&1)===1},put:function(o,i){for(let n=0;n>>i-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(o){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),o&&(this.buffer[i]|=128>>>this.length%8),this.length++}},W=r,W}var Z,It;function oe(){if(It)return Z;It=1;function r(o){if(!o||o<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=o,this.data=new Uint8Array(o*o),this.reservedBit=new Uint8Array(o*o)}return r.prototype.set=function(o,i,n,t){const e=o*this.size+i;this.data[e]=n,t&&(this.reservedBit[e]=!0)},r.prototype.get=function(o,i){return this.data[o*this.size+i]},r.prototype.xor=function(o,i,n){this.data[o*this.size+i]^=n},r.prototype.isReserved=function(o,i){return this.reservedBit[o*this.size+i]},Z=r,Z}var X={},Nt;function ie(){return Nt||(Nt=1,function(r){const o=_().getSymbolSize;r.getRowColCoords=function(n){if(n===1)return[];const t=Math.floor(n/7)+2,e=o(n),s=e===145?26:Math.ceil((e-13)/(2*t-2))*2,a=[e-7];for(let u=1;u=0&&t<=7},r.from=function(t){return r.isValid(t)?parseInt(t,10):void 0},r.getPenaltyN1=function(t){const e=t.size;let s=0,a=0,u=0,c=null,d=null;for(let B=0;B=5&&(s+=o.N1+(a-5)),c=f,a=1),f=t.get(h,B),f===d?u++:(u>=5&&(s+=o.N1+(u-5)),d=f,u=1)}a>=5&&(s+=o.N1+(a-5)),u>=5&&(s+=o.N1+(u-5))}return s},r.getPenaltyN2=function(t){const e=t.size;let s=0;for(let a=0;a=10&&(a===1488||a===93)&&s++,u=u<<1&2047|t.get(d,c),d>=10&&(u===1488||u===93)&&s++}return s*o.N3},r.getPenaltyN4=function(t){let e=0;const s=t.data.length;for(let u=0;u=0;){const s=e[0];for(let u=0;u0){const a=new Uint8Array(this.degree);return a.set(e,s),a}return e},nt=o,nt}var rt={},ot={},it={},Lt;function Gt(){return Lt||(Lt=1,it.isValid=function(o){return!isNaN(o)&&o>=1&&o<=40}),it}var L={},Dt;function $t(){if(Dt)return L;Dt=1;const r="[0-9]+",o="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r +import{R as te}from"./index-BimuIV8Z.js";import{r as ee}from"./galois-field-CkUIqpA6.js";var z={},Q,Bt;function ne(){return Bt||(Bt=1,Q=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),Q}var G={},U={},pt;function _(){if(pt)return U;pt=1;let r;const o=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return U.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},U.getSymbolTotalCodewords=function(n){return o[n]},U.getBCHDigit=function(i){let n=0;for(;i!==0;)n++,i>>>=1;return n},U.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');r=n},U.isKanjiModeEnabled=function(){return typeof r<"u"},U.toSJIS=function(n){return r(n)},U}var $={},Rt;function wt(){return Rt||(Rt=1,function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function o(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+i)}}r.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},r.from=function(n,t){if(r.isValid(n))return n;try{return o(n)}catch{return t}}}($)),$}var W,At;function re(){if(At)return W;At=1;function r(){this.buffer=[],this.length=0}return r.prototype={get:function(o){const i=Math.floor(o/8);return(this.buffer[i]>>>7-o%8&1)===1},put:function(o,i){for(let n=0;n>>i-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(o){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),o&&(this.buffer[i]|=128>>>this.length%8),this.length++}},W=r,W}var Z,It;function oe(){if(It)return Z;It=1;function r(o){if(!o||o<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=o,this.data=new Uint8Array(o*o),this.reservedBit=new Uint8Array(o*o)}return r.prototype.set=function(o,i,n,t){const e=o*this.size+i;this.data[e]=n,t&&(this.reservedBit[e]=!0)},r.prototype.get=function(o,i){return this.data[o*this.size+i]},r.prototype.xor=function(o,i,n){this.data[o*this.size+i]^=n},r.prototype.isReserved=function(o,i){return this.reservedBit[o*this.size+i]},Z=r,Z}var X={},Nt;function ie(){return Nt||(Nt=1,function(r){const o=_().getSymbolSize;r.getRowColCoords=function(n){if(n===1)return[];const t=Math.floor(n/7)+2,e=o(n),s=e===145?26:Math.ceil((e-13)/(2*t-2))*2,a=[e-7];for(let u=1;u=0&&t<=7},r.from=function(t){return r.isValid(t)?parseInt(t,10):void 0},r.getPenaltyN1=function(t){const e=t.size;let s=0,a=0,u=0,c=null,d=null;for(let B=0;B=5&&(s+=o.N1+(a-5)),c=f,a=1),f=t.get(h,B),f===d?u++:(u>=5&&(s+=o.N1+(u-5)),d=f,u=1)}a>=5&&(s+=o.N1+(a-5)),u>=5&&(s+=o.N1+(u-5))}return s},r.getPenaltyN2=function(t){const e=t.size;let s=0;for(let a=0;a=10&&(a===1488||a===93)&&s++,u=u<<1&2047|t.get(d,c),d>=10&&(u===1488||u===93)&&s++}return s*o.N3},r.getPenaltyN4=function(t){let e=0;const s=t.data.length;for(let u=0;u=0;){const s=e[0];for(let u=0;u0){const a=new Uint8Array(this.degree);return a.set(e,s),a}return e},nt=o,nt}var rt={},ot={},it={},Lt;function Gt(){return Lt||(Lt=1,it.isValid=function(o){return!isNaN(o)&&o>=1&&o<=40}),it}var L={},Dt;function $t(){if(Dt)return L;Dt=1;const r="[0-9]+",o="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r ]))+`;L.KANJI=new RegExp(i,"g"),L.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),L.BYTE=new RegExp(n,"g"),L.NUMERIC=new RegExp(r,"g"),L.ALPHANUMERIC=new RegExp(o,"g");const t=new RegExp("^"+i+"$"),e=new RegExp("^"+r+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return L.testKanji=function(u){return t.test(u)},L.testNumeric=function(u){return e.test(u)},L.testAlphanumeric=function(u){return s.test(u)},L}var qt;function F(){return qt||(qt=1,function(r){const o=Gt(),i=$t();r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(e,s){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!o.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?e.ccBits[0]:s<27?e.ccBits[1]:e.ccBits[2]},r.getBestModeForData=function(e){return i.testNumeric(e)?r.NUMERIC:i.testAlphanumeric(e)?r.ALPHANUMERIC:i.testKanji(e)?r.KANJI:r.BYTE},r.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},r.isValid=function(e){return e&&e.bit&&e.ccBits};function n(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+t)}}r.from=function(e,s){if(r.isValid(e))return e;try{return n(e)}catch{return s}}}(ot)),ot}var vt;function fe(){return vt||(vt=1,function(r){const o=_(),i=Qt(),n=wt(),t=F(),e=Gt(),s=7973,a=o.getBCHDigit(s);function u(h,f,T){for(let M=1;M<=40;M++)if(f<=r.getCapacity(M,T,h))return M}function c(h,f){return t.getCharCountIndicator(h,f)+4}function d(h,f){let T=0;return h.forEach(function(M){const S=c(M.mode,f);T+=S+M.getBitsLength()}),T}function B(h,f){for(let T=1;T<=40;T++)if(d(h,T)<=r.getCapacity(T,f,t.MIXED))return T}r.from=function(f,T){return e.isValid(f)?parseInt(f,10):T},r.getCapacity=function(f,T,M){if(!e.isValid(f))throw new Error("Invalid QR Code version");typeof M>"u"&&(M=t.BYTE);const S=o.getSymbolTotalCodewords(f),A=i.getTotalCodewordsCount(f,T),P=(S-A)*8;if(M===t.MIXED)return P;const I=P-c(M,f);switch(M){case t.NUMERIC:return Math.floor(I/10*3);case t.ALPHANUMERIC:return Math.floor(I/11*2);case t.KANJI:return Math.floor(I/13);case t.BYTE:default:return Math.floor(I/8)}},r.getBestVersionForData=function(f,T){let M;const S=n.from(T,n.M);if(Array.isArray(f)){if(f.length>1)return B(f,S);if(f.length===0)return 1;M=f[0]}else M=f;return u(M.mode,M.getLength(),S)},r.getEncodedBits=function(f){if(!e.isValid(f)||f<7)throw new Error("Invalid QR Code version");let T=f<<12;for(;o.getBCHDigit(T)-a>=0;)T^=s<=0;)u^=o<0&&(e=this.data.substr(t),s=parseInt(e,10),n.put(s,a*3+1))},at=o,at}var ct,Ft;function ge(){if(Ft)return ct;Ft=1;const r=F(),o=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function i(n){this.mode=r.ALPHANUMERIC,this.data=n}return i.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){let e;for(e=0;e+2<=this.data.length;e+=2){let s=o.indexOf(this.data[e])*45;s+=o.indexOf(this.data[e+1]),t.put(s,11)}this.data.length%2&&t.put(o.indexOf(this.data[e]),6)},ct=i,ct}var ft,kt;function he(){if(kt)return ft;kt=1;const r=F();function o(i){this.mode=r.BYTE,typeof i=="string"?this.data=new TextEncoder().encode(i):this.data=new Uint8Array(i)}return o.getBitsLength=function(n){return n*8},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(i){for(let n=0,t=this.data.length;n=33088&&e<=40956)e-=33088;else if(e>=57408&&e<=60351)e-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` Make sure your charset is UTF-8`);e=(e>>>8&255)*192+(e&255),n.put(e,13)}},lt=i,lt}var dt={exports:{}},Vt;function we(){return Vt||(Vt=1,function(r){var o={single_source_shortest_paths:function(i,n,t){var e={},s={};s[n]=0;var a=o.PriorityQueue.make();a.push(n,0);for(var u,c,d,B,h,f,T,M,S;!a.empty();){u=a.pop(),c=u.value,B=u.cost,h=i[c]||{};for(d in h)h.hasOwnProperty(d)&&(f=h[d],T=B+f,M=s[d],S=typeof s[d]>"u",(S||M>T)&&(s[d]=T,a.push(d,T),e[d]=c))}if(typeof t<"u"&&typeof s[t]>"u"){var A=["Could not find a path from ",n," to ",t,"."].join("");throw new Error(A)}return e},extract_shortest_path_from_predecessor_list:function(i,n){for(var t=[],e=n;e;)t.push(e),i[e],e=i[e];return t.reverse(),t},find_path:function(i,n,t){var e=o.single_source_shortest_paths(i,n,t);return o.extract_shortest_path_from_predecessor_list(e,t)},PriorityQueue:{make:function(i){var n=o.PriorityQueue,t={},e;i=i||{};for(e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t.queue=[],t.sorter=i.sorter||n.default_sorter,t},default_sorter:function(i,n){return i.cost-n.cost},push:function(i,n){var t={value:i,cost:n};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};r.exports=o}(dt)),dt.exports}var Kt;function Ce(){return Kt||(Kt=1,function(r){const o=F(),i=de(),n=ge(),t=he(),e=me(),s=$t(),a=_(),u=we();function c(A){return unescape(encodeURIComponent(A)).length}function d(A,P,I){const p=[];let b;for(;(b=A.exec(I))!==null;)p.push({data:b[0],index:b.index,mode:P,length:b[0].length});return p}function B(A){const P=d(s.NUMERIC,o.NUMERIC,A),I=d(s.ALPHANUMERIC,o.ALPHANUMERIC,A);let p,b;return a.isKanjiModeEnabled()?(p=d(s.BYTE,o.BYTE,A),b=d(s.KANJI,o.KANJI,A)):(p=d(s.BYTE_KANJI,o.BYTE,A),b=[]),P.concat(I,p,b).sort(function(y,C){return y.index-C.index}).map(function(y){return{data:y.data,mode:y.mode,length:y.length}})}function h(A,P){switch(P){case o.NUMERIC:return i.getBitsLength(A);case o.ALPHANUMERIC:return n.getBitsLength(A);case o.KANJI:return e.getBitsLength(A);case o.BYTE:return t.getBitsLength(A)}}function f(A){return A.reduce(function(P,I){const p=P.length-1>=0?P[P.length-1]:null;return p&&p.mode===I.mode?(P[P.length-1].data+=I.data,P):(P.push(I),P)},[])}function T(A){const P=[];for(let I=0;I=0&&w<=6&&(N===0||N===6)||N>=0&&N<=6&&(w===0||w===6)||w>=2&&w<=4&&N>=2&&N<=4?g.set(m+w,E+N,!0,!0):g.set(m+w,E+N,!1,!0))}}function T(g){const y=g.size;for(let C=8;C>w&1)===1,g.set(R,m,E,!0),g.set(m,R,E,!0)}function A(g,y,C){const l=g.size,R=d.getEncodedBits(y,C);let m,E;for(m=0;m<15;m++)E=(R>>m&1)===1,m<6?g.set(m,8,E,!0):m<8?g.set(m+1,8,E,!0):g.set(l-15+m,8,E,!0),m<8?g.set(8,l-m-1,E,!0):m<9?g.set(8,15-m-1+1,E,!0):g.set(8,15-m-1,E,!0);g.set(l-8,8,1,!0)}function P(g,y){const C=g.size;let l=-1,R=C-1,m=7,E=0;for(let w=C-1;w>0;w-=2)for(w===6&&w--;;){for(let N=0;N<2;N++)if(!g.isReserved(R,w-N)){let v=!1;E>>m&1)===1),g.set(R,w-N,v),m--,m===-1&&(E++,m=7)}if(R+=l,R<0||C<=R){R-=l,l=-l;break}}}function I(g,y,C){const l=new i;C.forEach(function(N){l.put(N.mode.bit,4),l.put(N.getLength(),B.getCharCountIndicator(N.mode,g)),N.write(l)});const R=r.getSymbolTotalCodewords(g),m=a.getTotalCodewordsCount(g,y),E=(R-m)*8;for(l.getLengthInBits()+4<=E&&l.put(0,4);l.getLengthInBits()%8!==0;)l.putBit(0);const w=(E-l.getLengthInBits())/8;for(let N=0;Na.clientAssignedPeers&&Object.keys(a.clientAssignedPeers).includes(a.configuration)?a.peers.filter(n=>!a.clientAssignedPeers[a.configuration].map(t=>t.id).includes(n.id)&&(!a.availablePeerSearchString||a.availablePeerSearchString&&(n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)))):a.availablePeerSearchString?a.peers.filter(n=>n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)):a.peers),p=h(!1),v=h(!1);return(n,t)=>{const g=M("RouterLink");return l(),i("div",Y,[e("div",{onClick:t[0]||(t[0]=s=>v.value=!v.value),role:"button",class:"card-header rounded-0 sticky-top z-5 bg-body-secondary border-0 border-bottom text-white d-flex"},[e("small",null,[e("samp",null,x(c.configuration),1)]),e("a",Q,[v.value?(l(),i("i",X)):(l(),i("i",Z))])]),v.value?_("",!0):(l(),i("div",ee,[e("div",se,[(l(!0),i(C,null,N(b.value,s=>(l(),i("div",{class:"list-group-item d-flex border-bottom list-group-item-action d-flex align-items-center gap-3",key:s.id},[p.value?(l(),i("div",ie,[e("small",ae,[o(r,{t:"Are you sure to remove this peer?"})]),t[2]||(t[2]=e("br",null,null,-1)),e("small",oe,[e("samp",null,x(s.id),1)])])):(l(),i("div",te,[e("small",le,[o(g,{class:"text-decoration-none",target:"_blank",to:"/configuration/"+c.configuration+"/peers?id="+encodeURIComponent(s.id)},{default:B(()=>[e("samp",null,x(s.id),1)]),_:2},1032,["to"])]),t[1]||(t[1]=e("br",null,null,-1)),e("small",ne,x(s.name?s.name:"Untitled Peer"),1)])),c.clientAssignedPeers?(l(),i("button",{key:2,onClick:m=>f("assign",s.id),class:L([{disabled:w(d).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},t[3]||(t[3]=[e("i",{class:"bi bi-plus-circle-fill"},null,-1)]),10,re)):(l(),i("button",{key:3,onClick:m=>f("unassign",s.assignment_id),class:L([{disabled:w(d).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},t[4]||(t[4]=[e("i",{class:"bi bi-trash-fill"},null,-1)]),10,de))]))),128))])]))])}}}),ce={key:0,class:"d-flex rounded-0 border-0 flex-column d-flex flex-column border-bottom pb-1"},ue={class:"d-flex flex-column p-3 gap-3"},me={class:"d-flex align-items-center"},be={class:"mb-0"},ge={class:"text-bg-primary badge ms-2"},ve={class:"text-bg-info badge ms-2"},fe={class:"rounded-3 availablePeers border h-100 overflow-scroll flex-grow-1 d-flex flex-column"},pe={key:0,class:"text-muted m-auto p-3"},he={key:0,style:{height:"500px"},class:"d-flex flex-column p-3"},xe={class:"availablePeers border h-100 card rounded-3"},ye={class:"card-header sticky-top p-3"},_e={class:"mb-0 d-flex align-items-center"},ke={class:"card-body p-0 overflow-scroll"},Ce={key:0,class:"text-muted m-auto"},Pe={class:"card-footer d-flex gap-2 p-3 align-items-center justify-content-end"},Se={key:1},$e=D({__name:"clientAssignedPeers",props:["client","clientAssignedPeers"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=j(),b=h(!1),p=k,v=async(g,s,m)=>{await d.assignClient(g,s,m,!1),p("refresh")},n=async g=>{await d.unassignClient(void 0,void 0,g),p("refresh")},t=h("");return(g,s)=>(l(),i("div",null,[f.value?(l(),i("div",Se,s[6]||(s[6]=[e("div",{class:"p-3 placeholder-glow border-bottom"},[e("h6",{class:"placeholder w-100 rounded-3"}),e("div",{class:"placeholder w-100 rounded-3",style:{height:"400px"}})],-1)]))):(l(),i("div",ce,[e("div",ue,[e("div",me,[e("h6",be,[o(r,{t:"Assigned Peers"}),e("span",ge,[I(x(Object.keys(c.clientAssignedPeers).length)+" ",1),o(r,{t:Object.keys(c.clientAssignedPeers).length>1?"Configurations":"Configuration"},null,8,["t"])]),e("span",ve,[I(x(Object.values(c.clientAssignedPeers).flat().length)+" ",1),o(r,{t:Object.values(c.clientAssignedPeers).flat().length>1?"Peers":"Peer"},null,8,["t"])])]),e("button",{class:"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3 ms-auto",onClick:s[0]||(s[0]=m=>b.value=!b.value)},[b.value?(l(),i(C,{key:1},[s[4]||(s[4]=e("i",{class:"bi bi-check me-2"},null,-1)),o(r,{t:"Done"})],64)):(l(),i(C,{key:0},[s[3]||(s[3]=e("i",{class:"bi bi-list-check me-2"},null,-1)),o(r,{t:"Manage"})],64))])]),e("div",fe,[(l(!0),i(C,null,N(c.clientAssignedPeers,(m,y)=>(l(),A(R,{configuration:y,peers:m,onUnassign:s[1]||(s[1]=async P=>await n(P))},null,8,["configuration","peers"]))),256)),Object.keys(c.clientAssignedPeers).length===0?(l(),i("h6",pe,[o(r,{t:"No peer assigned to this client"})])):_("",!0)])]),b.value?(l(),i("div",he,[e("div",xe,[e("div",ye,[e("h6",_e,[o(r,{t:"Available Peers"})])]),e("div",ke,[(l(!0),i(C,null,N(w(d).allConfigurationsPeers,(m,y)=>(l(),A(R,{availablePeerSearchString:t.value,configuration:y,clientAssignedPeers:c.clientAssignedPeers,peers:m,key:y,onAssign:async P=>await v(y,P,a.client.ClientID)},null,8,["availablePeerSearchString","configuration","clientAssignedPeers","peers","onAssign"]))),128)),Object.keys(w(d).allConfigurationsPeers).length===0?(l(),i("h6",Ce,[o(r,{t:"No peer is available to assign"})])):_("",!0)]),e("div",Pe,[s[5]||(s[5]=e("label",{for:"availablePeerSearchString"},[e("i",{class:"bi bi-search me-2"})],-1)),O(e("input",{id:"availablePeerSearchString","onUpdate:modelValue":s[2]||(s[2]=m=>t.value=m),class:"form-control form-control-sm rounded-3 w-auto",type:"text"},null,512),[[U,t.value]])])])])):_("",!0)]))]))}}),we={class:"p-3 d-flex gap-3 flex-column border-bottom"},Ae={class:"d-flex align-items-center gap-2"},De={class:"mb-0"},Ne=D({__name:"clientDelete",props:["client"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=h(!1),b=k,p=z(),v=async()=>{f.value=!0,await E("/api/clients/deleteClient",{ClientID:a.client.ClientID},n=>{f.value=!1,n.status?(b("deleteSuccess"),p.newMessage("Server","Delete client successfully","success")):p.newMessage("Server","Failed to delete client","danger")})};return(n,t)=>(l(),i("div",we,[e("div",Ae,[e("h6",De,[d.value?(l(),A(r,{key:1,t:"Are you sure to delete this client?"})):(l(),A(r,{key:0,t:"Delete Client"}))]),d.value?_("",!0):(l(),i("button",{key:0,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto",onClick:t[0]||(t[0]=g=>d.value=!0)},[t[2]||(t[2]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Delete"})])),d.value?(l(),i(C,{key:1},[e("button",{onClick:v,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto"},[t[3]||(t[3]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Yes"})]),d.value?(l(),i("button",{key:0,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[1]||(t[1]=g=>d.value=!1)},[t[4]||(t[4]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),o(r,{t:"No"})])):_("",!0)],64)):_("",!0)])]))}}),Ie={class:"p-4 border-bottom bg-body-tertiary z-0"},je={class:"mb-3 backLink"},Le={class:"text-muted"},Re={class:"d-flex flex-column gap-2"},Ve={class:"d-flex align-items-center"},Be={class:"text-muted"},Me={class:"ms-auto"},Oe={class:"d-flex align-items-center gap-2"},Ue={class:"text-muted"},ze={style:{flex:"1 0 0","overflow-y":"scroll"}},Ee={key:1,class:"d-flex w-100 h-100 text-muted"},Fe={class:"m-auto text-center"},Ge=D({__name:"clientViewer",emits:["deleteSuccess"],async setup(c,{emit:k}){let a,f;const d=j(),b=z(),p=G(),v=J(),n=V(()=>d.getClientById(p.params.id)),t=h({}),g=async()=>{await K("/api/clients/assignedPeers",{ClientID:n.value.ClientID},S=>{t.value=S.data})},s=T({Name:void 0});n.value?(q(()=>n.value.ClientID,async()=>{s.Name=n.value.Name,await g()}),[a,f]=H(()=>g()),await a,f(),s.Name=n.value.Name):(v.push("/clients"),b.newMessage("WGDashboard","Client does not exist","danger"));const m=h(!1),y=async()=>{m.value=!0,await E("/api/clients/updateProfileName",{ClientID:n.value.ClientID,Name:s.Name},S=>{S.status?(n.value.Name=s.Name,b.newMessage("Server","Client name update success","success")):(s.Name=n.value.Name,b.newMessage("Server","Client name update failed","danger")),m.value=!1})},P=async()=>{await v.push("/clients"),await d.getClients()};return(S,u)=>{const F=M("RouterLink");return n.value?(l(),i("div",{class:"text-body d-flex flex-column overflow-y-scroll h-100",key:n.value.ClientID},[e("div",Ie,[e("div",je,[o(F,{to:"/clients",class:"text-body text-decoration-none"},{default:B(()=>u[4]||(u[4]=[e("i",{class:"bi bi-arrow-left me-2"},null,-1),I(" Back")])),_:1,__:[4]})]),e("small",Le,[o(r,{t:"Email"})]),e("h1",null,x(n.value.Email),1),e("div",Re,[e("div",Ve,[e("small",Be,[o(r,{t:"Client ID"})]),e("small",Me,[e("samp",null,x(n.value.ClientID),1)])]),e("div",Oe,[e("small",Ue,[o(r,{t:"Client Name"})]),O(e("input",{class:"form-control form-control-sm rounded-3 ms-auto",style:{width:"300px"},type:"text","onUpdate:modelValue":u[0]||(u[0]=$=>s.Name=$)},null,512),[[U,s.Name]]),e("button",{onClick:u[1]||(u[1]=$=>y()),"aria-label":"Save Client Name",class:"btn btn-sm rounded-3 bg-success-subtle border-success-subtle text-success-emphasis"},u[5]||(u[5]=[e("i",{class:"bi bi-save-fill"},null,-1)]))])])]),e("div",ze,[o($e,{onRefresh:u[2]||(u[2]=$=>g()),clientAssignedPeers:t.value,client:n.value},null,8,["clientAssignedPeers","client"]),o(Ne,{onDeleteSuccess:u[3]||(u[3]=$=>P()),client:n.value},null,8,["client"])])])):(l(),i("div",Ee,[e("div",Fe,[u[6]||(u[6]=e("h1",null,[e("i",{class:"bi bi-person-x"})],-1)),e("p",null,[o(r,{t:"Client does not exist"})])])]))}}}),Je=W(Ge,[["__scopeId","data-v-f874264d"]]);export{Je as default}; +import{B as D,q as V,r as h,c as i,a as e,d as _,t as x,F as C,i as N,b as o,w as B,h as M,n as L,u as w,f as l,e as I,m as O,y as U,j as A,D as z,z as E,L as G,J as T,H as q,I as H,K as J,g as K,_ as W}from"./index-BimuIV8Z.js";import{D as j}from"./DashboardClientAssignmentStore-D4FsyWTT.js";import{L as r}from"./localeText-D0Ve6fTw.js";const Y={class:"card rounded-0 border-0"},Q={role:"button",class:"ms-auto text-white"},X={key:0,class:"bi bi-chevron-compact-down"},Z={key:1,class:"bi bi-chevron-compact-up"},ee={key:0,class:"card-body p-0"},se={class:"list-group list-group-flush"},te={key:0},le={class:"text-body"},ne={class:"text-muted"},ie={key:1},ae={class:"text-body"},oe={class:"text-muted"},re=["onClick"],de=["onClick"],R=D({__name:"availablePeersGroup",props:["configuration","peers","clientAssignedPeers","availablePeerSearchString"],emits:["assign","unassign"],setup(c,{emit:k}){const a=c,f=k,d=j(),b=V(()=>a.clientAssignedPeers&&Object.keys(a.clientAssignedPeers).includes(a.configuration)?a.peers.filter(n=>!a.clientAssignedPeers[a.configuration].map(t=>t.id).includes(n.id)&&(!a.availablePeerSearchString||a.availablePeerSearchString&&(n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)))):a.availablePeerSearchString?a.peers.filter(n=>n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)):a.peers),p=h(!1),v=h(!1);return(n,t)=>{const g=M("RouterLink");return l(),i("div",Y,[e("div",{onClick:t[0]||(t[0]=s=>v.value=!v.value),role:"button",class:"card-header rounded-0 sticky-top z-5 bg-body-secondary border-0 border-bottom text-white d-flex"},[e("small",null,[e("samp",null,x(c.configuration),1)]),e("a",Q,[v.value?(l(),i("i",X)):(l(),i("i",Z))])]),v.value?_("",!0):(l(),i("div",ee,[e("div",se,[(l(!0),i(C,null,N(b.value,s=>(l(),i("div",{class:"list-group-item d-flex border-bottom list-group-item-action d-flex align-items-center gap-3",key:s.id},[p.value?(l(),i("div",ie,[e("small",ae,[o(r,{t:"Are you sure to remove this peer?"})]),t[2]||(t[2]=e("br",null,null,-1)),e("small",oe,[e("samp",null,x(s.id),1)])])):(l(),i("div",te,[e("small",le,[o(g,{class:"text-decoration-none",target:"_blank",to:"/configuration/"+c.configuration+"/peers?id="+encodeURIComponent(s.id)},{default:B(()=>[e("samp",null,x(s.id),1)]),_:2},1032,["to"])]),t[1]||(t[1]=e("br",null,null,-1)),e("small",ne,x(s.name?s.name:"Untitled Peer"),1)])),c.clientAssignedPeers?(l(),i("button",{key:2,onClick:m=>f("assign",s.id),class:L([{disabled:w(d).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},t[3]||(t[3]=[e("i",{class:"bi bi-plus-circle-fill"},null,-1)]),10,re)):(l(),i("button",{key:3,onClick:m=>f("unassign",s.assignment_id),class:L([{disabled:w(d).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},t[4]||(t[4]=[e("i",{class:"bi bi-trash-fill"},null,-1)]),10,de))]))),128))])]))])}}}),ce={key:0,class:"d-flex rounded-0 border-0 flex-column d-flex flex-column border-bottom pb-1"},ue={class:"d-flex flex-column p-3 gap-3"},me={class:"d-flex align-items-center"},be={class:"mb-0"},ge={class:"text-bg-primary badge ms-2"},ve={class:"text-bg-info badge ms-2"},fe={class:"rounded-3 availablePeers border h-100 overflow-scroll flex-grow-1 d-flex flex-column"},pe={key:0,class:"text-muted m-auto p-3"},he={key:0,style:{height:"500px"},class:"d-flex flex-column p-3"},xe={class:"availablePeers border h-100 card rounded-3"},ye={class:"card-header sticky-top p-3"},_e={class:"mb-0 d-flex align-items-center"},ke={class:"card-body p-0 overflow-scroll"},Ce={key:0,class:"text-muted m-auto"},Pe={class:"card-footer d-flex gap-2 p-3 align-items-center justify-content-end"},Se={key:1},$e=D({__name:"clientAssignedPeers",props:["client","clientAssignedPeers"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=j(),b=h(!1),p=k,v=async(g,s,m)=>{await d.assignClient(g,s,m,!1),p("refresh")},n=async g=>{await d.unassignClient(void 0,void 0,g),p("refresh")},t=h("");return(g,s)=>(l(),i("div",null,[f.value?(l(),i("div",Se,s[6]||(s[6]=[e("div",{class:"p-3 placeholder-glow border-bottom"},[e("h6",{class:"placeholder w-100 rounded-3"}),e("div",{class:"placeholder w-100 rounded-3",style:{height:"400px"}})],-1)]))):(l(),i("div",ce,[e("div",ue,[e("div",me,[e("h6",be,[o(r,{t:"Assigned Peers"}),e("span",ge,[I(x(Object.keys(c.clientAssignedPeers).length)+" ",1),o(r,{t:Object.keys(c.clientAssignedPeers).length>1?"Configurations":"Configuration"},null,8,["t"])]),e("span",ve,[I(x(Object.values(c.clientAssignedPeers).flat().length)+" ",1),o(r,{t:Object.values(c.clientAssignedPeers).flat().length>1?"Peers":"Peer"},null,8,["t"])])]),e("button",{class:"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3 ms-auto",onClick:s[0]||(s[0]=m=>b.value=!b.value)},[b.value?(l(),i(C,{key:1},[s[4]||(s[4]=e("i",{class:"bi bi-check me-2"},null,-1)),o(r,{t:"Done"})],64)):(l(),i(C,{key:0},[s[3]||(s[3]=e("i",{class:"bi bi-list-check me-2"},null,-1)),o(r,{t:"Manage"})],64))])]),e("div",fe,[(l(!0),i(C,null,N(c.clientAssignedPeers,(m,y)=>(l(),A(R,{configuration:y,peers:m,onUnassign:s[1]||(s[1]=async P=>await n(P))},null,8,["configuration","peers"]))),256)),Object.keys(c.clientAssignedPeers).length===0?(l(),i("h6",pe,[o(r,{t:"No peer assigned to this client"})])):_("",!0)])]),b.value?(l(),i("div",he,[e("div",xe,[e("div",ye,[e("h6",_e,[o(r,{t:"Available Peers"})])]),e("div",ke,[(l(!0),i(C,null,N(w(d).allConfigurationsPeers,(m,y)=>(l(),A(R,{availablePeerSearchString:t.value,configuration:y,clientAssignedPeers:c.clientAssignedPeers,peers:m,key:y,onAssign:async P=>await v(y,P,a.client.ClientID)},null,8,["availablePeerSearchString","configuration","clientAssignedPeers","peers","onAssign"]))),128)),Object.keys(w(d).allConfigurationsPeers).length===0?(l(),i("h6",Ce,[o(r,{t:"No peer is available to assign"})])):_("",!0)]),e("div",Pe,[s[5]||(s[5]=e("label",{for:"availablePeerSearchString"},[e("i",{class:"bi bi-search me-2"})],-1)),O(e("input",{id:"availablePeerSearchString","onUpdate:modelValue":s[2]||(s[2]=m=>t.value=m),class:"form-control form-control-sm rounded-3 w-auto",type:"text"},null,512),[[U,t.value]])])])])):_("",!0)]))]))}}),we={class:"p-3 d-flex gap-3 flex-column border-bottom"},Ae={class:"d-flex align-items-center gap-2"},De={class:"mb-0"},Ne=D({__name:"clientDelete",props:["client"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=h(!1),b=k,p=z(),v=async()=>{f.value=!0,await E("/api/clients/deleteClient",{ClientID:a.client.ClientID},n=>{f.value=!1,n.status?(b("deleteSuccess"),p.newMessage("Server","Delete client successfully","success")):p.newMessage("Server","Failed to delete client","danger")})};return(n,t)=>(l(),i("div",we,[e("div",Ae,[e("h6",De,[d.value?(l(),A(r,{key:1,t:"Are you sure to delete this client?"})):(l(),A(r,{key:0,t:"Delete Client"}))]),d.value?_("",!0):(l(),i("button",{key:0,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto",onClick:t[0]||(t[0]=g=>d.value=!0)},[t[2]||(t[2]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Delete"})])),d.value?(l(),i(C,{key:1},[e("button",{onClick:v,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto"},[t[3]||(t[3]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Yes"})]),d.value?(l(),i("button",{key:0,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[1]||(t[1]=g=>d.value=!1)},[t[4]||(t[4]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),o(r,{t:"No"})])):_("",!0)],64)):_("",!0)])]))}}),Ie={class:"p-4 border-bottom bg-body-tertiary z-0"},je={class:"mb-3 backLink"},Le={class:"text-muted"},Re={class:"d-flex flex-column gap-2"},Ve={class:"d-flex align-items-center"},Be={class:"text-muted"},Me={class:"ms-auto"},Oe={class:"d-flex align-items-center gap-2"},Ue={class:"text-muted"},ze={style:{flex:"1 0 0","overflow-y":"scroll"}},Ee={key:1,class:"d-flex w-100 h-100 text-muted"},Fe={class:"m-auto text-center"},Ge=D({__name:"clientViewer",emits:["deleteSuccess"],async setup(c,{emit:k}){let a,f;const d=j(),b=z(),p=G(),v=J(),n=V(()=>d.getClientById(p.params.id)),t=h({}),g=async()=>{await K("/api/clients/assignedPeers",{ClientID:n.value.ClientID},S=>{t.value=S.data})},s=T({Name:void 0});n.value?(q(()=>n.value.ClientID,async()=>{s.Name=n.value.Name,await g()}),[a,f]=H(()=>g()),await a,f(),s.Name=n.value.Name):(v.push("/clients"),b.newMessage("WGDashboard","Client does not exist","danger"));const m=h(!1),y=async()=>{m.value=!0,await E("/api/clients/updateProfileName",{ClientID:n.value.ClientID,Name:s.Name},S=>{S.status?(n.value.Name=s.Name,b.newMessage("Server","Client name update success","success")):(s.Name=n.value.Name,b.newMessage("Server","Client name update failed","danger")),m.value=!1})},P=async()=>{await v.push("/clients"),await d.getClients()};return(S,u)=>{const F=M("RouterLink");return n.value?(l(),i("div",{class:"text-body d-flex flex-column overflow-y-scroll h-100",key:n.value.ClientID},[e("div",Ie,[e("div",je,[o(F,{to:"/clients",class:"text-body text-decoration-none"},{default:B(()=>u[4]||(u[4]=[e("i",{class:"bi bi-arrow-left me-2"},null,-1),I(" Back")])),_:1,__:[4]})]),e("small",Le,[o(r,{t:"Email"})]),e("h1",null,x(n.value.Email),1),e("div",Re,[e("div",Ve,[e("small",Be,[o(r,{t:"Client ID"})]),e("small",Me,[e("samp",null,x(n.value.ClientID),1)])]),e("div",Oe,[e("small",Ue,[o(r,{t:"Client Name"})]),O(e("input",{class:"form-control form-control-sm rounded-3 ms-auto",style:{width:"300px"},type:"text","onUpdate:modelValue":u[0]||(u[0]=$=>s.Name=$)},null,512),[[U,s.Name]]),e("button",{onClick:u[1]||(u[1]=$=>y()),"aria-label":"Save Client Name",class:"btn btn-sm rounded-3 bg-success-subtle border-success-subtle text-success-emphasis"},u[5]||(u[5]=[e("i",{class:"bi bi-save-fill"},null,-1)]))])])]),e("div",ze,[o($e,{onRefresh:u[2]||(u[2]=$=>g()),clientAssignedPeers:t.value,client:n.value},null,8,["clientAssignedPeers","client"]),o(Ne,{onDeleteSuccess:u[3]||(u[3]=$=>P()),client:n.value},null,8,["client"])])])):(l(),i("div",Ee,[e("div",Fe,[u[6]||(u[6]=e("h1",null,[e("i",{class:"bi bi-person-x"})],-1)),e("p",null,[o(r,{t:"Client does not exist"})])])]))}}}),Je=W(Ge,[["__scopeId","data-v-f874264d"]]);export{Je as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/clients-D7IlE2fP.js b/src/static/dist/WGDashboardAdmin/assets/clients-CK5j-MUJ.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/clients-D7IlE2fP.js rename to src/static/dist/WGDashboardAdmin/assets/clients-CK5j-MUJ.js index fc33f4fd..242369fb 100644 --- a/src/static/dist/WGDashboardAdmin/assets/clients-D7IlE2fP.js +++ b/src/static/dist/WGDashboardAdmin/assets/clients-CK5j-MUJ.js @@ -1 +1 @@ -import{B as C,q as L,o as B,c as g,a as e,t as y,b as d,F as D,i as N,j as v,w as V,h as I,L as E,f as r,D as O,r as f,I as j,m as x,v as z,g as w,J as R,k as G,y as M,u as b,G as T,n as $,d as S,_ as U}from"./index-mH92cJrc.js";import{D as q}from"./DashboardClientAssignmentStore-CKBhOHsA.js";import{L as p}from"./localeText-DSmP42vs.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},P={class:"my-2"},H={class:"badge text-bg-primary ms-auto"},K={class:"card-body p-0"},Q={class:"list-group list-group-flush clientList"},W={class:"text-body"},X={class:"text-muted"},k=C({__name:"clientGroup",props:["groupName","clients","searchString"],setup(h){const l=h,i=L(()=>{const n=l.searchString.toLowerCase();return l.searchString?l.clients.filter(s=>s.ClientID&&s.ClientID.toLowerCase().includes(n)||s.Email&&s.Email.toLowerCase().includes(n)||s.Name&&s.Name.toLowerCase().includes(n)):l.clients});return E(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(n,s)=>{const a=I("RouterLink");return r(),g("div",F,[e("div",J,[e("h6",P,y(h.groupName),1),e("span",H,[d(p,{t:i.value.length+" Client"+(i.value.length>1?"s":"")},null,8,["t"])])]),e("div",K,[e("div",Q,[(r(!0),g(D,null,N(i.value,o=>(r(),v(a,{key:o.ClientID,id:"client_"+o.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:o.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:V(()=>[e("small",W,y(o.Email),1),e("small",X,y(o.Name?o.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Y={class:"d-flex flex-column gap-2"},Z={class:"d-flex align-items-center"},ee={class:"mb-0"},te={class:"form-check form-switch ms-auto"},se={class:"form-check-label",for:"oidc_switch"},oe=["disabled"],ne=C({__name:"oidcSettings",props:["mode"],async setup(h){let l,i;const n=h,s=O(),a=f(!1),o=f(!1),_=async()=>{await w("/api/oidc/status",{mode:n.mode},t=>{a.value=t.data,o.value=!1})};[l,i]=j(()=>_()),await l,i();const c=async()=>{o.value=!0,await w("/api/oidc/toggle",{mode:n.mode},t=>{t.status||(a.value=!a.value,s.newMessage("Server",t.message,"danger")),o.value=!1})};return(t,u)=>(r(),g("div",Y,[e("div",Z,[e("h6",ee,[d(p,{t:"OpenID Connect (OIDC)"})]),e("div",te,[e("label",se,[d(p,{t:a.value?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:o.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),onChange:u[1]||(u[1]=m=>c()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,oe),[[z,a.value]])])])]))}}),ae={class:"position-absolute w-100 h-100 top-0 start-0 z-1 rounded-3 d-flex p-2",style:{"background-color":"#00000070","z-index":"9999"}},le={class:"card m-auto rounded-3",style:{width:"700px"}},ie={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},ce={class:"mb-0"},re={class:"card-body px-4 d-flex gap-3 flex-column"},de={class:"d-flex align-items-center"},ue={class:"mb-0"},me={class:"form-check form-switch ms-auto"},_e={class:"form-check-label",for:"oidc_switch"},pe=["disabled"],he=C({__name:"clientSettings",emits:["close"],setup(h,{emit:l}){const i=l,n=O();f(!1);const s=R({enableClients:n.Configuration.Clients.enable}),a=f(!1),o=async()=>{a.value=!0,await w("/api/clients/toggleStatus",{},_=>{s.enableClients=_.data}),a.value=!1};return(_,c)=>(r(),g("div",ae,[e("div",le,[e("div",ie,[e("h4",ce,[d(p,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=t=>i("close"))})]),e("div",re,[e("div",de,[e("h6",ue,[d(p,{t:"Client Side App"})]),e("div",me,[e("label",_e,[d(p,{t:s.enableClients?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:_.oidcStatusLoading,"onUpdate:modelValue":c[1]||(c[1]=t=>s.enableClients=t),onChange:c[2]||(c[2]=t=>o()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,pe),[[z,s.enableClients]])])]),d(ne,{mode:"Client"})])])]))}}),ge={class:"text-body w-100 h-100 pb-2 position-relative"},fe={class:"w-100 h-100 card rounded-3"},be={class:"border-bottom z-0"},ve={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},Ce=["placeholder"],ye={class:"row h-100 g-0"},we={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},xe=C({__name:"clients",async setup(h){let l,i;const n=q();[l,i]=j(()=>n.getClients()),await l,i(),n.getAllConfigurationsPeers();const s=f(""),a=E(),o=f(!1),_=L(()=>Object.fromEntries(Object.entries(n.clients).filter(([c,t])=>Object.keys(n.clients).filter(u=>u!=="Local").includes(c))));return(c,t)=>{const u=I("RouterView");return r(),g("div",ge,[e("div",fe,[d(G,{name:"zoom"},{default:V(()=>[o.value?(r(),v(he,{key:0,onClose:t[0]||(t[0]=m=>o.value=!1)})):S("",!0)]),_:1}),e("div",be,[e("div",ve,[t[4]||(t[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),x(e("input",{"onUpdate:modelValue":t[1]||(t[1]=m=>s.value=m),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:b(T)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,Ce),[[M,s.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:t[2]||(t[2]=m=>o.value=!o.value)},[t[3]||(t[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),d(p,{t:"Settings"})])])]),e("div",ye,[e("div",{class:$([{hide:b(a).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",we,[Object.keys(b(n).clients).includes("Local")?(r(),v(k,{key:0,searchString:s.value,clients:b(n).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(r(!0),g(D,null,N(_.value,(m,A)=>(r(),v(k,{searchString:s.value,clients:m,groupName:A},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:$([{hide:!b(a).params.id},"col-sm-8 clientViewerContainer"])},[d(u)],2)])])])}}}),Le=U(xe,[["__scopeId","data-v-e441f3fe"]]);export{Le as default}; +import{B as C,q as L,o as B,c as g,a as e,t as y,b as d,F as D,i as N,j as v,w as V,h as I,L as E,f as r,D as O,r as f,I as j,m as x,v as z,g as w,J as R,k as G,y as M,u as b,G as T,n as $,d as S,_ as U}from"./index-BimuIV8Z.js";import{D as q}from"./DashboardClientAssignmentStore-D4FsyWTT.js";import{L as p}from"./localeText-D0Ve6fTw.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},P={class:"my-2"},H={class:"badge text-bg-primary ms-auto"},K={class:"card-body p-0"},Q={class:"list-group list-group-flush clientList"},W={class:"text-body"},X={class:"text-muted"},k=C({__name:"clientGroup",props:["groupName","clients","searchString"],setup(h){const l=h,i=L(()=>{const n=l.searchString.toLowerCase();return l.searchString?l.clients.filter(s=>s.ClientID&&s.ClientID.toLowerCase().includes(n)||s.Email&&s.Email.toLowerCase().includes(n)||s.Name&&s.Name.toLowerCase().includes(n)):l.clients});return E(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(n,s)=>{const a=I("RouterLink");return r(),g("div",F,[e("div",J,[e("h6",P,y(h.groupName),1),e("span",H,[d(p,{t:i.value.length+" Client"+(i.value.length>1?"s":"")},null,8,["t"])])]),e("div",K,[e("div",Q,[(r(!0),g(D,null,N(i.value,o=>(r(),v(a,{key:o.ClientID,id:"client_"+o.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:o.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:V(()=>[e("small",W,y(o.Email),1),e("small",X,y(o.Name?o.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Y={class:"d-flex flex-column gap-2"},Z={class:"d-flex align-items-center"},ee={class:"mb-0"},te={class:"form-check form-switch ms-auto"},se={class:"form-check-label",for:"oidc_switch"},oe=["disabled"],ne=C({__name:"oidcSettings",props:["mode"],async setup(h){let l,i;const n=h,s=O(),a=f(!1),o=f(!1),_=async()=>{await w("/api/oidc/status",{mode:n.mode},t=>{a.value=t.data,o.value=!1})};[l,i]=j(()=>_()),await l,i();const c=async()=>{o.value=!0,await w("/api/oidc/toggle",{mode:n.mode},t=>{t.status||(a.value=!a.value,s.newMessage("Server",t.message,"danger")),o.value=!1})};return(t,u)=>(r(),g("div",Y,[e("div",Z,[e("h6",ee,[d(p,{t:"OpenID Connect (OIDC)"})]),e("div",te,[e("label",se,[d(p,{t:a.value?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:o.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),onChange:u[1]||(u[1]=m=>c()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,oe),[[z,a.value]])])])]))}}),ae={class:"position-absolute w-100 h-100 top-0 start-0 z-1 rounded-3 d-flex p-2",style:{"background-color":"#00000070","z-index":"9999"}},le={class:"card m-auto rounded-3",style:{width:"700px"}},ie={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},ce={class:"mb-0"},re={class:"card-body px-4 d-flex gap-3 flex-column"},de={class:"d-flex align-items-center"},ue={class:"mb-0"},me={class:"form-check form-switch ms-auto"},_e={class:"form-check-label",for:"oidc_switch"},pe=["disabled"],he=C({__name:"clientSettings",emits:["close"],setup(h,{emit:l}){const i=l,n=O();f(!1);const s=R({enableClients:n.Configuration.Clients.enable}),a=f(!1),o=async()=>{a.value=!0,await w("/api/clients/toggleStatus",{},_=>{s.enableClients=_.data}),a.value=!1};return(_,c)=>(r(),g("div",ae,[e("div",le,[e("div",ie,[e("h4",ce,[d(p,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=t=>i("close"))})]),e("div",re,[e("div",de,[e("h6",ue,[d(p,{t:"Client Side App"})]),e("div",me,[e("label",_e,[d(p,{t:s.enableClients?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:_.oidcStatusLoading,"onUpdate:modelValue":c[1]||(c[1]=t=>s.enableClients=t),onChange:c[2]||(c[2]=t=>o()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,pe),[[z,s.enableClients]])])]),d(ne,{mode:"Client"})])])]))}}),ge={class:"text-body w-100 h-100 pb-2 position-relative"},fe={class:"w-100 h-100 card rounded-3"},be={class:"border-bottom z-0"},ve={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},Ce=["placeholder"],ye={class:"row h-100 g-0"},we={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},xe=C({__name:"clients",async setup(h){let l,i;const n=q();[l,i]=j(()=>n.getClients()),await l,i(),n.getAllConfigurationsPeers();const s=f(""),a=E(),o=f(!1),_=L(()=>Object.fromEntries(Object.entries(n.clients).filter(([c,t])=>Object.keys(n.clients).filter(u=>u!=="Local").includes(c))));return(c,t)=>{const u=I("RouterView");return r(),g("div",ge,[e("div",fe,[d(G,{name:"zoom"},{default:V(()=>[o.value?(r(),v(he,{key:0,onClose:t[0]||(t[0]=m=>o.value=!1)})):S("",!0)]),_:1}),e("div",be,[e("div",ve,[t[4]||(t[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),x(e("input",{"onUpdate:modelValue":t[1]||(t[1]=m=>s.value=m),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:b(T)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,Ce),[[M,s.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:t[2]||(t[2]=m=>o.value=!o.value)},[t[3]||(t[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),d(p,{t:"Settings"})])])]),e("div",ye,[e("div",{class:$([{hide:b(a).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",we,[Object.keys(b(n).clients).includes("Local")?(r(),v(k,{key:0,searchString:s.value,clients:b(n).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(r(!0),g(D,null,N(_.value,(m,A)=>(r(),v(k,{searchString:s.value,clients:m,groupName:A},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:$([{hide:!b(a).params.id},"col-sm-8 clientViewerContainer"])},[d(u)],2)])])])}}}),Le=U(xe,[["__scopeId","data-v-e441f3fe"]]);export{Le as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/configuration-DJLpD0qL.js b/src/static/dist/WGDashboardAdmin/assets/configuration-Dv_GGSLh.js similarity index 86% rename from src/static/dist/WGDashboardAdmin/assets/configuration-DJLpD0qL.js rename to src/static/dist/WGDashboardAdmin/assets/configuration-Dv_GGSLh.js index b158ccf3..eef8bc0d 100644 --- a/src/static/dist/WGDashboardAdmin/assets/configuration-DJLpD0qL.js +++ b/src/static/dist/WGDashboardAdmin/assets/configuration-Dv_GGSLh.js @@ -1 +1 @@ -import{_ as r,c as i,b as o,w as e,k as l,j as a,l as _,S as u,h as d,f as t}from"./index-mH92cJrc.js";const m={name:"configuration"},f={class:"mt-md-5 mt-3 text-body"};function p(h,k,x,w,$,v){const n=d("RouterView");return t(),i("div",f,[o(n,null,{default:e(({Component:s,route:c})=>[o(l,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(_(s),{key:c.path,class:"z-1"}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",p]]);export{B as default}; +import{_ as r,c as i,b as o,w as e,k as l,j as a,l as _,S as u,h as d,f as t}from"./index-BimuIV8Z.js";const m={name:"configuration"},f={class:"mt-md-5 mt-3 text-body"};function p(h,k,x,w,$,v){const n=d("RouterView");return t(),i("div",f,[o(n,null,{default:e(({Component:s,route:c})=>[o(l,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(_(s),{key:c.path,class:"z-1"}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",p]]);export{B as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/configurationList-hQTdd0KW.js b/src/static/dist/WGDashboardAdmin/assets/configurationList-D7EdousE.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/configurationList-hQTdd0KW.js rename to src/static/dist/WGDashboardAdmin/assets/configurationList-D7EdousE.js index 62502fd7..def0e51d 100644 --- a/src/static/dist/WGDashboardAdmin/assets/configurationList-hQTdd0KW.js +++ b/src/static/dist/WGDashboardAdmin/assets/configurationList-D7EdousE.js @@ -1 +1 @@ -import{_ as D,g as B,D as N,c as i,a as t,b as l,w as x,h as p,n as m,e as v,t as u,m as U,j as y,d as h,v as I,f as o,p as K,q as G,r as R,s as C,k as V,o as O,x as W,F as w,i as k,T as q,G as L,W as F,y as z}from"./index-mH92cJrc.js";import{L as S}from"./localeText-DSmP42vs.js";import{_ as j}from"./protocolBadge-DNw_4GNb.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ES0Nq9XH.js";const P={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:S},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:N()}},methods:{toggle(){this.configurationToggling=!0,B("/api/toggleWireguardConfiguration",{configurationName:this.c.Name},n=>{n.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${n.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",n.message,"danger"),this.c.Status=n.data,this.configurationToggling=!1})}}},T=()=>{K(n=>({"0d365bfc":n.delay}))},M=P.setup;P.setup=M?(n,s)=>(T(),M(n,s)):T;const H={class:"card conf_card rounded-3 shadow text-decoration-none"},Y={class:"mb-0"},A={class:"card-title mb-0 d-flex align-items-center gap-2"},J={key:0},Q={class:"badge text-bg-info rounded-3 shadow"},X={class:"card-footer d-flex gap-2 flex-column"},Z={class:"row"},tt={class:"d-flex gap-2 align-items-center"},et={class:"text-muted"},st={class:"mb-0 d-block d-lg-inline-block"},ot={style:{"line-break":"anywhere"}},nt={class:"form-check form-switch ms-auto"},at=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},rt=["disabled","id"];function lt(n,s,e,_,a,g){const d=p("ProtocolBadge"),r=p("RouterLink"),c=p("LocaleText");return o(),i("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",H,[l(r,{to:"/configuration/"+e.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:x(()=>[t("h6",Y,[t("span",{class:m(["dot",{active:e.c.Status}])},null,2)]),t("h6",A,[t("samp",null,u(e.c.Name),1),t("small",null,[l(d,{protocol:e.c.Protocol,mini:!0},null,8,["protocol"])]),e.c.Info.Description?(o(),i("small",J,[t("span",Q,[s[2]||(s[2]=t("i",{class:"bi bi-pencil-fill me-2"},null,-1)),v(" "+u(e.c.Info.Description),1)])])):h("",!0)]),s[3]||(s[3]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1,__:[3]},8,["to"]),t("div",X,[t("div",Z,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),v(u(e.c.DataUsage.Total>0?e.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),v(u(e.c.DataUsage.Receive>0?e.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[6]||(s[6]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),v(u(e.c.DataUsage.Sent>0?e.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:e.c.ConnectedPeers>0}])},null,2),v(" "+u(e.c.ConnectedPeers)+" / "+u(e.c.TotalPeers)+" ",1),l(c,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",tt,[t("small",et,[t("strong",null,[l(c,{t:"Public Key"})])]),t("small",st,[t("samp",ot,u(e.c.PublicKey),1)])]),t("div",nt,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+e.c.PrivateKey},[!e.c.Status&&this.configurationToggling?(o(),y(c,{key:0,t:"Turning Off..."})):e.c.Status&&this.configurationToggling?(o(),y(c,{key:1,t:"Turning On..."})):e.c.Status&&!this.configurationToggling?(o(),y(c,{key:2,t:"On"})):!e.c.Status&&!this.configurationToggling?(o(),y(c,{key:3,t:"Off"})):h("",!0),this.configurationToggling?(o(),i("span",it)):h("",!0)],8,at),U(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+e.c.PrivateKey,onChange:s[0]||(s[0]=$=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=$=>e.c.Status=$)},null,40,rt),[[I,e.c.Status]])])],2)])])],2)}const dt=D(P,[["render",lt],["__scopeId","data-v-9f596f5e"]]),ct={class:"text-muted me-2"},ut={class:"fw-bold"},mt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(n){K(a=>({"2dc8ab7e":_.value}));const s=n,e=R(!1),_=G(()=>s.square?"40px":"25px");return(a,g)=>(o(),i("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=d=>e.value=!0),onMouseleave:g[1]||(g[1]=d=>e.value=!1),style:C({"background-color":`rgb(25 135 84 / ${n.mount.percent}%)`})},[l(V,{name:"zoomReversed"},{default:x(()=>[e.value?(o(),i("div",{key:0,style:C([{"white-space":"nowrap"},{top:_.value}]),class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[n.align?"end-0":"start-0"]])},[t("small",ct,[t("samp",null,u(n.mount.mountPoint),1)]),t("small",ut,u(n.mount.percent)+"% ",1)],6)):h("",!0)]),_:1})],36))}},gt=D(mt,[["__scopeId","data-v-9509d7a0"]]),ft={class:"row text-body g-3 mb-5"},_t={class:"col-md-6 col-sm-12 col-xl-3"},ht={class:"d-flex align-items-center"},pt={class:"text-muted"},yt={class:"ms-auto"},bt={key:0},vt={key:1,class:"spinner-border spinner-border-sm"},xt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-flex mt-2 gap-1"},Ct={class:"col-md-6 col-sm-12 col-xl-3"},wt={class:"d-flex align-items-center"},kt={class:"text-muted"},$t={class:"ms-auto"},Dt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Pt={class:"progress",role:"progressbar",style:{height:"6px"}},Tt={class:"d-flex mt-2 gap-1"},Mt={class:"col-md-6 col-sm-12 col-xl-3"},Bt={class:"d-flex align-items-center"},Nt={class:"text-muted"},Ut={class:"ms-auto"},Kt={key:0},Gt={key:1,class:"spinner-border spinner-border-sm"},Vt={class:"progress",role:"progressbar",style:{height:"6px"}},It={class:"col-md-6 col-sm-12 col-xl-3"},Rt={class:"d-flex align-items-center"},Ot={class:"text-muted"},Wt={class:"ms-auto"},qt={key:0},Ft={key:1,class:"spinner-border spinner-border-sm"},zt={__name:"systemStatusWidget",setup(n){const s=N();let e=null;O(()=>{_(),e=setInterval(()=>{_()},5e3)}),W(()=>{clearInterval(e)});const _=()=>{B("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},a=G(()=>s.SystemStatus);return(g,d)=>(o(),i("div",ft,[t("div",_t,[t("div",ht,[t("h6",pt,[d[0]||(d[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),l(S,{t:"CPU"})]),t("h6",yt,[a.value?(o(),i("span",bt,u(a.value.CPU.cpu_percent)+"% ",1)):(o(),i("span",vt))])]),t("div",xt,[t("div",{class:"progress-bar",style:C({width:`${a.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(o(!0),i(w,null,k(a.value?.CPU.cpu_percent_per_cpu,(r,c)=>(o(),y(E,{key:c,align:c+1>Math.round(a.value?.CPU.cpu_percent_per_cpu.length/2),core_number:c,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),t("div",Ct,[t("div",wt,[t("h6",kt,[d[1]||(d[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),l(S,{t:"Storage"})]),t("h6",$t,[a.value?(o(),i("span",Dt,u(a.value.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent)+"% ",1)):(o(),i("span",Lt))])]),t("div",Pt,[t("div",{class:"progress-bar bg-success",style:C({width:`${a.value?.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent}%`})},null,4)]),t("div",Tt,[a.value?(o(!0),i(w,{key:0},k(a.value?.Disks,(r,c)=>(o(),y(gt,{key:r.mountPoint,align:c+1>Math.round(a.value?.Disks.length/2),mount:r},null,8,["align","mount"]))),128)):h("",!0)])]),t("div",Mt,[t("div",Bt,[t("h6",Nt,[d[2]||(d[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Memory"})]),t("h6",Ut,[a.value?(o(),i("span",Kt,u(a.value?.Memory.VirtualMemory.percent)+"% ",1)):(o(),i("span",Gt))])]),t("div",Vt,[t("div",{class:"progress-bar bg-info",style:C({width:`${a.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",It,[t("div",Rt,[t("h6",Ot,[d[3]||(d[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Swap Memory"})]),t("h6",Wt,[a.value?(o(),i("span",qt,u(a.value?.Memory.SwapMemory.percent)+"% ",1)):(o(),i("span",Ft))])]),d[4]||(d[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},jt=D(zt,[["__scopeId","data-v-851170e4"]]),Et={name:"configurationList",components:{SystemStatus:jt,LocaleText:S,ConfigurationCard:dt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:L("Name"),Status:L("Status"),"DataUsage.Total":L("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},computed:{configurations(){return this.wireguardConfigurationsStore.sortConfigurations.filter(n=>n.Name.toLowerCase().includes(this.searchKey)||n.PublicKey.includes(this.searchKey)||!this.searchKey)}},methods:{dotNotation(n,s){let e=s.split(".").reduce((_,a)=>_&&_[a],n);return typeof e=="string"?e.toLowerCase():e},updateSort(n){this.wireguardConfigurationsStore.CurrentSort.key===n?this.wireguardConfigurationsStore.CurrentSort.order=this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"desc":"asc":this.wireguardConfigurationsStore.CurrentSort.key=n},updateDisplay(n){this.wireguardConfigurationsStore.CurrentDisplay!==n&&(this.wireguardConfigurationsStore.CurrentDisplay=n)}}},Ht={class:"mt-md-5 mt-3"},Yt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Jt={class:"text-body d-flex mb-0"},Qt={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Xt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Zt={class:"text-muted"},te={class:"d-flex ms-auto ms-lg-0"},ee=["onClick"],se={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},oe={class:"text-muted"},ne={class:"d-flex ms-auto ms-lg-0"},ae=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},re={class:"row g-3 mb-2"},le={class:"text-muted col-12",key:"noConfiguration"};function de(n,s,e,_,a,g){const d=p("SystemStatus"),r=p("LocaleText"),c=p("RouterLink"),$=p("ConfigurationCard");return o(),i("div",Ht,[t("div",Yt,[l(d),t("div",At,[t("h2",Jt,[l(r,{t:"WireGuard Configurations"})]),l(c,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),l(r,{t:"Configuration"})]),_:1,__:[1]}),l(c,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),l(r,{t:"Restore"})]),_:1,__:[2]})]),l(V,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded?(o(),i("div",Qt,[t("div",Xt,[t("small",Zt,[l(r,{t:"Sort By"})]),t("div",te,[(o(!0),i(w,null,k(this.wireguardConfigurationsStore.SortOptions,(f,b)=>(o(),i("a",{role:"button",onClick:ce=>g.updateSort(b),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentSort.key===b},"px-2 py-1 rounded-3"])},[t("small",null,[this.wireguardConfigurationsStore.CurrentSort.key===b?(o(),i("i",{key:0,class:m(["bi me-2",[this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):h("",!0),l(r,{t:f},null,8,["t"])])],10,ee))),256))])]),t("div",se,[t("small",oe,[l(r,{t:"Display as"})]),t("div",ne,[(o(),i(w,null,k([{name:"List",key:"list"},{name:"Grid",key:"grid"}],f=>t("a",{role:"button",onClick:b=>g.updateDisplay(f.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentDisplay===f.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+f.key])},null,2),s[3]||(s[3]=v()),l(r,{t:f.name},null,8,["t"])])],10,ae)),64))])]),t("div",ie,[s[4]||(s[4]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),U(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=f=>this.searchKey=f),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):h("",!0)]),_:1}),t("div",re,[l(q,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(o(),i("p",le,[l(r,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.wireguardConfigurationsStore.ConfigurationLoaded?(o(!0),i(w,{key:1},k(g.configurations,(f,b)=>(o(),y($,{display:this.wireguardConfigurationsStore.CurrentDisplay,delay:b*.03+"s",key:f.Name,c:f},null,8,["display","delay","c"]))),128)):h("",!0)]),_:1})])])])}const _e=D(Et,[["render",de],["__scopeId","data-v-7ed053f0"]]);export{_e as default}; +import{_ as D,g as B,D as N,c as i,a as t,b as l,w as x,h as p,n as m,e as v,t as u,m as U,j as y,d as h,v as I,f as o,p as K,q as G,r as R,s as C,k as V,o as O,x as W,F as w,i as k,T as q,G as L,W as F,y as z}from"./index-BimuIV8Z.js";import{L as S}from"./localeText-D0Ve6fTw.js";import{_ as j}from"./protocolBadge-Ck_G7NzU.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-CgRpYUbi.js";const P={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:S},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:N()}},methods:{toggle(){this.configurationToggling=!0,B("/api/toggleWireguardConfiguration",{configurationName:this.c.Name},n=>{n.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${n.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",n.message,"danger"),this.c.Status=n.data,this.configurationToggling=!1})}}},T=()=>{K(n=>({"0d365bfc":n.delay}))},M=P.setup;P.setup=M?(n,s)=>(T(),M(n,s)):T;const H={class:"card conf_card rounded-3 shadow text-decoration-none"},Y={class:"mb-0"},A={class:"card-title mb-0 d-flex align-items-center gap-2"},J={key:0},Q={class:"badge text-bg-info rounded-3 shadow"},X={class:"card-footer d-flex gap-2 flex-column"},Z={class:"row"},tt={class:"d-flex gap-2 align-items-center"},et={class:"text-muted"},st={class:"mb-0 d-block d-lg-inline-block"},ot={style:{"line-break":"anywhere"}},nt={class:"form-check form-switch ms-auto"},at=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},rt=["disabled","id"];function lt(n,s,e,_,a,g){const d=p("ProtocolBadge"),r=p("RouterLink"),c=p("LocaleText");return o(),i("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",H,[l(r,{to:"/configuration/"+e.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:x(()=>[t("h6",Y,[t("span",{class:m(["dot",{active:e.c.Status}])},null,2)]),t("h6",A,[t("samp",null,u(e.c.Name),1),t("small",null,[l(d,{protocol:e.c.Protocol,mini:!0},null,8,["protocol"])]),e.c.Info.Description?(o(),i("small",J,[t("span",Q,[s[2]||(s[2]=t("i",{class:"bi bi-pencil-fill me-2"},null,-1)),v(" "+u(e.c.Info.Description),1)])])):h("",!0)]),s[3]||(s[3]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1,__:[3]},8,["to"]),t("div",X,[t("div",Z,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),v(u(e.c.DataUsage.Total>0?e.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),v(u(e.c.DataUsage.Receive>0?e.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[6]||(s[6]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),v(u(e.c.DataUsage.Sent>0?e.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:e.c.ConnectedPeers>0}])},null,2),v(" "+u(e.c.ConnectedPeers)+" / "+u(e.c.TotalPeers)+" ",1),l(c,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",tt,[t("small",et,[t("strong",null,[l(c,{t:"Public Key"})])]),t("small",st,[t("samp",ot,u(e.c.PublicKey),1)])]),t("div",nt,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+e.c.PrivateKey},[!e.c.Status&&this.configurationToggling?(o(),y(c,{key:0,t:"Turning Off..."})):e.c.Status&&this.configurationToggling?(o(),y(c,{key:1,t:"Turning On..."})):e.c.Status&&!this.configurationToggling?(o(),y(c,{key:2,t:"On"})):!e.c.Status&&!this.configurationToggling?(o(),y(c,{key:3,t:"Off"})):h("",!0),this.configurationToggling?(o(),i("span",it)):h("",!0)],8,at),U(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+e.c.PrivateKey,onChange:s[0]||(s[0]=$=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=$=>e.c.Status=$)},null,40,rt),[[I,e.c.Status]])])],2)])])],2)}const dt=D(P,[["render",lt],["__scopeId","data-v-9f596f5e"]]),ct={class:"text-muted me-2"},ut={class:"fw-bold"},mt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(n){K(a=>({"2dc8ab7e":_.value}));const s=n,e=R(!1),_=G(()=>s.square?"40px":"25px");return(a,g)=>(o(),i("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=d=>e.value=!0),onMouseleave:g[1]||(g[1]=d=>e.value=!1),style:C({"background-color":`rgb(25 135 84 / ${n.mount.percent}%)`})},[l(V,{name:"zoomReversed"},{default:x(()=>[e.value?(o(),i("div",{key:0,style:C([{"white-space":"nowrap"},{top:_.value}]),class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[n.align?"end-0":"start-0"]])},[t("small",ct,[t("samp",null,u(n.mount.mountPoint),1)]),t("small",ut,u(n.mount.percent)+"% ",1)],6)):h("",!0)]),_:1})],36))}},gt=D(mt,[["__scopeId","data-v-9509d7a0"]]),ft={class:"row text-body g-3 mb-5"},_t={class:"col-md-6 col-sm-12 col-xl-3"},ht={class:"d-flex align-items-center"},pt={class:"text-muted"},yt={class:"ms-auto"},bt={key:0},vt={key:1,class:"spinner-border spinner-border-sm"},xt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-flex mt-2 gap-1"},Ct={class:"col-md-6 col-sm-12 col-xl-3"},wt={class:"d-flex align-items-center"},kt={class:"text-muted"},$t={class:"ms-auto"},Dt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Pt={class:"progress",role:"progressbar",style:{height:"6px"}},Tt={class:"d-flex mt-2 gap-1"},Mt={class:"col-md-6 col-sm-12 col-xl-3"},Bt={class:"d-flex align-items-center"},Nt={class:"text-muted"},Ut={class:"ms-auto"},Kt={key:0},Gt={key:1,class:"spinner-border spinner-border-sm"},Vt={class:"progress",role:"progressbar",style:{height:"6px"}},It={class:"col-md-6 col-sm-12 col-xl-3"},Rt={class:"d-flex align-items-center"},Ot={class:"text-muted"},Wt={class:"ms-auto"},qt={key:0},Ft={key:1,class:"spinner-border spinner-border-sm"},zt={__name:"systemStatusWidget",setup(n){const s=N();let e=null;O(()=>{_(),e=setInterval(()=>{_()},5e3)}),W(()=>{clearInterval(e)});const _=()=>{B("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},a=G(()=>s.SystemStatus);return(g,d)=>(o(),i("div",ft,[t("div",_t,[t("div",ht,[t("h6",pt,[d[0]||(d[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),l(S,{t:"CPU"})]),t("h6",yt,[a.value?(o(),i("span",bt,u(a.value.CPU.cpu_percent)+"% ",1)):(o(),i("span",vt))])]),t("div",xt,[t("div",{class:"progress-bar",style:C({width:`${a.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(o(!0),i(w,null,k(a.value?.CPU.cpu_percent_per_cpu,(r,c)=>(o(),y(E,{key:c,align:c+1>Math.round(a.value?.CPU.cpu_percent_per_cpu.length/2),core_number:c,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),t("div",Ct,[t("div",wt,[t("h6",kt,[d[1]||(d[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),l(S,{t:"Storage"})]),t("h6",$t,[a.value?(o(),i("span",Dt,u(a.value.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent)+"% ",1)):(o(),i("span",Lt))])]),t("div",Pt,[t("div",{class:"progress-bar bg-success",style:C({width:`${a.value?.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent}%`})},null,4)]),t("div",Tt,[a.value?(o(!0),i(w,{key:0},k(a.value?.Disks,(r,c)=>(o(),y(gt,{key:r.mountPoint,align:c+1>Math.round(a.value?.Disks.length/2),mount:r},null,8,["align","mount"]))),128)):h("",!0)])]),t("div",Mt,[t("div",Bt,[t("h6",Nt,[d[2]||(d[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Memory"})]),t("h6",Ut,[a.value?(o(),i("span",Kt,u(a.value?.Memory.VirtualMemory.percent)+"% ",1)):(o(),i("span",Gt))])]),t("div",Vt,[t("div",{class:"progress-bar bg-info",style:C({width:`${a.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",It,[t("div",Rt,[t("h6",Ot,[d[3]||(d[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Swap Memory"})]),t("h6",Wt,[a.value?(o(),i("span",qt,u(a.value?.Memory.SwapMemory.percent)+"% ",1)):(o(),i("span",Ft))])]),d[4]||(d[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},jt=D(zt,[["__scopeId","data-v-851170e4"]]),Et={name:"configurationList",components:{SystemStatus:jt,LocaleText:S,ConfigurationCard:dt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:L("Name"),Status:L("Status"),"DataUsage.Total":L("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},computed:{configurations(){return this.wireguardConfigurationsStore.sortConfigurations.filter(n=>n.Name.toLowerCase().includes(this.searchKey)||n.PublicKey.includes(this.searchKey)||!this.searchKey)}},methods:{dotNotation(n,s){let e=s.split(".").reduce((_,a)=>_&&_[a],n);return typeof e=="string"?e.toLowerCase():e},updateSort(n){this.wireguardConfigurationsStore.CurrentSort.key===n?this.wireguardConfigurationsStore.CurrentSort.order=this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"desc":"asc":this.wireguardConfigurationsStore.CurrentSort.key=n},updateDisplay(n){this.wireguardConfigurationsStore.CurrentDisplay!==n&&(this.wireguardConfigurationsStore.CurrentDisplay=n)}}},Ht={class:"mt-md-5 mt-3"},Yt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Jt={class:"text-body d-flex mb-0"},Qt={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Xt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Zt={class:"text-muted"},te={class:"d-flex ms-auto ms-lg-0"},ee=["onClick"],se={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},oe={class:"text-muted"},ne={class:"d-flex ms-auto ms-lg-0"},ae=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},re={class:"row g-3 mb-2"},le={class:"text-muted col-12",key:"noConfiguration"};function de(n,s,e,_,a,g){const d=p("SystemStatus"),r=p("LocaleText"),c=p("RouterLink"),$=p("ConfigurationCard");return o(),i("div",Ht,[t("div",Yt,[l(d),t("div",At,[t("h2",Jt,[l(r,{t:"WireGuard Configurations"})]),l(c,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),l(r,{t:"Configuration"})]),_:1,__:[1]}),l(c,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),l(r,{t:"Restore"})]),_:1,__:[2]})]),l(V,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded?(o(),i("div",Qt,[t("div",Xt,[t("small",Zt,[l(r,{t:"Sort By"})]),t("div",te,[(o(!0),i(w,null,k(this.wireguardConfigurationsStore.SortOptions,(f,b)=>(o(),i("a",{role:"button",onClick:ce=>g.updateSort(b),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentSort.key===b},"px-2 py-1 rounded-3"])},[t("small",null,[this.wireguardConfigurationsStore.CurrentSort.key===b?(o(),i("i",{key:0,class:m(["bi me-2",[this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):h("",!0),l(r,{t:f},null,8,["t"])])],10,ee))),256))])]),t("div",se,[t("small",oe,[l(r,{t:"Display as"})]),t("div",ne,[(o(),i(w,null,k([{name:"List",key:"list"},{name:"Grid",key:"grid"}],f=>t("a",{role:"button",onClick:b=>g.updateDisplay(f.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentDisplay===f.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+f.key])},null,2),s[3]||(s[3]=v()),l(r,{t:f.name},null,8,["t"])])],10,ae)),64))])]),t("div",ie,[s[4]||(s[4]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),U(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=f=>this.searchKey=f),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):h("",!0)]),_:1}),t("div",re,[l(q,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(o(),i("p",le,[l(r,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.wireguardConfigurationsStore.ConfigurationLoaded?(o(!0),i(w,{key:1},k(g.configurations,(f,b)=>(o(),y($,{display:this.wireguardConfigurationsStore.CurrentDisplay,delay:b*.03+"s",key:f.Name,c:f},null,8,["display","delay","c"]))),128)):h("",!0)]),_:1})])])])}const _e=D(Et,[["render",de],["__scopeId","data-v-7ed053f0"]]);export{_e as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-CqwOH0Oa.js b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-Gsulq66_.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-CqwOH0Oa.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-Gsulq66_.js index 71b5473c..d4476a5b 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-CqwOH0Oa.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-Gsulq66_.js @@ -1 +1 @@ -import{_ as A,c as r,a as e,m as h,b as l,h as y,y as _,n as $,t as x,z as w,D as k,A as K,f as i,d as g,v as D,e as C,j as v,F as S,w as V,T as F,k as M,g as T,i as E,o as N,r as I,u as m,C as U}from"./index-mH92cJrc.js";import{L as c}from"./localeText-DSmP42vs.js";import{d as P}from"./dayjs.min-BSByM7MH.js";import{Q as Y}from"./vue-datepicker-DXRta4gJ.js";const H={name:"accountSettingsInputUsername",components:{LocaleText:c},props:{targetData:String,title:String},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(t){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1}))}}},R={class:"form-group mb-2"},j=["for"],q=["id","disabled"],B={class:"invalid-feedback"};function z(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",R,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:this.title},null,8,["t"])])])],8,j),h(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.value=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation()),disabled:this.updating},null,42,q),[[_,this.value]]),e("div",B,x(this.invalidFeedback),1)])}const ft=A(H,[["render",z]]),G={name:"accountSettingsInputPassword",components:{LocaleText:c},props:{targetData:String,warning:!1,warningText:""},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(t=>t.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},t=>{t.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=t.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}},computed:{passwordValid(){return Object.values(this.value).find(t=>t.length===0)===void 0&&this.value.newPassword===this.value.repeatNewPassword}}},W={class:"d-flex flex-column gap-2"},O={class:"row g-2"},Q={class:"col-sm"},J={class:"form-group"},X=["for"],Z=["id"],ee={key:0,class:"invalid-feedback d-block"},se={class:"col-sm"},te={class:"form-group"},ae=["for"],ie=["id"],oe={class:"col-sm"},ne={class:"form-group"},le=["for"],de=["id"],re=["disabled"];function ue(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("h6",null,[l(o,{t:"Update Password"})]),e("form",W,[e("div",O,[e("div",Q,[e("div",J,[e("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Current Password"})])])],8,X),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"current-password","onUpdate:modelValue":s[0]||(s[0]=a=>this.value.currentPassword=a),id:"currentPassword_"+this.uuid},null,10,Z),[[_,this.value.currentPassword]]),u.showInvalidFeedback?(i(),r("div",ee,x(this.invalidFeedback),1)):g("",!0)])]),e("div",se,[e("div",te,[e("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"New Password"})])])],8,ae),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.value.newPassword=a),id:"newPassword_"+this.uuid},null,10,ie),[[_,this.value.newPassword]])])]),e("div",oe,[e("div",ne,[e("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Repeat New Password"})])])],8,le),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.value.repeatNewPassword=a),id:"repeatNewPassword_"+this.uuid},null,10,de),[[_,this.value.repeatNewPassword]])])])]),e("button",{disabled:!this.passwordValid,class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:s[3]||(s[3]=a=>this.useValidation())},[s[4]||(s[4]=e("i",{class:"bi bi-save2-fill me-2"},null,-1)),l(o,{t:"Save"})],8,re)])])}const gt=A(G,[["render",ue]]),ce={name:"dashboardTheme",components:{LocaleText:c},setup(){return{dashboardConfigurationStore:k()}},methods:{async switchTheme(t){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:t},s=>{s.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=t)})}}},me={class:"text-muted mb-1 d-block"},he={class:"d-flex gap-1"};function pe(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",me,[e("strong",null,[l(o,{t:"Theme"})])]),e("div",he,[e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:s[0]||(s[0]=a=>this.switchTheme("light"))},[s[2]||(s[2]=e("i",{class:"bi bi-sun-fill me-2"},null,-1)),l(o,{t:"Light"})],2),e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:s[1]||(s[1]=a=>this.switchTheme("dark"))},[s[3]||(s[3]=e("i",{class:"bi bi-moon-fill me-2"},null,-1)),l(o,{t:"Dark"})],2)])])}const _t=A(ce,[["render",pe]]),be={name:"newDashboardAPIKey",components:{LocaleText:c,VueDatePicker:Y},data(){return{newKeyData:{ExpiredAt:P().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),NeverExpire:!1},submitting:!1}},setup(){return{store:k()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,w("/api/newDashboardAPIKey",this.newKeyData,t=>{t.status?(this.$emit("created",t.data),this.store.newMessage("Server","API Key created","success"),this.$emit("close")):this.store.newMessage("Server",t.message,"danger"),this.submitting=!1})},fixDate(t){return console.log(P(t).format("YYYY-MM-DDTHH:mm:ss")),P(t).format("YYYY-MM-DDTHH:mm:ss")},parseTime(t){t?this.newKeyData.ExpiredAt=P(t).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},fe={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)","z-index":"9999"}},ge={class:"card m-auto rounded-3 mt-5"},_e={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},ve={class:"mb-0"},ye={class:"card-body d-flex gap-2 p-4 flex-column"},we={class:"text-muted"},$e={class:"d-flex align-items-center gap-2"},ke={class:"form-check"},xe=["disabled"],Ae={class:"form-check-label",for:"neverExpire"},Pe={key:0,class:"bi bi-check-lg me-2"};function Ce(t,s,p,b,u,f){const o=y("LocaleText"),a=y("VueDatePicker");return i(),r("div",fe,[e("div",ge,[e("div",_e,[e("h6",ve,[l(o,{t:"Create API Key"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=n=>this.$emit("close"))})]),e("div",ye,[e("small",we,[l(o,{t:"When should this API Key expire?"})]),e("div",$e,[l(a,{style:{"z-index":"9999"},is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.NeverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),e("div",ke,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=n=>this.newKeyData.NeverExpire=n),id:"neverExpire",disabled:this.submitting},null,8,xe),[[D,this.newKeyData.NeverExpire]]),e("label",Ae,[l(o,{t:"Never Expire"}),s[3]||(s[3]=C(" (")),s[4]||(s[4]=e("i",{class:"bi bi-emoji-grimace-fill me-2"},null,-1)),l(o,{t:"Don't think that's a good idea"}),s[5]||(s[5]=C(") "))])]),e("button",{class:$(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:s[2]||(s[2]=n=>this.submitNewAPIKey())},[this.submitting?g("",!0):(i(),r("i",Pe)),this.submitting?(i(),v(o,{key:1,t:"Creating..."})):(i(),v(o,{key:2,t:"Create"}))],2)])])])}const De=A(be,[["render",Ce]]),Ie={name:"dashboardAPIKey",components:{LocaleText:c},props:{apiKey:Object},setup(){return{store:k()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){w("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},t=>{t.status?(this.$emit("deleted",t.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",t.message,"danger")})}}},Ke={class:"card rounded-3 shadow-sm"},Se={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},Te={class:"d-flex align-items-center gap-2"},Ve={class:"text-muted"},Ee={style:{"word-break":"break-all"}},Le={class:"d-flex align-items-center gap-2 ms-auto"},Fe={class:"text-muted"},Me={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"};function Ne(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",Ke,[this.confirmDelete?(i(),r(S,{key:1},[this.store.getActiveCrossServer()?g("",!0):(i(),r("div",Me,[l(o,{t:"Are you sure to delete this API key?"}),e("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:s[1]||(s[1]=a=>this.deleteAPIKey())},s[4]||(s[4]=[e("i",{class:"bi bi-check-lg"},null,-1)])),e("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:s[2]||(s[2]=a=>this.confirmDelete=!1)},s[5]||(s[5]=[e("i",{class:"bi bi-x-lg"},null,-1)]))]))],64)):(i(),r("div",Se,[e("div",Te,[e("small",Ve,[l(o,{t:"Key"})]),e("span",Ee,x(this.apiKey.Key),1)]),e("div",Le,[e("small",Fe,[l(o,{t:"Expire At"})]),this.apiKey.ExpiredAt?g("",!0):(i(),v(o,{key:0,t:"Never Expire"})),e("span",null,x(this.apiKey.ExpiredAt),1)]),this.store.getActiveCrossServer()?g("",!0):(i(),r("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:s[0]||(s[0]=a=>this.confirmDelete=!0)},s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])))]))])}const Ue=A(Ie,[["render",Ne],["__scopeId","data-v-a76253c8"]]),Ye={name:"dashboardAPIKeys",components:{LocaleText:c,DashboardAPIKey:Ue,NewDashboardAPIKey:De},setup(){return{store:k()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},t=>{t.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed to ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(t){t?T("/api/getDashboardAPIKeys",{},s=>{s.status?this.apiKeys=s.data:(this.apiKeys=[],this.store.newMessage("Server",s.message,"danger"))}):this.apiKeys=[]}}}},He={class:"card rounded-3"},Re={class:"my-2"},je={key:0,class:"form-check form-switch ms-auto"},qe={class:"form-check-label",for:"allowAPIKeysSwitch"},Be={key:0,class:"card-body position-relative d-flex flex-column gap-2"},ze={key:1,class:"card",style:{height:"300px"}},Ge={class:"card-body d-flex text-muted"},We={class:"m-auto"},Oe={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function Qe(t,s,p,b,u,f){const o=y("LocaleText"),a=y("DashboardAPIKey"),n=y("NewDashboardAPIKey");return i(),r("div",He,[e("div",{class:$(["card-header d-flex align-items-center",{"border-bottom-0 rounded-3":!this.value}])},[e("h6",Re,[s[6]||(s[6]=e("i",{class:"bi bi-key-fill me-2"},null,-1)),l(o,{t:"API Keys"})]),this.store.getActiveCrossServer()?g("",!0):(i(),r("div",je,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=d=>this.value=d),onChange:s[1]||(s[1]=d=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[D,this.value]]),e("label",qe,[this.value?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(o,{key:1,t:"Disabled"}))])]))],2),this.value?(i(),r("div",Be,[this.store.getActiveCrossServer()?g("",!0):(i(),r("button",{key:0,class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:s[2]||(s[2]=d=>this.newDashboardAPIKey=!0)},[s[7]||(s[7]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(o,{t:"API Key"})])),this.apiKeys.length===0?(i(),r("div",ze,[e("div",Ge,[e("span",We,[l(o,{t:"No WGDashboard API Key"})])])])):(i(),r("div",Oe,[l(F,{name:"apiKey"},{default:V(()=>[(i(!0),r(S,null,E(this.apiKeys,d=>(i(),v(a,{apiKey:d,key:d.Key,onDeleted:s[3]||(s[3]=L=>this.apiKeys=L)},null,8,["apiKey"]))),128))]),_:1})])),l(M,{name:"zoomReversed"},{default:V(()=>[this.newDashboardAPIKey?(i(),v(n,{key:0,onCreated:s[4]||(s[4]=d=>this.apiKeys=d),onClose:s[5]||(s[5]=d=>this.newDashboardAPIKey=!1)})):g("",!0)]),_:1})])):g("",!0)])}const vt=A(Ye,[["render",Qe],["__scopeId","data-v-f7e62927"]]),Je={name:"accountSettingsMFA",components:{LocaleText:c},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async t=>{await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},s=>{s.status&&this.$router.push("/2FASetup")})})}}},Xe={class:"d-flex align-items-center"},Ze={class:"form-check form-switch"},es={for:"allowMFAKeysSwitch"};function ss(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",Xe,[e("div",Ze,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[D,this.status]]),e("label",es,[this.status?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(o,{key:1,t:"Disabled"}))])]),this.status?(i(),r("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:s[1]||(s[1]=a=>this.resetMFA())},[s[2]||(s[2]=e("i",{class:"bi bi-shield-lock-fill me-2"},null,-1)),this.store.Configuration.Account.totp_verified?(i(),v(o,{key:0,t:"Reset"})):(i(),v(o,{key:1,t:"Setup"})),s[3]||(s[3]=C(" MFA "))])):g("",!0)])])}const yt=A(Je,[["render",ss]]),ts={name:"dashboardLanguage",components:{LocaleText:c},setup(){return{store:k()}},data(){return{languages:void 0}},mounted(){T("/api/locale/available",{},t=>{this.languages=t.data})},methods:{changeLanguage(t){w("/api/locale/update",{lang_id:t},s=>{s.status?(this.store.Configuration.Server.dashboard_language=t,this.store.Locale=s.data):this.store.newMessage("Server","WGDashboard language update failed","danger")})}},computed:{currentLanguage(){let t=this.store.Configuration.Server.dashboard_language;return this.languages.find(s=>s.lang_id===t)}}},as={class:"text-muted d-block mb-1"},is={class:"d-flex gap-2"},os={class:"dropdown w-100"},ns=["disabled"],ls={key:1},ds={class:"dropdown-menu rounded-3 shadow",style:{"max-height":"500px","overflow-y":"scroll"}},rs=["onClick"],us={class:"me-auto mb-0"},cs={class:"d-block",style:{"font-size":"0.8rem"}},ms={key:0,class:"bi bi-check text-primary fs-5"};function hs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",as,[e("strong",null,[l(o,{t:"Language"})])]),e("div",is,[e("div",os,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis dropdown-toggle w-100 rounded-3",disabled:!this.languages,type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[this.languages?(i(),r("span",ls,x(f.currentLanguage?.lang_name_localized),1)):(i(),v(o,{key:0,t:"Loading..."}))],8,ns),e("ul",ds,[(i(!0),r(S,null,E(this.languages,a=>(i(),r("li",null,[e("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:n=>this.changeLanguage(a.lang_id)},[e("p",us,[C(x(a.lang_name_localized)+" ",1),e("small",cs,x(a.lang_name),1)]),f.currentLanguage?.lang_id===a.lang_id?(i(),r("i",ms)):g("",!0)],8,rs)]))),256))])])])])}const wt=A(ts,[["render",hs],["__scopeId","data-v-4e34593e"]]),ps={name:"dashboardIPPortInput",components:{LocaleText:c},setup(){return{store:k()}},data(){return{ipAddress:"",port:0,invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.ipAddress=this.store.Configuration.Server.app_ip,this.port=this.store.Configuration.Server.app_port},methods:{async useValidation(t,s,p){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Server",key:s,value:p},b=>{b.status?(t.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[s]=p,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t.target.classList.remove("is-valid")},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=b.message),this.changed=!1,this.updating=!1}))}}},bs={class:"row g-2"},fs={class:"col-sm"},gs={class:"form-group"},_s={for:"input_dashboard_ip",class:"text-muted mb-1"},vs=["disabled"],ys={class:"invalid-feedback"},ws={class:"col-sm"},$s={class:"form-group"},ks={for:"input_dashboard_ip",class:"text-muted mb-1"},xs=["disabled"],As={class:"invalid-feedback"},Ps={class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mb-2 mt-2"};function Cs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",bs,[e("div",fs,[e("div",gs,[e("label",_s,[e("strong",null,[e("small",null,[l(o,{t:"IP Address / Hostname"})])])]),h(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[0]||(s[0]=a=>this.ipAddress=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation(a,"app_ip",this.ipAddress)),disabled:this.updating},null,42,vs),[[_,this.ipAddress]]),e("div",ys,x(this.invalidFeedback),1)])]),e("div",ws,[e("div",$s,[e("label",ks,[e("strong",null,[e("small",null,[l(o,{t:"Listen Port"})])])]),h(e("input",{type:"number",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[3]||(s[3]=a=>this.port=a),onKeydown:s[4]||(s[4]=a=>this.changed=!0),onBlur:s[5]||(s[5]=a=>f.useValidation(a,"app_port",this.port)),disabled:this.updating},null,42,xs),[[_,this.port]]),e("div",As,x(this.invalidFeedback),1)])])]),e("div",Ps,[e("small",null,[s[6]||(s[6]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(o,{t:"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port"})])])])}const $t=A(ps,[["render",Cs]]),Ds={class:"card"},Is={class:"card-header"},Ks={class:"my-2 d-flex"},Ss={key:0,class:"text-success ms-auto"},Ts={class:"card-body d-flex flex-column gap-3"},Vs={class:"row gx-2 gy-2"},Es={class:"col-12"},Ls={class:"form-check mb-2 form-switch"},Fs={class:"form-check-label",for:"authentication_required"},Ms={class:"col-12 col-lg-4"},Ns={class:"form-group"},Us={for:"server",class:"text-muted mb-1"},Ys={class:"col-12 col-lg-4"},Hs={class:"form-group"},Rs={for:"port",class:"text-muted mb-1"},js={class:"col-12 col-lg-4"},qs={class:"form-group"},Bs={for:"encryption",class:"text-muted mb-1"},zs={value:"NOTLS"},Gs={key:0,class:"col-12 col-lg-4"},Ws={class:"form-group"},Os={for:"username",class:"text-muted mb-1"},Qs={key:1,class:"col-12 col-lg-4"},Js={class:"form-group"},Xs={for:"email_password",class:"text-muted mb-1"},Zs={class:"col-12 col-lg-4"},et={class:"form-group"},st={for:"send_from",class:"text-muted mb-1"},tt={key:0},at={key:1},it={class:"text-muted mb-1",for:"test_email"},ot={class:"fw-bold"},nt=["disabled"],lt=["disabled"],dt={key:0,class:"bi bi-send me-2"},rt={key:1,class:"spinner-border spinner-border-sm me-2"},ut={class:"text-muted mb-1",for:"email_template"},ct={class:"fw-bold"},kt={__name:"dashboardEmailSettings",setup(t){const s=k();N(()=>{f(),document.querySelectorAll("#emailAccount input, #emailAccount select, #email_template").forEach(a=>{a.addEventListener("change",async()=>{let n=a.attributes.getNamedItem("id").value;await w("/api/updateDashboardConfigurationItem",{section:"Email",key:n,value:s.Configuration.Email[n]},d=>{d.status?(a.classList.remove("is-invalid"),a.classList.add("is-valid")):(a.classList.remove("is-valid"),a.classList.add("is-invalid")),f()})})})});const p=I(!1),b=I(""),u=I(!1),f=async()=>{await T("/api/email/ready",{},a=>{p.value=a.status})},o=async()=>{u.value=!0,await w("/api/email/send",{Receiver:b.value,Subject:"WGDashboard Testing Email",Body:"Test 1, 2, 3! Hello World :)"},a=>{a.status?s.newMessage("Server","Test email sent successfully!","success"):s.newMessage("Server",`Test email sent failed! Reason: ${a.message}`,"danger"),u.value=!1})};return(a,n)=>(i(),r("div",Ds,[e("div",Is,[e("h6",Ks,[n[12]||(n[12]=e("i",{class:"bi bi-envelope-fill me-2"},null,-1)),l(c,{t:"Email Account"}),p.value?(i(),r("span",Ss,[n[11]||(n[11]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(c,{t:"Ready"})])):g("",!0)])]),e("div",Ts,[e("form",{onSubmit:n[7]||(n[7]=d=>d.preventDefault(d)),id:"emailAccount"},[e("div",Vs,[e("div",Es,[e("div",Ls,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":n[0]||(n[0]=d=>m(s).Configuration.Email.authentication_required=d),id:"authentication_required"},null,512),[[D,m(s).Configuration.Email.authentication_required]]),e("label",Fs,[l(c,{t:"Require SMTP Authentication"})])])]),e("div",Ms,[e("div",Ns,[e("label",Us,[e("strong",null,[e("small",null,[l(c,{t:"Server"})])])]),h(e("input",{id:"server","onUpdate:modelValue":n[1]||(n[1]=d=>m(s).Configuration.Email.server=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.server]])])]),e("div",Ys,[e("div",Hs,[e("label",Rs,[e("strong",null,[e("small",null,[l(c,{t:"Port"})])])]),h(e("input",{id:"port","onUpdate:modelValue":n[2]||(n[2]=d=>m(s).Configuration.Email.port=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.port]])])]),e("div",js,[e("div",qs,[e("label",Bs,[e("strong",null,[e("small",null,[l(c,{t:"Encryption"})])])]),h(e("select",{class:"form-select rounded-3","onUpdate:modelValue":n[3]||(n[3]=d=>m(s).Configuration.Email.encryption=d),id:"encryption"},[n[13]||(n[13]=e("option",{value:"STARTTLS"}," STARTTLS ",-1)),e("option",zs,[l(c,{t:"No Encryption"})])],512),[[U,m(s).Configuration.Email.encryption]])])]),m(s).Configuration.Email.authentication_required?(i(),r("div",Gs,[e("div",Ws,[e("label",Os,[e("strong",null,[e("small",null,[l(c,{t:"Username"})])])]),h(e("input",{id:"username","onUpdate:modelValue":n[4]||(n[4]=d=>m(s).Configuration.Email.username=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.username]])])])):g("",!0),m(s).Configuration.Email.authentication_required?(i(),r("div",Qs,[e("div",Js,[e("label",Xs,[e("strong",null,[e("small",null,[l(c,{t:"Password"})])])]),h(e("input",{id:"email_password","onUpdate:modelValue":n[5]||(n[5]=d=>m(s).Configuration.Email.email_password=d),type:"password",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.email_password]])])])):g("",!0),e("div",Zs,[e("div",et,[e("label",st,[e("strong",null,[e("small",null,[l(c,{t:"Send From"})])])]),h(e("input",{id:"send_from","onUpdate:modelValue":n[6]||(n[6]=d=>m(s).Configuration.Email.send_from=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.send_from]])])])])],32),p.value?(i(),r("hr",tt)):g("",!0),p.value?(i(),r("div",at,[e("label",it,[e("small",ot,[l(c,{t:"Send Test Email"})])]),e("form",{onSubmit:n[9]||(n[9]=d=>{d.preventDefault(),o()}),class:"input-group"},[h(e("input",{type:"email",class:"form-control rounded-start-3",id:"test_email",placeholder:"john@example.com","onUpdate:modelValue":n[8]||(n[8]=d=>b.value=d),disabled:u.value},null,8,nt),[[_,b.value]]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-end-3",type:"submit",value:"Submit",disabled:b.value.length===0||u.value,id:"button-addon2"},[u.value?(i(),r("span",rt)):(i(),r("i",dt)),l(c,{t:u.value?"Sending...":"Send"},null,8,["t"])],8,lt)],32)])):g("",!0),n[14]||(n[14]=e("hr",null,null,-1)),e("div",null,[e("label",ut,[e("small",ct,[l(c,{t:"Email Body Template"})])]),h(e("textarea",{class:"form-control rounded-3 font-monospace","onUpdate:modelValue":n[10]||(n[10]=d=>m(s).Configuration.Email.email_template=d),id:"email_template",style:{"min-height":"400px"}},null,512),[[_,m(s).Configuration.Email.email_template]])])])]))}};export{ft as A,_t as D,kt as _,gt as a,vt as b,yt as c,wt as d,$t as e}; +import{_ as A,c as r,a as e,m as h,b as l,h as y,y as _,n as $,t as x,z as w,D as k,A as K,f as i,d as g,v as D,e as C,j as v,F as S,w as V,T as F,k as M,g as T,i as E,o as N,r as I,u as m,C as U}from"./index-BimuIV8Z.js";import{L as c}from"./localeText-D0Ve6fTw.js";import{d as P}from"./dayjs.min-CkODZHdU.js";import{Q as Y}from"./vue-datepicker-VDLvxrT_.js";const H={name:"accountSettingsInputUsername",components:{LocaleText:c},props:{targetData:String,title:String},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(t){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1}))}}},R={class:"form-group mb-2"},j=["for"],q=["id","disabled"],B={class:"invalid-feedback"};function z(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",R,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:this.title},null,8,["t"])])])],8,j),h(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.value=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation()),disabled:this.updating},null,42,q),[[_,this.value]]),e("div",B,x(this.invalidFeedback),1)])}const ft=A(H,[["render",z]]),G={name:"accountSettingsInputPassword",components:{LocaleText:c},props:{targetData:String,warning:!1,warningText:""},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(t=>t.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},t=>{t.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=t.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}},computed:{passwordValid(){return Object.values(this.value).find(t=>t.length===0)===void 0&&this.value.newPassword===this.value.repeatNewPassword}}},W={class:"d-flex flex-column gap-2"},O={class:"row g-2"},Q={class:"col-sm"},J={class:"form-group"},X=["for"],Z=["id"],ee={key:0,class:"invalid-feedback d-block"},se={class:"col-sm"},te={class:"form-group"},ae=["for"],ie=["id"],oe={class:"col-sm"},ne={class:"form-group"},le=["for"],de=["id"],re=["disabled"];function ue(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("h6",null,[l(o,{t:"Update Password"})]),e("form",W,[e("div",O,[e("div",Q,[e("div",J,[e("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Current Password"})])])],8,X),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"current-password","onUpdate:modelValue":s[0]||(s[0]=a=>this.value.currentPassword=a),id:"currentPassword_"+this.uuid},null,10,Z),[[_,this.value.currentPassword]]),u.showInvalidFeedback?(i(),r("div",ee,x(this.invalidFeedback),1)):g("",!0)])]),e("div",se,[e("div",te,[e("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"New Password"})])])],8,ae),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.value.newPassword=a),id:"newPassword_"+this.uuid},null,10,ie),[[_,this.value.newPassword]])])]),e("div",oe,[e("div",ne,[e("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Repeat New Password"})])])],8,le),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.value.repeatNewPassword=a),id:"repeatNewPassword_"+this.uuid},null,10,de),[[_,this.value.repeatNewPassword]])])])]),e("button",{disabled:!this.passwordValid,class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:s[3]||(s[3]=a=>this.useValidation())},[s[4]||(s[4]=e("i",{class:"bi bi-save2-fill me-2"},null,-1)),l(o,{t:"Save"})],8,re)])])}const gt=A(G,[["render",ue]]),ce={name:"dashboardTheme",components:{LocaleText:c},setup(){return{dashboardConfigurationStore:k()}},methods:{async switchTheme(t){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:t},s=>{s.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=t)})}}},me={class:"text-muted mb-1 d-block"},he={class:"d-flex gap-1"};function pe(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",me,[e("strong",null,[l(o,{t:"Theme"})])]),e("div",he,[e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:s[0]||(s[0]=a=>this.switchTheme("light"))},[s[2]||(s[2]=e("i",{class:"bi bi-sun-fill me-2"},null,-1)),l(o,{t:"Light"})],2),e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:s[1]||(s[1]=a=>this.switchTheme("dark"))},[s[3]||(s[3]=e("i",{class:"bi bi-moon-fill me-2"},null,-1)),l(o,{t:"Dark"})],2)])])}const _t=A(ce,[["render",pe]]),be={name:"newDashboardAPIKey",components:{LocaleText:c,VueDatePicker:Y},data(){return{newKeyData:{ExpiredAt:P().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),NeverExpire:!1},submitting:!1}},setup(){return{store:k()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,w("/api/newDashboardAPIKey",this.newKeyData,t=>{t.status?(this.$emit("created",t.data),this.store.newMessage("Server","API Key created","success"),this.$emit("close")):this.store.newMessage("Server",t.message,"danger"),this.submitting=!1})},fixDate(t){return console.log(P(t).format("YYYY-MM-DDTHH:mm:ss")),P(t).format("YYYY-MM-DDTHH:mm:ss")},parseTime(t){t?this.newKeyData.ExpiredAt=P(t).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},fe={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)","z-index":"9999"}},ge={class:"card m-auto rounded-3 mt-5"},_e={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},ve={class:"mb-0"},ye={class:"card-body d-flex gap-2 p-4 flex-column"},we={class:"text-muted"},$e={class:"d-flex align-items-center gap-2"},ke={class:"form-check"},xe=["disabled"],Ae={class:"form-check-label",for:"neverExpire"},Pe={key:0,class:"bi bi-check-lg me-2"};function Ce(t,s,p,b,u,f){const o=y("LocaleText"),a=y("VueDatePicker");return i(),r("div",fe,[e("div",ge,[e("div",_e,[e("h6",ve,[l(o,{t:"Create API Key"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=n=>this.$emit("close"))})]),e("div",ye,[e("small",we,[l(o,{t:"When should this API Key expire?"})]),e("div",$e,[l(a,{style:{"z-index":"9999"},is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.NeverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),e("div",ke,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=n=>this.newKeyData.NeverExpire=n),id:"neverExpire",disabled:this.submitting},null,8,xe),[[D,this.newKeyData.NeverExpire]]),e("label",Ae,[l(o,{t:"Never Expire"}),s[3]||(s[3]=C(" (")),s[4]||(s[4]=e("i",{class:"bi bi-emoji-grimace-fill me-2"},null,-1)),l(o,{t:"Don't think that's a good idea"}),s[5]||(s[5]=C(") "))])]),e("button",{class:$(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:s[2]||(s[2]=n=>this.submitNewAPIKey())},[this.submitting?g("",!0):(i(),r("i",Pe)),this.submitting?(i(),v(o,{key:1,t:"Creating..."})):(i(),v(o,{key:2,t:"Create"}))],2)])])])}const De=A(be,[["render",Ce]]),Ie={name:"dashboardAPIKey",components:{LocaleText:c},props:{apiKey:Object},setup(){return{store:k()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){w("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},t=>{t.status?(this.$emit("deleted",t.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",t.message,"danger")})}}},Ke={class:"card rounded-3 shadow-sm"},Se={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},Te={class:"d-flex align-items-center gap-2"},Ve={class:"text-muted"},Ee={style:{"word-break":"break-all"}},Le={class:"d-flex align-items-center gap-2 ms-auto"},Fe={class:"text-muted"},Me={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"};function Ne(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",Ke,[this.confirmDelete?(i(),r(S,{key:1},[this.store.getActiveCrossServer()?g("",!0):(i(),r("div",Me,[l(o,{t:"Are you sure to delete this API key?"}),e("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:s[1]||(s[1]=a=>this.deleteAPIKey())},s[4]||(s[4]=[e("i",{class:"bi bi-check-lg"},null,-1)])),e("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:s[2]||(s[2]=a=>this.confirmDelete=!1)},s[5]||(s[5]=[e("i",{class:"bi bi-x-lg"},null,-1)]))]))],64)):(i(),r("div",Se,[e("div",Te,[e("small",Ve,[l(o,{t:"Key"})]),e("span",Ee,x(this.apiKey.Key),1)]),e("div",Le,[e("small",Fe,[l(o,{t:"Expire At"})]),this.apiKey.ExpiredAt?g("",!0):(i(),v(o,{key:0,t:"Never Expire"})),e("span",null,x(this.apiKey.ExpiredAt),1)]),this.store.getActiveCrossServer()?g("",!0):(i(),r("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:s[0]||(s[0]=a=>this.confirmDelete=!0)},s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])))]))])}const Ue=A(Ie,[["render",Ne],["__scopeId","data-v-a76253c8"]]),Ye={name:"dashboardAPIKeys",components:{LocaleText:c,DashboardAPIKey:Ue,NewDashboardAPIKey:De},setup(){return{store:k()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},t=>{t.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed to ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(t){t?T("/api/getDashboardAPIKeys",{},s=>{s.status?this.apiKeys=s.data:(this.apiKeys=[],this.store.newMessage("Server",s.message,"danger"))}):this.apiKeys=[]}}}},He={class:"card rounded-3"},Re={class:"my-2"},je={key:0,class:"form-check form-switch ms-auto"},qe={class:"form-check-label",for:"allowAPIKeysSwitch"},Be={key:0,class:"card-body position-relative d-flex flex-column gap-2"},ze={key:1,class:"card",style:{height:"300px"}},Ge={class:"card-body d-flex text-muted"},We={class:"m-auto"},Oe={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function Qe(t,s,p,b,u,f){const o=y("LocaleText"),a=y("DashboardAPIKey"),n=y("NewDashboardAPIKey");return i(),r("div",He,[e("div",{class:$(["card-header d-flex align-items-center",{"border-bottom-0 rounded-3":!this.value}])},[e("h6",Re,[s[6]||(s[6]=e("i",{class:"bi bi-key-fill me-2"},null,-1)),l(o,{t:"API Keys"})]),this.store.getActiveCrossServer()?g("",!0):(i(),r("div",je,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=d=>this.value=d),onChange:s[1]||(s[1]=d=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[D,this.value]]),e("label",qe,[this.value?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(o,{key:1,t:"Disabled"}))])]))],2),this.value?(i(),r("div",Be,[this.store.getActiveCrossServer()?g("",!0):(i(),r("button",{key:0,class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:s[2]||(s[2]=d=>this.newDashboardAPIKey=!0)},[s[7]||(s[7]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(o,{t:"API Key"})])),this.apiKeys.length===0?(i(),r("div",ze,[e("div",Ge,[e("span",We,[l(o,{t:"No WGDashboard API Key"})])])])):(i(),r("div",Oe,[l(F,{name:"apiKey"},{default:V(()=>[(i(!0),r(S,null,E(this.apiKeys,d=>(i(),v(a,{apiKey:d,key:d.Key,onDeleted:s[3]||(s[3]=L=>this.apiKeys=L)},null,8,["apiKey"]))),128))]),_:1})])),l(M,{name:"zoomReversed"},{default:V(()=>[this.newDashboardAPIKey?(i(),v(n,{key:0,onCreated:s[4]||(s[4]=d=>this.apiKeys=d),onClose:s[5]||(s[5]=d=>this.newDashboardAPIKey=!1)})):g("",!0)]),_:1})])):g("",!0)])}const vt=A(Ye,[["render",Qe],["__scopeId","data-v-f7e62927"]]),Je={name:"accountSettingsMFA",components:{LocaleText:c},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async t=>{await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},s=>{s.status&&this.$router.push("/2FASetup")})})}}},Xe={class:"d-flex align-items-center"},Ze={class:"form-check form-switch"},es={for:"allowMFAKeysSwitch"};function ss(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",Xe,[e("div",Ze,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[D,this.status]]),e("label",es,[this.status?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(o,{key:1,t:"Disabled"}))])]),this.status?(i(),r("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:s[1]||(s[1]=a=>this.resetMFA())},[s[2]||(s[2]=e("i",{class:"bi bi-shield-lock-fill me-2"},null,-1)),this.store.Configuration.Account.totp_verified?(i(),v(o,{key:0,t:"Reset"})):(i(),v(o,{key:1,t:"Setup"})),s[3]||(s[3]=C(" MFA "))])):g("",!0)])])}const yt=A(Je,[["render",ss]]),ts={name:"dashboardLanguage",components:{LocaleText:c},setup(){return{store:k()}},data(){return{languages:void 0}},mounted(){T("/api/locale/available",{},t=>{this.languages=t.data})},methods:{changeLanguage(t){w("/api/locale/update",{lang_id:t},s=>{s.status?(this.store.Configuration.Server.dashboard_language=t,this.store.Locale=s.data):this.store.newMessage("Server","WGDashboard language update failed","danger")})}},computed:{currentLanguage(){let t=this.store.Configuration.Server.dashboard_language;return this.languages.find(s=>s.lang_id===t)}}},as={class:"text-muted d-block mb-1"},is={class:"d-flex gap-2"},os={class:"dropdown w-100"},ns=["disabled"],ls={key:1},ds={class:"dropdown-menu rounded-3 shadow",style:{"max-height":"500px","overflow-y":"scroll"}},rs=["onClick"],us={class:"me-auto mb-0"},cs={class:"d-block",style:{"font-size":"0.8rem"}},ms={key:0,class:"bi bi-check text-primary fs-5"};function hs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",as,[e("strong",null,[l(o,{t:"Language"})])]),e("div",is,[e("div",os,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis dropdown-toggle w-100 rounded-3",disabled:!this.languages,type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[this.languages?(i(),r("span",ls,x(f.currentLanguage?.lang_name_localized),1)):(i(),v(o,{key:0,t:"Loading..."}))],8,ns),e("ul",ds,[(i(!0),r(S,null,E(this.languages,a=>(i(),r("li",null,[e("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:n=>this.changeLanguage(a.lang_id)},[e("p",us,[C(x(a.lang_name_localized)+" ",1),e("small",cs,x(a.lang_name),1)]),f.currentLanguage?.lang_id===a.lang_id?(i(),r("i",ms)):g("",!0)],8,rs)]))),256))])])])])}const wt=A(ts,[["render",hs],["__scopeId","data-v-4e34593e"]]),ps={name:"dashboardIPPortInput",components:{LocaleText:c},setup(){return{store:k()}},data(){return{ipAddress:"",port:0,invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.ipAddress=this.store.Configuration.Server.app_ip,this.port=this.store.Configuration.Server.app_port},methods:{async useValidation(t,s,p){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Server",key:s,value:p},b=>{b.status?(t.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[s]=p,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t.target.classList.remove("is-valid")},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=b.message),this.changed=!1,this.updating=!1}))}}},bs={class:"row g-2"},fs={class:"col-sm"},gs={class:"form-group"},_s={for:"input_dashboard_ip",class:"text-muted mb-1"},vs=["disabled"],ys={class:"invalid-feedback"},ws={class:"col-sm"},$s={class:"form-group"},ks={for:"input_dashboard_ip",class:"text-muted mb-1"},xs=["disabled"],As={class:"invalid-feedback"},Ps={class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mb-2 mt-2"};function Cs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",bs,[e("div",fs,[e("div",gs,[e("label",_s,[e("strong",null,[e("small",null,[l(o,{t:"IP Address / Hostname"})])])]),h(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[0]||(s[0]=a=>this.ipAddress=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation(a,"app_ip",this.ipAddress)),disabled:this.updating},null,42,vs),[[_,this.ipAddress]]),e("div",ys,x(this.invalidFeedback),1)])]),e("div",ws,[e("div",$s,[e("label",ks,[e("strong",null,[e("small",null,[l(o,{t:"Listen Port"})])])]),h(e("input",{type:"number",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[3]||(s[3]=a=>this.port=a),onKeydown:s[4]||(s[4]=a=>this.changed=!0),onBlur:s[5]||(s[5]=a=>f.useValidation(a,"app_port",this.port)),disabled:this.updating},null,42,xs),[[_,this.port]]),e("div",As,x(this.invalidFeedback),1)])])]),e("div",Ps,[e("small",null,[s[6]||(s[6]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(o,{t:"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port"})])])])}const $t=A(ps,[["render",Cs]]),Ds={class:"card"},Is={class:"card-header"},Ks={class:"my-2 d-flex"},Ss={key:0,class:"text-success ms-auto"},Ts={class:"card-body d-flex flex-column gap-3"},Vs={class:"row gx-2 gy-2"},Es={class:"col-12"},Ls={class:"form-check mb-2 form-switch"},Fs={class:"form-check-label",for:"authentication_required"},Ms={class:"col-12 col-lg-4"},Ns={class:"form-group"},Us={for:"server",class:"text-muted mb-1"},Ys={class:"col-12 col-lg-4"},Hs={class:"form-group"},Rs={for:"port",class:"text-muted mb-1"},js={class:"col-12 col-lg-4"},qs={class:"form-group"},Bs={for:"encryption",class:"text-muted mb-1"},zs={value:"NOTLS"},Gs={key:0,class:"col-12 col-lg-4"},Ws={class:"form-group"},Os={for:"username",class:"text-muted mb-1"},Qs={key:1,class:"col-12 col-lg-4"},Js={class:"form-group"},Xs={for:"email_password",class:"text-muted mb-1"},Zs={class:"col-12 col-lg-4"},et={class:"form-group"},st={for:"send_from",class:"text-muted mb-1"},tt={key:0},at={key:1},it={class:"text-muted mb-1",for:"test_email"},ot={class:"fw-bold"},nt=["disabled"],lt=["disabled"],dt={key:0,class:"bi bi-send me-2"},rt={key:1,class:"spinner-border spinner-border-sm me-2"},ut={class:"text-muted mb-1",for:"email_template"},ct={class:"fw-bold"},kt={__name:"dashboardEmailSettings",setup(t){const s=k();N(()=>{f(),document.querySelectorAll("#emailAccount input, #emailAccount select, #email_template").forEach(a=>{a.addEventListener("change",async()=>{let n=a.attributes.getNamedItem("id").value;await w("/api/updateDashboardConfigurationItem",{section:"Email",key:n,value:s.Configuration.Email[n]},d=>{d.status?(a.classList.remove("is-invalid"),a.classList.add("is-valid")):(a.classList.remove("is-valid"),a.classList.add("is-invalid")),f()})})})});const p=I(!1),b=I(""),u=I(!1),f=async()=>{await T("/api/email/ready",{},a=>{p.value=a.status})},o=async()=>{u.value=!0,await w("/api/email/send",{Receiver:b.value,Subject:"WGDashboard Testing Email",Body:"Test 1, 2, 3! Hello World :)"},a=>{a.status?s.newMessage("Server","Test email sent successfully!","success"):s.newMessage("Server",`Test email sent failed! Reason: ${a.message}`,"danger"),u.value=!1})};return(a,n)=>(i(),r("div",Ds,[e("div",Is,[e("h6",Ks,[n[12]||(n[12]=e("i",{class:"bi bi-envelope-fill me-2"},null,-1)),l(c,{t:"Email Account"}),p.value?(i(),r("span",Ss,[n[11]||(n[11]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(c,{t:"Ready"})])):g("",!0)])]),e("div",Ts,[e("form",{onSubmit:n[7]||(n[7]=d=>d.preventDefault(d)),id:"emailAccount"},[e("div",Vs,[e("div",Es,[e("div",Ls,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":n[0]||(n[0]=d=>m(s).Configuration.Email.authentication_required=d),id:"authentication_required"},null,512),[[D,m(s).Configuration.Email.authentication_required]]),e("label",Fs,[l(c,{t:"Require SMTP Authentication"})])])]),e("div",Ms,[e("div",Ns,[e("label",Us,[e("strong",null,[e("small",null,[l(c,{t:"Server"})])])]),h(e("input",{id:"server","onUpdate:modelValue":n[1]||(n[1]=d=>m(s).Configuration.Email.server=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.server]])])]),e("div",Ys,[e("div",Hs,[e("label",Rs,[e("strong",null,[e("small",null,[l(c,{t:"Port"})])])]),h(e("input",{id:"port","onUpdate:modelValue":n[2]||(n[2]=d=>m(s).Configuration.Email.port=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.port]])])]),e("div",js,[e("div",qs,[e("label",Bs,[e("strong",null,[e("small",null,[l(c,{t:"Encryption"})])])]),h(e("select",{class:"form-select rounded-3","onUpdate:modelValue":n[3]||(n[3]=d=>m(s).Configuration.Email.encryption=d),id:"encryption"},[n[13]||(n[13]=e("option",{value:"STARTTLS"}," STARTTLS ",-1)),e("option",zs,[l(c,{t:"No Encryption"})])],512),[[U,m(s).Configuration.Email.encryption]])])]),m(s).Configuration.Email.authentication_required?(i(),r("div",Gs,[e("div",Ws,[e("label",Os,[e("strong",null,[e("small",null,[l(c,{t:"Username"})])])]),h(e("input",{id:"username","onUpdate:modelValue":n[4]||(n[4]=d=>m(s).Configuration.Email.username=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.username]])])])):g("",!0),m(s).Configuration.Email.authentication_required?(i(),r("div",Qs,[e("div",Js,[e("label",Xs,[e("strong",null,[e("small",null,[l(c,{t:"Password"})])])]),h(e("input",{id:"email_password","onUpdate:modelValue":n[5]||(n[5]=d=>m(s).Configuration.Email.email_password=d),type:"password",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.email_password]])])])):g("",!0),e("div",Zs,[e("div",et,[e("label",st,[e("strong",null,[e("small",null,[l(c,{t:"Send From"})])])]),h(e("input",{id:"send_from","onUpdate:modelValue":n[6]||(n[6]=d=>m(s).Configuration.Email.send_from=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.send_from]])])])])],32),p.value?(i(),r("hr",tt)):g("",!0),p.value?(i(),r("div",at,[e("label",it,[e("small",ot,[l(c,{t:"Send Test Email"})])]),e("form",{onSubmit:n[9]||(n[9]=d=>{d.preventDefault(),o()}),class:"input-group"},[h(e("input",{type:"email",class:"form-control rounded-start-3",id:"test_email",placeholder:"john@example.com","onUpdate:modelValue":n[8]||(n[8]=d=>b.value=d),disabled:u.value},null,8,nt),[[_,b.value]]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-end-3",type:"submit",value:"Submit",disabled:b.value.length===0||u.value,id:"button-addon2"},[u.value?(i(),r("span",rt)):(i(),r("i",dt)),l(c,{t:u.value?"Sending...":"Send"},null,8,["t"])],8,lt)],32)])):g("",!0),n[14]||(n[14]=e("hr",null,null,-1)),e("div",null,[e("label",ut,[e("small",ct,[l(c,{t:"Email Body Template"})])]),h(e("textarea",{class:"form-control rounded-3 font-monospace","onUpdate:modelValue":n[10]||(n[10]=d=>m(s).Configuration.Email.email_template=d),id:"email_template",style:{"min-height":"400px"}},null,512),[[_,m(s).Configuration.Email.email_template]])])])]))}};export{ft as A,_t as D,kt as _,gt as a,vt as b,yt as c,wt as d,$t as e}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-CcYlrBrT.js b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-BUzKGHGv.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-CcYlrBrT.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-BUzKGHGv.js index 1588d865..4271952f 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-CcYlrBrT.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-BUzKGHGv.js @@ -1 +1 @@ -import{_ as f,c as i,a as t,b as u,h as w,d as k,m as x,y,n as p,t as v,z as _,D as m,W as b,A as S,f as n,r as D,q as $,F as W,i as V}from"./index-mH92cJrc.js";import{L as C}from"./localeText-DSmP42vs.js";const F={name:"dashboardSettingsInputWireguardConfigurationPath",components:{LocaleText:C},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const o=m(),s=b(),r=`input_${S()}`;return{store:o,uuid:r,WireguardConfigurationStore:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await _("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},o=>{o.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3),this.WireguardConfigurationStore.getConfigurations(),this.store.newMessage("Server","WireGuard configuration path saved","success")):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=o.message),this.changed=!1,this.updating=!1}))}}},I={class:"card"},T={class:"card-header"},A={class:"my-2"},L={class:"card-body"},M={class:"form-group"},N=["for"],P={class:"d-flex gap-2 align-items-start"},B={class:"flex-grow-1"},G=["id","disabled"],z={class:"invalid-feedback fw-bold"},U=["disabled"],q={key:0,class:"bi bi-save2-fill"},E={key:1,class:"spinner-border spinner-border-sm"},K={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1 mb-2"};function j(o,s,r,a,c,g){const d=w("LocaleText");return n(),i("div",I,[t("div",T,[t("h6",A,[u(d,{t:"Path"})])]),t("div",L,[t("div",M,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[u(d,{t:this.title},null,8,["t"])])])],8,N),t("div",P,[t("div",B,[x(t("input",{type:"text",class:p(["form-control rounded-3",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=e=>this.value=e),onKeydown:s[1]||(s[1]=e=>this.changed=!0),disabled:this.updating},null,42,G),[[y,this.value]]),t("div",z,v(this.invalidFeedback),1)]),t("button",{onClick:s[2]||(s[2]=e=>this.useValidation()),disabled:!this.changed,class:"ms-auto btn rounded-3 border-success-subtle bg-success-subtle text-success-emphasis"},[this.updating?(n(),i("span",E)):(n(),i("i",q))],8,U)]),r.warning?(n(),i("div",K,[t("small",null,[s[3]||(s[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),u(d,{t:r.warningText},null,8,["t"])])])):k("",!0)])])])}const et=f(F,[["render",j]]),H={class:"card rounded-3"},J={class:"card-header"},O={class:"my-2"},Q={class:"card-body d-flex gap-2"},R={class:"list-group w-100"},X=["onClick"],Y={__name:"dashboardSettingsWireguardConfigurationAutostart",setup(o){const s=m(),r=b(),a=D(s.Configuration.WireGuardConfiguration.autostart),c=$(()=>r.Configurations.map(e=>e.Name)),g=async()=>{await _("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"autostart",value:a.value},async e=>{e.status?(s.newMessage("Server","Start up configurations saved","success"),a.value=e.data):s.newMessage("Server","Start up configurations failed to save","danger")})},d=e=>{a.value.includes(e)?a.value=a.value.filter(h=>h!==e):a.value.push(e),g()};return(e,h)=>(n(),i("div",H,[t("div",J,[t("h6",O,[u(C,{t:"Toggle When Start Up"})])]),t("div",Q,[t("div",R,[(n(!0),i(W,null,V(c.value,l=>(n(),i("button",{type:"button",key:l,onClick:Z=>d(l),class:"list-group-item list-group-item-action py-2 w-100 d-flex align-items-center"},[t("samp",null,v(l),1),t("i",{class:p(["ms-auto",[a.value.includes(l)?"bi-check-circle-fill":"bi-circle"]])},null,2)],8,X))),128))])])]))}},at=f(Y,[["__scopeId","data-v-4aa2aed9"]]);export{et as D,at as a}; +import{_ as f,c as i,a as t,b as u,h as w,d as k,m as x,y,n as p,t as v,z as _,D as m,W as b,A as S,f as n,r as D,q as $,F as W,i as V}from"./index-BimuIV8Z.js";import{L as C}from"./localeText-D0Ve6fTw.js";const F={name:"dashboardSettingsInputWireguardConfigurationPath",components:{LocaleText:C},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const o=m(),s=b(),r=`input_${S()}`;return{store:o,uuid:r,WireguardConfigurationStore:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await _("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},o=>{o.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3),this.WireguardConfigurationStore.getConfigurations(),this.store.newMessage("Server","WireGuard configuration path saved","success")):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=o.message),this.changed=!1,this.updating=!1}))}}},I={class:"card"},T={class:"card-header"},A={class:"my-2"},L={class:"card-body"},M={class:"form-group"},N=["for"],P={class:"d-flex gap-2 align-items-start"},B={class:"flex-grow-1"},G=["id","disabled"],z={class:"invalid-feedback fw-bold"},U=["disabled"],q={key:0,class:"bi bi-save2-fill"},E={key:1,class:"spinner-border spinner-border-sm"},K={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1 mb-2"};function j(o,s,r,a,c,g){const d=w("LocaleText");return n(),i("div",I,[t("div",T,[t("h6",A,[u(d,{t:"Path"})])]),t("div",L,[t("div",M,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[u(d,{t:this.title},null,8,["t"])])])],8,N),t("div",P,[t("div",B,[x(t("input",{type:"text",class:p(["form-control rounded-3",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=e=>this.value=e),onKeydown:s[1]||(s[1]=e=>this.changed=!0),disabled:this.updating},null,42,G),[[y,this.value]]),t("div",z,v(this.invalidFeedback),1)]),t("button",{onClick:s[2]||(s[2]=e=>this.useValidation()),disabled:!this.changed,class:"ms-auto btn rounded-3 border-success-subtle bg-success-subtle text-success-emphasis"},[this.updating?(n(),i("span",E)):(n(),i("i",q))],8,U)]),r.warning?(n(),i("div",K,[t("small",null,[s[3]||(s[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),u(d,{t:r.warningText},null,8,["t"])])])):k("",!0)])])])}const et=f(F,[["render",j]]),H={class:"card rounded-3"},J={class:"card-header"},O={class:"my-2"},Q={class:"card-body d-flex gap-2"},R={class:"list-group w-100"},X=["onClick"],Y={__name:"dashboardSettingsWireguardConfigurationAutostart",setup(o){const s=m(),r=b(),a=D(s.Configuration.WireGuardConfiguration.autostart),c=$(()=>r.Configurations.map(e=>e.Name)),g=async()=>{await _("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"autostart",value:a.value},async e=>{e.status?(s.newMessage("Server","Start up configurations saved","success"),a.value=e.data):s.newMessage("Server","Start up configurations failed to save","danger")})},d=e=>{a.value.includes(e)?a.value=a.value.filter(h=>h!==e):a.value.push(e),g()};return(e,h)=>(n(),i("div",H,[t("div",J,[t("h6",O,[u(C,{t:"Toggle When Start Up"})])]),t("div",Q,[t("div",R,[(n(!0),i(W,null,V(c.value,l=>(n(),i("button",{type:"button",key:l,onClick:Z=>d(l),class:"list-group-item list-group-item-action py-2 w-100 d-flex align-items-center"},[t("samp",null,v(l),1),t("i",{class:p(["ms-auto",[a.value.includes(l)?"bi-check-circle-fill":"bi-circle"]])},null,2)],8,X))),128))])])]))}},at=f(Y,[["__scopeId","data-v-4aa2aed9"]]);export{et as D,at as a}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CM8M01wM.js b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-DbyBIABh.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CM8M01wM.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-DbyBIABh.js index c3ffb31c..9e8a56e8 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CM8M01wM.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-DbyBIABh.js @@ -1 +1 @@ -import{L as n}from"./localeText-DSmP42vs.js";import{B as D,r as f,I as N,G as A,D as F,c as a,d as p,a as e,b as o,m as w,e as V,y as I,C as O,v as U,F as C,i as L,n as h,u as J,A as K,t as _,g as R,z as M,f as t,q as E,j as $,x as Y,_ as j,o as Z,w as P,S as T}from"./index-mH92cJrc.js";const Q={class:"p-3"},X={key:0},ee={for:"PayloadURL",class:"form-label fw-bold text-muted"},se=["disabled"],te={for:"ContentType",class:"form-label fw-bold text-muted"},le=["disabled"],oe={class:"form-label fw-bold text-muted"},ne={class:"form-check form-switch mb-2"},ae=["disabled"],ie={class:"form-check-label",for:"VerifySSL"},de={key:0,class:"alert-danger alert rounded-3"},ue={class:"form-label fw-bold text-muted"},re={class:"card rounded-3"},ce={class:"card-body d-flex gap-2 flex-column"},be={class:"d-flex gap-2"},ve={class:"flex-grow-1"},me=["disabled","onUpdate:modelValue"],fe={class:"flex-grow-1"},pe=["disabled","onUpdate:modelValue"],ke=["onClick"],ye={class:"form-label fw-bold text-muted"},_e={class:"form-check form-check-inline"},he=["disabled","id","value"],xe=["for"],ge={class:"form-label fw-bold text-muted"},Se={class:"form-check form-switch mb-2"},we=["disabled"],$e={class:"form-check-label",for:"IsActive"},He={key:0,class:"alert alert-danger rounded-3"},We={class:"d-flex gap-2"},Ce={class:"d-flex align-items-center"},Le={class:"mb-0"},B=D({__name:"addWebHook",props:["webHook"],emits:["refresh","delete"],async setup(d,{emit:m}){let y,r;const s=f({ContentType:String,Headers:Object,IsActive:Boolean,Notes:String,PayloadURL:String,SubscribedActions:Array,VerifySSL:Boolean,WebHookID:String}),u=d;u.webHook?s.value={...u.webHook}:([y,r]=N(()=>R("/api/webHooks/createWebHook",{},g=>{s.value=g.data})),await y,r());const k=f({peer_created:A("Peer Created"),peer_deleted:A("Peer Deleted"),peer_updated:A("Peer Updated")}),x=m,i=F(),c=f(!1),S=f(""),v=f(!1),G=async g=>{g&&g.preventDefault(),v.value=!0,await M("/api/webHooks/updateWebHook",s.value,l=>{l.status?(x("refresh"),i.newMessage("Server","Webhook saved","success")):(c.value=!0,S.value=l.message,i.newMessage("Server","Webhook failed to save","danger")),v.value=!1})},z=async()=>{v.value=!0,await M("/api/webHooks/deleteWebHook",s.value,g=>{g.status?(x("delete"),i.newMessage("Server","Webhook deleted","success")):(c.value=!0,S.value=g.message,i.newMessage("Server","Webhook failed to delete","danger")),v.value=!1})};return(g,l)=>(t(),a("div",Q,[d.webHook?p("",!0):(t(),a("div",X,[e("h6",null,[o(n,{t:"Add Webhook"})]),e("p",null,[o(n,{t:"WGDashboard will sent a POST Request to the URL below with details of any subscribed events."})])])),e("form",{onSubmit:l[7]||(l[7]=b=>G(b)),class:"d-flex flex-column gap-2"},[e("div",null,[e("label",ee,[e("small",null,[o(n,{t:"Payload URL"}),l[8]||(l[8]=V("* "))])]),w(e("input",{required:"",disabled:v.value,id:"PayloadURL","onUpdate:modelValue":l[0]||(l[0]=b=>s.value.PayloadURL=b),class:"form-control rounded-3",type:"url"},null,8,se),[[I,s.value.PayloadURL]])]),e("div",null,[e("label",te,[e("small",null,[o(n,{t:"Content Type"}),l[9]||(l[9]=V("* "))])]),w(e("select",{disabled:v.value,id:"ContentType","onUpdate:modelValue":l[1]||(l[1]=b=>s.value.ContentType=b),class:"form-select rounded-3",required:""},l[10]||(l[10]=[e("option",{value:"application/json"}," application/json ",-1),e("option",{value:"application/x-www-form-urlencoded"}," application/x-www-form-urlencoded ",-1)]),8,le),[[O,s.value.ContentType]])]),e("div",null,[e("label",oe,[e("small",null,[o(n,{t:"Verify SSL"})])]),e("div",null,[e("div",ne,[w(e("input",{disabled:v.value,"onUpdate:modelValue":l[2]||(l[2]=b=>s.value.VerifySSL=b),class:"form-check-input",type:"checkbox",role:"switch",id:"VerifySSL"},null,8,ae),[[U,s.value.VerifySSL]]),e("label",ie,[o(n,{t:s.value.VerifySSL?"Enabled":"Disabled"},null,8,["t"])])]),s.value.VerifySSL?p("",!0):(t(),a("div",de,[l[11]||(l[11]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),o(n,{t:"We highly suggest to enable SSL verification"})]))])]),e("div",null,[e("label",ue,[e("small",null,[o(n,{t:"Custom Headers"})])]),e("div",re,[e("div",ce,[(t(!0),a(C,null,L(s.value.Headers,(b,H)=>(t(),a("div",be,[e("div",ve,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.key=W,placeholder:"Key"},null,8,me),[[I,b.key]])]),e("div",fe,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.value=W,placeholder:"Value"},null,8,pe),[[I,b.value]])]),e("button",{class:h([{disabled:v.value},"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"]),type:"button",onClick:W=>delete s.value.Headers[H]},l[12]||(l[12]=[e("i",{class:"bi bi-trash-fill"},null,-1)]),10,ke)]))),256)),e("button",{type:"button",class:h([{disabled:v.value},"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"]),onClick:l[3]||(l[3]=b=>s.value.Headers[J(K)().toString()]={key:"",value:""})},[l[13]||(l[13]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),o(n,{t:"Header"})],2)])])]),l[15]||(l[15]=e("hr",null,null,-1)),e("div",null,[e("label",ye,[e("small",null,[o(n,{t:"Subscribed Actions"})])]),e("div",null,[(t(!0),a(C,null,L(k.value,(b,H)=>(t(),a("div",_e,[w(e("input",{class:"form-check-input",disabled:s.value.SubscribedActions.length===1&&s.value.SubscribedActions.includes(H)||v.value,type:"checkbox",id:H,value:H,"onUpdate:modelValue":l[4]||(l[4]=W=>s.value.SubscribedActions=W)},null,8,he),[[U,s.value.SubscribedActions]]),e("label",{class:"form-check-label",for:H},_(b),9,xe)]))),256))])]),l[16]||(l[16]=e("hr",null,null,-1)),e("div",null,[e("label",ge,[e("small",null,[o(n,{t:"Enable Webhook"})])]),e("div",null,[e("div",Se,[w(e("input",{disabled:v.value,"onUpdate:modelValue":l[5]||(l[5]=b=>s.value.IsActive=b),class:"form-check-input",type:"checkbox",role:"switch",id:"IsActive"},null,8,we),[[U,s.value.IsActive]]),e("label",$e,[o(n,{t:s.value.IsActive?"Yes":"No"},null,8,["t"])])])])]),c.value?(t(),a("div",He,_(S.value),1)):p("",!0),e("div",We,[e("button",{type:"submit",class:h([{disabled:v.value},"ms-auto btn bg-success-subtle text-success-emphasis border-success-subtle rounded-3"])},[o(n,{t:"Save"})],2)]),d.webHook?(t(),a(C,{key:1},[l[14]||(l[14]=e("hr",null,null,-1)),e("div",Ce,[e("h6",Le,[o(n,{t:"Danger Zone"})]),e("button",{onClick:l[6]||(l[6]=b=>z()),type:"button",class:h([{disabled:v.value},"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 ms-auto"])},[o(n,{t:"Delete"})],2)])],64)):p("",!0)],32)]))}}),De={class:"d-flex flex-column gap-3"},Ve={class:"text-muted"},Ae={key:0},Ie={key:1},Ue={key:2},Pe={class:"d-flex gap-4 align-items-center"},Re={class:"text-muted"},Me={key:0},Te={key:1},Be={class:"text-muted"},Ne={class:"table-responsive"},Ee={class:"table"},je={scope:"col"},qe={scope:"col"},Ge={scope:"col"},ze={style:{"white-space":"nowrap"}},Fe={key:0},Oe={key:1},Je={key:2},Ke={style:{"white-space":"nowrap","overflow-x":"scroll"}},Ye={class:"bg-body-tertiary p-3 rounded-3"},Ze={class:"mb-0"},q=D({__name:"webHookSession",props:["session"],setup(d){const m=d,y=E(()=>JSON.stringify(m.session.Data,null,4));return(r,s)=>(t(),a("div",De,[e("div",null,[e("small",Ve,[o(n,{t:"Status"})]),e("h3",{class:h({"text-success":d.session.Status===0,"text-danger":d.session.Status===1})},[d.session.Status===0?(t(),a("span",Ae,[s[0]||(s[0]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),o(n,{t:"Success"})])):d.session.Status===1?(t(),a("span",Ie,[s[1]||(s[1]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),o(n,{t:"Failed"})])):d.session.Status===-1?(t(),a("span",Ue,[s[2]||(s[2]=e("i",{class:"spinner-border me-2"},null,-1)),o(n,{t:"Requesting..."})])):p("",!0)],2),e("div",Pe,[e("div",null,[e("small",Re,[o(n,{t:"Started At"})]),e("h6",null,_(d.session.StartDate),1)]),d.session.EndDate?(t(),a("div",Me,s[3]||(s[3]=[e("i",{class:"bi bi-arrow-right"},null,-1)]))):p("",!0),d.session.EndDate?(t(),a("div",Te,[e("small",Be,[o(n,{t:"Ended At"})]),e("h6",null,_(d.session.EndDate),1)])):p("",!0)])]),e("div",null,[e("h6",null,[o(n,{t:"Logs"})]),e("div",Ne,[e("table",Ee,[e("thead",null,[e("tr",null,[e("th",je,[o(n,{t:"Datetime"})]),e("th",qe,[o(n,{t:"Status"})]),e("th",Ge,[o(n,{t:"Message"})])])]),e("tbody",null,[(t(!0),a(C,null,L([...d.session.Logs.Logs].reverse(),u=>(t(),a("tr",null,[e("td",ze,_(u.LogTime),1),e("td",{style:{"white-space":"nowrap"},class:h({"text-success":u.Status===0,"text-danger":u.Status===1})},[u.Status===0?(t(),a("span",Fe,s[4]||(s[4]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)]))):u.Status===1?(t(),a("span",Oe,s[5]||(s[5]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)]))):u.Status===-1?(t(),a("span",Je,s[6]||(s[6]=[e("i",{class:"bi bi-circle me-2"},null,-1)]))):p("",!0)],2),e("td",Ke,_(u.Message),1)]))),256))])])])]),e("div",null,[e("h6",null,[o(n,{t:"Data"})]),e("div",Ye,[e("pre",Ze,[e("code",null,_(y.value),1)])])])]))}}),Qe={class:"card"},Xe={class:"card-body"},es={key:0},ss={key:1},ts={key:2},ls=D({__name:"previousWebHookSession",props:["session"],setup(d){const m=f(!0);return(y,r)=>(t(),a("div",Qe,[e("div",Xe,[e("p",{class:"d-flex mb-0",role:"button",onClick:r[0]||(r[0]=s=>m.value=!m.value)},[e("span",{class:h({"text-success":d.session.Status===0,"text-danger":d.session.Status===1})},[d.session.Status===0?(t(),a("span",es,r[1]||(r[1]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)]))):d.session.Status===1?(t(),a("span",ss,r[2]||(r[2]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)]))):d.session.Status===-1?(t(),a("span",ts,r[3]||(r[3]=[e("i",{class:"spinner-border spinner-border-sm me-2"},null,-1)]))):p("",!0)],2),V(" "+_(d.session.StartDate)+" ",1),r[4]||(r[4]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),m.value?p("",!0):(t(),$(q,{key:0,session:d.session,class:"mt-2"},null,8,["session"]))])]))}}),os={key:0},ns={class:"p-3"},as={class:"mb-3"},is={key:0,class:"border-top p-3"},ds={class:"d-flex flex-column gap-2"},us={key:1,class:"p-3"},rs=D({__name:"webHookSessions",props:["webHook"],async setup(d){let m,y;const r=d,s=f([]),u=f(void 0),k=async()=>{await R("/api/webHooks/getWebHookSessions",{WebHookID:r.webHook.WebHookID},i=>{s.value=i.data})};[m,y]=N(()=>k()),await m,y();const x=E(()=>{if(s.value)return s.value[0]});return u.value=setInterval(()=>{k()},5e3),Y(()=>{clearInterval(u.value)}),(i,c)=>x.value?(t(),a("div",os,[e("div",ns,[e("h6",as,[o(n,{t:"Latest Session"})]),(t(),$(q,{session:x.value,key:x.value.WebHookID},null,8,["session"]))]),s.value.length>1?(t(),a("div",is,[e("h6",null,[o(n,{t:"Previous Sessions"})]),e("div",ds,[(t(!0),a(C,null,L(s.value.slice(1),S=>(t(),$(ls,{session:S,key:S.WebHookSessionID},null,8,["session"]))),128))])])):p("",!0)])):(t(),a("div",us,c[0]||(c[0]=[e("div",{class:"bg-body-tertiary p-3 w-100 d-flex rounded-3"},[e("h6",{class:"mb-0 m-auto"},"No Sessions")],-1)])))}}),cs=j(rs,[["__scopeId","data-v-7b6e949e"]]),bs={class:"text-body w-100 h-100 pb-2 position-relative"},vs={class:"w-100 h-100 card rounded-3"},ms={class:"border-bottom z-0"},fs={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},ps={class:"my-2"},ks={key:0,class:"row h-100 g-0"},ys={class:"col-sm-4 border-end d-flex flex-column clientListContainer"},_s={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},hs={class:"list-group d-flex flex-column d-flex h-100"},xs=["onClick"],gs={class:"mb-0 fw-bold text-body url"},Ss={class:"url mb-0"},ws={key:1,class:"flex-grow-1 d-flex text-muted"},$s={key:0,class:"col-sm-8 clientViewerContainer d-flex flex-column"},Hs={class:"overflow-scroll",style:{flex:"1 0 0"}},Ws={class:"navbar navbar-expand-lg bg-body-tertiary sticky-top"},Cs={class:"container-fluid"},Ls={class:"navbar-nav gap-2"},Ds={class:"nav-item"},Vs={class:"nav-item"},As={class:"p-3"},Is=D({__name:"dashboardWebHooks",setup(d){const m=f([]),y=f(!1);Z(async()=>{await r(),y.value=!0});const r=async()=>{await R("/api/webHooks/getWebHooks",{},x=>{m.value=x.data})},s=f(!1),u=f(void 0),k=f("edit");return(x,i)=>(t(),a("div",bs,[e("div",vs,[e("div",ms,[e("div",fs,[e("h6",ps,[i[7]||(i[7]=e("i",{class:"bi bi-plug-fill me-2"},null,-1)),o(n,{t:"Webhooks"})]),s.value?(t(),a("button",{key:1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-1 border-secondary-subtle rounded-3 shadow-sm ms-auto",onClick:i[1]||(i[1]=c=>s.value=!1)},[i[9]||(i[9]=e("i",{class:"bi bi-chevron-left me-2"},null,-1)),o(n,{t:"Back"})])):(t(),a("button",{key:0,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm ms-auto",onClick:i[0]||(i[0]=c=>{s.value=!0,u.value=void 0})},[i[8]||(i[8]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),o(n,{t:"Webhook"})]))])]),s.value?(t(),$(T,{key:1},{default:P(()=>[o(B,{onRefresh:i[6]||(i[6]=c=>{u.value=void 0,s.value=!1,r()})})]),_:1})):(t(),a("div",ks,[e("div",ys,[e("div",_s,[e("div",hs,[m.value.length>0?(t(!0),a(C,{key:0},L(m.value,c=>(t(),a("a",{role:"button",onClick:S=>u.value=c,class:h([{active:u.value?.WebHookID===c.WebHookID},"list-group-item list-group-item-action"]),"aria-current":"true"},[e("p",gs,_(c.PayloadURL),1),e("p",Ss,[o(n,{t:"Subscribed Actions"}),V(": "+_(c.SubscribedActions.join(", ")),1)])],10,xs))),256)):(t(),a("div",ws,[o(n,{t:"No Webhooks",class:"m-auto"})]))])])]),u.value?(t(),a("div",$s,[e("div",Hs,[e("nav",Ws,[e("div",Cs,[e("div",null,[e("ul",Ls,[e("li",Ds,[e("a",{onClick:i[2]||(i[2]=c=>k.value="edit"),class:h([{active:k.value==="edit"},"nav-link rounded-3"]),role:"button"},[o(n,{t:"Edit"})],2)]),e("li",Vs,[e("a",{class:h([{active:k.value==="sessions"},"nav-link rounded-3"]),onClick:i[3]||(i[3]=c=>k.value="sessions"),role:"button"},[o(n,{t:"Sessions"})],2)])])])])]),k.value==="edit"?(t(),$(B,{key:u.value,onDelete:i[4]||(i[4]=c=>{r(),u.value=void 0}),webHook:u.value,onRefresh:i[5]||(i[5]=c=>r())},null,8,["webHook"])):k.value==="sessions"?(t(),$(T,{key:1},{fallback:P(()=>[e("div",As,[o(n,{t:"Loading..."})])]),default:P(()=>[(t(),$(cs,{key:u.value,webHook:u.value},null,8,["webHook"]))]),_:1})):p("",!0)])])):p("",!0)]))])]))}}),Rs=j(Is,[["__scopeId","data-v-e0f0e683"]]);export{Rs as default}; +import{L as n}from"./localeText-D0Ve6fTw.js";import{B as D,r as f,I as N,G as A,D as F,c as a,d as p,a as e,b as o,m as w,e as V,y as I,C as O,v as U,F as C,i as L,n as h,u as J,A as K,t as _,g as R,z as M,f as t,q as E,j as $,x as Y,_ as j,o as Z,w as P,S as T}from"./index-BimuIV8Z.js";const Q={class:"p-3"},X={key:0},ee={for:"PayloadURL",class:"form-label fw-bold text-muted"},se=["disabled"],te={for:"ContentType",class:"form-label fw-bold text-muted"},le=["disabled"],oe={class:"form-label fw-bold text-muted"},ne={class:"form-check form-switch mb-2"},ae=["disabled"],ie={class:"form-check-label",for:"VerifySSL"},de={key:0,class:"alert-danger alert rounded-3"},ue={class:"form-label fw-bold text-muted"},re={class:"card rounded-3"},ce={class:"card-body d-flex gap-2 flex-column"},be={class:"d-flex gap-2"},ve={class:"flex-grow-1"},me=["disabled","onUpdate:modelValue"],fe={class:"flex-grow-1"},pe=["disabled","onUpdate:modelValue"],ke=["onClick"],ye={class:"form-label fw-bold text-muted"},_e={class:"form-check form-check-inline"},he=["disabled","id","value"],xe=["for"],ge={class:"form-label fw-bold text-muted"},Se={class:"form-check form-switch mb-2"},we=["disabled"],$e={class:"form-check-label",for:"IsActive"},He={key:0,class:"alert alert-danger rounded-3"},We={class:"d-flex gap-2"},Ce={class:"d-flex align-items-center"},Le={class:"mb-0"},B=D({__name:"addWebHook",props:["webHook"],emits:["refresh","delete"],async setup(d,{emit:m}){let y,r;const s=f({ContentType:String,Headers:Object,IsActive:Boolean,Notes:String,PayloadURL:String,SubscribedActions:Array,VerifySSL:Boolean,WebHookID:String}),u=d;u.webHook?s.value={...u.webHook}:([y,r]=N(()=>R("/api/webHooks/createWebHook",{},g=>{s.value=g.data})),await y,r());const k=f({peer_created:A("Peer Created"),peer_deleted:A("Peer Deleted"),peer_updated:A("Peer Updated")}),x=m,i=F(),c=f(!1),S=f(""),v=f(!1),G=async g=>{g&&g.preventDefault(),v.value=!0,await M("/api/webHooks/updateWebHook",s.value,l=>{l.status?(x("refresh"),i.newMessage("Server","Webhook saved","success")):(c.value=!0,S.value=l.message,i.newMessage("Server","Webhook failed to save","danger")),v.value=!1})},z=async()=>{v.value=!0,await M("/api/webHooks/deleteWebHook",s.value,g=>{g.status?(x("delete"),i.newMessage("Server","Webhook deleted","success")):(c.value=!0,S.value=g.message,i.newMessage("Server","Webhook failed to delete","danger")),v.value=!1})};return(g,l)=>(t(),a("div",Q,[d.webHook?p("",!0):(t(),a("div",X,[e("h6",null,[o(n,{t:"Add Webhook"})]),e("p",null,[o(n,{t:"WGDashboard will sent a POST Request to the URL below with details of any subscribed events."})])])),e("form",{onSubmit:l[7]||(l[7]=b=>G(b)),class:"d-flex flex-column gap-2"},[e("div",null,[e("label",ee,[e("small",null,[o(n,{t:"Payload URL"}),l[8]||(l[8]=V("* "))])]),w(e("input",{required:"",disabled:v.value,id:"PayloadURL","onUpdate:modelValue":l[0]||(l[0]=b=>s.value.PayloadURL=b),class:"form-control rounded-3",type:"url"},null,8,se),[[I,s.value.PayloadURL]])]),e("div",null,[e("label",te,[e("small",null,[o(n,{t:"Content Type"}),l[9]||(l[9]=V("* "))])]),w(e("select",{disabled:v.value,id:"ContentType","onUpdate:modelValue":l[1]||(l[1]=b=>s.value.ContentType=b),class:"form-select rounded-3",required:""},l[10]||(l[10]=[e("option",{value:"application/json"}," application/json ",-1),e("option",{value:"application/x-www-form-urlencoded"}," application/x-www-form-urlencoded ",-1)]),8,le),[[O,s.value.ContentType]])]),e("div",null,[e("label",oe,[e("small",null,[o(n,{t:"Verify SSL"})])]),e("div",null,[e("div",ne,[w(e("input",{disabled:v.value,"onUpdate:modelValue":l[2]||(l[2]=b=>s.value.VerifySSL=b),class:"form-check-input",type:"checkbox",role:"switch",id:"VerifySSL"},null,8,ae),[[U,s.value.VerifySSL]]),e("label",ie,[o(n,{t:s.value.VerifySSL?"Enabled":"Disabled"},null,8,["t"])])]),s.value.VerifySSL?p("",!0):(t(),a("div",de,[l[11]||(l[11]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),o(n,{t:"We highly suggest to enable SSL verification"})]))])]),e("div",null,[e("label",ue,[e("small",null,[o(n,{t:"Custom Headers"})])]),e("div",re,[e("div",ce,[(t(!0),a(C,null,L(s.value.Headers,(b,H)=>(t(),a("div",be,[e("div",ve,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.key=W,placeholder:"Key"},null,8,me),[[I,b.key]])]),e("div",fe,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.value=W,placeholder:"Value"},null,8,pe),[[I,b.value]])]),e("button",{class:h([{disabled:v.value},"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"]),type:"button",onClick:W=>delete s.value.Headers[H]},l[12]||(l[12]=[e("i",{class:"bi bi-trash-fill"},null,-1)]),10,ke)]))),256)),e("button",{type:"button",class:h([{disabled:v.value},"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"]),onClick:l[3]||(l[3]=b=>s.value.Headers[J(K)().toString()]={key:"",value:""})},[l[13]||(l[13]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),o(n,{t:"Header"})],2)])])]),l[15]||(l[15]=e("hr",null,null,-1)),e("div",null,[e("label",ye,[e("small",null,[o(n,{t:"Subscribed Actions"})])]),e("div",null,[(t(!0),a(C,null,L(k.value,(b,H)=>(t(),a("div",_e,[w(e("input",{class:"form-check-input",disabled:s.value.SubscribedActions.length===1&&s.value.SubscribedActions.includes(H)||v.value,type:"checkbox",id:H,value:H,"onUpdate:modelValue":l[4]||(l[4]=W=>s.value.SubscribedActions=W)},null,8,he),[[U,s.value.SubscribedActions]]),e("label",{class:"form-check-label",for:H},_(b),9,xe)]))),256))])]),l[16]||(l[16]=e("hr",null,null,-1)),e("div",null,[e("label",ge,[e("small",null,[o(n,{t:"Enable Webhook"})])]),e("div",null,[e("div",Se,[w(e("input",{disabled:v.value,"onUpdate:modelValue":l[5]||(l[5]=b=>s.value.IsActive=b),class:"form-check-input",type:"checkbox",role:"switch",id:"IsActive"},null,8,we),[[U,s.value.IsActive]]),e("label",$e,[o(n,{t:s.value.IsActive?"Yes":"No"},null,8,["t"])])])])]),c.value?(t(),a("div",He,_(S.value),1)):p("",!0),e("div",We,[e("button",{type:"submit",class:h([{disabled:v.value},"ms-auto btn bg-success-subtle text-success-emphasis border-success-subtle rounded-3"])},[o(n,{t:"Save"})],2)]),d.webHook?(t(),a(C,{key:1},[l[14]||(l[14]=e("hr",null,null,-1)),e("div",Ce,[e("h6",Le,[o(n,{t:"Danger Zone"})]),e("button",{onClick:l[6]||(l[6]=b=>z()),type:"button",class:h([{disabled:v.value},"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 ms-auto"])},[o(n,{t:"Delete"})],2)])],64)):p("",!0)],32)]))}}),De={class:"d-flex flex-column gap-3"},Ve={class:"text-muted"},Ae={key:0},Ie={key:1},Ue={key:2},Pe={class:"d-flex gap-4 align-items-center"},Re={class:"text-muted"},Me={key:0},Te={key:1},Be={class:"text-muted"},Ne={class:"table-responsive"},Ee={class:"table"},je={scope:"col"},qe={scope:"col"},Ge={scope:"col"},ze={style:{"white-space":"nowrap"}},Fe={key:0},Oe={key:1},Je={key:2},Ke={style:{"white-space":"nowrap","overflow-x":"scroll"}},Ye={class:"bg-body-tertiary p-3 rounded-3"},Ze={class:"mb-0"},q=D({__name:"webHookSession",props:["session"],setup(d){const m=d,y=E(()=>JSON.stringify(m.session.Data,null,4));return(r,s)=>(t(),a("div",De,[e("div",null,[e("small",Ve,[o(n,{t:"Status"})]),e("h3",{class:h({"text-success":d.session.Status===0,"text-danger":d.session.Status===1})},[d.session.Status===0?(t(),a("span",Ae,[s[0]||(s[0]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),o(n,{t:"Success"})])):d.session.Status===1?(t(),a("span",Ie,[s[1]||(s[1]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),o(n,{t:"Failed"})])):d.session.Status===-1?(t(),a("span",Ue,[s[2]||(s[2]=e("i",{class:"spinner-border me-2"},null,-1)),o(n,{t:"Requesting..."})])):p("",!0)],2),e("div",Pe,[e("div",null,[e("small",Re,[o(n,{t:"Started At"})]),e("h6",null,_(d.session.StartDate),1)]),d.session.EndDate?(t(),a("div",Me,s[3]||(s[3]=[e("i",{class:"bi bi-arrow-right"},null,-1)]))):p("",!0),d.session.EndDate?(t(),a("div",Te,[e("small",Be,[o(n,{t:"Ended At"})]),e("h6",null,_(d.session.EndDate),1)])):p("",!0)])]),e("div",null,[e("h6",null,[o(n,{t:"Logs"})]),e("div",Ne,[e("table",Ee,[e("thead",null,[e("tr",null,[e("th",je,[o(n,{t:"Datetime"})]),e("th",qe,[o(n,{t:"Status"})]),e("th",Ge,[o(n,{t:"Message"})])])]),e("tbody",null,[(t(!0),a(C,null,L([...d.session.Logs.Logs].reverse(),u=>(t(),a("tr",null,[e("td",ze,_(u.LogTime),1),e("td",{style:{"white-space":"nowrap"},class:h({"text-success":u.Status===0,"text-danger":u.Status===1})},[u.Status===0?(t(),a("span",Fe,s[4]||(s[4]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)]))):u.Status===1?(t(),a("span",Oe,s[5]||(s[5]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)]))):u.Status===-1?(t(),a("span",Je,s[6]||(s[6]=[e("i",{class:"bi bi-circle me-2"},null,-1)]))):p("",!0)],2),e("td",Ke,_(u.Message),1)]))),256))])])])]),e("div",null,[e("h6",null,[o(n,{t:"Data"})]),e("div",Ye,[e("pre",Ze,[e("code",null,_(y.value),1)])])])]))}}),Qe={class:"card"},Xe={class:"card-body"},es={key:0},ss={key:1},ts={key:2},ls=D({__name:"previousWebHookSession",props:["session"],setup(d){const m=f(!0);return(y,r)=>(t(),a("div",Qe,[e("div",Xe,[e("p",{class:"d-flex mb-0",role:"button",onClick:r[0]||(r[0]=s=>m.value=!m.value)},[e("span",{class:h({"text-success":d.session.Status===0,"text-danger":d.session.Status===1})},[d.session.Status===0?(t(),a("span",es,r[1]||(r[1]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)]))):d.session.Status===1?(t(),a("span",ss,r[2]||(r[2]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)]))):d.session.Status===-1?(t(),a("span",ts,r[3]||(r[3]=[e("i",{class:"spinner-border spinner-border-sm me-2"},null,-1)]))):p("",!0)],2),V(" "+_(d.session.StartDate)+" ",1),r[4]||(r[4]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),m.value?p("",!0):(t(),$(q,{key:0,session:d.session,class:"mt-2"},null,8,["session"]))])]))}}),os={key:0},ns={class:"p-3"},as={class:"mb-3"},is={key:0,class:"border-top p-3"},ds={class:"d-flex flex-column gap-2"},us={key:1,class:"p-3"},rs=D({__name:"webHookSessions",props:["webHook"],async setup(d){let m,y;const r=d,s=f([]),u=f(void 0),k=async()=>{await R("/api/webHooks/getWebHookSessions",{WebHookID:r.webHook.WebHookID},i=>{s.value=i.data})};[m,y]=N(()=>k()),await m,y();const x=E(()=>{if(s.value)return s.value[0]});return u.value=setInterval(()=>{k()},5e3),Y(()=>{clearInterval(u.value)}),(i,c)=>x.value?(t(),a("div",os,[e("div",ns,[e("h6",as,[o(n,{t:"Latest Session"})]),(t(),$(q,{session:x.value,key:x.value.WebHookID},null,8,["session"]))]),s.value.length>1?(t(),a("div",is,[e("h6",null,[o(n,{t:"Previous Sessions"})]),e("div",ds,[(t(!0),a(C,null,L(s.value.slice(1),S=>(t(),$(ls,{session:S,key:S.WebHookSessionID},null,8,["session"]))),128))])])):p("",!0)])):(t(),a("div",us,c[0]||(c[0]=[e("div",{class:"bg-body-tertiary p-3 w-100 d-flex rounded-3"},[e("h6",{class:"mb-0 m-auto"},"No Sessions")],-1)])))}}),cs=j(rs,[["__scopeId","data-v-7b6e949e"]]),bs={class:"text-body w-100 h-100 pb-2 position-relative"},vs={class:"w-100 h-100 card rounded-3"},ms={class:"border-bottom z-0"},fs={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},ps={class:"my-2"},ks={key:0,class:"row h-100 g-0"},ys={class:"col-sm-4 border-end d-flex flex-column clientListContainer"},_s={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},hs={class:"list-group d-flex flex-column d-flex h-100"},xs=["onClick"],gs={class:"mb-0 fw-bold text-body url"},Ss={class:"url mb-0"},ws={key:1,class:"flex-grow-1 d-flex text-muted"},$s={key:0,class:"col-sm-8 clientViewerContainer d-flex flex-column"},Hs={class:"overflow-scroll",style:{flex:"1 0 0"}},Ws={class:"navbar navbar-expand-lg bg-body-tertiary sticky-top"},Cs={class:"container-fluid"},Ls={class:"navbar-nav gap-2"},Ds={class:"nav-item"},Vs={class:"nav-item"},As={class:"p-3"},Is=D({__name:"dashboardWebHooks",setup(d){const m=f([]),y=f(!1);Z(async()=>{await r(),y.value=!0});const r=async()=>{await R("/api/webHooks/getWebHooks",{},x=>{m.value=x.data})},s=f(!1),u=f(void 0),k=f("edit");return(x,i)=>(t(),a("div",bs,[e("div",vs,[e("div",ms,[e("div",fs,[e("h6",ps,[i[7]||(i[7]=e("i",{class:"bi bi-plug-fill me-2"},null,-1)),o(n,{t:"Webhooks"})]),s.value?(t(),a("button",{key:1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-1 border-secondary-subtle rounded-3 shadow-sm ms-auto",onClick:i[1]||(i[1]=c=>s.value=!1)},[i[9]||(i[9]=e("i",{class:"bi bi-chevron-left me-2"},null,-1)),o(n,{t:"Back"})])):(t(),a("button",{key:0,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm ms-auto",onClick:i[0]||(i[0]=c=>{s.value=!0,u.value=void 0})},[i[8]||(i[8]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),o(n,{t:"Webhook"})]))])]),s.value?(t(),$(T,{key:1},{default:P(()=>[o(B,{onRefresh:i[6]||(i[6]=c=>{u.value=void 0,s.value=!1,r()})})]),_:1})):(t(),a("div",ks,[e("div",ys,[e("div",_s,[e("div",hs,[m.value.length>0?(t(!0),a(C,{key:0},L(m.value,c=>(t(),a("a",{role:"button",onClick:S=>u.value=c,class:h([{active:u.value?.WebHookID===c.WebHookID},"list-group-item list-group-item-action"]),"aria-current":"true"},[e("p",gs,_(c.PayloadURL),1),e("p",Ss,[o(n,{t:"Subscribed Actions"}),V(": "+_(c.SubscribedActions.join(", ")),1)])],10,xs))),256)):(t(),a("div",ws,[o(n,{t:"No Webhooks",class:"m-auto"})]))])])]),u.value?(t(),a("div",$s,[e("div",Hs,[e("nav",Ws,[e("div",Cs,[e("div",null,[e("ul",Ls,[e("li",Ds,[e("a",{onClick:i[2]||(i[2]=c=>k.value="edit"),class:h([{active:k.value==="edit"},"nav-link rounded-3"]),role:"button"},[o(n,{t:"Edit"})],2)]),e("li",Vs,[e("a",{class:h([{active:k.value==="sessions"},"nav-link rounded-3"]),onClick:i[3]||(i[3]=c=>k.value="sessions"),role:"button"},[o(n,{t:"Sessions"})],2)])])])])]),k.value==="edit"?(t(),$(B,{key:u.value,onDelete:i[4]||(i[4]=c=>{r(),u.value=void 0}),webHook:u.value,onRefresh:i[5]||(i[5]=c=>r())},null,8,["webHook"])):k.value==="sessions"?(t(),$(T,{key:1},{fallback:P(()=>[e("div",As,[o(n,{t:"Loading..."})])]),default:P(()=>[(t(),$(cs,{key:u.value,webHook:u.value},null,8,["webHook"]))]),_:1})):p("",!0)])])):p("",!0)]))])]))}}),Rs=j(Is,[["__scopeId","data-v-e0f0e683"]]);export{Rs as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dayjs.min-BSByM7MH.js b/src/static/dist/WGDashboardAdmin/assets/dayjs.min-CkODZHdU.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dayjs.min-BSByM7MH.js rename to src/static/dist/WGDashboardAdmin/assets/dayjs.min-CkODZHdU.js index a7c51c39..0ac37c76 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dayjs.min-BSByM7MH.js +++ b/src/static/dist/WGDashboardAdmin/assets/dayjs.min-CkODZHdU.js @@ -1 +1 @@ -import{R as G}from"./index-mH92cJrc.js";var W={exports:{}},K=W.exports,E;function X(){return E||(E=1,function(V,et){(function(A,x){V.exports=x()})(K,function(){var A=1e3,x=6e4,U=36e5,I="millisecond",S="second",w="minute",_="hour",M="day",H="week",m="month",J="quarter",y="year",O="date",Z="Invalid Date",R=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,B=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,P={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(s){var n=["th","st","nd","rd"],t=s%100;return"["+s+(n[(t-20)%10]||n[t]||n[0])+"]"}},F=function(s,n,t){var r=String(s);return!r||r.length>=n?s:""+Array(n+1-r.length).join(t)+s},Q={s:F,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),e=t%60;return(n<=0?"+":"-")+F(r,2,"0")+":"+F(e,2,"0")},m:function s(n,t){if(n.date()1)return s(u[0])}else{var o=n.name;D[o]=n,e=o}return!r&&e&&(k=e),e||!r&&k},f=function(s,n){if(N(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new C(t)},a=Q;a.l=T,a.i=N,a.w=function(s,n){return f(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=function(){function s(t){this.$L=T(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[q]=!0}var n=s.prototype;return n.parse=function(t){this.$d=function(r){var e=r.date,i=r.utc;if(e===null)return new Date(NaN);if(a.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var u=e.match(R);if(u){var o=u[2]-1||0,c=(u[7]||"0").substring(0,3);return i?new Date(Date.UTC(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)):new Date(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)}}return new Date(e)}(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return a},n.isValid=function(){return this.$d.toString()!==Z},n.isSame=function(t,r){var e=f(t);return this.startOf(r)<=e&&e<=this.endOf(r)},n.isAfter=function(t,r){return f(t)=n?s:""+Array(n+1-r.length).join(t)+s},Q={s:F,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),e=t%60;return(n<=0?"+":"-")+F(r,2,"0")+":"+F(e,2,"0")},m:function s(n,t){if(n.date()1)return s(u[0])}else{var o=n.name;D[o]=n,e=o}return!r&&e&&(k=e),e||!r&&k},f=function(s,n){if(N(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new C(t)},a=Q;a.l=T,a.i=N,a.w=function(s,n){return f(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=function(){function s(t){this.$L=T(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[q]=!0}var n=s.prototype;return n.parse=function(t){this.$d=function(r){var e=r.date,i=r.utc;if(e===null)return new Date(NaN);if(a.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var u=e.match(R);if(u){var o=u[2]-1||0,c=(u[7]||"0").substring(0,3);return i?new Date(Date.UTC(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)):new Date(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)}}return new Date(e)}(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return a},n.isValid=function(){return this.$d.toString()!==Z},n.isSame=function(t,r){var e=f(t);return this.startOf(r)<=e&&e<=this.endOf(r)},n.isAfter=function(t,r){return f(t){q(()=>o.data,b=>{o.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(b)&&b.length>0&&!g.Configurations.find(_=>_.Name===b)})});const u=H(),x=y(!1),c=G(),a=async()=>{o.data&&(x.value=!0,clearInterval(u.Peers.RefreshInterval),await L("/api/renameWireguardConfiguration",{ConfigurationName:t.configurationName,NewConfigurationName:o.data},async b=>{b.status?(await g.getConfigurations(),u.newMessage("Server","Configuration renamed","success"),c.push(`/configuration/${o.data}/peers`)):(u.newMessage("Server",b.message,"danger"),x.value=!1)}))};return(b,_)=>(v(),h("div",re,[e("div",ue,[e("p",null,[s(n,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[s(n,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[s(n,{t:"Delete current configuration's database table and .conf file"})])]),e("div",ce,[e("input",{class:"form-control form-control-sm rounded-3",value:d.configurationName,disabled:""},null,8,me),_[3]||(_[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),C(e("input",{class:B(["form-control form-control-sm rounded-3",[o.data?o.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":_[0]||(_[0]=w=>o.data=w)},null,2),[[S,o.data]])]),e("div",{class:B(["invalid-feedback",{"d-block":!o.valid&&o.data}])},[s(n,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",fe,[e("li",null,[s(n,{t:"Configuration name already exist"})]),e("li",null,[s(n,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",ge,[e("button",{onClick:_[1]||(_[1]=w=>f("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[s(n,{t:"Cancel"})]),e("button",{onClick:_[2]||(_[2]=w=>a()),disabled:!o.data||x.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[s(n,{t:"Save"})],8,be)])])]))}},pe=M(ve,[["__scopeId","data-v-33ea9576"]]),he={name:"Dropdown",props:{width:{type:String,default:"80px"},height:{type:String,default:"auto"},title:{type:String,default:""},disabled:{type:Boolean,default:!1},defaultDisplay:{type:Boolean,default:!1}}},ye={class:"title"};function xe(d,r,t,f,o,g){return v(),h("div",{class:B(["dropdown",{disabled:t.disabled}]),onClick:r[0]||(r[0]=(...u)=>d.toggleDropdown&&d.toggleDropdown(...u)),onFocusout:r[1]||(r[1]=(...u)=>d.hideDropdown&&d.hideDropdown(...u)),tabindex:"0"},[e("div",ye,[e("div",null,P(t.title),1)])],34)}const _e=M(he,[["render",xe]]),we={components:{Dropdown:_e},name:"CodeEditor",props:{lineNums:{type:Boolean,default:!1},modelValue:{type:String},value:{type:String},theme:{type:String,default:"github-dark"},tabSpaces:{type:Number,default:2},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},header:{type:Boolean,default:!0},width:{type:String,default:"540px"},height:{type:String,default:"auto"},maxWidth:{type:String},minWidth:{type:String},maxHeight:{type:String},minHeight:{type:String},borderRadius:{type:String,default:"12px"},languages:{type:Array,default:function(){return[["javascript","JS"]]}},langListWidth:{type:String,default:"110px"},langListHeight:{type:String,default:"auto"},langListDisplay:{type:Boolean,default:!1},displayLanguage:{type:Boolean,default:!0},zIndex:{type:String,default:"0"},fontSize:{type:String,default:"17px"},padding:{type:String,default:"20px"}},directives:{highlight:{mounted(d,r){d.textContent=r.value},updated(d,r){d.scrolling?d.scrolling=!1:d.textContent=r.value}}},data(){return{scrollBarWidth:0,scrollBarHeight:0,top:0,left:0,languageClass:"hljs language-"+this.languages[0][0],languageTitle:this.languages[0][1]?this.languages[0][1]:this.languages[0][0],content:this.value,cursorPosition:0,insertTab:!1,lineNum:0,lineNumsWidth:0,scrolling:!1,textareaHeight:0,showLineNums:this.wrap?!1:this.lineNums}},computed:{tabWidth(){let d="";for(let r=0;r{q(()=>o.data,b=>{o.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(b)&&b.length>0&&!g.Configurations.find(_=>_.Name===b)})});const u=H(),x=y(!1),c=G(),a=async()=>{o.data&&(x.value=!0,clearInterval(u.Peers.RefreshInterval),await L("/api/renameWireguardConfiguration",{ConfigurationName:t.configurationName,NewConfigurationName:o.data},async b=>{b.status?(await g.getConfigurations(),u.newMessage("Server","Configuration renamed","success"),c.push(`/configuration/${o.data}/peers`)):(u.newMessage("Server",b.message,"danger"),x.value=!1)}))};return(b,_)=>(v(),h("div",re,[e("div",ue,[e("p",null,[s(n,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[s(n,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[s(n,{t:"Delete current configuration's database table and .conf file"})])]),e("div",ce,[e("input",{class:"form-control form-control-sm rounded-3",value:d.configurationName,disabled:""},null,8,me),_[3]||(_[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),C(e("input",{class:B(["form-control form-control-sm rounded-3",[o.data?o.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":_[0]||(_[0]=w=>o.data=w)},null,2),[[S,o.data]])]),e("div",{class:B(["invalid-feedback",{"d-block":!o.valid&&o.data}])},[s(n,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",fe,[e("li",null,[s(n,{t:"Configuration name already exist"})]),e("li",null,[s(n,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",ge,[e("button",{onClick:_[1]||(_[1]=w=>f("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[s(n,{t:"Cancel"})]),e("button",{onClick:_[2]||(_[2]=w=>a()),disabled:!o.data||x.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[s(n,{t:"Save"})],8,be)])])]))}},pe=M(ve,[["__scopeId","data-v-33ea9576"]]),he={name:"Dropdown",props:{width:{type:String,default:"80px"},height:{type:String,default:"auto"},title:{type:String,default:""},disabled:{type:Boolean,default:!1},defaultDisplay:{type:Boolean,default:!1}}},ye={class:"title"};function xe(d,r,t,f,o,g){return v(),h("div",{class:B(["dropdown",{disabled:t.disabled}]),onClick:r[0]||(r[0]=(...u)=>d.toggleDropdown&&d.toggleDropdown(...u)),onFocusout:r[1]||(r[1]=(...u)=>d.hideDropdown&&d.hideDropdown(...u)),tabindex:"0"},[e("div",ye,[e("div",null,P(t.title),1)])],34)}const _e=M(he,[["render",xe]]),we={components:{Dropdown:_e},name:"CodeEditor",props:{lineNums:{type:Boolean,default:!1},modelValue:{type:String},value:{type:String},theme:{type:String,default:"github-dark"},tabSpaces:{type:Number,default:2},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},header:{type:Boolean,default:!0},width:{type:String,default:"540px"},height:{type:String,default:"auto"},maxWidth:{type:String},minWidth:{type:String},maxHeight:{type:String},minHeight:{type:String},borderRadius:{type:String,default:"12px"},languages:{type:Array,default:function(){return[["javascript","JS"]]}},langListWidth:{type:String,default:"110px"},langListHeight:{type:String,default:"auto"},langListDisplay:{type:Boolean,default:!1},displayLanguage:{type:Boolean,default:!0},zIndex:{type:String,default:"0"},fontSize:{type:String,default:"17px"},padding:{type:String,default:"20px"}},directives:{highlight:{mounted(d,r){d.textContent=r.value},updated(d,r){d.scrolling?d.scrolling=!1:d.textContent=r.value}}},data(){return{scrollBarWidth:0,scrollBarHeight:0,top:0,left:0,languageClass:"hljs language-"+this.languages[0][0],languageTitle:this.languages[0][1]?this.languages[0][1]:this.languages[0][0],content:this.value,cursorPosition:0,insertTab:!1,lineNum:0,lineNumsWidth:0,scrolling:!1,textareaHeight:0,showLineNums:this.wrap?!1:this.lineNums}},computed:{tabWidth(){let d="";for(let r=0;r{this.scrollBarWidth=t[0].target.offsetWidth-t[0].target.clientWidth,this.scrollBarHeight=t[0].target.offsetHeight-t[0].target.clientHeight,this.textareaHeight=t[0].target.offsetHeight}).observe(this.$refs.textarea);const r=new ResizeObserver(t=>{this.lineNumsWidth=t[0].target.offsetWidth});this.$refs.lineNums&&r.observe(this.$refs.lineNums)},copy(){document.execCommand("copy")?(this.$refs.textarea.select(),document.execCommand("copy"),window.getSelection().removeAllRanges()):navigator.clipboard.writeText(this.$refs.textarea.value)},getLineNum(){const d=this.$refs.textarea.value;let r=0,t=d.indexOf(` `);for(;t!==-1;)r++,t=d.indexOf(` diff --git a/src/static/dist/WGDashboardAdmin/assets/index-mH92cJrc.js b/src/static/dist/WGDashboardAdmin/assets/index-BimuIV8Z.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/index-mH92cJrc.js rename to src/static/dist/WGDashboardAdmin/assets/index-BimuIV8Z.js index fa51bd16..047264fe 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-mH92cJrc.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-BimuIV8Z.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CS9Zp8p_.js","assets/localeText-DSmP42vs.js","assets/message-BboFmGeA.js","assets/dayjs.min-BSByM7MH.js","assets/message-Bh5W0B3y.css","assets/index-CpoCtfuw.css","assets/configurationList-hQTdd0KW.js","assets/protocolBadge-DNw_4GNb.js","assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ES0Nq9XH.js","assets/storageMount-DkOLkVxZ.css","assets/configurationList-DH6A10st.css","assets/settings-CoChm88i.js","assets/peersDefaultSettingsInput-DgB9BWQw.js","assets/dashboardEmailSettings-CqwOH0Oa.js","assets/vue-datepicker-DXRta4gJ.js","assets/dashboardEmailSettings-BxtXuVtX.css","assets/dashboardSettingsWireguardConfigurationAutostart-CcYlrBrT.js","assets/dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css","assets/wgdashboardSettings-3RfrzlK5.js","assets/peerDefaultSettings-BUOqWfwF.js","assets/wireguardConfigurationSettings-HGJPkYyO.js","assets/ping-DEMEwZfI.js","assets/osmap-DlmBiBAF.js","assets/Vector-C8V_x6Dm.js","assets/Vector-BtPuoxOl.css","assets/osmap-CsoM1fIq.css","assets/ping-DgbK5UF9.css","assets/traceroute-D0BywLrP.js","assets/traceroute-cPX-1ydq.css","assets/newConfiguration-CmCSMTnr.js","assets/index-Bno8fcdN.js","assets/galois-field-CkUIqpA6.js","assets/newConfiguration-CaR3VWG-.css","assets/restoreConfiguration-H5ju5_ix.js","assets/restoreConfiguration-Go8Q_2zy.css","assets/systemStatus-jNzJNFlD.js","assets/index-nqiVjQME.js","assets/systemStatus-DdUpBwt2.css","assets/clients-D7IlE2fP.js","assets/DashboardClientAssignmentStore-CKBhOHsA.js","assets/clients-CPReNKNs.css","assets/clientViewer-7MUereWv.js","assets/clientViewer-C5axh9P7.css","assets/dashboardWebHooks-CM8M01wM.js","assets/dashboardWebHooks-Dl-enc0Z.css","assets/peerList-CcSkTACy.js","assets/peerList-BW8n4ip0.css","assets/signin-CCqyeuTK.js","assets/signin-lFX8XtKM.css","assets/setup-D70wX31Y.js","assets/totp-Bom_Rztd.js","assets/browser-B8eugmTx.js","assets/share-Clo4DEcY.js","assets/share-e5E8P3Ro.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-C-epBlv_.js","assets/localeText-D0Ve6fTw.js","assets/message-B6STwPS6.js","assets/dayjs.min-CkODZHdU.js","assets/message-Bh5W0B3y.css","assets/index-CpoCtfuw.css","assets/configurationList-D7EdousE.js","assets/protocolBadge-Ck_G7NzU.js","assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-CgRpYUbi.js","assets/storageMount-DkOLkVxZ.css","assets/configurationList-DH6A10st.css","assets/settings-CRSDCN7L.js","assets/peersDefaultSettingsInput-BBQyY1Fm.js","assets/dashboardEmailSettings-Gsulq66_.js","assets/vue-datepicker-VDLvxrT_.js","assets/dashboardEmailSettings-BxtXuVtX.css","assets/dashboardSettingsWireguardConfigurationAutostart-BUzKGHGv.js","assets/dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css","assets/wgdashboardSettings-CHYv-Cz_.js","assets/peerDefaultSettings-CX_FkPKH.js","assets/wireguardConfigurationSettings-FwCY-ehA.js","assets/ping-DS9FytFq.js","assets/osmap-BF5g68HQ.js","assets/Vector-C8V_x6Dm.js","assets/Vector-BtPuoxOl.css","assets/osmap-CsoM1fIq.css","assets/ping-DgbK5UF9.css","assets/traceroute-DzVtw1iM.js","assets/traceroute-D9mlT_ah.css","assets/newConfiguration-c8aZ26W-.js","assets/index-Bno8fcdN.js","assets/galois-field-CkUIqpA6.js","assets/newConfiguration-CaR3VWG-.css","assets/restoreConfiguration-Bqy8eC2K.js","assets/restoreConfiguration-Go8Q_2zy.css","assets/systemStatus--DPdeCEb.js","assets/index-CMd-xOr8.js","assets/systemStatus-DdUpBwt2.css","assets/clients-CK5j-MUJ.js","assets/DashboardClientAssignmentStore-D4FsyWTT.js","assets/clients-CPReNKNs.css","assets/clientViewer-B-7p9bwx.js","assets/clientViewer-C5axh9P7.css","assets/dashboardWebHooks-DbyBIABh.js","assets/dashboardWebHooks-Dl-enc0Z.css","assets/peerList-BvR4xu_k.js","assets/peerList-BW8n4ip0.css","assets/signin-4-L-H3zJ.js","assets/signin-lFX8XtKM.css","assets/setup-yhg8KxTU.js","assets/totp-B7gZYtYa.js","assets/browser-DqvcZvnx.js","assets/share-rfnu988H.js","assets/share-e5E8P3Ro.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function ab(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Cg(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){var s=!1;try{s=this instanceof r}catch{}return s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}),n}var ys={exports:{}},qe="top",tt="bottom",nt="right",ze="left",Hs="auto",dr=[qe,tt,nt,ze],On="start",er="end",vc="clippingParents",go="viewport",Wn="popper",yc="reference",Wi=dr.reduce(function(e,t){return e.concat([t+"-"+On,t+"-"+er])},[]),mo=[].concat(dr,[Hs]).reduce(function(e,t){return e.concat([t,t+"-"+On,t+"-"+er])},[]),Ec="beforeRead",bc="read",Ac="afterRead",Tc="beforeMain",wc="main",Sc="afterMain",Cc="beforeWrite",Oc="write",xc="afterWrite",Nc=[Ec,bc,Ac,Tc,wc,Sc,Cc,Oc,xc];function Rt(e){return e?(e.nodeName||"").toLowerCase():null}function rt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function xn(e){var t=rt(e).Element;return e instanceof t||e instanceof Element}function ut(e){var t=rt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function _o(e){if(typeof ShadowRoot>"u")return!1;var t=rt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Og(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},s=t.attributes[n]||{},o=t.elements[n];!ut(o)||!Rt(o)||(Object.assign(o.style,r),Object.keys(s).forEach(function(a){var l=s[a];l===!1?o.removeAttribute(a):o.setAttribute(a,l===!0?"":l)}))})}function xg(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var s=t.elements[r],o=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),l=a.reduce(function(c,d){return c[d]="",c},{});!ut(s)||!Rt(s)||(Object.assign(s.style,l),Object.keys(o).forEach(function(c){s.removeAttribute(c)}))})}}const vo={name:"applyStyles",enabled:!0,phase:"write",fn:Og,effect:xg,requires:["computeStyles"]};function $t(e){return e.split("-")[0]}var An=Math.max,Os=Math.min,tr=Math.round;function Ui(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function $c(){return!/^((?!chrome|android).)*safari/i.test(Ui())}function nr(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),s=1,o=1;t&&ut(e)&&(s=e.offsetWidth>0&&tr(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&tr(r.height)/e.offsetHeight||1);var a=xn(e)?rt(e):window,l=a.visualViewport,c=!$c()&&n,d=(r.left+(c&&l?l.offsetLeft:0))/s,f=(r.top+(c&&l?l.offsetTop:0))/o,h=r.width/s,p=r.height/o;return{width:h,height:p,top:f,right:d+h,bottom:f+p,left:d,x:d,y:f}}function yo(e){var t=nr(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Rc(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&_o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ht(e){return rt(e).getComputedStyle(e)}function Ng(e){return["table","td","th"].indexOf(Rt(e))>=0}function ln(e){return((xn(e)?e.ownerDocument:e.document)||window.document).documentElement}function Bs(e){return Rt(e)==="html"?e:e.assignedSlot||e.parentNode||(_o(e)?e.host:null)||ln(e)}function Ga(e){return!ut(e)||Ht(e).position==="fixed"?null:e.offsetParent}function $g(e){var t=/firefox/i.test(Ui()),n=/Trident/i.test(Ui());if(n&&ut(e)){var r=Ht(e);if(r.position==="fixed")return null}var s=Bs(e);for(_o(s)&&(s=s.host);ut(s)&&["html","body"].indexOf(Rt(s))<0;){var o=Ht(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function Yr(e){for(var t=rt(e),n=Ga(e);n&&Ng(n)&&Ht(n).position==="static";)n=Ga(n);return n&&(Rt(n)==="html"||Rt(n)==="body"&&Ht(n).position==="static")?t:n||$g(e)||t}function Eo(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Cr(e,t,n){return An(e,Os(t,n))}function Rg(e,t,n){var r=Cr(e,t,n);return r>n?n:r}function Ic(){return{top:0,right:0,bottom:0,left:0}}function Dc(e){return Object.assign({},Ic(),e)}function Lc(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Ig=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Dc(typeof t!="number"?t:Lc(t,dr))};function Dg(e){var t,n=e.state,r=e.name,s=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,l=$t(n.placement),c=Eo(l),d=[ze,nt].indexOf(l)>=0,f=d?"height":"width";if(!(!o||!a)){var h=Ig(s.padding,n),p=yo(o),_=c==="y"?qe:ze,O=c==="y"?tt:nt,A=n.rects.reference[f]+n.rects.reference[c]-a[c]-n.rects.popper[f],I=a[c]-n.rects.reference[c],k=Yr(o),B=k?c==="y"?k.clientHeight||0:k.clientWidth||0:0,F=A/2-I/2,M=h[_],b=B-p[f]-h[O],E=B/2-p[f]/2+F,x=Cr(M,E,b),T=c;n.modifiersData[r]=(t={},t[T]=x,t.centerOffset=x-E,t)}}function Lg(e){var t=e.state,n=e.options,r=n.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||Rc(t.elements.popper,s)&&(t.elements.arrow=s))}const Pc={name:"arrow",enabled:!0,phase:"main",fn:Dg,effect:Lg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function rr(e){return e.split("-")[1]}var Pg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mg(e,t){var n=e.x,r=e.y,s=t.devicePixelRatio||1;return{x:tr(n*s)/s||0,y:tr(r*s)/s||0}}function Ya(e){var t,n=e.popper,r=e.popperRect,s=e.placement,o=e.variation,a=e.offsets,l=e.position,c=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,h=e.isFixed,p=a.x,_=p===void 0?0:p,O=a.y,A=O===void 0?0:O,I=typeof f=="function"?f({x:_,y:A}):{x:_,y:A};_=I.x,A=I.y;var k=a.hasOwnProperty("x"),B=a.hasOwnProperty("y"),F=ze,M=qe,b=window;if(d){var E=Yr(n),x="clientHeight",T="clientWidth";if(E===rt(n)&&(E=ln(n),Ht(E).position!=="static"&&l==="absolute"&&(x="scrollHeight",T="scrollWidth")),E=E,s===qe||(s===ze||s===nt)&&o===er){M=tt;var w=h&&E===b&&b.visualViewport?b.visualViewport.height:E[x];A-=w-r.height,A*=c?1:-1}if(s===ze||(s===qe||s===tt)&&o===er){F=nt;var S=h&&E===b&&b.visualViewport?b.visualViewport.width:E[T];_-=S-r.width,_*=c?1:-1}}var W=Object.assign({position:l},d&&Pg),j=f===!0?Mg({x:_,y:A},rt(n)):{x:_,y:A};if(_=j.x,A=j.y,c){var te;return Object.assign({},W,(te={},te[M]=B?"0":"",te[F]=k?"0":"",te.transform=(b.devicePixelRatio||1)<=1?"translate("+_+"px, "+A+"px)":"translate3d("+_+"px, "+A+"px, 0)",te))}return Object.assign({},W,(t={},t[M]=B?A+"px":"",t[F]=k?_+"px":"",t.transform="",t))}function kg(e){var t=e.state,n=e.options,r=n.gpuAcceleration,s=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,l=n.roundOffsets,c=l===void 0?!0:l,d={placement:$t(t.placement),variation:rr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ya(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ya(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const bo={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:kg,data:{}};var fs={passive:!0};function Fg(e){var t=e.state,n=e.instance,r=e.options,s=r.scroll,o=s===void 0?!0:s,a=r.resize,l=a===void 0?!0:a,c=rt(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&d.forEach(function(f){f.addEventListener("scroll",n.update,fs)}),l&&c.addEventListener("resize",n.update,fs),function(){o&&d.forEach(function(f){f.removeEventListener("scroll",n.update,fs)}),l&&c.removeEventListener("resize",n.update,fs)}}const Ao={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Fg,data:{}};var Vg={left:"right",right:"left",bottom:"top",top:"bottom"};function Es(e){return e.replace(/left|right|bottom|top/g,function(t){return Vg[t]})}var Hg={start:"end",end:"start"};function qa(e){return e.replace(/start|end/g,function(t){return Hg[t]})}function To(e){var t=rt(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function wo(e){return nr(ln(e)).left+To(e).scrollLeft}function Bg(e,t){var n=rt(e),r=ln(e),s=n.visualViewport,o=r.clientWidth,a=r.clientHeight,l=0,c=0;if(s){o=s.width,a=s.height;var d=$c();(d||!d&&t==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:o,height:a,x:l+wo(e),y:c}}function jg(e){var t,n=ln(e),r=To(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=An(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),a=An(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),l=-r.scrollLeft+wo(e),c=-r.scrollTop;return Ht(s||n).direction==="rtl"&&(l+=An(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function So(e){var t=Ht(e),n=t.overflow,r=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+r)}function Mc(e){return["html","body","#document"].indexOf(Rt(e))>=0?e.ownerDocument.body:ut(e)&&So(e)?e:Mc(Bs(e))}function Or(e,t){var n;t===void 0&&(t=[]);var r=Mc(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),o=rt(r),a=s?[o].concat(o.visualViewport||[],So(r)?r:[]):r,l=t.concat(a);return s?l:l.concat(Or(Bs(a)))}function Gi(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Kg(e,t){var n=nr(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function za(e,t,n){return t===go?Gi(Bg(e,n)):xn(t)?Kg(t,n):Gi(jg(ln(e)))}function Wg(e){var t=Or(Bs(e)),n=["absolute","fixed"].indexOf(Ht(e).position)>=0,r=n&&ut(e)?Yr(e):e;return xn(r)?t.filter(function(s){return xn(s)&&Rc(s,r)&&Rt(s)!=="body"}):[]}function Ug(e,t,n,r){var s=t==="clippingParents"?Wg(e):[].concat(t),o=[].concat(s,[n]),a=o[0],l=o.reduce(function(c,d){var f=za(e,d,r);return c.top=An(f.top,c.top),c.right=Os(f.right,c.right),c.bottom=Os(f.bottom,c.bottom),c.left=An(f.left,c.left),c},za(e,a,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function kc(e){var t=e.reference,n=e.element,r=e.placement,s=r?$t(r):null,o=r?rr(r):null,a=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,c;switch(s){case qe:c={x:a,y:t.y-n.height};break;case tt:c={x:a,y:t.y+t.height};break;case nt:c={x:t.x+t.width,y:l};break;case ze:c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}var d=s?Eo(s):null;if(d!=null){var f=d==="y"?"height":"width";switch(o){case On:c[d]=c[d]-(t[f]/2-n[f]/2);break;case er:c[d]=c[d]+(t[f]/2-n[f]/2);break}}return c}function sr(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,l=n.boundary,c=l===void 0?vc:l,d=n.rootBoundary,f=d===void 0?go:d,h=n.elementContext,p=h===void 0?Wn:h,_=n.altBoundary,O=_===void 0?!1:_,A=n.padding,I=A===void 0?0:A,k=Dc(typeof I!="number"?I:Lc(I,dr)),B=p===Wn?yc:Wn,F=e.rects.popper,M=e.elements[O?B:p],b=Ug(xn(M)?M:M.contextElement||ln(e.elements.popper),c,f,a),E=nr(e.elements.reference),x=kc({reference:E,element:F,placement:s}),T=Gi(Object.assign({},F,x)),w=p===Wn?T:E,S={top:b.top-w.top+k.top,bottom:w.bottom-b.bottom+k.bottom,left:b.left-w.left+k.left,right:w.right-b.right+k.right},W=e.modifiersData.offset;if(p===Wn&&W){var j=W[s];Object.keys(S).forEach(function(te){var he=[nt,tt].indexOf(te)>=0?1:-1,me=[qe,tt].indexOf(te)>=0?"y":"x";S[te]+=j[me]*he})}return S}function Gg(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=n.boundary,o=n.rootBoundary,a=n.padding,l=n.flipVariations,c=n.allowedAutoPlacements,d=c===void 0?mo:c,f=rr(r),h=f?l?Wi:Wi.filter(function(O){return rr(O)===f}):dr,p=h.filter(function(O){return d.indexOf(O)>=0});p.length===0&&(p=h);var _=p.reduce(function(O,A){return O[A]=sr(e,{placement:A,boundary:s,rootBoundary:o,padding:a})[$t(A)],O},{});return Object.keys(_).sort(function(O,A){return _[O]-_[A]})}function Yg(e){if($t(e)===Hs)return[];var t=Es(e);return[qa(e),t,qa(t)]}function qg(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var s=n.mainAxis,o=s===void 0?!0:s,a=n.altAxis,l=a===void 0?!0:a,c=n.fallbackPlacements,d=n.padding,f=n.boundary,h=n.rootBoundary,p=n.altBoundary,_=n.flipVariations,O=_===void 0?!0:_,A=n.allowedAutoPlacements,I=t.options.placement,k=$t(I),B=k===I,F=c||(B||!O?[Es(I)]:Yg(I)),M=[I].concat(F).reduce(function(de,_e){return de.concat($t(_e)===Hs?Gg(t,{placement:_e,boundary:f,rootBoundary:h,padding:d,flipVariations:O,allowedAutoPlacements:A}):_e)},[]),b=t.rects.reference,E=t.rects.popper,x=new Map,T=!0,w=M[0],S=0;S=0,me=he?"width":"height",oe=sr(t,{placement:W,boundary:f,rootBoundary:h,altBoundary:p,padding:d}),$=he?te?nt:ze:te?tt:qe;b[me]>E[me]&&($=Es($));var U=Es($),G=[];if(o&&G.push(oe[j]<=0),l&&G.push(oe[$]<=0,oe[U]<=0),G.every(function(de){return de})){w=W,T=!1;break}x.set(W,G)}if(T)for(var Q=O?3:1,re=function(_e){var Ee=M.find(function(D){var z=x.get(D);if(z)return z.slice(0,_e).every(function(Z){return Z})});if(Ee)return w=Ee,"break"},ne=Q;ne>0;ne--){var se=re(ne);if(se==="break")break}t.placement!==w&&(t.modifiersData[r]._skip=!0,t.placement=w,t.reset=!0)}}const Fc={name:"flip",enabled:!0,phase:"main",fn:qg,requiresIfExists:["offset"],data:{_skip:!1}};function Xa(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Qa(e){return[qe,nt,tt,ze].some(function(t){return e[t]>=0})}function zg(e){var t=e.state,n=e.name,r=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,a=sr(t,{elementContext:"reference"}),l=sr(t,{altBoundary:!0}),c=Xa(a,r),d=Xa(l,s,o),f=Qa(c),h=Qa(d);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":h})}const Vc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:zg};function Xg(e,t,n){var r=$t(e),s=[ze,qe].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],l=o[1];return a=a||0,l=(l||0)*s,[ze,nt].indexOf(r)>=0?{x:l,y:a}:{x:a,y:l}}function Qg(e){var t=e.state,n=e.options,r=e.name,s=n.offset,o=s===void 0?[0,0]:s,a=mo.reduce(function(f,h){return f[h]=Xg(h,t.rects,o),f},{}),l=a[t.placement],c=l.x,d=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=a}const Hc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Qg};function Jg(e){var t=e.state,n=e.name;t.modifiersData[n]=kc({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const Co={name:"popperOffsets",enabled:!0,phase:"read",fn:Jg,data:{}};function Zg(e){return e==="x"?"y":"x"}function em(e){var t=e.state,n=e.options,r=e.name,s=n.mainAxis,o=s===void 0?!0:s,a=n.altAxis,l=a===void 0?!1:a,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.padding,p=n.tether,_=p===void 0?!0:p,O=n.tetherOffset,A=O===void 0?0:O,I=sr(t,{boundary:c,rootBoundary:d,padding:h,altBoundary:f}),k=$t(t.placement),B=rr(t.placement),F=!B,M=Eo(k),b=Zg(M),E=t.modifiersData.popperOffsets,x=t.rects.reference,T=t.rects.popper,w=typeof A=="function"?A(Object.assign({},t.rects,{placement:t.placement})):A,S=typeof w=="number"?{mainAxis:w,altAxis:w}:Object.assign({mainAxis:0,altAxis:0},w),W=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,j={x:0,y:0};if(E){if(o){var te,he=M==="y"?qe:ze,me=M==="y"?tt:nt,oe=M==="y"?"height":"width",$=E[M],U=$+I[he],G=$-I[me],Q=_?-T[oe]/2:0,re=B===On?x[oe]:T[oe],ne=B===On?-T[oe]:-x[oe],se=t.elements.arrow,de=_&&se?yo(se):{width:0,height:0},_e=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Ic(),Ee=_e[he],D=_e[me],z=Cr(0,x[oe],de[oe]),Z=F?x[oe]/2-Q-z-Ee-S.mainAxis:re-z-Ee-S.mainAxis,ie=F?-x[oe]/2+Q+z+D+S.mainAxis:ne+z+D+S.mainAxis,R=t.elements.arrow&&Yr(t.elements.arrow),g=R?M==="y"?R.clientTop||0:R.clientLeft||0:0,v=(te=W?.[M])!=null?te:0,C=$+Z-v-g,L=$+ie-v,H=Cr(_?Os(U,C):U,$,_?An(G,L):G);E[M]=H,j[M]=H-$}if(l){var V,Y=M==="x"?qe:ze,X=M==="x"?tt:nt,N=E[b],K=b==="y"?"height":"width",le=N+I[Y],ee=N-I[X],ae=[qe,ze].indexOf(k)!==-1,ue=(V=W?.[b])!=null?V:0,pe=ae?le:N-x[K]-T[K]-ue+S.altAxis,be=ae?N+x[K]+T[K]-ue-S.altAxis:ee,ve=_&&ae?Rg(pe,N,be):Cr(_?pe:le,N,_?be:ee);E[b]=ve,j[b]=ve-N}t.modifiersData[r]=j}}const Bc={name:"preventOverflow",enabled:!0,phase:"main",fn:em,requiresIfExists:["offset"]};function tm(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function nm(e){return e===rt(e)||!ut(e)?To(e):tm(e)}function rm(e){var t=e.getBoundingClientRect(),n=tr(t.width)/e.offsetWidth||1,r=tr(t.height)/e.offsetHeight||1;return n!==1||r!==1}function sm(e,t,n){n===void 0&&(n=!1);var r=ut(t),s=ut(t)&&rm(t),o=ln(t),a=nr(e,s,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((Rt(t)!=="body"||So(o))&&(l=nm(t)),ut(t)?(c=nr(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=wo(o))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function im(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function s(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(l){if(!n.has(l)){var c=t.get(l);c&&s(c)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||s(o)}),r}function om(e){var t=im(e);return Nc.reduce(function(n,r){return n.concat(t.filter(function(s){return s.phase===r}))},[])}function am(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function lm(e){var t=e.reduce(function(n,r){var s=n[r.name];return n[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Ja={placement:"bottom",modifiers:[],strategy:"absolute"};function Za(){for(var e=arguments.length,t=new Array(e),n=0;ne&&e.exact?SE:new RegExp(`(?:${tn(e)}${_t}${tn(e)})|(?:${tn(e)}${oi}${tn(e)})`,"g");ai.v4=e=>e&&e.exact?CE:new RegExp(`${tn(e)}${_t}${tn(e)}`,"g");ai.v6=e=>e&&e.exact?OE:new RegExp(`${tn(e)}${oi}${tn(e)}`,"g");const jf={exact:!1},Kf=`${ai.v4().source}\\/(3[0-2]|[12]?[0-9])`,Wf=`${ai.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,xE=new RegExp(`^${Kf}$`),NE=new RegExp(`^${Wf}$`),$E=({exact:e}=jf)=>e?xE:new RegExp(Kf,"g"),RE=({exact:e}=jf)=>e?NE:new RegExp(Wf,"g"),Uf=$E({exact:!0}),Gf=RE({exact:!0}),ta=e=>Uf.test(e)?4:Gf.test(e)?6:0;ta.v4=e=>Uf.test(e);ta.v6=e=>Gf.test(e);var Bi={},ji,hc;function IE(){return hc||(hc=1,ji={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),ji}var Ki,pc;function DE(){if(pc)return Ki;pc=1;var e={px:{px:1,cm:96/2.54,mm:96/25.4,in:96,pt:96/72,pc:16},cm:{px:2.54/96,cm:1,mm:.1,in:2.54,pt:2.54/72,pc:2.54/6},mm:{px:25.4/96,cm:10,mm:1,in:25.4,pt:25.4/72,pc:25.4/6},in:{px:1/96,cm:1/2.54,mm:1/25.4,in:1,pt:1/72,pc:1/6},pt:{px:.75,cm:72/2.54,mm:72/25.4,in:72,pt:1,pc:12},pc:{px:6/96,cm:6/2.54,mm:6/25.4,in:6,pt:6/72,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:400/360,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:1/360,grad:1/400,rad:.5/Math.PI,turn:1},s:{s:1,ms:1/1e3},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:1/1e3,kHz:1},dpi:{dpi:1,dpcm:1/2.54,dppx:1/96},dpcm:{dpi:2.54,dpcm:1,dppx:2.54/96},dppx:{dpi:96,dpcm:96/2.54,dppx:1}};return Ki=function(t,n,r,s){if(!e.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!e[r].hasOwnProperty(n))throw new Error("Cannot convert from "+n+" to "+r);var o=e[r][n]*t;return s!==!1?(s=Math.pow(10,parseInt(s)||5),Math.round(o*s)/s):o},Ki}var gc;function LE(){return gc||(gc=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.fromRgba=T,e.fromRgb=w,e.fromHsla=S,e.fromHsl=W,e.fromString=me,e.default=void 0;var t=r(IE()),n=r(DE());function r($){return $&&$.__esModule?$:{default:$}}function s($,U){if(!($ instanceof U))throw new TypeError("Cannot call a class as a function")}function o($,U){for(var G=0;G$.length)&&(U=$.length);for(var G=0,Q=new Array(U);G"u"||!(Symbol.iterator in Object($)))){var G=[],Q=!0,re=!1,ne=void 0;try{for(var se=$[Symbol.iterator](),de;!(Q=(de=se.next()).done)&&(G.push(de.value),!(U&&G.length===U));Q=!0);}catch(_e){re=!0,ne=_e}finally{try{!Q&&se.return!=null&&se.return()}finally{if(re)throw ne}}return G}}function p($){if(Array.isArray($))return $}var _=/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?$/,O=/^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])?$/,A=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,I=/^rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,k=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,B=/^rgba?\(\s*(\d+%)\s+(\d+%)\s+(\d+%)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,F=/^hsla?\(\s*(\d+)(deg|rad|grad|turn)?\s*,\s*(\d+)%\s*,\s*(\d+)%(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/;function M($,U){return $.indexOf(U)>-1}function b($,U,G){var Q=$/255,re=U/255,ne=G/255,se=Math.max(Q,re,ne),de=Math.min(Q,re,ne),_e=se-de,Ee=(se+de)/2;if(_e===0)return[0,0,Ee*100];var D=_e/(1-Math.abs(2*Ee-1)),z=function(){switch(se){case Q:return(re-ne)/_e%6;case re:return(ne-Q)/_e+2;default:return(Q-re)/_e+4}}();return[z*60,D*100,Ee*100]}function E($,U,G){var Q=$/60,re=U/100,ne=G/100,se=(1-Math.abs(2*ne-1))*re,de=se*(1-Math.abs(Q%2-1)),_e=ne-se/2,Ee=function(){return Q<1?[se,de,0]:Q<2?[de,se,0]:Q<3?[0,se,de]:Q<4?[0,de,se]:Q<5?[de,0,se]:[se,0,de]}(),D=l(Ee,3),z=D[0],Z=D[1],ie=D[2];return[(z+_e)*255,(Z+_e)*255,(ie+_e)*255]}var x=function(){function $(U){var G=l(U,4),Q=G[0],re=G[1],ne=G[2],se=G[3];s(this,$),this.values=[Math.max(Math.min(parseInt(Q,10),255),0),Math.max(Math.min(parseInt(re,10),255),0),Math.max(Math.min(parseInt(ne,10),255),0),se==null?1:Math.max(Math.min(parseFloat(se),255),0)]}return a($,[{key:"toRgbString",value:function(){var G=l(this.values,4),Q=G[0],re=G[1],ne=G[2],se=G[3];return se===1?"rgb(".concat(Q,", ").concat(re,", ").concat(ne,")"):"rgba(".concat(Q,", ").concat(re,", ").concat(ne,", ").concat(se,")")}},{key:"toHslString",value:function(){var G=this.toHslaArray(),Q=l(G,4),re=Q[0],ne=Q[1],se=Q[2],de=Q[3];return de===1?"hsl(".concat(re,", ").concat(ne,"%, ").concat(se,"%)"):"hsla(".concat(re,", ").concat(ne,"%, ").concat(se,"%, ").concat(de,")")}},{key:"toHexString",value:function(){var G=l(this.values,4),Q=G[0],re=G[1],ne=G[2],se=G[3];return Q=Number(Q).toString(16).padStart(2,"0"),re=Number(re).toString(16).padStart(2,"0"),ne=Number(ne).toString(16).padStart(2,"0"),se=se<1?parseInt(se*255,10).toString(16).padStart(2,"0"):"","#".concat(Q).concat(re).concat(ne).concat(se)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var G=l(this.values,4),Q=G[0],re=G[1],ne=G[2],se=G[3],de=b(Q,re,ne),_e=l(de,3),Ee=_e[0],D=_e[1],z=_e[2];return[Ee,D,z,se]}}]),$}();function T($){var U=l($,4),G=U[0],Q=U[1],re=U[2],ne=U[3];return new x([G,Q,re,ne])}function w($){var U=l($,3),G=U[0],Q=U[1],re=U[2];return T([G,Q,re,1])}function S($){var U=l($,4),G=U[0],Q=U[1],re=U[2],ne=U[3],se=E(G,Q,re),de=l(se,3),_e=de[0],Ee=de[1],D=de[2];return T([_e,Ee,D,ne])}function W($){var U=l($,3),G=U[0],Q=U[1],re=U[2];return S([G,Q,re,1])}function j($){var U=_.exec($)||O.exec($),G=l(U,5),Q=G[1],re=G[2],ne=G[3],se=G[4];return Q=parseInt(Q.length<2?Q.repeat(2):Q,16),re=parseInt(re.length<2?re.repeat(2):re,16),ne=parseInt(ne.length<2?ne.repeat(2):ne,16),se=se&&(parseInt(se.length<2?se.repeat(2):se,16)/255).toPrecision(1)||1,T([Q,re,ne,se])}function te($){var U=A.exec($)||k.exec($)||I.exec($)||B.exec($),G=l(U,5),Q=G[1],re=G[2],ne=G[3],se=G[4];return Q=M(Q,"%")?parseInt(Q,10)*255/100:parseInt(Q,10),re=M(re,"%")?parseInt(re,10)*255/100:parseInt(re,10),ne=M(ne,"%")>0?parseInt(ne,10)*255/100:parseInt(ne,10),se=se===void 0?1:parseFloat(se)/(M(se,"%")?100:1),T([Q,re,ne,se])}function he($){var U=F.exec($),G=l(U,6),Q=G[1],re=G[2],ne=G[3],se=G[4],de=G[5];return re=re||"deg",Q=(0,n.default)(parseFloat(Q),re,"deg"),ne=parseFloat(ne),se=parseFloat(se),de=de===void 0?1:parseFloat(de)/(M(de,"%")?100:1),S([Q,ne,se,de])}function me($){return t.default[$]?w(t.default[$]):_.test($)||O.test($)?j($):A.test($)||k.test($)||I.test($)||B.test($)?te($):F.test($)?he($):null}var oe={fromString:me,fromRgb:w,fromRgba:T,fromHsl:W,fromHsla:S};e.default=oe}(Bi)),Bi}var PE=LE();const ME=Sf("WireguardConfigurationsStore",{state:()=>({Configurations:[],ConfigurationLoaded:!1,searchString:"",ConfigurationListInterval:void 0,Filter:{HiddenTags:[],ShowAllPeersWhenHiddenTags:!0},SortOptions:{Name:Je("Name"),Status:Je("Status"),"DataUsage.Total":Je("Total Usage")},CurrentSort:{key:"Name",order:"asc"},CurrentDisplay:"List",PeerScheduleJobs:{dropdowns:{Field:[{display:Je("Total Received"),value:"total_receive",unit:"GB",type:"number"},{display:Je("Total Sent"),value:"total_sent",unit:"GB",type:"number"},{display:Je("Total Usage"),value:"total_data",unit:"GB",type:"number"},{display:Je("Date"),value:"date",type:"date"}],Operator:[{display:Je("larger than"),value:"lgt"}],Action:[{display:Je("Restrict Peer"),value:"restrict"},{display:Je("Delete Peer"),value:"delete"},{display:Je("Reset Total Data Usage"),value:"reset_total_data_usage"}]}}}),getters:{sortConfigurations(){return[...this.Configurations].sort((e,t)=>this.CurrentSort.order==="desc"?this.dotNotation(e,this.CurrentSort.key)this.dotNotation(t,this.CurrentSort.key)?-1:0:this.dotNotation(e,this.CurrentSort.key)>this.dotNotation(t,this.CurrentSort.key)?1:this.dotNotation(e,this.CurrentSort.key){e.status&&(this.Configurations=e.data),this.ConfigurationLoaded=!0})},colorText(e){if(e){const t=PE.fromString(e);if(t){const n=t.toRgbaArray();return+((n[0]*299+n[1]*587+n[2]*114)/255e3).toFixed(2)>.5?"#000":"#fff"}}return"#ffffff"},dotNotation(e,t){let n=t.split(".").reduce((r,s)=>r&&r[s],e);return typeof n=="string"?n.toLowerCase():n},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return ta(e)!==0},checkWGKeyLength(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)}},persist:{pick:["CurrentSort","CurrentDisplay","Filter.ShowAllPeersWhenHiddenTags"]}}),kE=async()=>{let e=!1;return await Gr("/api/validateAuthentication",{},t=>{e=t.status}),e},li=lE({history:Fy(),scrollBehavior(){document.querySelector("main")!==null&&document.querySelector("main").scrollTo({top:0})},routes:[{name:"Index",path:"/",component:()=>Re(()=>import("./index-CS9Zp8p_.js"),__vite__mapDeps([0,1,2,3,4,5])),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>Re(()=>import("./configurationList-hQTdd0KW.js"),__vite__mapDeps([6,1,7,8,9,10])),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"settings",component:()=>Re(()=>import("./settings-CoChm88i.js"),__vite__mapDeps([11,12,1,13,3,14,15,16,17])),children:[{name:"WGDashboard Settings",path:"",component:()=>Re(()=>import("./wgdashboardSettings-3RfrzlK5.js"),__vite__mapDeps([18,1,13,3,14,15])),meta:{title:"WGDashboard Settings"}},{name:"Peers Settings",path:"peers_settings",component:()=>Re(()=>import("./peerDefaultSettings-BUOqWfwF.js"),__vite__mapDeps([19,1,12])),meta:{title:"Peers Default Settings"}},{name:"WireGuard Configuration Settings",path:"wireguard_settings",component:()=>Re(()=>import("./wireguardConfigurationSettings-HGJPkYyO.js"),__vite__mapDeps([20,16,1,17])),meta:{title:"WireGuard Configuration Settings"}}],meta:{title:"Settings"}},{path:"ping",name:"Ping",component:()=>Re(()=>import("./ping-DEMEwZfI.js"),__vite__mapDeps([21,1,22,23,24,25,26]))},{path:"traceroute",name:"Traceroute",component:()=>Re(()=>import("./traceroute-D0BywLrP.js"),__vite__mapDeps([27,22,23,24,25,1,28]))},{name:"New Configuration",path:"new_configuration",component:()=>Re(()=>import("./newConfiguration-CmCSMTnr.js"),__vite__mapDeps([29,30,1,31,32])),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"restore_configuration",component:()=>Re(()=>import("./restoreConfiguration-H5ju5_ix.js"),__vite__mapDeps([33,1,3,7,30,34])),meta:{title:"Restore Configuration"}},{name:"System Status",path:"system_status",component:()=>Re(()=>import("./systemStatus-jNzJNFlD.js"),__vite__mapDeps([35,1,8,9,36,3,37])),meta:{title:"System Status"}},{name:"Clients",path:"clients",component:()=>Re(()=>import("./clients-D7IlE2fP.js"),__vite__mapDeps([38,39,1,40])),meta:{title:"Clients"},children:[{name:"Client Viewer",path:":id",component:()=>Re(()=>import("./clientViewer-7MUereWv.js"),__vite__mapDeps([41,39,1,42])),meta:{title:"Clients"}}]},{name:"Webhooks",path:"webhooks",component:()=>Re(()=>import("./dashboardWebHooks-CM8M01wM.js"),__vite__mapDeps([43,1,44])),meta:{title:"Webhooks"}},{name:"Configuration",path:"configuration/:id",component:()=>Re(()=>import("./configuration-DJLpD0qL.js"),[]),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>Re(()=>import("./peerList-CcSkTACy.js"),__vite__mapDeps([45,7,1,36,3,23,24,46]))}]}]},{path:"/signin",component:()=>Re(()=>import("./signin-CCqyeuTK.js"),__vite__mapDeps([47,2,1,3,4,48])),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>Re(()=>import("./setup-D70wX31Y.js"),__vite__mapDeps([49,1])),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>Re(()=>import("./totp-Bom_Rztd.js"),__vite__mapDeps([50,51,31,1])),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>Re(()=>import("./share-Clo4DEcY.js"),__vite__mapDeps([52,51,31,1,53])),meta:{title:"Share",hideTopNav:!0}}]});li.beforeEach(async(e,t,n)=>{const r=ME(),s=In();e.meta.title?document.title=e.meta.title+" | WGDashboard":e.params.id?document.title=e.params.id+" | WGDashboard":document.title="WGDashboard",s.ShowNavBar=!1,document.querySelector(".loadingBar").classList.remove("loadingDone"),document.querySelector(".loadingBar").classList.add("loading"),e.meta.requiresAuth?s.getActiveCrossServer()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),n()):await kE()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),s.Redirect=void 0,n()):(s.Redirect=e,n("/signin"),s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning")):n()});li.afterEach(()=>{document.querySelector(".loadingBar").classList.remove("loading"),document.querySelector(".loadingBar").classList.add("loadingDone")});const FE=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,VE=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,HE=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function BE(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){jE(e);return}return t}function jE(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function KE(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!HE.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(FE.test(e)||VE.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,BE)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}function WE(e,t){if(e==null)return;let n=e;for(let r=0;r1&&(t=na(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function Yf(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const r in e)n[r]=e[r];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const r in e)n[r]=e[r];return n}return na(e,Yf(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function qf(e,t){return t.map(n=>n.split(".")).map(n=>[n,WE(e,n)]).filter(n=>n[1]!==void 0).reduce((n,r)=>na(n,r[1],r[0]),{})}function zf(e,t){return t.map(n=>n.split(".")).reduce((n,r)=>Yf(n,r),e)}function mc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a,beforeHydrate:l,afterHydrate:c},d,f=!0){try{f&&l?.(d);const h=t.getItem(r);if(h){const p=n.deserialize(h),_=o?qf(p,o):p,O=a?zf(_,a):_;e.$patch(O)}f&&c?.(d)}catch(h){s&&console.error("[pinia-plugin-persistedstate]",h)}}function _c(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a}){try{const l=o?qf(e,o):e,c=a?zf(l,a):l,d=n.serialize(c);t.setItem(r,d)}catch(l){s&&console.error("[pinia-plugin-persistedstate]",l)}}function UE(e,t,n){const{pinia:r,store:s,options:{persist:o=n}}=e;if(!o)return;if(!(s.$id in r.state.value)){const c=r._s.get(s.$id.replace("__hot:",""));c&&Promise.resolve().then(()=>c.$persist());return}const l=(Array.isArray(o)?o:o===!0?[{}]:[o]).map(t);s.$hydrate=({runHooks:c=!0}={})=>{l.forEach(d=>{mc(s,d,e,c)})},s.$persist=()=>{l.forEach(c=>{_c(s.$state,c)})},l.forEach(c=>{mc(s,c,e),s.$subscribe((d,f)=>_c(f,c),{detached:!0})})}function GE(e={}){return function(t){UE(t,n=>({key:(e.key?e.key:r=>r)(n.key??t.store.$id),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:r=>JSON.stringify(r),deserialize:r=>KE(r)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate,afterHydrate:n.afterHydrate,pick:n.pick,omit:n.omit}),e.auto??!1)}}var YE=GE();const ra=Qv(AE);ra.use(li);const sa=ey();sa.use(YE);sa.use(({store:e})=>{e.$router=Xs(li)});ra.use(sa);ra.mount("#app");export{Vo as $,uc as A,jo as B,Uv as C,In as D,Ob as E,Ye as F,Je as G,Cn as H,bb as I,zr as J,$b as K,uE as L,Xc as M,Rm as N,cb as O,pb as P,Re as Q,ab as R,X_ as S,wb as T,hu as U,Jo as V,ME as W,mv as X,Zs as Y,ye as Z,gE as _,qn as a,Qs as a0,Sb as a1,hb as a2,Nb as a3,gb as a4,Cb as a5,Bf as a6,Sf as a7,yb as a8,ub as a9,_b as aa,vb as ab,lb as ac,sv as ad,av as ae,Ne as af,db as ag,gr as ah,xb as ai,Eb as aj,Lu as ak,Ab as al,Oe as b,_s as c,ov as d,iv as e,xt as f,Gr as g,y_ as h,mb as i,Kr as j,wl as k,E_ as l,fb as m,qs as n,Wo as o,Tb as p,ct as q,wn as r,Ys as s,$m as t,Ze as u,Kv as v,Gn as w,Mu as x,Hl as y,Rb as z}; +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function d($,U){if($){if(typeof $=="string")return f($,U);var G=Object.prototype.toString.call($).slice(8,-1);if(G==="Object"&&$.constructor&&(G=$.constructor.name),G==="Map"||G==="Set")return Array.from($);if(G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G))return f($,U)}}function f($,U){(U==null||U>$.length)&&(U=$.length);for(var G=0,Q=new Array(U);G"u"||!(Symbol.iterator in Object($)))){var G=[],Q=!0,re=!1,ne=void 0;try{for(var se=$[Symbol.iterator](),de;!(Q=(de=se.next()).done)&&(G.push(de.value),!(U&&G.length===U));Q=!0);}catch(_e){re=!0,ne=_e}finally{try{!Q&&se.return!=null&&se.return()}finally{if(re)throw ne}}return G}}function p($){if(Array.isArray($))return $}var _=/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?$/,O=/^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])?$/,A=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,I=/^rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,k=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,B=/^rgba?\(\s*(\d+%)\s+(\d+%)\s+(\d+%)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,F=/^hsla?\(\s*(\d+)(deg|rad|grad|turn)?\s*,\s*(\d+)%\s*,\s*(\d+)%(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/;function M($,U){return $.indexOf(U)>-1}function b($,U,G){var Q=$/255,re=U/255,ne=G/255,se=Math.max(Q,re,ne),de=Math.min(Q,re,ne),_e=se-de,Ee=(se+de)/2;if(_e===0)return[0,0,Ee*100];var D=_e/(1-Math.abs(2*Ee-1)),z=function(){switch(se){case Q:return(re-ne)/_e%6;case re:return(ne-Q)/_e+2;default:return(Q-re)/_e+4}}();return[z*60,D*100,Ee*100]}function E($,U,G){var Q=$/60,re=U/100,ne=G/100,se=(1-Math.abs(2*ne-1))*re,de=se*(1-Math.abs(Q%2-1)),_e=ne-se/2,Ee=function(){return Q<1?[se,de,0]:Q<2?[de,se,0]:Q<3?[0,se,de]:Q<4?[0,de,se]:Q<5?[de,0,se]:[se,0,de]}(),D=l(Ee,3),z=D[0],Z=D[1],ie=D[2];return[(z+_e)*255,(Z+_e)*255,(ie+_e)*255]}var x=function(){function $(U){var G=l(U,4),Q=G[0],re=G[1],ne=G[2],se=G[3];s(this,$),this.values=[Math.max(Math.min(parseInt(Q,10),255),0),Math.max(Math.min(parseInt(re,10),255),0),Math.max(Math.min(parseInt(ne,10),255),0),se==null?1:Math.max(Math.min(parseFloat(se),255),0)]}return a($,[{key:"toRgbString",value:function(){var G=l(this.values,4),Q=G[0],re=G[1],ne=G[2],se=G[3];return se===1?"rgb(".concat(Q,", ").concat(re,", ").concat(ne,")"):"rgba(".concat(Q,", ").concat(re,", ").concat(ne,", ").concat(se,")")}},{key:"toHslString",value:function(){var G=this.toHslaArray(),Q=l(G,4),re=Q[0],ne=Q[1],se=Q[2],de=Q[3];return de===1?"hsl(".concat(re,", ").concat(ne,"%, ").concat(se,"%)"):"hsla(".concat(re,", ").concat(ne,"%, ").concat(se,"%, ").concat(de,")")}},{key:"toHexString",value:function(){var G=l(this.values,4),Q=G[0],re=G[1],ne=G[2],se=G[3];return Q=Number(Q).toString(16).padStart(2,"0"),re=Number(re).toString(16).padStart(2,"0"),ne=Number(ne).toString(16).padStart(2,"0"),se=se<1?parseInt(se*255,10).toString(16).padStart(2,"0"):"","#".concat(Q).concat(re).concat(ne).concat(se)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var G=l(this.values,4),Q=G[0],re=G[1],ne=G[2],se=G[3],de=b(Q,re,ne),_e=l(de,3),Ee=_e[0],D=_e[1],z=_e[2];return[Ee,D,z,se]}}]),$}();function T($){var U=l($,4),G=U[0],Q=U[1],re=U[2],ne=U[3];return new x([G,Q,re,ne])}function w($){var U=l($,3),G=U[0],Q=U[1],re=U[2];return T([G,Q,re,1])}function S($){var U=l($,4),G=U[0],Q=U[1],re=U[2],ne=U[3],se=E(G,Q,re),de=l(se,3),_e=de[0],Ee=de[1],D=de[2];return T([_e,Ee,D,ne])}function W($){var U=l($,3),G=U[0],Q=U[1],re=U[2];return S([G,Q,re,1])}function j($){var U=_.exec($)||O.exec($),G=l(U,5),Q=G[1],re=G[2],ne=G[3],se=G[4];return Q=parseInt(Q.length<2?Q.repeat(2):Q,16),re=parseInt(re.length<2?re.repeat(2):re,16),ne=parseInt(ne.length<2?ne.repeat(2):ne,16),se=se&&(parseInt(se.length<2?se.repeat(2):se,16)/255).toPrecision(1)||1,T([Q,re,ne,se])}function te($){var U=A.exec($)||k.exec($)||I.exec($)||B.exec($),G=l(U,5),Q=G[1],re=G[2],ne=G[3],se=G[4];return Q=M(Q,"%")?parseInt(Q,10)*255/100:parseInt(Q,10),re=M(re,"%")?parseInt(re,10)*255/100:parseInt(re,10),ne=M(ne,"%")>0?parseInt(ne,10)*255/100:parseInt(ne,10),se=se===void 0?1:parseFloat(se)/(M(se,"%")?100:1),T([Q,re,ne,se])}function he($){var U=F.exec($),G=l(U,6),Q=G[1],re=G[2],ne=G[3],se=G[4],de=G[5];return re=re||"deg",Q=(0,n.default)(parseFloat(Q),re,"deg"),ne=parseFloat(ne),se=parseFloat(se),de=de===void 0?1:parseFloat(de)/(M(de,"%")?100:1),S([Q,ne,se,de])}function me($){return t.default[$]?w(t.default[$]):_.test($)||O.test($)?j($):A.test($)||k.test($)||I.test($)||B.test($)?te($):F.test($)?he($):null}var oe={fromString:me,fromRgb:w,fromRgba:T,fromHsl:W,fromHsla:S};e.default=oe}(Bi)),Bi}var PE=LE();const ME=Sf("WireguardConfigurationsStore",{state:()=>({Configurations:[],ConfigurationLoaded:!1,searchString:"",ConfigurationListInterval:void 0,Filter:{HiddenTags:[],ShowAllPeersWhenHiddenTags:!0},SortOptions:{Name:Je("Name"),Status:Je("Status"),"DataUsage.Total":Je("Total Usage")},CurrentSort:{key:"Name",order:"asc"},CurrentDisplay:"List",PeerScheduleJobs:{dropdowns:{Field:[{display:Je("Total Received"),value:"total_receive",unit:"GB",type:"number"},{display:Je("Total Sent"),value:"total_sent",unit:"GB",type:"number"},{display:Je("Total Usage"),value:"total_data",unit:"GB",type:"number"},{display:Je("Date"),value:"date",type:"date"}],Operator:[{display:Je("larger than"),value:"lgt"}],Action:[{display:Je("Restrict Peer"),value:"restrict"},{display:Je("Delete Peer"),value:"delete"},{display:Je("Reset Total Data Usage"),value:"reset_total_data_usage"}]}}}),getters:{sortConfigurations(){return[...this.Configurations].sort((e,t)=>this.CurrentSort.order==="desc"?this.dotNotation(e,this.CurrentSort.key)this.dotNotation(t,this.CurrentSort.key)?-1:0:this.dotNotation(e,this.CurrentSort.key)>this.dotNotation(t,this.CurrentSort.key)?1:this.dotNotation(e,this.CurrentSort.key){e.status&&(this.Configurations=e.data),this.ConfigurationLoaded=!0})},colorText(e){if(e){const t=PE.fromString(e);if(t){const n=t.toRgbaArray();return+((n[0]*299+n[1]*587+n[2]*114)/255e3).toFixed(2)>.5?"#000":"#fff"}}return"#ffffff"},dotNotation(e,t){let n=t.split(".").reduce((r,s)=>r&&r[s],e);return typeof n=="string"?n.toLowerCase():n},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return ta(e)!==0},checkWGKeyLength(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)}},persist:{pick:["CurrentSort","CurrentDisplay","Filter.ShowAllPeersWhenHiddenTags"]}}),kE=async()=>{let e=!1;return await Gr("/api/validateAuthentication",{},t=>{e=t.status}),e},li=lE({history:Fy(),scrollBehavior(){document.querySelector("main")!==null&&document.querySelector("main").scrollTo({top:0})},routes:[{name:"Index",path:"/",component:()=>Re(()=>import("./index-C-epBlv_.js"),__vite__mapDeps([0,1,2,3,4,5])),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>Re(()=>import("./configurationList-D7EdousE.js"),__vite__mapDeps([6,1,7,8,9,10])),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"settings",component:()=>Re(()=>import("./settings-CRSDCN7L.js"),__vite__mapDeps([11,12,1,13,3,14,15,16,17])),children:[{name:"WGDashboard Settings",path:"",component:()=>Re(()=>import("./wgdashboardSettings-CHYv-Cz_.js"),__vite__mapDeps([18,1,13,3,14,15])),meta:{title:"WGDashboard Settings"}},{name:"Peers Settings",path:"peers_settings",component:()=>Re(()=>import("./peerDefaultSettings-CX_FkPKH.js"),__vite__mapDeps([19,1,12])),meta:{title:"Peers Default Settings"}},{name:"WireGuard Configuration Settings",path:"wireguard_settings",component:()=>Re(()=>import("./wireguardConfigurationSettings-FwCY-ehA.js"),__vite__mapDeps([20,16,1,17])),meta:{title:"WireGuard Configuration Settings"}}],meta:{title:"Settings"}},{path:"ping",name:"Ping",component:()=>Re(()=>import("./ping-DS9FytFq.js"),__vite__mapDeps([21,1,22,23,24,25,26]))},{path:"traceroute",name:"Traceroute",component:()=>Re(()=>import("./traceroute-DzVtw1iM.js"),__vite__mapDeps([27,22,23,24,25,1,28]))},{name:"New Configuration",path:"new_configuration",component:()=>Re(()=>import("./newConfiguration-c8aZ26W-.js"),__vite__mapDeps([29,30,1,31,32])),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"restore_configuration",component:()=>Re(()=>import("./restoreConfiguration-Bqy8eC2K.js"),__vite__mapDeps([33,1,3,7,30,34])),meta:{title:"Restore Configuration"}},{name:"System Status",path:"system_status",component:()=>Re(()=>import("./systemStatus--DPdeCEb.js"),__vite__mapDeps([35,1,8,9,36,3,37])),meta:{title:"System Status"}},{name:"Clients",path:"clients",component:()=>Re(()=>import("./clients-CK5j-MUJ.js"),__vite__mapDeps([38,39,1,40])),meta:{title:"Clients"},children:[{name:"Client Viewer",path:":id",component:()=>Re(()=>import("./clientViewer-B-7p9bwx.js"),__vite__mapDeps([41,39,1,42])),meta:{title:"Clients"}}]},{name:"Webhooks",path:"webhooks",component:()=>Re(()=>import("./dashboardWebHooks-DbyBIABh.js"),__vite__mapDeps([43,1,44])),meta:{title:"Webhooks"}},{name:"Configuration",path:"configuration/:id",component:()=>Re(()=>import("./configuration-Dv_GGSLh.js"),[]),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>Re(()=>import("./peerList-BvR4xu_k.js"),__vite__mapDeps([45,7,1,36,3,23,24,46]))}]}]},{path:"/signin",component:()=>Re(()=>import("./signin-4-L-H3zJ.js"),__vite__mapDeps([47,2,1,3,4,48])),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>Re(()=>import("./setup-yhg8KxTU.js"),__vite__mapDeps([49,1])),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>Re(()=>import("./totp-B7gZYtYa.js"),__vite__mapDeps([50,51,31,1])),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>Re(()=>import("./share-rfnu988H.js"),__vite__mapDeps([52,51,31,1,53])),meta:{title:"Share",hideTopNav:!0}}]});li.beforeEach(async(e,t,n)=>{const r=ME(),s=In();e.meta.title?document.title=e.meta.title+" | WGDashboard":e.params.id?document.title=e.params.id+" | WGDashboard":document.title="WGDashboard",s.ShowNavBar=!1,document.querySelector(".loadingBar").classList.remove("loadingDone"),document.querySelector(".loadingBar").classList.add("loading"),e.meta.requiresAuth?s.getActiveCrossServer()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),n()):await kE()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),s.Redirect=void 0,n()):(s.Redirect=e,n("/signin"),s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning")):n()});li.afterEach(()=>{document.querySelector(".loadingBar").classList.remove("loading"),document.querySelector(".loadingBar").classList.add("loadingDone")});const FE=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,VE=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,HE=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function BE(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){jE(e);return}return t}function jE(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function KE(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!HE.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(FE.test(e)||VE.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,BE)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}function WE(e,t){if(e==null)return;let n=e;for(let r=0;r1&&(t=na(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function Yf(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const r in e)n[r]=e[r];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const r in e)n[r]=e[r];return n}return na(e,Yf(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function qf(e,t){return t.map(n=>n.split(".")).map(n=>[n,WE(e,n)]).filter(n=>n[1]!==void 0).reduce((n,r)=>na(n,r[1],r[0]),{})}function zf(e,t){return t.map(n=>n.split(".")).reduce((n,r)=>Yf(n,r),e)}function mc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a,beforeHydrate:l,afterHydrate:c},d,f=!0){try{f&&l?.(d);const h=t.getItem(r);if(h){const p=n.deserialize(h),_=o?qf(p,o):p,O=a?zf(_,a):_;e.$patch(O)}f&&c?.(d)}catch(h){s&&console.error("[pinia-plugin-persistedstate]",h)}}function _c(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a}){try{const l=o?qf(e,o):e,c=a?zf(l,a):l,d=n.serialize(c);t.setItem(r,d)}catch(l){s&&console.error("[pinia-plugin-persistedstate]",l)}}function UE(e,t,n){const{pinia:r,store:s,options:{persist:o=n}}=e;if(!o)return;if(!(s.$id in r.state.value)){const c=r._s.get(s.$id.replace("__hot:",""));c&&Promise.resolve().then(()=>c.$persist());return}const l=(Array.isArray(o)?o:o===!0?[{}]:[o]).map(t);s.$hydrate=({runHooks:c=!0}={})=>{l.forEach(d=>{mc(s,d,e,c)})},s.$persist=()=>{l.forEach(c=>{_c(s.$state,c)})},l.forEach(c=>{mc(s,c,e),s.$subscribe((d,f)=>_c(f,c),{detached:!0})})}function GE(e={}){return function(t){UE(t,n=>({key:(e.key?e.key:r=>r)(n.key??t.store.$id),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:r=>JSON.stringify(r),deserialize:r=>KE(r)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate,afterHydrate:n.afterHydrate,pick:n.pick,omit:n.omit}),e.auto??!1)}}var YE=GE();const ra=Qv(AE);ra.use(li);const sa=ey();sa.use(YE);sa.use(({store:e})=>{e.$router=Xs(li)});ra.use(sa);ra.mount("#app");export{Vo as $,uc as A,jo as B,Uv as C,In as D,Ob as E,Ye as F,Je as G,Cn as H,bb as I,zr as J,$b as K,uE as L,Xc as M,Rm as N,cb as O,pb as P,Re as Q,ab as R,X_ as S,wb as T,hu as U,Jo as V,ME as W,mv as X,Zs as Y,ye as Z,gE as _,qn as a,Qs as a0,Sb as a1,hb as a2,Nb as a3,gb as a4,Cb as a5,Bf as a6,Sf as a7,yb as a8,ub as a9,_b as aa,vb as ab,lb as ac,sv as ad,av as ae,Ne as af,db as ag,gr as ah,xb as ai,Eb as aj,Lu as ak,Ab as al,Oe as b,_s as c,ov as d,iv as e,xt as f,Gr as g,y_ as h,mb as i,Kr as j,wl as k,E_ as l,fb as m,qs as n,Wo as o,Tb as p,ct as q,wn as r,Ys as s,$m as t,Ze as u,Kv as v,Gn as w,Mu as x,Hl as y,Rb as z}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-CS9Zp8p_.js b/src/static/dist/WGDashboardAdmin/assets/index-C-epBlv_.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/index-CS9Zp8p_.js rename to src/static/dist/WGDashboardAdmin/assets/index-C-epBlv_.js index 3df09507..6d580f3b 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-CS9Zp8p_.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-C-epBlv_.js @@ -1 +1 @@ -import{r as w,o as L,c,a as t,b as s,d as h,e as v,t as b,f as a,_ as $,D as y,w as i,T as M,n as k,u as H,g as T,G as N,W as G,h as f,F as A,i as D,j as x,k as S,l as W,S as V}from"./index-mH92cJrc.js";import{L as m}from"./localeText-DSmP42vs.js";import{M as I}from"./message-BboFmGeA.js";import"./dayjs.min-BSByM7MH.js";const O={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},U={class:"container d-flex h-100 w-100"},j={class:"m-auto modal-dialog-centered dashboardModal"},z={class:"card rounded-3 shadow flex-grow-1"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},R={class:"mb-0"},F={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},q={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},E={class:"card-body d-flex gap-4 align-items-center"},J={class:"d-flex align-items-center"},P={class:"badge rounded-pill text-bg-primary ms-2"},Y={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},K={key:1},Q={class:"text-muted"},X={class:"card text-decoration-none",href:"https://docs.wgdashboard.dev/",target:"_blank"},Z={class:"card-body d-flex gap-4 align-items-center"},tt={class:"mb-0"},et={class:"text-muted"},st={__name:"helpModal",setup(l){const e=w(!0),g=w(void 0);return L(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(d=>d.json()).then(d=>{g.value=d,e.value=!1}).catch(()=>{e.value=!1})}),(d,n)=>(a(),c("div",O,[t("div",U,[t("div",j,[t("div",z,[t("div",B,[t("h4",R,[s(m,{t:"Help"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=r=>d.$emit("close"))})]),t("div",F,[t("a",q,[t("div",E,[n[3]||(n[3]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-discord"})],-1)),t("div",null,[t("div",J,[n[2]||(n[2]=t("h5",{class:"mb-0"}," Discord Server ",-1)),t("span",P,[e.value?(a(),c("span",Y)):h("",!0),g.value!==void 0&&!e.value?(a(),c("span",K,[n[1]||(n[1]=t("i",{class:"bi bi-person-fill me-2"},null,-1)),v(b(g.value.presence_count)+" Online ",1)])):h("",!0)])]),t("small",Q,[s(m,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),t("a",X,[t("div",Z,[n[4]||(n[4]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-hash"})],-1)),t("div",null,[t("h5",tt,[s(m,{t:"Official Documentation"})]),t("small",et,[s(m,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}},ot={key:"header",class:"shadow"},at={class:"p-3 d-flex gap-2 flex-column"},nt={class:"d-flex text-body"},it={class:"d-flex flex-column align-items-start gap-1"},lt={class:"mb-0"},rt={class:"mb-0"},dt={class:"list-group"},ct={href:"https://docs.wgdashboard.dev/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},ut={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},mt={__name:"agentModal",emits:["close"],setup(l,{emit:e}){const g=e,d=y();return(n,r)=>(a(),c("div",{class:k(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{enabled:H(d).HelpAgent.Enable}])},[s(M,{name:"agent-message"},{default:i(()=>[t("div",ot,[t("div",at,[t("div",nt,[t("div",it,[t("h5",lt,[s(m,{t:"Help"})])]),t("a",{role:"button",class:"ms-auto text-body",onClick:r[0]||(r[0]=o=>g("close"))},r[1]||(r[1]=[t("h5",{class:"mb-0"},[t("i",{class:"bi bi-x-lg"})],-1)]))]),t("p",rt,[s(m,{t:"You can visit our: "})]),t("div",dt,[t("a",ct,[r[2]||(r[2]=t("i",{class:"bi bi-book-fill"},null,-1)),s(m,{class:"ms-auto",t:"Official Documentation"})]),t("a",ut,[r[3]||(r[3]=t("i",{class:"bi bi-discord"},null,-1)),s(m,{class:"ms-auto",t:"Discord Server"})])])])])]),_:1})],2))}},gt=$(mt,[["__scopeId","data-v-f37f608d"]]),_t={name:"navbar",components:{HelpModal:st,LocaleText:m,AgentModal:gt},setup(){const l=G(),e=y();return{wireguardConfigurationsStore:l,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!1}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),await T("/api/getDashboardUpdate",{},l=>{l.status?(l.data&&(this.updateAvailable=!0,this.updateUrl=l.data),this.updateMessage=l.message):(this.updateMessage=N("Failed to check available update"),console.log(`Failed to get update: ${l.message}`))}),this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)}},ft=["data-bs-theme"],pt={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},vt={class:"sidebar-sticky"},bt={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},ht={key:0,class:"ms-auto"},xt={class:"nav flex-column px-2 gap-1"},Ct={class:"nav-item"},kt={class:"nav-item"},St={class:"nav-item"},$t={class:"nav-item"},yt={class:"nav-item"},wt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Mt={class:"nav flex-column px-2 gap-1"},At={class:"nav-item"},Dt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Lt={class:"nav flex-column px-2 gap-1"},Ht={class:"nav-item"},Tt={class:"nav-item"},Nt={class:"nav-item"},Gt={class:"nav flex-column px-2 mb-3"},Wt={class:"nav-item"},Vt={class:"nav-item",style:{"font-size":"0.8rem"}},It=["href"],Ot={class:"nav-link text-muted rounded-3"},Ut={key:1,class:"nav-link text-muted rounded-3"};function jt(l,e,g,d,n,r){const o=f("LocaleText"),u=f("RouterLink"),C=f("HelpModal"),p=f("AgentModal");return a(),c("div",{class:k(["col-md-3 col-lg-2 d-md-block p-2 navbar-container bg-transparent",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":d.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("nav",pt,[t("div",vt,[t("div",bt,[e[5]||(e[5]=t("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(a(),c("small",ht,[e[4]||(e[4]=t("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),v(b(r.getActiveCrossServer.host),1)])):h("",!0)]),t("ul",xt,[t("li",Ct,[s(u,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:i(()=>[e[6]||(e[6]=t("i",{class:"bi bi-house me-2"},null,-1)),s(o,{t:"Home"})]),_:1,__:[6]})]),t("li",kt,[s(u,{class:"nav-link rounded-3",to:"/settings","active-class":"active"},{default:i(()=>[e[7]||(e[7]=t("i",{class:"bi bi-gear me-2"},null,-1)),s(o,{t:"Settings"})]),_:1,__:[7]})]),t("li",St,[s(u,{class:"nav-link rounded-3",to:"/clients","active-class":"active"},{default:i(()=>[e[8]||(e[8]=t("i",{class:"bi bi-people me-2"},null,-1)),s(o,{t:"Clients"})]),_:1,__:[8]})]),t("li",$t,[s(u,{class:"nav-link rounded-3",to:"/webhooks","active-class":"active"},{default:i(()=>[e[9]||(e[9]=t("i",{class:"bi bi-postcard me-2"},null,-1)),s(o,{t:"Webhooks"})]),_:1,__:[9]})]),t("li",yt,[t("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=_=>n.openAgentModal=!0)},[e[10]||(e[10]=t("i",{class:"bi bi-question-circle me-2"},null,-1)),s(o,{t:"Help"})])])]),e[13]||(e[13]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",wt,[s(o,{t:"WireGuard Configurations"})]),t("ul",Mt,[(a(!0),c(A,null,D(this.wireguardConfigurationsStore.sortConfigurations,_=>(a(),c("li",At,[s(u,{to:"/configuration/"+_.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:i(()=>[t("span",{class:k(["dot me-2",{active:_.Status}])},null,2),v(" "+b(_.Name),1)]),_:2},1032,["to"])]))),256))]),e[14]||(e[14]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",Dt,[s(o,{t:"Tools"})]),t("ul",Lt,[t("li",Ht,[s(u,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"System Status"})]),_:1})]),t("li",Tt,[s(u,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Ping"})]),_:1})]),t("li",Nt,[s(u,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Traceroute"})]),_:1})])]),e[15]||(e[15]=t("hr",{class:"text-body my-2"},null,-1)),t("ul",Gt,[t("li",Wt,[t("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=_=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[11]||(e[11]=t("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),s(o,{t:"Sign Out"})])]),t("li",Vt,[this.updateAvailable?(a(),c("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[t("small",Ot,[s(o,{t:this.updateMessage},null,8,["t"]),e[12]||(e[12]=v(" (")),s(o,{t:"Current Version:"}),v(" "+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,It)):(a(),c("small",Ut,[s(o,{t:this.updateMessage},null,8,["t"]),v(" ("+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),s(S,{name:"zoom"},{default:i(()=>[this.openHelpModal?(a(),x(C,{key:0,onClose:e[2]||(e[2]=_=>{n.openHelpModal=!1})})):h("",!0)]),_:1}),s(S,{name:"slideIn"},{default:i(()=>[this.openAgentModal?(a(),x(p,{key:0,onClose:e[3]||(e[3]=_=>n.openAgentModal=!1)})):h("",!0)]),_:1})],10,ft)}const zt=$(_t,[["render",jt],["__scopeId","data-v-982f1a52"]]),Bt={name:"index",components:{Message:I,Navbar:zt},async setup(){return{dashboardConfigurationStore:y()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(l=>l.show)}}},Rt=["data-bs-theme"],Ft={class:"row h-100"},qt={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},Et={class:"messageCentre text-body position-absolute d-flex"};function Jt(l,e,g,d,n,r){const o=f("Navbar"),u=f("RouterView"),C=f("Message");return a(),c("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("div",Ft,[s(o),t("main",qt,[(a(),x(V,null,{default:i(()=>[s(u,null,{default:i(({Component:p})=>[s(S,{name:"fade2",mode:"out-in",appear:""},{default:i(()=>[(a(),x(W(p)))]),_:2},1024)]),_:1})]),_:1})),t("div",Et,[s(M,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:i(()=>[(a(!0),c(A,null,D(r.getMessages.slice().reverse(),p=>(a(),x(C,{message:p,key:p.id},null,8,["message"]))),128))]),_:1})])])])],8,Rt)}const Xt=$(Bt,[["render",Jt],["__scopeId","data-v-0c6a5068"]]);export{Xt as default}; +import{r as w,o as L,c,a as t,b as s,d as h,e as v,t as b,f as a,_ as $,D as y,w as i,T as M,n as k,u as H,g as T,G as N,W as G,h as f,F as A,i as D,j as x,k as S,l as W,S as V}from"./index-BimuIV8Z.js";import{L as m}from"./localeText-D0Ve6fTw.js";import{M as I}from"./message-B6STwPS6.js";import"./dayjs.min-CkODZHdU.js";const O={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},U={class:"container d-flex h-100 w-100"},j={class:"m-auto modal-dialog-centered dashboardModal"},z={class:"card rounded-3 shadow flex-grow-1"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},R={class:"mb-0"},F={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},q={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},E={class:"card-body d-flex gap-4 align-items-center"},J={class:"d-flex align-items-center"},P={class:"badge rounded-pill text-bg-primary ms-2"},Y={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},K={key:1},Q={class:"text-muted"},X={class:"card text-decoration-none",href:"https://docs.wgdashboard.dev/",target:"_blank"},Z={class:"card-body d-flex gap-4 align-items-center"},tt={class:"mb-0"},et={class:"text-muted"},st={__name:"helpModal",setup(l){const e=w(!0),g=w(void 0);return L(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(d=>d.json()).then(d=>{g.value=d,e.value=!1}).catch(()=>{e.value=!1})}),(d,n)=>(a(),c("div",O,[t("div",U,[t("div",j,[t("div",z,[t("div",B,[t("h4",R,[s(m,{t:"Help"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=r=>d.$emit("close"))})]),t("div",F,[t("a",q,[t("div",E,[n[3]||(n[3]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-discord"})],-1)),t("div",null,[t("div",J,[n[2]||(n[2]=t("h5",{class:"mb-0"}," Discord Server ",-1)),t("span",P,[e.value?(a(),c("span",Y)):h("",!0),g.value!==void 0&&!e.value?(a(),c("span",K,[n[1]||(n[1]=t("i",{class:"bi bi-person-fill me-2"},null,-1)),v(b(g.value.presence_count)+" Online ",1)])):h("",!0)])]),t("small",Q,[s(m,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),t("a",X,[t("div",Z,[n[4]||(n[4]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-hash"})],-1)),t("div",null,[t("h5",tt,[s(m,{t:"Official Documentation"})]),t("small",et,[s(m,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}},ot={key:"header",class:"shadow"},at={class:"p-3 d-flex gap-2 flex-column"},nt={class:"d-flex text-body"},it={class:"d-flex flex-column align-items-start gap-1"},lt={class:"mb-0"},rt={class:"mb-0"},dt={class:"list-group"},ct={href:"https://docs.wgdashboard.dev/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},ut={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},mt={__name:"agentModal",emits:["close"],setup(l,{emit:e}){const g=e,d=y();return(n,r)=>(a(),c("div",{class:k(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{enabled:H(d).HelpAgent.Enable}])},[s(M,{name:"agent-message"},{default:i(()=>[t("div",ot,[t("div",at,[t("div",nt,[t("div",it,[t("h5",lt,[s(m,{t:"Help"})])]),t("a",{role:"button",class:"ms-auto text-body",onClick:r[0]||(r[0]=o=>g("close"))},r[1]||(r[1]=[t("h5",{class:"mb-0"},[t("i",{class:"bi bi-x-lg"})],-1)]))]),t("p",rt,[s(m,{t:"You can visit our: "})]),t("div",dt,[t("a",ct,[r[2]||(r[2]=t("i",{class:"bi bi-book-fill"},null,-1)),s(m,{class:"ms-auto",t:"Official Documentation"})]),t("a",ut,[r[3]||(r[3]=t("i",{class:"bi bi-discord"},null,-1)),s(m,{class:"ms-auto",t:"Discord Server"})])])])])]),_:1})],2))}},gt=$(mt,[["__scopeId","data-v-f37f608d"]]),_t={name:"navbar",components:{HelpModal:st,LocaleText:m,AgentModal:gt},setup(){const l=G(),e=y();return{wireguardConfigurationsStore:l,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!1}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),await T("/api/getDashboardUpdate",{},l=>{l.status?(l.data&&(this.updateAvailable=!0,this.updateUrl=l.data),this.updateMessage=l.message):(this.updateMessage=N("Failed to check available update"),console.log(`Failed to get update: ${l.message}`))}),this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)}},ft=["data-bs-theme"],pt={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},vt={class:"sidebar-sticky"},bt={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},ht={key:0,class:"ms-auto"},xt={class:"nav flex-column px-2 gap-1"},Ct={class:"nav-item"},kt={class:"nav-item"},St={class:"nav-item"},$t={class:"nav-item"},yt={class:"nav-item"},wt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Mt={class:"nav flex-column px-2 gap-1"},At={class:"nav-item"},Dt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Lt={class:"nav flex-column px-2 gap-1"},Ht={class:"nav-item"},Tt={class:"nav-item"},Nt={class:"nav-item"},Gt={class:"nav flex-column px-2 mb-3"},Wt={class:"nav-item"},Vt={class:"nav-item",style:{"font-size":"0.8rem"}},It=["href"],Ot={class:"nav-link text-muted rounded-3"},Ut={key:1,class:"nav-link text-muted rounded-3"};function jt(l,e,g,d,n,r){const o=f("LocaleText"),u=f("RouterLink"),C=f("HelpModal"),p=f("AgentModal");return a(),c("div",{class:k(["col-md-3 col-lg-2 d-md-block p-2 navbar-container bg-transparent",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":d.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("nav",pt,[t("div",vt,[t("div",bt,[e[5]||(e[5]=t("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(a(),c("small",ht,[e[4]||(e[4]=t("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),v(b(r.getActiveCrossServer.host),1)])):h("",!0)]),t("ul",xt,[t("li",Ct,[s(u,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:i(()=>[e[6]||(e[6]=t("i",{class:"bi bi-house me-2"},null,-1)),s(o,{t:"Home"})]),_:1,__:[6]})]),t("li",kt,[s(u,{class:"nav-link rounded-3",to:"/settings","active-class":"active"},{default:i(()=>[e[7]||(e[7]=t("i",{class:"bi bi-gear me-2"},null,-1)),s(o,{t:"Settings"})]),_:1,__:[7]})]),t("li",St,[s(u,{class:"nav-link rounded-3",to:"/clients","active-class":"active"},{default:i(()=>[e[8]||(e[8]=t("i",{class:"bi bi-people me-2"},null,-1)),s(o,{t:"Clients"})]),_:1,__:[8]})]),t("li",$t,[s(u,{class:"nav-link rounded-3",to:"/webhooks","active-class":"active"},{default:i(()=>[e[9]||(e[9]=t("i",{class:"bi bi-postcard me-2"},null,-1)),s(o,{t:"Webhooks"})]),_:1,__:[9]})]),t("li",yt,[t("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=_=>n.openAgentModal=!0)},[e[10]||(e[10]=t("i",{class:"bi bi-question-circle me-2"},null,-1)),s(o,{t:"Help"})])])]),e[13]||(e[13]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",wt,[s(o,{t:"WireGuard Configurations"})]),t("ul",Mt,[(a(!0),c(A,null,D(this.wireguardConfigurationsStore.sortConfigurations,_=>(a(),c("li",At,[s(u,{to:"/configuration/"+_.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:i(()=>[t("span",{class:k(["dot me-2",{active:_.Status}])},null,2),v(" "+b(_.Name),1)]),_:2},1032,["to"])]))),256))]),e[14]||(e[14]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",Dt,[s(o,{t:"Tools"})]),t("ul",Lt,[t("li",Ht,[s(u,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"System Status"})]),_:1})]),t("li",Tt,[s(u,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Ping"})]),_:1})]),t("li",Nt,[s(u,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Traceroute"})]),_:1})])]),e[15]||(e[15]=t("hr",{class:"text-body my-2"},null,-1)),t("ul",Gt,[t("li",Wt,[t("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=_=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[11]||(e[11]=t("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),s(o,{t:"Sign Out"})])]),t("li",Vt,[this.updateAvailable?(a(),c("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[t("small",Ot,[s(o,{t:this.updateMessage},null,8,["t"]),e[12]||(e[12]=v(" (")),s(o,{t:"Current Version:"}),v(" "+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,It)):(a(),c("small",Ut,[s(o,{t:this.updateMessage},null,8,["t"]),v(" ("+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),s(S,{name:"zoom"},{default:i(()=>[this.openHelpModal?(a(),x(C,{key:0,onClose:e[2]||(e[2]=_=>{n.openHelpModal=!1})})):h("",!0)]),_:1}),s(S,{name:"slideIn"},{default:i(()=>[this.openAgentModal?(a(),x(p,{key:0,onClose:e[3]||(e[3]=_=>n.openAgentModal=!1)})):h("",!0)]),_:1})],10,ft)}const zt=$(_t,[["render",jt],["__scopeId","data-v-982f1a52"]]),Bt={name:"index",components:{Message:I,Navbar:zt},async setup(){return{dashboardConfigurationStore:y()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(l=>l.show)}}},Rt=["data-bs-theme"],Ft={class:"row h-100"},qt={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},Et={class:"messageCentre text-body position-absolute d-flex"};function Jt(l,e,g,d,n,r){const o=f("Navbar"),u=f("RouterView"),C=f("Message");return a(),c("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("div",Ft,[s(o),t("main",qt,[(a(),x(V,null,{default:i(()=>[s(u,null,{default:i(({Component:p})=>[s(S,{name:"fade2",mode:"out-in",appear:""},{default:i(()=>[(a(),x(W(p)))]),_:2},1024)]),_:1})]),_:1})),t("div",Et,[s(M,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:i(()=>[(a(!0),c(A,null,D(r.getMessages.slice().reverse(),p=>(a(),x(C,{message:p,key:p.id},null,8,["message"]))),128))]),_:1})])])])],8,Rt)}const Xt=$(Bt,[["render",Jt],["__scopeId","data-v-0c6a5068"]]);export{Xt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-nqiVjQME.js b/src/static/dist/WGDashboardAdmin/assets/index-CMd-xOr8.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/index-nqiVjQME.js rename to src/static/dist/WGDashboardAdmin/assets/index-CMd-xOr8.js index 0afac237..2c17acf7 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-nqiVjQME.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-CMd-xOr8.js @@ -1,4 +1,4 @@ -import{B as Vs,U as Ws,V as qe,X as Vn,r as Wn,o as Nn,Y as jn,H as $n,Z as Ge,$ as Ns,a0 as Yn}from"./index-mH92cJrc.js";/*! +import{B as Vs,U as Ws,V as qe,X as Vn,r as Wn,o as Nn,Y as jn,H as $n,Z as Ge,$ as Ns,a0 as Yn}from"./index-BimuIV8Z.js";/*! * @kurkle/color v0.3.4 * https://github.com/kurkle/color#readme * (c) 2024 Jukka Kurkela diff --git a/src/static/dist/WGDashboardAdmin/assets/localeText-DSmP42vs.js b/src/static/dist/WGDashboardAdmin/assets/localeText-D0Ve6fTw.js similarity index 76% rename from src/static/dist/WGDashboardAdmin/assets/localeText-DSmP42vs.js rename to src/static/dist/WGDashboardAdmin/assets/localeText-D0Ve6fTw.js index 39e3dc52..ce44b69c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/localeText-DSmP42vs.js +++ b/src/static/dist/WGDashboardAdmin/assets/localeText-D0Ve6fTw.js @@ -1 +1 @@ -import{_ as e,G as t,c as o,t as a,f as c}from"./index-mH92cJrc.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return c(),o("span",null,a(this.getLocaleText),1)}const m=e(s,[["render",n]]);export{m as L}; +import{_ as e,G as t,c as o,t as a,f as c}from"./index-BimuIV8Z.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return c(),o("span",null,a(this.getLocaleText),1)}const m=e(s,[["render",n]]);export{m as L}; diff --git a/src/static/dist/WGDashboardAdmin/assets/message-BboFmGeA.js b/src/static/dist/WGDashboardAdmin/assets/message-B6STwPS6.js similarity index 84% rename from src/static/dist/WGDashboardAdmin/assets/message-BboFmGeA.js rename to src/static/dist/WGDashboardAdmin/assets/message-B6STwPS6.js index 9b73c700..e4126c9e 100644 --- a/src/static/dist/WGDashboardAdmin/assets/message-BboFmGeA.js +++ b/src/static/dist/WGDashboardAdmin/assets/message-B6STwPS6.js @@ -1 +1 @@ -import{L as l}from"./localeText-DSmP42vs.js";import{d as c}from"./dayjs.min-BSByM7MH.js";import{_ as h,c as o,a as e,b as a,w as u,e as p,h as g,t as i,k as f,n as _,f as n}from"./index-mH92cJrc.js";const x={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:l},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(C,s,L,j,t,m){const d=g("LocaleText");return n(),o("div",{onMouseenter:s[1]||(s[1]=r=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=r=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:_([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[a(f,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(n(),o("div",k,[e("small",{onClick:s[0]||(s[0]=r=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),a(d,{t:"Dismiss"})])])):(n(),o("div",b,[e("small",w,[a(d,{t:"FROM "}),p(" "+i(this.message.from),1)]),e("small",y,i(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,i(this.message.content),1)])],40,v)}const z=h(x,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M}; +import{L as l}from"./localeText-D0Ve6fTw.js";import{d as c}from"./dayjs.min-CkODZHdU.js";import{_ as h,c as o,a as e,b as a,w as u,e as p,h as g,t as i,k as f,n as _,f as n}from"./index-BimuIV8Z.js";const x={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:l},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(C,s,L,j,t,m){const d=g("LocaleText");return n(),o("div",{onMouseenter:s[1]||(s[1]=r=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=r=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:_([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[a(f,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(n(),o("div",k,[e("small",{onClick:s[0]||(s[0]=r=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),a(d,{t:"Dismiss"})])])):(n(),o("div",b,[e("small",w,[a(d,{t:"FROM "}),p(" "+i(this.message.from),1)]),e("small",y,i(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,i(this.message.content),1)])],40,v)}const z=h(x,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M}; diff --git a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-CmCSMTnr.js b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-c8aZ26W-.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/newConfiguration-CmCSMTnr.js rename to src/static/dist/WGDashboardAdmin/assets/newConfiguration-c8aZ26W-.js index bd4dd32e..0ae6128d 100644 --- a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-CmCSMTnr.js +++ b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-c8aZ26W-.js @@ -1,3 +1,3 @@ -import{p as F,e as V,c as W,m as z}from"./index-Bno8fcdN.js";import{B as G,W as B,r as h,o as J,H as N,q as j,c as a,f as n,a as e,d as T,m as w,b as r,t as _,y as P,C as H,F as A,i as I,e as U,n as D,z as q,I as Z,g as R,j as Q,_ as X,w as Y,h as O,D as ee}from"./index-mH92cJrc.js";import{L as g}from"./localeText-DSmP42vs.js";import{r as te}from"./galois-field-CkUIqpA6.js";const se=s=>{const t=s.split(` +import{p as F,e as V,c as W,m as z}from"./index-Bno8fcdN.js";import{B as G,W as B,r as h,o as J,H as N,q as j,c as a,f as n,a as e,d as T,m as w,b as r,t as _,y as P,C as H,F as A,i as I,e as U,n as D,z as q,I as Z,g as R,j as Q,_ as X,w as Y,h as O,D as ee}from"./index-BimuIV8Z.js";import{L as g}from"./localeText-D0Ve6fTw.js";import{r as te}from"./galois-field-CkUIqpA6.js";const se=s=>{const t=s.split(` `),o={};for(let f of t){if(f==="[Peer]")break;if(f.length>0){let l=f.replace(" = ","=");l.indexOf("=")>-1&&(l=[l.slice(0,l.indexOf("=")),l.slice(l.indexOf("=")+1)],l[0]==="ListenPort"?o[l[0]]=parseInt(l[1]):o[l[0]]=l[1])}}return o},oe=s=>{const t=s.split(` `),o=[];let f=-1;const l=t.indexOf("[Peer]");if(l===-1)return!1;for(let d=l;d-1&&(b=[b.slice(0,b.indexOf("=")),b.slice(b.indexOf("=")+1)],o[f][b[0]]=b[1])}return o};te();const ne={class:"card rounded-3"},ie={class:"card-body"},ae={class:"row"},le={class:"col-sm"},re={class:"d-flex flex-column gap-2"},de={class:"d-flex align-items-center"},ue={class:"text-muted"},ce={key:0,class:"mb-0 ms-auto"},pe={key:0,class:"d-flex gap-2 flex-column"},me={class:"text-muted d-flex align-items-center gap-1",style:{"white-space":"nowrap"}},fe={class:"badge rounded-pill text-bg-success ms-auto"},be={value:void 0,disabled:""},ve=["value"],ge={class:"col-sm"},he={class:"d-flex flex-column gap-2 h-100"},we={class:"d-flex align-items-center"},ye={class:"text-muted"},_e={key:0,class:"mb-0 ms-auto"},Ce={key:1,class:"d-flex ms-auto align-items-center"},Pe={key:0,class:"d-flex gap-2 flex-column mt-auto"},xe={class:"text-muted d-flex align-items-center gap-1",style:{"white-space":"nowrap"}},Se={class:"badge rounded-pill text-bg-success ms-auto"},$e={value:void 0,disabled:""},Le=["value"],ke={key:0,class:"d-flex gap-2"},Te={key:1,class:"d-flex gap-2"},M=G({__name:"newConfigurationTemplate",props:["template","edit","isNew","peersCount"],emits:["subnet","port","update","remove"],setup(s,{emit:t}){const o=s,f=B(),l=h(!1);o.edit&&(l.value=!0);const d=h({...o.template});h(256);const b=h([]);h(20);const u=t,S=h(void 0),i=h(void 0),x=h([]),$=()=>{if(b.value=[],o.template.Subnet){let v=new Set([...V(o.template.Subnet)]);if(o.peersCount&&o.peersCount>0){for(let k of f.Configurations){let K=k.Address.replace(" ","").split(",");for(let E of K)W(o.template.Subnet,E)&&(v=v.difference(new Set([...V(E)])))}let c=Math.floor(v.size/o.peersCount),p=0;v=Array.from(v);for(let k=0;k<(c>10?10:c);k++)b.value.push(z(v.slice(p,p+o.peersCount))),p+=o.peersCount}}},m=()=>{if(o.template.ListenPortStart&&o.template.ListenPortEnd){let v=o.template.ListenPortStart,c=o.template.ListenPortEnd;v>c&&(v=o.template.ListenPortEnd,c=o.template.ListenPortStart);let p=new Set(Array.from({length:c-v+1},(k,K)=>v+K));x.value=[...p.difference(new Set(f.Configurations.map(k=>Number(k.ListenPort))))]}};J(()=>{o.isNew||($(),m())}),N(()=>o.peersCount,()=>{$()}),N(S,()=>{u("subnet",S.value)}),N(i,()=>{u("port",i.value)}),N(()=>o.template,()=>{$(),m()},{deep:!0});const y=j(()=>{try{const{start:v,end:c}=F(d.value.Subnet);if(c-v>=1000000n)throw new Error("Too many IPs");return d.value.Subnet&&d.value.ListenPortStart&&d.value.ListenPortEnd&&d.value.ListenPortEnd>=d.value.ListenPortStart}catch{return!1}}),L=async()=>{await q("/api/newConfigurationTemplates/updateTemplate",{Template:d.value},v=>{v.status&&(u("update",d.value),l.value=!1)})},C=async()=>{await q("/api/newConfigurationTemplates/deleteTemplate",{Template:d.value},v=>{v.status&&u("remove",d)})};return(v,c)=>(n(),a("div",ne,[e("div",ie,[e("div",ae,[e("div",le,[e("div",re,[e("div",de,[e("label",ue,[e("small",null,[r(g,{t:"Subnet"})])]),l.value?w((n(),a("input",{key:1,class:"form-control-sm form-control rounded-3 w-auto ms-auto","onUpdate:modelValue":c[0]||(c[0]=p=>d.value.Subnet=p)},null,512)),[[P,d.value.Subnet]]):(n(),a("p",ce,[e("small",null,_(s.template.Subnet),1)]))]),l.value?T("",!0):(n(),a("div",pe,[e("label",me,[e("small",null,[r(g,{t:"Available Subnets"})]),e("span",fe,_(b.value.length),1)]),w(e("select",{"onUpdate:modelValue":c[1]||(c[1]=p=>S.value=p),class:"form-select form-select-sm rounded-3 w-100 ms-auto"},[e("option",be,[r(g,{t:"Select..."})]),(n(!0),a(A,null,I(b.value,p=>(n(),a("option",{value:p.join(", ")},_(p.join(", ")),9,ve))),256))],512),[[H,S.value]])]))])]),e("div",ge,[e("div",he,[e("div",we,[e("label",ye,[e("small",null,[r(g,{t:"Listen Port Range"})])]),l.value?(n(),a("div",Ce,[w(e("input",{class:"form-control-sm form-control rounded-3 ms-auto",style:{width:"80px"},"onUpdate:modelValue":c[2]||(c[2]=p=>d.value.ListenPortStart=p),type:"number"},null,512),[[P,d.value.ListenPortStart]]),c[10]||(c[10]=e("i",{class:"bi bi-arrow-right mx-2"},null,-1)),w(e("input",{class:"form-control-sm form-control rounded-3 ms-auto",style:{width:"80px"},"onUpdate:modelValue":c[3]||(c[3]=p=>d.value.ListenPortEnd=p),type:"number"},null,512),[[P,d.value.ListenPortEnd]])])):(n(),a("p",_e,[e("small",null,[U(_(s.template.ListenPortStart),1),c[9]||(c[9]=e("i",{class:"bi bi-arrow-right mx-2"},null,-1)),U(" "+_(s.template.ListenPortEnd),1)])]))]),l.value?T("",!0):(n(),a("div",Pe,[e("label",xe,[e("small",null,[r(g,{t:"Available Ports"})]),e("span",Se,_(x.value.length),1)]),w(e("select",{"onUpdate:modelValue":c[4]||(c[4]=p=>i.value=p),class:"form-select form-select-sm rounded-3 w-100 ms-auto"},[e("option",$e,[r(g,{t:"Select..."})]),(n(!0),a(A,null,I([...x.value],p=>(n(),a("option",{value:p},_(p),9,Le))),256))],512),[[H,i.value]])]))])])]),c[11]||(c[11]=e("hr",null,null,-1)),l.value?(n(),a("div",Te,[e("button",{type:"button",onClick:c[7]||(c[7]=p=>s.isNew?u("remove"):l.value=!1),class:"ms-auto btn btn-sm border-secondary-subtle bg-secondary-subtle text-secondary-emphasis rounded-3"},[r(g,{t:"Cancel"})]),e("button",{type:"button",onClick:c[8]||(c[8]=p=>L()),class:D([{disabled:!y.value},"btn btn-sm border-primary-subtle bg-primary-subtle text-primary-emphasis rounded-3"])},[r(g,{t:"Save"})],2)])):(n(),a("div",ke,[e("button",{type:"button",onClick:c[5]||(c[5]=p=>{l.value=!0,d.value={...o.template}}),class:"ms-auto btn btn-sm border-primary-subtle bg-primary-subtle text-primary-emphasis rounded-3"},[r(g,{t:"Edit"})]),e("button",{type:"button",onClick:c[6]||(c[6]=p=>C()),class:"btn btn-sm border-danger-subtle bg-danger-subtle text-danger-emphasis rounded-3"},[r(g,{t:"Delete"})])]))])]))}}),Ae={class:"card rounded-3"},Ie={class:"card-header"},Ne={class:"d-flex align-items-center"},Ue={class:"text-muted"},Ke={class:"card-body"},Oe={key:0,class:"d-flex gap-2 align-items-center mb-2"},De={class:"text-muted",style:{"white-space":"nowrap"}},qe={class:"row g-2"},Re={key:0,class:"col-12"},Ee={class:"text-center text-muted m-0"},Ve={class:"col-12"},He={class:"col-12"},Me=G({__name:"newConfigurationTemplates",emits:["subnet","port"],async setup(s,{emit:t}){let o,f;const l=t,d=h([]),b=async()=>{await R("/api/newConfigurationTemplates",{},$=>{d.value=$.data})};[o,f]=Z(()=>b()),await o,f();const u=h([]),S=async()=>{await R("/api/newConfigurationTemplates/createTemplate",{},$=>{u.value.push($.data)})},i=h(256),x=h(256);return($,m)=>(n(),a("div",Ae,[e("div",Ie,[e("div",Ne,[r(g,{t:"Subnets & Listen Ports Templates"}),e("button",{type:"button",onClick:m[0]||(m[0]=y=>S()),class:"btn btn-sm bg-success-subtle text-success-emphasis border-success-subtle rounded-3 ms-auto"},[m[9]||(m[9]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),r(g,{t:"Add Template"})])]),e("small",Ue,[r(g,{t:"Create templates to keep track a list of available Subnets & Listen Ports"})])]),e("div",Ke,[d.value.length>0?(n(),a("div",Oe,[e("label",De,[e("small",null,[r(g,{t:"No. of IP Address / Subnet"})])]),w(e("input",{type:"number","onUpdate:modelValue":m[1]||(m[1]=y=>i.value=y),onChange:m[2]||(m[2]=y=>x.value=i.value),class:"form-control form-control-sm rounded-3 w-100 ms-auto"},null,544),[[P,i.value]])])):T("",!0),e("div",qe,[u.value.length===0&&d.value.length===0?(n(),a("div",Re,[e("p",Ee,[r(g,{t:"No Templates"})])])):T("",!0),(n(!0),a(A,null,I(u.value,y=>(n(),a("div",Ve,[r(M,{edit:!0,isNew:!0,onRemove:L=>u.value=u.value.filter(C=>C.TemplateID!==y.TemplateID),onUpdate:L=>{u.value=u.value.filter(C=>C.TemplateID!==y.TemplateID),b()},onSubnet:m[3]||(m[3]=L=>l("subnet",L)),onPort:m[4]||(m[4]=L=>l("port",L)),template:y},null,8,["onRemove","onUpdate","template"])]))),256)),(n(!0),a(A,null,I(d.value,(y,L)=>(n(),a("div",He,[(n(),Q(M,{key:y.TemplateID,peersCount:x.value,onRemove:m[5]||(m[5]=C=>b()),onUpdate:m[6]||(m[6]=C=>b()),onSubnet:m[7]||(m[7]=C=>l("subnet",C)),onPort:m[8]||(m[8]=C=>l("port",C)),template:y},null,8,["peersCount","template"]))]))),256))])])]))}}),Fe={name:"newConfiguration",components:{NewConfigurationTemplates:Me,LocaleText:g},async setup(){const s=B(),t=h([]);await R("/api/protocolsEnabled",{},f=>{t.value=f.data});const o=ee();return{store:s,protocols:t,dashboardStore:o}},data(){return{newConfiguration:{ConfigurationName:"",Address:"",ListenPort:"",PrivateKey:"",PublicKey:"",PresharedKey:"",PreUp:"",PreDown:"",PostUp:"",PostDown:"",Table:"",Protocol:"wg",Jc:5,Jmin:49,Jmax:998,S1:17,S2:110,H1:0,H2:0,H3:0,H4:0},numberOfAvailableIPs:"0",error:!1,errorMessage:"",success:!1,loading:!1,parseInterfaceResult:void 0,parsePeersResult:void 0}},created(){this.wireguardGenerateKeypair();let s=[];for(;[...new Set(s)].length!==4;)s=[this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1)];this.newConfiguration.H1=s[0],this.newConfiguration.H2=s[1],this.newConfiguration.H3=s[2],this.newConfiguration.H4=s[3]},methods:{rand(s,t){return Math.floor(Math.random()*(t-s)+s)},wireguardGenerateKeypair(){const s=window.wireguard.generateKeypair();this.newConfiguration.PrivateKey=s.privateKey,this.newConfiguration.PublicKey=s.publicKey,this.newConfiguration.PresharedKey=s.presharedKey},async saveNewConfiguration(){this.goodToSubmit&&(this.loading=!0,await q("/api/addWireguardConfiguration",this.newConfiguration,async s=>{s.status?(this.success=!0,await this.store.getConfigurations(),this.$router.push(`/configuration/${this.newConfiguration.ConfigurationName}/peers`)):(this.error=!0,this.errorMessage=s.message,document.querySelector(`#${s.data}`).classList.remove("is-valid"),document.querySelector(`#${s.data}`).classList.add("is-invalid"),this.loading=!1)}))},openFileUpload(){document.querySelector("#fileUpload").click()},readFile(s){const t=s.target.files[0];if(!t)return!1;const o=new FileReader;o.onload=f=>{this.parseInterfaceResult=se(f.target.result),this.parsePeersResult=oe(f.target.result);let l=0;if(this.parseInterfaceResult){this.newConfiguration.ConfigurationName=t.name.replace(".conf","");for(let d of Object.keys(this.parseInterfaceResult))Object.keys(this.newConfiguration).includes(d)&&(this.newConfiguration[d]=this.parseInterfaceResult[d],l+=1)}l>0?this.dashboardStore.newMessage("WGDashboard",`Parse successful! Updated ${l} field(s)`,"success"):this.dashboardStore.newMessage("WGDashboard","Parse failed","danger")},o.readAsText(t)}},computed:{goodToSubmit(){let s=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return s.find(o=>this.newConfiguration[o].length===0)===void 0&&t.find(o=>o.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(s){let t=document.querySelector("#Address");if(t){t.classList.remove("is-invalid","is-valid");try{this.numberOfAvailableIPs=0,s.replace(" ","").split(",").forEach(o=>{let f=F(o),l=Number(f.end-f.start);this.numberOfAvailableIPs+=l+1}),t.classList.add("is-valid")}catch(o){console.log(o),this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}}},"newConfiguration.ListenPort"(s){let t=document.querySelector("#ListenPort");t&&(t.classList.remove("is-invalid","is-valid"),s<0||s>65353||!Number.isInteger(s)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.ConfigurationName"(s){let t=document.querySelector("#ConfigurationName");t&&(t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(s)||s.length===0||this.store.Configurations.find(o=>o.Name===s)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.PrivateKey"(s){let t=document.querySelector("#PrivateKey");if(t){t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(s),t.classList.add("is-valid")}catch{t.classList.add("is-invalid")}}}},mounted(){document.querySelector("#fileUpload").addEventListener("change",this.readFile,!1)}},Ge={class:"mt-md-5 mt-3 text-body"},Be={class:"container mb-4"},We={class:"mb-4 d-flex align-items-center gap-4 align-items-center"},ze={class:"mb-0"},Je={class:"d-flex gap-2 ms-auto"},je={class:"card rounded-3 shadow"},Ze={class:"card-header"},Qe={class:"card-body d-flex gap-2 protocolBtnGroup"},Xe={key:0,class:"bi bi-check-circle-fill me-2"},Ye={key:1,class:"bi bi-circle me-2"},et={key:0,class:"bi bi-check-circle-fill me-2"},tt={key:1,class:"bi bi-circle me-2"},st={class:"card rounded-3 shadow"},ot={class:"card-header"},nt={class:"card-body"},it=["disabled"],at={class:"invalid-feedback"},lt={key:0},rt={key:1},dt={class:"mb-0"},ut={class:"card rounded-3 shadow"},ct={class:"card-header"},pt={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},mt={class:"mb-2"},ft={class:"text-muted fw-bold mb-1"},bt={class:"input-group"},vt=["disabled"],gt={class:"text-muted fw-bold mb-1"},ht={class:"card rounded-3 shadow"},wt={class:"card-header"},yt={class:"card-body"},_t=["disabled"],Ct={class:"invalid-feedback"},Pt={key:0},xt={key:1},St={class:"card rounded-3 shadow"},$t={class:"card-header d-flex align-items-center"},Lt={class:"badge rounded-pill text-bg-success ms-auto"},kt={class:"card-body"},Tt=["disabled"],At={class:"invalid-feedback"},It={key:0},Nt={key:1},Ut={class:"accordion",id:"newConfigurationOptionalAccordion"},Kt={class:"accordion-item"},Ot={class:"accordion-header"},Dt={class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},qt={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Rt={class:"accordion-body d-flex flex-column gap-3"},Et={class:"card rounded-3"},Vt={class:"card-header"},Ht={class:"card-body"},Mt=["id","onUpdate:modelValue"],Ft={class:"card rounded-3"},Gt={class:"card-header"},Bt={class:"card-body"},Wt=["id","onUpdate:modelValue"],zt=["disabled"],Jt={key:0,class:"d-flex w-100"},jt={key:1,class:"d-flex w-100"},Zt={key:2,class:"d-flex w-100 align-items-center"};function Qt(s,t,o,f,l,d){const b=O("RouterLink"),u=O("LocaleText"),S=O("NewConfigurationTemplates");return n(),a("div",Ge,[e("div",Be,[e("div",We,[r(b,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:Y(()=>t[12]||(t[12]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])),_:1,__:[12]}),e("h2",ze,[r(u,{t:"New Configuration"})]),e("div",Je,[e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[0]||(t[0]=i=>d.openFileUpload()),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-upload me-2"},null,-1)),r(u,{t:"Open File"})]),t[14]||(t[14]=e("input",{type:"file",id:"fileUpload",multiple:"",class:"d-none",accept:"text/plain"},null,-1))])]),e("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[11]||(t[11]=i=>{i.preventDefault(),this.saveNewConfiguration()})},[e("div",je,[e("div",Ze,[r(u,{t:"Protocol"})]),e("div",Qe,[this.protocols.includes("wg")?(n(),a("a",{key:0,onClick:t[1]||(t[1]=i=>this.newConfiguration.Protocol="wg"),class:D([{"opacity-50":this.newConfiguration.Protocol!=="wg"},"btn btn-primary wireguardBg border-0"]),style:{"flex-basis":"100%"}},[this.newConfiguration.Protocol==="wg"?(n(),a("i",Xe)):(n(),a("i",Ye)),t[15]||(t[15]=e("strong",null," WireGuard ",-1))],2)):T("",!0),this.protocols.includes("awg")?(n(),a("a",{key:1,onClick:t[2]||(t[2]=i=>this.newConfiguration.Protocol="awg"),class:D([{"opacity-50":this.newConfiguration.Protocol!=="awg"},"btn btn-primary amneziawgBg border-0"]),style:{"flex-basis":"100%"}},[this.newConfiguration.Protocol==="awg"?(n(),a("i",et)):(n(),a("i",tt)),t[16]||(t[16]=e("strong",null," AmneziaWG ",-1))],2)):T("",!0)])]),e("div",st,[e("div",ot,[r(u,{t:"Configuration Name"})]),e("div",nt,[w(e("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":t[3]||(t[3]=i=>this.newConfiguration.ConfigurationName=i),disabled:this.loading,required:""},null,8,it),[[P,this.newConfiguration.ConfigurationName]]),e("div",at,[this.error?(n(),a("div",lt,_(this.errorMessage),1)):(n(),a("div",rt,[r(u,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",dt,[e("li",null,[r(u,{t:"Configuration name already exist."})]),e("li",null,[r(u,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])])]),e("div",ut,[e("div",ct,[r(u,{t:"Private Key"}),t[17]||(t[17]=U(" & ")),r(u,{t:"Public Key"})]),e("div",pt,[e("div",mt,[e("label",ft,[e("small",null,[r(u,{t:"Private Key"})])]),e("div",bt,[w(e("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":t[4]||(t[4]=i=>this.newConfiguration.PrivateKey=i)},null,8,vt),[[P,this.newConfiguration.PrivateKey]]),e("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[5]||(t[5]=i=>d.wireguardGenerateKeypair())},t[18]||(t[18]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)]))])]),e("div",null,[e("label",gt,[e("small",null,[r(u,{t:"Public Key"})])]),w(e("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[6]||(t[6]=i=>this.newConfiguration.PublicKey=i),disabled:""},null,512),[[P,this.newConfiguration.PublicKey]])])])]),r(S,{onSubnet:t[7]||(t[7]=i=>this.newConfiguration.Address=i),onPort:t[8]||(t[8]=i=>this.newConfiguration.ListenPort=i)}),e("div",ht,[e("div",wt,[r(u,{t:"Listen Port"})]),e("div",yt,[w(e("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":t[9]||(t[9]=i=>this.newConfiguration.ListenPort=i),disabled:this.loading,required:""},null,8,_t),[[P,this.newConfiguration.ListenPort]]),e("div",Ct,[this.error?(n(),a("div",Pt,_(this.errorMessage),1)):(n(),a("div",xt,[r(u,{t:"Invalid port"})]))])])]),e("div",St,[e("div",$t,[r(u,{t:"IP Address/CIDR"}),e("span",Lt,[r(u,{t:l.numberOfAvailableIPs+" Available IP Address"},null,8,["t"])])]),e("div",kt,[w(e("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":t[10]||(t[10]=i=>this.newConfiguration.Address=i),disabled:this.loading,required:""},null,8,Tt),[[P,this.newConfiguration.Address]]),e("div",At,[this.error?(n(),a("div",It,_(this.errorMessage),1)):(n(),a("div",Nt," IP Address/CIDR is invalid "))])])]),t[23]||(t[23]=e("hr",null,null,-1)),e("div",Ut,[e("div",Kt,[e("h2",Ot,[e("button",Dt,[r(u,{t:"Optional Settings"})])]),e("div",qt,[e("div",Rt,[(n(),a(A,null,I(["Table","PreUp","PreDown","PostUp","PostDown"],i=>e("div",Et,[e("div",Vt,_(i),1),e("div",Ht,[w(e("input",{type:"text",class:"form-control font-monospace",id:i,"onUpdate:modelValue":x=>this.newConfiguration[i]=x},null,8,Mt),[[P,this.newConfiguration[i]]])])])),64)),this.newConfiguration.Protocol==="awg"?(n(),a(A,{key:0},I(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],i=>e("div",Ft,[e("div",Gt,_(i),1),e("div",Bt,[w(e("input",{type:"text",class:"form-control font-monospace",id:i,"onUpdate:modelValue":x=>this.newConfiguration[i]=x},null,8,Wt),[[P,this.newConfiguration[i]]])])])),64)):T("",!0)])])])]),e("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit||this.loading||this.success},[this.success?(n(),a("span",Jt,[r(u,{t:"Success"}),t[19]||(t[19]=U("! ")),t[20]||(t[20]=e("i",{class:"bi bi-check-circle-fill ms-2"},null,-1))])):this.loading?(n(),a("span",Zt,[r(u,{t:"Saving..."}),t[22]||(t[22]=e("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1))])):(n(),a("span",jt,[t[21]||(t[21]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),r(u,{t:"Save"})]))],8,zt)],32)])])}const ss=X(Fe,[["render",Qt],["__scopeId","data-v-c25dcde1"]]);export{ss as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/osmap-DlmBiBAF.js b/src/static/dist/WGDashboardAdmin/assets/osmap-BF5g68HQ.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/osmap-DlmBiBAF.js rename to src/static/dist/WGDashboardAdmin/assets/osmap-BF5g68HQ.js index 1b877090..ab13b5e0 100644 --- a/src/static/dist/WGDashboardAdmin/assets/osmap-DlmBiBAF.js +++ b/src/static/dist/WGDashboardAdmin/assets/osmap-BF5g68HQ.js @@ -1 +1 @@ -import{S as C,e as y,c as w,m as _,a as L,f as S,l as v,i as M,b as k,d as x,g as A,h as F,j as R,M as D,V as P,T as b,k as l,O as E,n as O,F as h,P as f,o as T,p as c,C as V,q as u,r as X}from"./Vector-C8V_x6Dm.js";import{_ as Y,D as G,c as $,d as j,f as q}from"./index-mH92cJrc.js";class r extends C{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,e!==void 0&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendCoordinate(t){y(this.flatCoordinates,t),this.changed()}clone(){const t=new r(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,o,n){return nt.geo&&t.geo.lat&&t.geo.lon);return i?[i.geo.lon,i.geo.lat]:[0,0]}return[this.d.geo.lon,this.d.geo.lat]}},async mounted(){await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}).then(i=>{const t=new D({target:"map",layers:[new b({source:new E})],view:new P({center:l(this.getLastLonLat()),zoom:this.type==="traceroute"?3:10})}),e=[],o=new O;if(this.type==="traceroute")this.d.forEach(s=>{if(s.geo&&s.geo.lat&&s.geo.lon){const a=l([s.geo.lon,s.geo.lat]);e.push(a);const g=this.getLastLonLat(),m=new h({geometry:new f(a),last:s.geo.lon===g[0]&&s.geo.lat===g[1]});o.addFeature(m)}});else{const s=l([this.d.geo.lon,this.d.geo.lat]);e.push(s);const a=new h({geometry:new f(s)});o.addFeature(a)}const n=new r(e),d=new h({geometry:n});o.addFeature(d);const p=new T({source:o,style:function(s){if(s.getGeometry().getType()==="Point")return new c({image:new V({radius:10,fill:new X({color:s.get("last")?"#dc3545":"#0d6efd"}),stroke:new u({color:"white",width:5})})});if(s.getGeometry().getType()==="LineString")return new c({stroke:new u({color:"#0d6efd",width:2})})}});t.addLayer(p)}).catch(i=>{this.osmAvailable=!1})}},z={key:0,id:"map",class:"w-100 rounded-3"};function I(i,t,e,o,n,d){return this.osmAvailable?(q(),$("div",z)):j("",!0)}const H=Y(B,[["render",I]]);export{H as O}; +import{S as C,e as y,c as w,m as _,a as L,f as S,l as v,i as M,b as k,d as x,g as A,h as F,j as R,M as D,V as P,T as b,k as l,O as E,n as O,F as h,P as f,o as T,p as c,C as V,q as u,r as X}from"./Vector-C8V_x6Dm.js";import{_ as Y,D as G,c as $,d as j,f as q}from"./index-BimuIV8Z.js";class r extends C{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,e!==void 0&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendCoordinate(t){y(this.flatCoordinates,t),this.changed()}clone(){const t=new r(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,o,n){return nt.geo&&t.geo.lat&&t.geo.lon);return i?[i.geo.lon,i.geo.lat]:[0,0]}return[this.d.geo.lon,this.d.geo.lat]}},async mounted(){await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}).then(i=>{const t=new D({target:"map",layers:[new b({source:new E})],view:new P({center:l(this.getLastLonLat()),zoom:this.type==="traceroute"?3:10})}),e=[],o=new O;if(this.type==="traceroute")this.d.forEach(s=>{if(s.geo&&s.geo.lat&&s.geo.lon){const a=l([s.geo.lon,s.geo.lat]);e.push(a);const g=this.getLastLonLat(),m=new h({geometry:new f(a),last:s.geo.lon===g[0]&&s.geo.lat===g[1]});o.addFeature(m)}});else{const s=l([this.d.geo.lon,this.d.geo.lat]);e.push(s);const a=new h({geometry:new f(s)});o.addFeature(a)}const n=new r(e),d=new h({geometry:n});o.addFeature(d);const p=new T({source:o,style:function(s){if(s.getGeometry().getType()==="Point")return new c({image:new V({radius:10,fill:new X({color:s.get("last")?"#dc3545":"#0d6efd"}),stroke:new u({color:"white",width:5})})});if(s.getGeometry().getType()==="LineString")return new c({stroke:new u({color:"#0d6efd",width:2})})}});t.addLayer(p)}).catch(i=>{this.osmAvailable=!1})}},z={key:0,id:"map",class:"w-100 rounded-3"};function I(i,t,e,o,n,d){return this.osmAvailable?(q(),$("div",z)):j("",!0)}const H=Y(B,[["render",I]]);export{H as O}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-BSgPEdCb.js b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-plMS_jE5.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/peerAddModal-BSgPEdCb.js rename to src/static/dist/WGDashboardAdmin/assets/peerAddModal-plMS_jE5.js index 04c12341..4c0c9651 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-BSgPEdCb.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-plMS_jE5.js @@ -1 +1 @@ -import{_ as k,h as y,c as d,f as i,a as e,m as h,b as o,e as w,y as f,n as m,W as $,D as I,v as A,w as j,F as C,i as O,t as S,T as E,E as F,d as g,G as V,r as L,a1 as N,g as B,L as G,I as R,q as T,H as q,j as K,z as W}from"./index-mH92cJrc.js";import{L as p}from"./localeText-DSmP42vs.js";const J={name:"endpointAllowedIps",components:{LocaleText:p},props:{data:Object,saving:Boolean},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let l=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.checkCIDR(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IPs format is incorrect","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},z={for:"peer_endpoint_allowed_ips",class:"form-label"},H={class:"text-muted"},Q=["disabled"];function Y(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",z,[e("small",H,[o(s,{t:"Endpoint Allowed IPs"}),t[2]||(t[2]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":u.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.endpointAllowedIps=a),onBlur:t[1]||(t[1]=a=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Q),[[f,this.endpointAllowedIps]])])}const Z=k(J,[["render",Y]]),X={name:"allowedIPsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(l){const t=$(),n=I(),r=L("");return Object.keys(l.availableIp).length>0&&(r.value=Object.keys(l.availableIp)[0]),{store:t,dashboardStore:n,selectedSubnet:r}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp[this.selectedSubnet].filter(l=>l.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(l)):this.availableIp[this.selectedSubnet].filter(l=>!this.data.allowed_ips.includes(l))},inputGetLocale(){return V("Enter IP Address/CIDR")}},methods:{addAllowedIp(l){let t=l.split(",");for(let n=0;n0&&this.data.allowed_ips.length===0)for(let l in this.availableIp)this.availableIp[l].length>0&&this.addAllowedIp(this.availableIp[l][0])}},ee={class:"d-flex flex-column flex-md-row mb-2"},te={for:"peer_allowed_ip_textbox",class:"form-label mb-0"},se={class:"text-muted"},ae={class:"form-check form-switch ms-md-auto"},le={class:"form-check-label",for:"disableIPValidation"},oe={class:"d-flex"},ie=["onClick"],de={class:"d-flex gap-2 align-items-center"},ne={class:"input-group"},re=["placeholder","disabled"],ue=["disabled"],ce={class:"text-muted"},pe={class:"dropdown flex-grow-1"},he=["disabled"],be={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3 pb-0",style:{width:"300px !important"}},me={class:"px-3 d-flex gap-3 align-items-center"},_e={class:"px-3 overflow-x-scroll d-flex overflow-x-scroll overflow-y-hidden align-items-center gap-2"},ve=["onClick"],fe={class:"overflow-y-scroll",style:{height:"270px"}},ke=["onClick"],ye={class:"me-auto"},ge={key:0,class:"px-3 py-2"},we={key:0,class:"text-muted"},xe={key:1,class:"text-muted"};function $e(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("div",ee,[e("label",te,[e("small",se,[o(s,{t:"Allowed IPs"}),t[5]||(t[5]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",ae,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.allowed_ips_validation=a),role:"switch",id:"disableIPValidation"},null,512),[[A,this.data.allowed_ips_validation]]),e("label",le,[e("small",null,[o(s,{t:"Allowed IPs Validation"})])])])]),e("div",oe,[e("div",{class:m(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[o(E,{name:"list"},{default:j(()=>[(i(!0),d(C,null,O(this.data.allowed_ips,(a,c)=>(i(),d("span",{class:"badge rounded-pill text-bg-success",key:a},[w(S(a)+" ",1),e("a",{role:"button",onClick:P=>this.data.allowed_ips.splice(c,1)},t[6]||(t[6]=[e("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)]),8,ie)]))),128))]),_:1})],2)]),e("div",de,[e("div",ne,[h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:this.inputGetLocale,onKeyup:t[1]||(t[1]=F(a=>this.customAvailableIp?this.addAllowedIp(this.customAvailableIp):void 0,["enter"])),"onUpdate:modelValue":t[2]||(t[2]=a=>u.customAvailableIp=a),id:"peer_allowed_ip_textbox",disabled:n.bulk},null,42,re),[[f,u.customAvailableIp]]),e("button",{class:m(["btn btn-sm rounded-end-3",[this.customAvailableIp?"btn-success":"btn-outline-success"]]),disabled:n.bulk||!this.customAvailableIp,onClick:t[3]||(t[3]=a=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},t[7]||(t[7]=[e("i",{class:"bi bi-plus-lg"},null,-1)]),10,ue)]),e("small",ce,[o(s,{t:"or"})]),e("div",pe,[e("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[t[8]||(t[8]=e("i",{class:"bi bi-filter-circle me-2"},null,-1)),o(s,{t:"Pick Available IP"})],8,he),this.availableIp?(i(),d("ul",be,[e("li",null,[e("div",me,[t[9]||(t[9]=e("label",{for:"availableIpSearchString",class:"text-muted"},[e("i",{class:"bi bi-search"})],-1)),h(e("input",{id:"availableIpSearchString",class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[4]||(t[4]=a=>this.availableIpSearchString=a)},null,512),[[f,this.availableIpSearchString]])]),t[11]||(t[11]=e("hr",{class:"my-2"},null,-1)),e("div",_e,[t[10]||(t[10]=e("small",{class:"text-muted"},"Subnet",-1)),(i(!0),d(C,null,O(Object.keys(this.availableIp),a=>(i(),d("button",{key:a,onClick:c=>this.selectedSubnet=a,class:m([{"bg-primary-subtle":this.selectedSubnet===a},"btn btn-sm text-primary-emphasis rounded-3"])},S(a),11,ve))),128))]),t[12]||(t[12]=e("hr",{class:"mt-2 mb-0"},null,-1))]),e("li",null,[e("div",fe,[(i(!0),d(C,null,O(this.searchAvailableIps,a=>(i(),d("div",{style:{},key:a},[e("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.addAllowedIp(a)},[e("span",ye,[e("small",null,S(a),1)])],8,ke)]))),128)),this.searchAvailableIps.length===0?(i(),d("div",ge,[this.availableIpSearchString?(i(),d("small",we,[o(s,{t:"No available IP containing"}),w('"'+S(this.availableIpSearchString)+'"',1)])):(i(),d("small",xe,[o(s,{t:"No more IP address available in this subnet"})]))])):g("",!0)])])])):g("",!0)])])],2)}const Ie=k(X,[["render",$e],["__scopeId","data-v-ed72944d"]]),Ae={name:"dnsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let l=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.regexCheckIP(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS format is incorrect","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Pe={for:"peer_DNS_textbox",class:"form-label"},Se={class:"text-muted"},Ke=["disabled"];function Ce(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",Pe,[e("small",Se,[o(s,{t:"DNS"})])]),h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.dns=a),id:"peer_DNS_textbox"},null,10,Ke),[[f,this.dns]])])}const Le=k(Ae,[["render",Ce]]),Oe={name:"nameInput",components:{LocaleText:p},props:{bulk:Boolean,data:Object,saving:Boolean}},De={for:"peer_name_textbox",class:"form-label"},Ne={class:"text-muted"},Te=["disabled"];function Ve(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("label",De,[e("small",Ne,[o(s,{t:"Name"})])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,Te),[[f,this.data.name]])],2)}const Be=k(Oe,[["render",Ve]]),Me={name:"privatePublicKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const l=I(),t=$();return{dashboardStore:l,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},view:!1,editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(l){return/^[A-Za-z0-9+/]{43}=?=?$/.test(l)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},Ue={for:"peer_private_key_textbox",class:"form-label d-flex align-items-center"},je={class:"text-muted"},Ee={class:"input-group"},Fe=["type","disabled"],Ge=["disabled"],Re={class:"d-flex flex-column flex-md-row mb-2"},qe={for:"public_key",class:"form-label mb-0"},We={class:"text-muted"},Je={class:"form-check form-switch ms-md-auto"},ze=["disabled"],He={class:"form-check-label",for:"enablePublicKeyEdit"},Qe=["disabled","type"];function Ye(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",Ue,[e("small",je,[o(s,{t:"Private Key"}),t[7]||(t[7]=w()),e("code",null,[o(s,{t:"(Required for QR Code and Download)"})])]),e("a",{role:"button",class:"ms-auto text-decoration-none text-body",onClick:t[0]||(t[0]=a=>this.view=!this.view)},[e("small",null,[e("i",{class:m(["bi me-2",[this.view?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2),o(s,{t:this.view?"Hide Keys":"Show Keys"},null,8,["t"])])])]),e("div",Ee,[h(e("input",{type:this.view?"text":"password",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error,"rounded-3":!this.view}]),"onUpdate:modelValue":t[1]||(t[1]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[2]||(t[2]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,Fe),[[N,this.keypair.privateKey]]),this.view?(i(),d("button",{key:0,class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[3]||(t[3]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},t[8]||(t[8]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)]),8,Ge)):g("",!0)])]),e("div",null,[e("div",Re,[e("label",qe,[e("small",We,[o(s,{t:"Public Key"}),t[9]||(t[9]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",Je,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[4]||(t[4]=a=>this.editKey=a)},null,8,ze),[[A,this.editKey]]),e("label",He,[e("small",null,[o(s,{t:"Use your own Private and Public Key"})])])])]),h(e("input",{class:m(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[5]||(t[5]=a=>this.keypair.publicKey=a),onBlur:t[6]||(t[6]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:this.view?"text":"password",id:"public_key"},null,42,Qe),[[N,this.keypair.publicKey]])])],2)}const Ze=k(Me,[["render",Ye]]),Xe={name:"bulkAdd",components:{LocaleText:p},props:{saving:Boolean,data:Object,availableIp:void 0},data(){return{numberOfAvailableIPs:null}},computed:{bulkAddGetLocale(){return V("How many peers you want to add?")},getNumberOfAvailableIPs(){return this.numberOfAvailableIPs?Object.values(this.numberOfAvailableIPs).reduce((l,t)=>l+t):"..."}},watch:{"data.bulkAdd":{immediate:!0,handler(l){l&&B("/api/getNumberOfAvailableIPs/"+this.$route.params.id,{},t=>{t.status&&(this.numberOfAvailableIPs=t.data)})}}}},et={class:"form-check form-switch"},tt=["disabled"],st={class:"form-check-label me-2",for:"bulk_add"},at={class:"text-muted d-block"},lt={key:0,class:"form-group"},ot=["max","placeholder"],it={class:"text-muted"};function dt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("div",et,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.bulkAdd=a)},null,8,tt),[[A,this.data.bulkAdd]]),e("label",st,[e("small",null,[e("strong",null,[o(s,{t:"Bulk Add"})])])])]),e("p",{class:m({"mb-0":!this.data.bulkAdd})},[e("small",at,[o(s,{t:"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP."})])],2),this.data.bulkAdd?(i(),d("div",lt,[h(e("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",id:"bulk_add_count",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.bulkAddAmount=a),placeholder:this.bulkAddGetLocale},null,8,ot),[[f,this.data.bulkAddAmount]]),e("small",it,[o(s,{t:"You can add up to "+v.getNumberOfAvailableIPs+" peers"},null,8,["t"])])])):g("",!0)])}const nt=k(Xe,[["render",dt]]),rt={name:"presharedKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{enable:!1}},watch:{enable(){this.enable?this.data.preshared_key=window.wireguard.generateKeypair().presharedKey:this.data.preshared_key=""}}},ut={class:"d-flex align-items-start"},ct={for:"peer_preshared_key_textbox",class:"form-label"},pt={class:"text-muted"},ht={class:"form-check form-switch ms-auto"},bt=["disabled"];function mt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("div",ut,[e("label",ct,[e("small",pt,[o(s,{t:"Pre-Shared Key"})])]),e("div",ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=a=>this.enable=a),id:"peer_preshared_key_switch"},null,512),[[A,this.enable]])])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||!this.enable,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.preshared_key=a),id:"peer_preshared_key_textbox"},null,8,bt),[[f,this.data.preshared_key]])])}const _t=k(rt,[["render",mt]]),vt={name:"mtuInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},ft={for:"peer_mtu",class:"form-label"},kt={class:"text-muted"},yt=["disabled"];function gt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",ft,[e("small",kt,[o(s,{t:"MTU"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.mtu=a),min:"0",id:"peer_mtu"},null,8,yt),[[f,this.data.mtu]])])}const wt=k(vt,[["render",gt]]),xt={name:"persistentKeepAliveInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},$t={for:"peer_keep_alive",class:"form-label"},It={class:"text-muted"},At=["disabled"];function Pt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",$t,[e("small",It,[o(s,{t:"Persistent Keepalive"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.keepalive=a),id:"peer_keep_alive"},null,8,At),[[f,this.data.keepalive]])])}const St=k(xt,[["render",Pt]]),Kt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ct={class:"container d-flex h-100 w-100"},Lt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Ot={class:"card rounded-3 shadow flex-grow-1"},Dt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Nt={class:"mb-0"},Tt={class:"card-body px-4 pb-4"},Vt={class:"d-flex flex-column gap-2"},Bt={class:"accordion mb-3",id:"peerAddModalAccordion"},Mt={class:"accordion-item"},Ut={class:"accordion-header"},jt={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Et={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ft={class:"accordion-body rounded-bottom-3"},Gt={class:"d-flex flex-column gap-2"},Rt={class:"row gy-3"},qt={key:0,class:"col-sm"},Wt={class:"col-sm"},Jt={class:"col-sm"},zt={key:1,class:"col-12"},Ht={class:"form-check form-switch"},Qt={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},Yt={class:"fw-bold"},Zt={class:"d-flex mt-2"},Xt=["disabled"],es={key:0,class:"bi bi-plus-circle-fill me-2"},as={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,r;const u=I(),v=$(),s=L({bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:u.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:u.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(u.Configuration.Peers.peer_keep_alive),mtu:parseInt(u.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off",allowed_ips_validation:!0}),a=L([]),c=L(!1),P=G();[n,r]=R(()=>B("/api/getAvailableIPs/"+P.params.id,{},_=>{_.status&&(a.value=_.data)})),await n,r();const D=t;T(()=>v.Configurations.find(_=>_.Name===P.params.id).Protocol);const M=T(()=>{let _=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(_=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(x=>{s.value[x].length===0&&(_=!1)}),_}),U=()=>{c.value=!0,W("/api/addPeers/"+P.params.id,s.value,_=>{_.status?(u.newMessage("Server","Peer created successfully","success"),D("addedPeers")):u.newMessage("Server",_.message,"danger"),c.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(_,b)=>(i(),d("div",Kt,[e("div",Ct,[e("div",Lt,[e("div",Ot,[e("div",Dt,[e("h4",Nt,[o(p,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:b[0]||(b[0]=x=>D("close"))})]),e("div",Tt,[e("div",Vt,[o(nt,{saving:c.value,data:s.value,availableIp:a.value},null,8,["saving","data","availableIp"]),s.value.bulkAdd?g("",!0):(i(),d(C,{key:0},[b[3]||(b[3]=e("hr",{class:"mb-0 mt-2"},null,-1)),o(Be,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ze,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ie,{availableIp:a.value,saving:c.value,data:s.value},null,8,["availableIp","saving","data"])],64))]),b[5]||(b[5]=e("hr",null,null,-1)),e("div",Bt,[e("div",Mt,[e("h2",Ut,[e("button",jt,[o(p,{t:"Advanced Options"})])]),e("div",Et,[e("div",Ft,[e("div",Gt,[o(Le,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Z,{saving:c.value,data:s.value},null,8,["saving","data"]),e("div",Rt,[s.value.bulkAdd?g("",!0):(i(),d("div",qt,[o(_t,{saving:c.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Wt,[o(wt,{saving:c.value,data:s.value},null,8,["saving","data"])]),e("div",Jt,[o(St,{saving:c.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",zt,[e("div",Ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":b[1]||(b[1]=x=>s.value.preshared_key_bulkAdd=x),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[A,s.value.preshared_key_bulkAdd]]),e("label",Qt,[e("small",Yt,[o(p,{t:"Pre-Shared Key"}),b[4]||(b[4]=w()),s.value.preshared_key_bulkAdd?(i(),K(p,{key:0,t:"Enabled"})):(i(),K(p,{key:1,t:"Disabled"}))])])])])):g("",!0)])])])])])]),e("div",Zt,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!M.value||c.value,onClick:b[2]||(b[2]=x=>U())},[c.value?g("",!0):(i(),d("i",es)),c.value?(i(),K(p,{key:1,t:"Adding..."})):(i(),K(p,{key:2,t:"Add"}))],8,Xt)])])])])])],512))}};export{as as default}; +import{_ as k,h as y,c as d,f as i,a as e,m as h,b as o,e as w,y as f,n as m,W as $,D as I,v as A,w as j,F as C,i as O,t as S,T as E,E as F,d as g,G as V,r as L,a1 as N,g as B,L as G,I as R,q as T,H as q,j as K,z as W}from"./index-BimuIV8Z.js";import{L as p}from"./localeText-D0Ve6fTw.js";const J={name:"endpointAllowedIps",components:{LocaleText:p},props:{data:Object,saving:Boolean},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let l=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.checkCIDR(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IPs format is incorrect","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},z={for:"peer_endpoint_allowed_ips",class:"form-label"},H={class:"text-muted"},Q=["disabled"];function Y(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",z,[e("small",H,[o(s,{t:"Endpoint Allowed IPs"}),t[2]||(t[2]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":u.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.endpointAllowedIps=a),onBlur:t[1]||(t[1]=a=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Q),[[f,this.endpointAllowedIps]])])}const Z=k(J,[["render",Y]]),X={name:"allowedIPsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(l){const t=$(),n=I(),r=L("");return Object.keys(l.availableIp).length>0&&(r.value=Object.keys(l.availableIp)[0]),{store:t,dashboardStore:n,selectedSubnet:r}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp[this.selectedSubnet].filter(l=>l.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(l)):this.availableIp[this.selectedSubnet].filter(l=>!this.data.allowed_ips.includes(l))},inputGetLocale(){return V("Enter IP Address/CIDR")}},methods:{addAllowedIp(l){let t=l.split(",");for(let n=0;n0&&this.data.allowed_ips.length===0)for(let l in this.availableIp)this.availableIp[l].length>0&&this.addAllowedIp(this.availableIp[l][0])}},ee={class:"d-flex flex-column flex-md-row mb-2"},te={for:"peer_allowed_ip_textbox",class:"form-label mb-0"},se={class:"text-muted"},ae={class:"form-check form-switch ms-md-auto"},le={class:"form-check-label",for:"disableIPValidation"},oe={class:"d-flex"},ie=["onClick"],de={class:"d-flex gap-2 align-items-center"},ne={class:"input-group"},re=["placeholder","disabled"],ue=["disabled"],ce={class:"text-muted"},pe={class:"dropdown flex-grow-1"},he=["disabled"],be={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3 pb-0",style:{width:"300px !important"}},me={class:"px-3 d-flex gap-3 align-items-center"},_e={class:"px-3 overflow-x-scroll d-flex overflow-x-scroll overflow-y-hidden align-items-center gap-2"},ve=["onClick"],fe={class:"overflow-y-scroll",style:{height:"270px"}},ke=["onClick"],ye={class:"me-auto"},ge={key:0,class:"px-3 py-2"},we={key:0,class:"text-muted"},xe={key:1,class:"text-muted"};function $e(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("div",ee,[e("label",te,[e("small",se,[o(s,{t:"Allowed IPs"}),t[5]||(t[5]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",ae,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.allowed_ips_validation=a),role:"switch",id:"disableIPValidation"},null,512),[[A,this.data.allowed_ips_validation]]),e("label",le,[e("small",null,[o(s,{t:"Allowed IPs Validation"})])])])]),e("div",oe,[e("div",{class:m(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[o(E,{name:"list"},{default:j(()=>[(i(!0),d(C,null,O(this.data.allowed_ips,(a,c)=>(i(),d("span",{class:"badge rounded-pill text-bg-success",key:a},[w(S(a)+" ",1),e("a",{role:"button",onClick:P=>this.data.allowed_ips.splice(c,1)},t[6]||(t[6]=[e("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)]),8,ie)]))),128))]),_:1})],2)]),e("div",de,[e("div",ne,[h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:this.inputGetLocale,onKeyup:t[1]||(t[1]=F(a=>this.customAvailableIp?this.addAllowedIp(this.customAvailableIp):void 0,["enter"])),"onUpdate:modelValue":t[2]||(t[2]=a=>u.customAvailableIp=a),id:"peer_allowed_ip_textbox",disabled:n.bulk},null,42,re),[[f,u.customAvailableIp]]),e("button",{class:m(["btn btn-sm rounded-end-3",[this.customAvailableIp?"btn-success":"btn-outline-success"]]),disabled:n.bulk||!this.customAvailableIp,onClick:t[3]||(t[3]=a=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},t[7]||(t[7]=[e("i",{class:"bi bi-plus-lg"},null,-1)]),10,ue)]),e("small",ce,[o(s,{t:"or"})]),e("div",pe,[e("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[t[8]||(t[8]=e("i",{class:"bi bi-filter-circle me-2"},null,-1)),o(s,{t:"Pick Available IP"})],8,he),this.availableIp?(i(),d("ul",be,[e("li",null,[e("div",me,[t[9]||(t[9]=e("label",{for:"availableIpSearchString",class:"text-muted"},[e("i",{class:"bi bi-search"})],-1)),h(e("input",{id:"availableIpSearchString",class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[4]||(t[4]=a=>this.availableIpSearchString=a)},null,512),[[f,this.availableIpSearchString]])]),t[11]||(t[11]=e("hr",{class:"my-2"},null,-1)),e("div",_e,[t[10]||(t[10]=e("small",{class:"text-muted"},"Subnet",-1)),(i(!0),d(C,null,O(Object.keys(this.availableIp),a=>(i(),d("button",{key:a,onClick:c=>this.selectedSubnet=a,class:m([{"bg-primary-subtle":this.selectedSubnet===a},"btn btn-sm text-primary-emphasis rounded-3"])},S(a),11,ve))),128))]),t[12]||(t[12]=e("hr",{class:"mt-2 mb-0"},null,-1))]),e("li",null,[e("div",fe,[(i(!0),d(C,null,O(this.searchAvailableIps,a=>(i(),d("div",{style:{},key:a},[e("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.addAllowedIp(a)},[e("span",ye,[e("small",null,S(a),1)])],8,ke)]))),128)),this.searchAvailableIps.length===0?(i(),d("div",ge,[this.availableIpSearchString?(i(),d("small",we,[o(s,{t:"No available IP containing"}),w('"'+S(this.availableIpSearchString)+'"',1)])):(i(),d("small",xe,[o(s,{t:"No more IP address available in this subnet"})]))])):g("",!0)])])])):g("",!0)])])],2)}const Ie=k(X,[["render",$e],["__scopeId","data-v-ed72944d"]]),Ae={name:"dnsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let l=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.regexCheckIP(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS format is incorrect","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Pe={for:"peer_DNS_textbox",class:"form-label"},Se={class:"text-muted"},Ke=["disabled"];function Ce(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",Pe,[e("small",Se,[o(s,{t:"DNS"})])]),h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.dns=a),id:"peer_DNS_textbox"},null,10,Ke),[[f,this.dns]])])}const Le=k(Ae,[["render",Ce]]),Oe={name:"nameInput",components:{LocaleText:p},props:{bulk:Boolean,data:Object,saving:Boolean}},De={for:"peer_name_textbox",class:"form-label"},Ne={class:"text-muted"},Te=["disabled"];function Ve(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("label",De,[e("small",Ne,[o(s,{t:"Name"})])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,Te),[[f,this.data.name]])],2)}const Be=k(Oe,[["render",Ve]]),Me={name:"privatePublicKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const l=I(),t=$();return{dashboardStore:l,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},view:!1,editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(l){return/^[A-Za-z0-9+/]{43}=?=?$/.test(l)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},Ue={for:"peer_private_key_textbox",class:"form-label d-flex align-items-center"},je={class:"text-muted"},Ee={class:"input-group"},Fe=["type","disabled"],Ge=["disabled"],Re={class:"d-flex flex-column flex-md-row mb-2"},qe={for:"public_key",class:"form-label mb-0"},We={class:"text-muted"},Je={class:"form-check form-switch ms-md-auto"},ze=["disabled"],He={class:"form-check-label",for:"enablePublicKeyEdit"},Qe=["disabled","type"];function Ye(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",Ue,[e("small",je,[o(s,{t:"Private Key"}),t[7]||(t[7]=w()),e("code",null,[o(s,{t:"(Required for QR Code and Download)"})])]),e("a",{role:"button",class:"ms-auto text-decoration-none text-body",onClick:t[0]||(t[0]=a=>this.view=!this.view)},[e("small",null,[e("i",{class:m(["bi me-2",[this.view?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2),o(s,{t:this.view?"Hide Keys":"Show Keys"},null,8,["t"])])])]),e("div",Ee,[h(e("input",{type:this.view?"text":"password",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error,"rounded-3":!this.view}]),"onUpdate:modelValue":t[1]||(t[1]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[2]||(t[2]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,Fe),[[N,this.keypair.privateKey]]),this.view?(i(),d("button",{key:0,class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[3]||(t[3]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},t[8]||(t[8]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)]),8,Ge)):g("",!0)])]),e("div",null,[e("div",Re,[e("label",qe,[e("small",We,[o(s,{t:"Public Key"}),t[9]||(t[9]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",Je,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[4]||(t[4]=a=>this.editKey=a)},null,8,ze),[[A,this.editKey]]),e("label",He,[e("small",null,[o(s,{t:"Use your own Private and Public Key"})])])])]),h(e("input",{class:m(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[5]||(t[5]=a=>this.keypair.publicKey=a),onBlur:t[6]||(t[6]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:this.view?"text":"password",id:"public_key"},null,42,Qe),[[N,this.keypair.publicKey]])])],2)}const Ze=k(Me,[["render",Ye]]),Xe={name:"bulkAdd",components:{LocaleText:p},props:{saving:Boolean,data:Object,availableIp:void 0},data(){return{numberOfAvailableIPs:null}},computed:{bulkAddGetLocale(){return V("How many peers you want to add?")},getNumberOfAvailableIPs(){return this.numberOfAvailableIPs?Object.values(this.numberOfAvailableIPs).reduce((l,t)=>l+t):"..."}},watch:{"data.bulkAdd":{immediate:!0,handler(l){l&&B("/api/getNumberOfAvailableIPs/"+this.$route.params.id,{},t=>{t.status&&(this.numberOfAvailableIPs=t.data)})}}}},et={class:"form-check form-switch"},tt=["disabled"],st={class:"form-check-label me-2",for:"bulk_add"},at={class:"text-muted d-block"},lt={key:0,class:"form-group"},ot=["max","placeholder"],it={class:"text-muted"};function dt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("div",et,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.bulkAdd=a)},null,8,tt),[[A,this.data.bulkAdd]]),e("label",st,[e("small",null,[e("strong",null,[o(s,{t:"Bulk Add"})])])])]),e("p",{class:m({"mb-0":!this.data.bulkAdd})},[e("small",at,[o(s,{t:"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP."})])],2),this.data.bulkAdd?(i(),d("div",lt,[h(e("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",id:"bulk_add_count",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.bulkAddAmount=a),placeholder:this.bulkAddGetLocale},null,8,ot),[[f,this.data.bulkAddAmount]]),e("small",it,[o(s,{t:"You can add up to "+v.getNumberOfAvailableIPs+" peers"},null,8,["t"])])])):g("",!0)])}const nt=k(Xe,[["render",dt]]),rt={name:"presharedKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{enable:!1}},watch:{enable(){this.enable?this.data.preshared_key=window.wireguard.generateKeypair().presharedKey:this.data.preshared_key=""}}},ut={class:"d-flex align-items-start"},ct={for:"peer_preshared_key_textbox",class:"form-label"},pt={class:"text-muted"},ht={class:"form-check form-switch ms-auto"},bt=["disabled"];function mt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("div",ut,[e("label",ct,[e("small",pt,[o(s,{t:"Pre-Shared Key"})])]),e("div",ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=a=>this.enable=a),id:"peer_preshared_key_switch"},null,512),[[A,this.enable]])])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||!this.enable,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.preshared_key=a),id:"peer_preshared_key_textbox"},null,8,bt),[[f,this.data.preshared_key]])])}const _t=k(rt,[["render",mt]]),vt={name:"mtuInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},ft={for:"peer_mtu",class:"form-label"},kt={class:"text-muted"},yt=["disabled"];function gt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",ft,[e("small",kt,[o(s,{t:"MTU"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.mtu=a),min:"0",id:"peer_mtu"},null,8,yt),[[f,this.data.mtu]])])}const wt=k(vt,[["render",gt]]),xt={name:"persistentKeepAliveInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},$t={for:"peer_keep_alive",class:"form-label"},It={class:"text-muted"},At=["disabled"];function Pt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",$t,[e("small",It,[o(s,{t:"Persistent Keepalive"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.keepalive=a),id:"peer_keep_alive"},null,8,At),[[f,this.data.keepalive]])])}const St=k(xt,[["render",Pt]]),Kt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ct={class:"container d-flex h-100 w-100"},Lt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Ot={class:"card rounded-3 shadow flex-grow-1"},Dt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Nt={class:"mb-0"},Tt={class:"card-body px-4 pb-4"},Vt={class:"d-flex flex-column gap-2"},Bt={class:"accordion mb-3",id:"peerAddModalAccordion"},Mt={class:"accordion-item"},Ut={class:"accordion-header"},jt={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Et={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ft={class:"accordion-body rounded-bottom-3"},Gt={class:"d-flex flex-column gap-2"},Rt={class:"row gy-3"},qt={key:0,class:"col-sm"},Wt={class:"col-sm"},Jt={class:"col-sm"},zt={key:1,class:"col-12"},Ht={class:"form-check form-switch"},Qt={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},Yt={class:"fw-bold"},Zt={class:"d-flex mt-2"},Xt=["disabled"],es={key:0,class:"bi bi-plus-circle-fill me-2"},as={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,r;const u=I(),v=$(),s=L({bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:u.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:u.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(u.Configuration.Peers.peer_keep_alive),mtu:parseInt(u.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off",allowed_ips_validation:!0}),a=L([]),c=L(!1),P=G();[n,r]=R(()=>B("/api/getAvailableIPs/"+P.params.id,{},_=>{_.status&&(a.value=_.data)})),await n,r();const D=t;T(()=>v.Configurations.find(_=>_.Name===P.params.id).Protocol);const M=T(()=>{let _=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(_=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(x=>{s.value[x].length===0&&(_=!1)}),_}),U=()=>{c.value=!0,W("/api/addPeers/"+P.params.id,s.value,_=>{_.status?(u.newMessage("Server","Peer created successfully","success"),D("addedPeers")):u.newMessage("Server",_.message,"danger"),c.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(_,b)=>(i(),d("div",Kt,[e("div",Ct,[e("div",Lt,[e("div",Ot,[e("div",Dt,[e("h4",Nt,[o(p,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:b[0]||(b[0]=x=>D("close"))})]),e("div",Tt,[e("div",Vt,[o(nt,{saving:c.value,data:s.value,availableIp:a.value},null,8,["saving","data","availableIp"]),s.value.bulkAdd?g("",!0):(i(),d(C,{key:0},[b[3]||(b[3]=e("hr",{class:"mb-0 mt-2"},null,-1)),o(Be,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ze,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ie,{availableIp:a.value,saving:c.value,data:s.value},null,8,["availableIp","saving","data"])],64))]),b[5]||(b[5]=e("hr",null,null,-1)),e("div",Bt,[e("div",Mt,[e("h2",Ut,[e("button",jt,[o(p,{t:"Advanced Options"})])]),e("div",Et,[e("div",Ft,[e("div",Gt,[o(Le,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Z,{saving:c.value,data:s.value},null,8,["saving","data"]),e("div",Rt,[s.value.bulkAdd?g("",!0):(i(),d("div",qt,[o(_t,{saving:c.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Wt,[o(wt,{saving:c.value,data:s.value},null,8,["saving","data"])]),e("div",Jt,[o(St,{saving:c.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",zt,[e("div",Ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":b[1]||(b[1]=x=>s.value.preshared_key_bulkAdd=x),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[A,s.value.preshared_key_bulkAdd]]),e("label",Qt,[e("small",Yt,[o(p,{t:"Pre-Shared Key"}),b[4]||(b[4]=w()),s.value.preshared_key_bulkAdd?(i(),K(p,{key:0,t:"Enabled"})):(i(),K(p,{key:1,t:"Disabled"}))])])])])):g("",!0)])])])])])]),e("div",Zt,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!M.value||c.value,onClick:b[2]||(b[2]=x=>U())},[c.value?g("",!0):(i(),d("i",es)),c.value?(i(),K(p,{key:1,t:"Adding..."})):(i(),K(p,{key:2,t:"Add"}))],8,Xt)])])])])])],512))}};export{as as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DGqPau-e.js b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DuPflJwB.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DGqPau-e.js rename to src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DuPflJwB.js index cc38e5d6..c82637a1 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DGqPau-e.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-DuPflJwB.js @@ -1 +1 @@ -import{L as g}from"./localeText-DSmP42vs.js";import{q as S,c as l,f as n,a as e,t as v,F as y,i as $,u as _,n as f,b as d,r as k,J as G,m as E,y as I,j as N,d as w,_ as D,w as P,T as L,I as A}from"./index-mH92cJrc.js";import{D as C}from"./DashboardClientAssignmentStore-CKBhOHsA.js";const B={class:"d-flex flex-column gap-2"},M={class:"mb-0"},T={key:0,class:"d-flex flex-column gap-2"},V={class:"bg-body-secondary rounded-3 text-start p-2 d-flex"},j={class:"d-flex flex-column"},U={class:"mb-0"},F={class:"text-muted"},O=["onClick"],q={key:0,class:"spinner-border spinner-border-sm"},z={key:1,class:"bi bi-plus-circle-fill"},J={key:1},H={class:"text-muted"},K={__name:"searchClientsGroup",props:["group","groupName","searchString"],emits:["count","assign"],setup(r,{emit:p}){const i=r,t=p,a=C(),m=S(()=>{let s=i.group.filter(u=>!a.assignments.map(o=>o.Client.ClientID).includes(u.ClientID));if(i.searchString){let u=s.filter(o=>o.Name&&o.Name.includes(i.searchString)||o.Email&&o.Email.includes(i.searchString));return t("count",u.length),u}return t("count",s.length),s});return(s,u)=>(n(),l("div",B,[e("h6",M,[e("small",null,v(r.groupName),1)]),m.value.length>0?(n(),l("div",T,[(n(!0),l(y,null,$(m.value,o=>(n(),l("div",V,[e("div",j,[e("small",U,v(o.Email),1),e("small",F,v(o.Name?o.Name:"No Name"),1)]),e("button",{onClick:c=>t("assign",o.ClientID),class:f([{disabled:_(a).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[_(a).assigning===o.ClientID?(n(),l("span",q)):(n(),l("i",z))],10,O)]))),256))])):(n(),l("div",J,[e("small",H,[d(g,{t:"No result"})])]))]))}},Q={class:"p-3 bg-body-tertiary rounded-3 position-relative"},R={for:"SearchClient",class:"form-label"},W={class:"text-muted"},X={class:"w-100 rounded-3 d-flex flex-column gap-2"},Y={class:"mt-1"},Z=["onClick"],ee={class:"p-3 border rounded-3 d-flex flex-column gap-2 overflow-y-scroll",style:{height:"400px"}},se={__name:"searchClients",props:["clients","newAssignClients","assignments"],emits:["assign"],setup(r,{emit:p}){const i=C(),t=k(""),a=k(""),m=S(()=>t.value?{[t.value]:i.clients[t.value]}:i.clients),s=G({});Object.keys(i.clients).forEach(o=>s[o]=i.clients[o].length);const u=p;return(o,c)=>(n(),l("div",Q,[e("h6",null,[d(g,{t:"Assign to Clients"})]),e("label",R,[e("small",W,[d(g,{t:"Enter Email or Name to Search"})])]),E(e("input",{class:"form-control rounded-3 mb-2",id:"SearchClient","onUpdate:modelValue":c[0]||(c[0]=b=>a.value=b),type:"email"},null,512),[[I,a.value]]),e("div",X,[e("div",null,[c[3]||(c[3]=e("small",{class:"text-muted"},"Groups",-1)),e("div",Y,[e("button",{class:f([{active:!t.value},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"]),onClick:c[1]||(c[1]=b=>t.value="")},[d(g,{t:"All"})],2),(n(!0),l(y,null,$(_(i).clients,(b,h)=>(n(),l("button",{onClick:x=>t.value=h,class:f([{active:t.value===h},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"])},[d(g,{t:h},null,8,["t"]),e("span",{class:f(["ms-1 badge",[s[h]>0?"bg-primary":"bg-secondary"]])},v(s[h]),3)],10,Z))),256))])]),e("div",ee,[(n(!0),l(y,null,$(m.value,(b,h)=>(n(),N(K,{onAssign:c[2]||(c[2]=x=>u("assign",x)),onCount:x=>s[h]=x,searchString:a.value,group:b,groupName:h},null,8,["onCount","searchString","group","groupName"]))),256))])])]))}},te={class:"bg-body-secondary rounded-3 text-start p-2 mb-2 assignment"},ne={key:0,class:"d-flex"},ie={class:"d-flex flex-column"},le={class:"text-muted"},ae={key:1,class:"d-flex gap-2"},oe={class:"d-flex flex-column"},re={class:"text-muted"},ce={key:0,class:"spinner-border spinner-border-sm"},de={key:1,class:"bi bi-check-lg"},ue={__name:"assignment",props:["assignment"],emits:["unassign"],setup(r,{emit:p}){const i=p,t=k(!1),a=C();return(m,s)=>(n(),l("div",te,[t.value?(n(),l("div",ae,[e("div",oe,[e("small",null,[d(g,{t:"Are you sure to delete assignment for"})]),e("small",re,[d(g,{t:r.assignment.Client.Email+" in group "+(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local")+"?"},null,8,["t"])])]),e("button",{onClick:s[1]||(s[1]=u=>i("unassign")),"aria-label":"Delete Assignment",class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"])},[_(a).unassigning?(n(),l("span",ce)):(n(),l("i",de))],2),e("button",{class:f([{disabled:_(a).unassigning},"btn bg-secondary-subtle text-secondary-emphasis"]),onClick:s[2]||(s[2]=u=>t.value=!t.value),"aria-label":"Cancel Delete Assignment"},s[4]||(s[4]=[e("i",{class:"bi bi-x-lg"},null,-1)]),2)])):(n(),l("div",ne,[e("div",ie,[e("small",null,v(r.assignment.Client.Email),1),e("small",le,v(r.assignment.Client.Name?r.assignment.Client.Name+" | ":"")+v(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local"),1)]),t.value?w("",!0):(n(),l("button",{key:0,onClick:s[0]||(s[0]=u=>t.value=!t.value),class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)]),2))]))]))}},me={class:"p-3 bg-body-tertiary rounded-3 d-flex flex-column gap-2"},ge={class:"mb-0"},_e={key:0,class:"text-center"},pe={class:"text-muted"},be={__name:"assignedClients",props:["configurationName","peer"],emits:["unassign"],setup(r,{emit:p}){const i=C();return(t,a)=>(n(),l("div",me,[e("h6",ge,[d(g,{t:"Assigned Clients"})]),d(L,{name:"list",tag:"div",class:"position-relative"},{default:P(()=>[(n(!0),l(y,null,$(_(i).assignments,m=>(n(),N(ue,{assignment:m,key:m.AssignmentID,onUnassign:s=>_(i).unassignClient(r.configurationName,r.peer,m.AssignmentID)},null,8,["assignment","onUnassign"]))),128))]),_:1}),_(i).assignments.length===0?(n(),l("div",_e,[e("small",pe,[d(g,{t:"No client assigned to this peer yet"})])])):w("",!0)]))}},he=D(be,[["__scopeId","data-v-99c0844e"]]),ve={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},fe={class:"container d-flex h-100 w-100"},Ce={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},xe={class:"card rounded-3 shadow flex-grow-1"},ye={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},$e={class:"mb-0"},ke={class:"card-body px-4 pb-4 d-flex gap-2 flex-column"},Ae={__name:"peerAssignModal",props:{selectedPeer:Object},emits:["close"],async setup(r,{emit:p}){let i,t;const a=r,m=p,s=C();s.clients.length>0?s.getClients():([i,t]=A(()=>s.getClients()),await i,t()),[i,t]=A(()=>s.getAssignedClients(a.selectedPeer.configuration.Name,a.selectedPeer.id)),await i,t();const u=async o=>{await s.assignClient(a.selectedPeer.configuration.Name,a.selectedPeer.id,o)};return(o,c)=>(n(),l("div",ve,[e("div",fe,[e("div",Ce,[e("div",xe,[e("div",ye,[e("h4",$e,[d(g,{t:"Assign Peer to Client"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=b=>m("close"))})]),e("div",ke,[d(he,{"configuration-name":a.selectedPeer.configuration.Name,peer:a.selectedPeer.id},null,8,["configuration-name","peer"]),d(se,{onAssign:c[1]||(c[1]=b=>u(b))})])])])])]))}},De=D(Ae,[["__scopeId","data-v-b52659b4"]]);export{De as default}; +import{L as g}from"./localeText-D0Ve6fTw.js";import{q as S,c as l,f as n,a as e,t as v,F as y,i as $,u as _,n as f,b as d,r as k,J as G,m as E,y as I,j as N,d as w,_ as D,w as P,T as L,I as A}from"./index-BimuIV8Z.js";import{D as C}from"./DashboardClientAssignmentStore-D4FsyWTT.js";const B={class:"d-flex flex-column gap-2"},M={class:"mb-0"},T={key:0,class:"d-flex flex-column gap-2"},V={class:"bg-body-secondary rounded-3 text-start p-2 d-flex"},j={class:"d-flex flex-column"},U={class:"mb-0"},F={class:"text-muted"},O=["onClick"],q={key:0,class:"spinner-border spinner-border-sm"},z={key:1,class:"bi bi-plus-circle-fill"},J={key:1},H={class:"text-muted"},K={__name:"searchClientsGroup",props:["group","groupName","searchString"],emits:["count","assign"],setup(r,{emit:p}){const i=r,t=p,a=C(),m=S(()=>{let s=i.group.filter(u=>!a.assignments.map(o=>o.Client.ClientID).includes(u.ClientID));if(i.searchString){let u=s.filter(o=>o.Name&&o.Name.includes(i.searchString)||o.Email&&o.Email.includes(i.searchString));return t("count",u.length),u}return t("count",s.length),s});return(s,u)=>(n(),l("div",B,[e("h6",M,[e("small",null,v(r.groupName),1)]),m.value.length>0?(n(),l("div",T,[(n(!0),l(y,null,$(m.value,o=>(n(),l("div",V,[e("div",j,[e("small",U,v(o.Email),1),e("small",F,v(o.Name?o.Name:"No Name"),1)]),e("button",{onClick:c=>t("assign",o.ClientID),class:f([{disabled:_(a).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[_(a).assigning===o.ClientID?(n(),l("span",q)):(n(),l("i",z))],10,O)]))),256))])):(n(),l("div",J,[e("small",H,[d(g,{t:"No result"})])]))]))}},Q={class:"p-3 bg-body-tertiary rounded-3 position-relative"},R={for:"SearchClient",class:"form-label"},W={class:"text-muted"},X={class:"w-100 rounded-3 d-flex flex-column gap-2"},Y={class:"mt-1"},Z=["onClick"],ee={class:"p-3 border rounded-3 d-flex flex-column gap-2 overflow-y-scroll",style:{height:"400px"}},se={__name:"searchClients",props:["clients","newAssignClients","assignments"],emits:["assign"],setup(r,{emit:p}){const i=C(),t=k(""),a=k(""),m=S(()=>t.value?{[t.value]:i.clients[t.value]}:i.clients),s=G({});Object.keys(i.clients).forEach(o=>s[o]=i.clients[o].length);const u=p;return(o,c)=>(n(),l("div",Q,[e("h6",null,[d(g,{t:"Assign to Clients"})]),e("label",R,[e("small",W,[d(g,{t:"Enter Email or Name to Search"})])]),E(e("input",{class:"form-control rounded-3 mb-2",id:"SearchClient","onUpdate:modelValue":c[0]||(c[0]=b=>a.value=b),type:"email"},null,512),[[I,a.value]]),e("div",X,[e("div",null,[c[3]||(c[3]=e("small",{class:"text-muted"},"Groups",-1)),e("div",Y,[e("button",{class:f([{active:!t.value},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"]),onClick:c[1]||(c[1]=b=>t.value="")},[d(g,{t:"All"})],2),(n(!0),l(y,null,$(_(i).clients,(b,h)=>(n(),l("button",{onClick:x=>t.value=h,class:f([{active:t.value===h},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"])},[d(g,{t:h},null,8,["t"]),e("span",{class:f(["ms-1 badge",[s[h]>0?"bg-primary":"bg-secondary"]])},v(s[h]),3)],10,Z))),256))])]),e("div",ee,[(n(!0),l(y,null,$(m.value,(b,h)=>(n(),N(K,{onAssign:c[2]||(c[2]=x=>u("assign",x)),onCount:x=>s[h]=x,searchString:a.value,group:b,groupName:h},null,8,["onCount","searchString","group","groupName"]))),256))])])]))}},te={class:"bg-body-secondary rounded-3 text-start p-2 mb-2 assignment"},ne={key:0,class:"d-flex"},ie={class:"d-flex flex-column"},le={class:"text-muted"},ae={key:1,class:"d-flex gap-2"},oe={class:"d-flex flex-column"},re={class:"text-muted"},ce={key:0,class:"spinner-border spinner-border-sm"},de={key:1,class:"bi bi-check-lg"},ue={__name:"assignment",props:["assignment"],emits:["unassign"],setup(r,{emit:p}){const i=p,t=k(!1),a=C();return(m,s)=>(n(),l("div",te,[t.value?(n(),l("div",ae,[e("div",oe,[e("small",null,[d(g,{t:"Are you sure to delete assignment for"})]),e("small",re,[d(g,{t:r.assignment.Client.Email+" in group "+(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local")+"?"},null,8,["t"])])]),e("button",{onClick:s[1]||(s[1]=u=>i("unassign")),"aria-label":"Delete Assignment",class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"])},[_(a).unassigning?(n(),l("span",ce)):(n(),l("i",de))],2),e("button",{class:f([{disabled:_(a).unassigning},"btn bg-secondary-subtle text-secondary-emphasis"]),onClick:s[2]||(s[2]=u=>t.value=!t.value),"aria-label":"Cancel Delete Assignment"},s[4]||(s[4]=[e("i",{class:"bi bi-x-lg"},null,-1)]),2)])):(n(),l("div",ne,[e("div",ie,[e("small",null,v(r.assignment.Client.Email),1),e("small",le,v(r.assignment.Client.Name?r.assignment.Client.Name+" | ":"")+v(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local"),1)]),t.value?w("",!0):(n(),l("button",{key:0,onClick:s[0]||(s[0]=u=>t.value=!t.value),class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)]),2))]))]))}},me={class:"p-3 bg-body-tertiary rounded-3 d-flex flex-column gap-2"},ge={class:"mb-0"},_e={key:0,class:"text-center"},pe={class:"text-muted"},be={__name:"assignedClients",props:["configurationName","peer"],emits:["unassign"],setup(r,{emit:p}){const i=C();return(t,a)=>(n(),l("div",me,[e("h6",ge,[d(g,{t:"Assigned Clients"})]),d(L,{name:"list",tag:"div",class:"position-relative"},{default:P(()=>[(n(!0),l(y,null,$(_(i).assignments,m=>(n(),N(ue,{assignment:m,key:m.AssignmentID,onUnassign:s=>_(i).unassignClient(r.configurationName,r.peer,m.AssignmentID)},null,8,["assignment","onUnassign"]))),128))]),_:1}),_(i).assignments.length===0?(n(),l("div",_e,[e("small",pe,[d(g,{t:"No client assigned to this peer yet"})])])):w("",!0)]))}},he=D(be,[["__scopeId","data-v-99c0844e"]]),ve={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},fe={class:"container d-flex h-100 w-100"},Ce={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},xe={class:"card rounded-3 shadow flex-grow-1"},ye={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},$e={class:"mb-0"},ke={class:"card-body px-4 pb-4 d-flex gap-2 flex-column"},Ae={__name:"peerAssignModal",props:{selectedPeer:Object},emits:["close"],async setup(r,{emit:p}){let i,t;const a=r,m=p,s=C();s.clients.length>0?s.getClients():([i,t]=A(()=>s.getClients()),await i,t()),[i,t]=A(()=>s.getAssignedClients(a.selectedPeer.configuration.Name,a.selectedPeer.id)),await i,t();const u=async o=>{await s.assignClient(a.selectedPeer.configuration.Name,a.selectedPeer.id,o)};return(o,c)=>(n(),l("div",ve,[e("div",fe,[e("div",Ce,[e("div",xe,[e("div",ye,[e("h4",$e,[d(g,{t:"Assign Peer to Client"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=b=>m("close"))})]),e("div",ke,[d(he,{"configuration-name":a.selectedPeer.configuration.Name,peer:a.selectedPeer.id},null,8,["configuration-name","peer"]),d(se,{onAssign:c[1]||(c[1]=b=>u(b))})])])])])]))}},De=D(Ae,[["__scopeId","data-v-b52659b4"]]);export{De as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Dzh_MPky.js b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Bvds9YiG.js similarity index 92% rename from src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Dzh_MPky.js rename to src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Bvds9YiG.js index 55867b2d..779771d3 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Dzh_MPky.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-Bvds9YiG.js @@ -1 +1 @@ -import{_ as v,D as g,r as o,o as h,L as x,g as y,c as i,f as n,a as s,b as c,d as w,n as C,w as k,k as F}from"./index-mH92cJrc.js";import{L as T}from"./localeText-DSmP42vs.js";import"./browser-B8eugmTx.js";import"./galois-field-CkUIqpA6.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},L={class:"card rounded-3 shadow w-100"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},B={class:"mb-0"},G={class:"card-body p-4 d-flex flex-column gap-3"},N={style:{height:"300px"},class:"d-flex"},V=["value"],j={key:0,class:"spinner-border m-auto",role:"status"},I={class:"d-flex"},W=["disabled"],$={key:0,class:"d-block"},q={key:1,class:"d-block",id:"check"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=x();y("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const b=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(n(),i("div",M,[s("div",S,[s("div",D,[s("div",L,[s("div",P,[s("h4",B,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=_=>m("close"))})]),s("div",G,[s("div",N,[s("textarea",{style:{height:"300px"},class:C(["form-control w-100 rounded-3 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,V),a.value?(n(),i("div",j,e[2]||(e[2]=[s("span",{class:"visually-hidden"},"Loading...",-1)]))):w("",!0)]),s("div",I,[s("button",{onClick:e[1]||(e[1]=_=>b()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(F,{name:"slide-up",mode:"out-in"},{default:k(()=>[t.value?(n(),i("span",q,e[4]||(e[4]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)]))):(n(),i("span",$,e[3]||(e[3]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])))]),_:1})],8,W)])])])])])]))}},H=v(z,[["__scopeId","data-v-b0ea2d46"]]);export{H as default}; +import{_ as v,D as g,r as o,o as h,L as x,g as y,c as i,f as n,a as s,b as c,d as w,n as C,w as k,k as F}from"./index-BimuIV8Z.js";import{L as T}from"./localeText-D0Ve6fTw.js";import"./browser-DqvcZvnx.js";import"./galois-field-CkUIqpA6.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},L={class:"card rounded-3 shadow w-100"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},B={class:"mb-0"},G={class:"card-body p-4 d-flex flex-column gap-3"},N={style:{height:"300px"},class:"d-flex"},V=["value"],j={key:0,class:"spinner-border m-auto",role:"status"},I={class:"d-flex"},W=["disabled"],$={key:0,class:"d-block"},q={key:1,class:"d-block",id:"check"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=x();y("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const b=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(n(),i("div",M,[s("div",S,[s("div",D,[s("div",L,[s("div",P,[s("h4",B,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=_=>m("close"))})]),s("div",G,[s("div",N,[s("textarea",{style:{height:"300px"},class:C(["form-control w-100 rounded-3 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,V),a.value?(n(),i("div",j,e[2]||(e[2]=[s("span",{class:"visually-hidden"},"Loading...",-1)]))):w("",!0)]),s("div",I,[s("button",{onClick:e[1]||(e[1]=_=>b()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(F,{name:"slide-up",mode:"out-in"},{default:k(()=>[t.value?(n(),i("span",q,e[4]||(e[4]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)]))):(n(),i("span",$,e[3]||(e[3]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])))]),_:1})],8,W)])])])])])]))}},H=v(z,[["__scopeId","data-v-b0ea2d46"]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-BUOqWfwF.js b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-CX_FkPKH.js similarity index 78% rename from src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-BUOqWfwF.js rename to src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-CX_FkPKH.js index 4c875043..5b38fb9d 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-BUOqWfwF.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-CX_FkPKH.js @@ -1 +1 @@ -import{L as o}from"./localeText-DSmP42vs.js";import{P as t}from"./peersDefaultSettingsInput-DgB9BWQw.js";import{B as s,c as l,a,b as e,f as n}from"./index-mH92cJrc.js";const r={class:"d-flex gap-3 flex-column"},i={class:"card rounded-3"},d={class:"card-header"},c={class:"my-2"},_={class:"card-body"},D=s({__name:"peerDefaultSettings",setup(p){return(g,m)=>(n(),l("div",r,[a("div",i,[a("div",d,[a("h6",c,[e(o,{t:"Peer Default Settings"})])]),a("div",_,[a("div",null,[e(t,{targetData:"peer_global_dns",title:"DNS"}),e(t,{targetData:"peer_endpoint_allowed_ip",title:"Endpoint Allowed IPs"}),e(t,{targetData:"peer_mtu",title:"MTU"}),e(t,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),e(t,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])])])]))}});export{D as default}; +import{L as o}from"./localeText-D0Ve6fTw.js";import{P as t}from"./peersDefaultSettingsInput-BBQyY1Fm.js";import{B as s,c as l,a,b as e,f as n}from"./index-BimuIV8Z.js";const r={class:"d-flex gap-3 flex-column"},i={class:"card rounded-3"},d={class:"card-header"},c={class:"my-2"},_={class:"card-body"},D=s({__name:"peerDefaultSettings",setup(p){return(g,m)=>(n(),l("div",r,[a("div",i,[a("div",d,[a("h6",c,[e(o,{t:"Peer Default Settings"})])]),a("div",_,[a("div",null,[e(t,{targetData:"peer_global_dns",title:"DNS"}),e(t,{targetData:"peer_endpoint_allowed_ip",title:"Endpoint Allowed IPs"}),e(t,{targetData:"peer_mtu",title:"MTU"}),e(t,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),e(t,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])])])]))}});export{D as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobs-DcngDA8N.js b/src/static/dist/WGDashboardAdmin/assets/peerJobs-jGW1mswZ.js similarity index 90% rename from src/static/dist/WGDashboardAdmin/assets/peerJobs-DcngDA8N.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobs-jGW1mswZ.js index 431d3b71..c23f95b9 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobs-DcngDA8N.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobs-jGW1mswZ.js @@ -1 +1 @@ -import{a as p,S as b}from"./schedulePeerJob-9nZCB-vb.js";import{_ as h,h as i,c as a,f as o,a as e,b as r,w as u,d as m,F as _,i as f,j as v,T as J,A as x,W as g}from"./index-mH92cJrc.js";import{L as w}from"./localeText-DSmP42vs.js";import"./vue-datepicker-DXRta4gJ.js";import"./dayjs.min-BSByM7MH.js";const P={name:"peerJobs",setup(){return{store:g()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:b,ScheduleDropdown:p},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:x().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},S={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},j={class:"mb-0 fw-normal"},k={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return o(),a("div",S,[e("div",y,[e("div",$,[e("div",C,[e("div",D,[e("h4",j,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),e("div",k,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=s=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(J,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:u(()=>[(o(!0),a(_,null,f(this.selectedPeer.jobs,(s,E)=>(o(),v(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(s),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:s.JobID,pjob:s},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(o(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):m("",!0)]),_:1})])])])])])}const z=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{z as default}; +import{a as p,S as b}from"./schedulePeerJob-Cb0Cf1NE.js";import{_ as h,h as i,c as a,f as o,a as e,b as r,w as u,d as m,F as _,i as f,j as v,T as J,A as x,W as g}from"./index-BimuIV8Z.js";import{L as w}from"./localeText-D0Ve6fTw.js";import"./vue-datepicker-VDLvxrT_.js";import"./dayjs.min-CkODZHdU.js";const P={name:"peerJobs",setup(){return{store:g()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:b,ScheduleDropdown:p},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:x().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},S={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},j={class:"mb-0 fw-normal"},k={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return o(),a("div",S,[e("div",y,[e("div",$,[e("div",C,[e("div",D,[e("h4",j,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),e("div",k,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=s=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(J,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:u(()=>[(o(!0),a(_,null,f(this.selectedPeer.jobs,(s,E)=>(o(),v(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(s),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:s.JobID,pjob:s},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(o(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):m("",!0)]),_:1})])])])])])}const z=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{z as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-ljWdMyMH.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-CDqdvFvr.js similarity index 90% rename from src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-ljWdMyMH.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-CDqdvFvr.js index 9e4a25e9..9e4788b9 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-ljWdMyMH.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-CDqdvFvr.js @@ -1 +1 @@ -import{S as _}from"./schedulePeerJob-9nZCB-vb.js";import{_ as g,h as c,c as r,f as t,a as e,b as l,F as p,i as b,d as f,t as m,j as v,W as y}from"./index-mH92cJrc.js";import{L as x}from"./localeText-DSmP42vs.js";import"./vue-datepicker-DXRta4gJ.js";import"./dayjs.min-BSByM7MH.js";const J={name:"peerJobsAllModal",setup(){return{store:y()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},w={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},$={class:"container d-flex h-100 w-100"},k={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2"},C={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},P={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",w,[e("div",$,[e("div",k,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",j,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",C,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",P,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),v(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const U=g(J,[["render",W]]);export{U as default}; +import{S as _}from"./schedulePeerJob-Cb0Cf1NE.js";import{_ as g,h as c,c as r,f as t,a as e,b as l,F as p,i as b,d as f,t as m,j as v,W as y}from"./index-BimuIV8Z.js";import{L as x}from"./localeText-D0Ve6fTw.js";import"./vue-datepicker-VDLvxrT_.js";import"./dayjs.min-CkODZHdU.js";const J={name:"peerJobsAllModal",setup(){return{store:y()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},w={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},$={class:"container d-flex h-100 w-100"},k={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2"},C={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},P={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",w,[e("div",$,[e("div",k,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",j,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",C,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",P,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),v(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const U=g(J,[["render",W]]);export{U as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DVpI41bm.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-CumKSmXP.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DVpI41bm.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-CumKSmXP.js index a2b5e374..b3dfd7d1 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DVpI41bm.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-CumKSmXP.js @@ -1 +1 @@ -import{d as m}from"./dayjs.min-BSByM7MH.js";import{_ as p,h as g,c as a,f as n,a as s,b as i,e as b,t as c,m as h,v as u,d,F as _,i as f,n as w,g as L}from"./index-mH92cJrc.js";import{L as k}from"./localeText-DSmP42vs.js";const x={name:"peerJobsLogsModal",components:{LocaleText:k},props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await L(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},r=>{this.data=r.data,this.logFetchTime=m().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(r=>this.showSuccessJob&&["1","true"].includes(r.Status)||this.showFailedJob&&["0","false"].includes(r.Status))},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container-fluid d-flex h-100 w-100"},D={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},S={class:"card rounded-3 shadow w-100"},I={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},J={class:"mb-0"},C={class:"card-body px-4 pb-4 pt-2"},F={key:0},j={class:"mb-2 d-flex gap-3"},M={class:"d-flex gap-3 align-items-center"},V={class:"text-muted"},T={class:"form-check"},A={class:"form-check-label",for:"jobLogsShowSuccessCheck"},N={class:"badge text-success-emphasis bg-success-subtle"},U={class:"form-check"},Y={class:"form-check-label",for:"jobLogsShowFailedCheck"},B={class:"badge text-danger-emphasis bg-danger-subtle"},z={class:"d-flex gap-3 align-items-center ms-auto"},H={class:"text-muted"},$={class:"form-check"},E={class:"form-check-label",for:"jobLogsShowJobIDCheck"},G={class:"form-check"},O={class:"form-check-label",for:"jobLogsShowLogIDCheck"},P={class:"table"},R={scope:"col"},q={key:0,scope:"col"},K={key:1,scope:"col"},Q={scope:"col"},W={scope:"col"},X={style:{"font-size":"0.875rem"}},Z={scope:"row"},ss={key:0},ts={class:"text-muted"},os={key:1},es={class:"text-muted"},is={class:"d-flex gap-2"},as={key:1,class:"d-flex align-items-center flex-column"};function ns(r,t,ls,cs,l,ds){const e=g("LocaleText");return n(),a("div",y,[s("div",v,[s("div",D,[s("div",S,[s("div",I,[s("h4",J,[i(e,{t:"Jobs Logs"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),s("div",C,[this.dataLoading?(n(),a("div",as,t[11]||(t[11]=[s("div",{class:"spinner-border text-body",role:"status"},[s("span",{class:"visually-hidden"},"Loading...")],-1)]))):(n(),a("div",F,[s("p",null,[i(e,{t:"Updated at"}),b(" : "+c(this.logFetchTime),1)]),s("div",j,[s("button",{onClick:t[1]||(t[1]=o=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[t[8]||(t[8]=s("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(e,{t:"Refresh"})]),s("div",M,[s("span",V,[i(e,{t:"Filter"})]),s("div",T,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=o=>this.showSuccessJob=o),id:"jobLogsShowSuccessCheck"},null,512),[[u,this.showSuccessJob]]),s("label",A,[s("span",N,[i(e,{t:"Success"})])])]),s("div",U,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>this.showFailedJob=o),id:"jobLogsShowFailedCheck"},null,512),[[u,this.showFailedJob]]),s("label",Y,[s("span",B,[i(e,{t:"Failed"})])])])]),s("div",z,[s("span",H,[i(e,{t:"Display"})]),s("div",$,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>l.showJobID=o),id:"jobLogsShowJobIDCheck"},null,512),[[u,l.showJobID]]),s("label",E,[i(e,{t:"Job ID"})])]),s("div",G,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=o=>l.showLogID=o),id:"jobLogsShowLogIDCheck"},null,512),[[u,l.showLogID]]),s("label",O,[i(e,{t:"Log ID"})])])])]),s("table",P,[s("thead",null,[s("tr",null,[s("th",R,[i(e,{t:"Date"})]),l.showLogID?(n(),a("th",q,[i(e,{t:"Log ID"})])):d("",!0),l.showJobID?(n(),a("th",K,[i(e,{t:"Job ID"})])):d("",!0),s("th",Q,[i(e,{t:"Status"})]),s("th",W,[i(e,{t:"Message"})])])]),s("tbody",null,[(n(!0),a(_,null,f(this.showLogs,o=>(n(),a("tr",X,[s("th",Z,c(o.LogDate),1),l.showLogID?(n(),a("td",ss,[s("samp",ts,c(o.LogID),1)])):d("",!0),l.showJobID?(n(),a("td",os,[s("samp",es,c(o.JobID),1)])):d("",!0),s("td",null,[s("span",{class:w(["badge",[o.Status==="1"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},c(o.Status==="1"?"Success":"Failed"),3)]),s("td",null,c(o.Message),1)]))),256))])]),s("div",is,[this.getLogs.length>this.showLogAmount?(n(),a("button",{key:0,onClick:t[6]||(t[6]=o=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},t[9]||(t[9]=[s("i",{class:"bi bi-chevron-down me-2"},null,-1),b(" Show More ")]))):d("",!0),this.showLogAmount>20?(n(),a("button",{key:1,onClick:t[7]||(t[7]=o=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},t[10]||(t[10]=[s("i",{class:"bi bi-chevron-up me-2"},null,-1),b(" Collapse ")]))):d("",!0)])]))])])])])])}const bs=p(x,[["render",ns]]);export{bs as default}; +import{d as m}from"./dayjs.min-CkODZHdU.js";import{_ as p,h as g,c as a,f as n,a as s,b as i,e as b,t as c,m as h,v as u,d,F as _,i as f,n as w,g as L}from"./index-BimuIV8Z.js";import{L as k}from"./localeText-D0Ve6fTw.js";const x={name:"peerJobsLogsModal",components:{LocaleText:k},props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await L(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},r=>{this.data=r.data,this.logFetchTime=m().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(r=>this.showSuccessJob&&["1","true"].includes(r.Status)||this.showFailedJob&&["0","false"].includes(r.Status))},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container-fluid d-flex h-100 w-100"},D={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},S={class:"card rounded-3 shadow w-100"},I={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},J={class:"mb-0"},C={class:"card-body px-4 pb-4 pt-2"},F={key:0},j={class:"mb-2 d-flex gap-3"},M={class:"d-flex gap-3 align-items-center"},V={class:"text-muted"},T={class:"form-check"},A={class:"form-check-label",for:"jobLogsShowSuccessCheck"},N={class:"badge text-success-emphasis bg-success-subtle"},U={class:"form-check"},Y={class:"form-check-label",for:"jobLogsShowFailedCheck"},B={class:"badge text-danger-emphasis bg-danger-subtle"},z={class:"d-flex gap-3 align-items-center ms-auto"},H={class:"text-muted"},$={class:"form-check"},E={class:"form-check-label",for:"jobLogsShowJobIDCheck"},G={class:"form-check"},O={class:"form-check-label",for:"jobLogsShowLogIDCheck"},P={class:"table"},R={scope:"col"},q={key:0,scope:"col"},K={key:1,scope:"col"},Q={scope:"col"},W={scope:"col"},X={style:{"font-size":"0.875rem"}},Z={scope:"row"},ss={key:0},ts={class:"text-muted"},os={key:1},es={class:"text-muted"},is={class:"d-flex gap-2"},as={key:1,class:"d-flex align-items-center flex-column"};function ns(r,t,ls,cs,l,ds){const e=g("LocaleText");return n(),a("div",y,[s("div",v,[s("div",D,[s("div",S,[s("div",I,[s("h4",J,[i(e,{t:"Jobs Logs"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),s("div",C,[this.dataLoading?(n(),a("div",as,t[11]||(t[11]=[s("div",{class:"spinner-border text-body",role:"status"},[s("span",{class:"visually-hidden"},"Loading...")],-1)]))):(n(),a("div",F,[s("p",null,[i(e,{t:"Updated at"}),b(" : "+c(this.logFetchTime),1)]),s("div",j,[s("button",{onClick:t[1]||(t[1]=o=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[t[8]||(t[8]=s("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(e,{t:"Refresh"})]),s("div",M,[s("span",V,[i(e,{t:"Filter"})]),s("div",T,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=o=>this.showSuccessJob=o),id:"jobLogsShowSuccessCheck"},null,512),[[u,this.showSuccessJob]]),s("label",A,[s("span",N,[i(e,{t:"Success"})])])]),s("div",U,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>this.showFailedJob=o),id:"jobLogsShowFailedCheck"},null,512),[[u,this.showFailedJob]]),s("label",Y,[s("span",B,[i(e,{t:"Failed"})])])])]),s("div",z,[s("span",H,[i(e,{t:"Display"})]),s("div",$,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>l.showJobID=o),id:"jobLogsShowJobIDCheck"},null,512),[[u,l.showJobID]]),s("label",E,[i(e,{t:"Job ID"})])]),s("div",G,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=o=>l.showLogID=o),id:"jobLogsShowLogIDCheck"},null,512),[[u,l.showLogID]]),s("label",O,[i(e,{t:"Log ID"})])])])]),s("table",P,[s("thead",null,[s("tr",null,[s("th",R,[i(e,{t:"Date"})]),l.showLogID?(n(),a("th",q,[i(e,{t:"Log ID"})])):d("",!0),l.showJobID?(n(),a("th",K,[i(e,{t:"Job ID"})])):d("",!0),s("th",Q,[i(e,{t:"Status"})]),s("th",W,[i(e,{t:"Message"})])])]),s("tbody",null,[(n(!0),a(_,null,f(this.showLogs,o=>(n(),a("tr",X,[s("th",Z,c(o.LogDate),1),l.showLogID?(n(),a("td",ss,[s("samp",ts,c(o.LogID),1)])):d("",!0),l.showJobID?(n(),a("td",os,[s("samp",es,c(o.JobID),1)])):d("",!0),s("td",null,[s("span",{class:w(["badge",[o.Status==="1"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},c(o.Status==="1"?"Success":"Failed"),3)]),s("td",null,c(o.Message),1)]))),256))])]),s("div",is,[this.getLogs.length>this.showLogAmount?(n(),a("button",{key:0,onClick:t[6]||(t[6]=o=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},t[9]||(t[9]=[s("i",{class:"bi bi-chevron-down me-2"},null,-1),b(" Show More ")]))):d("",!0),this.showLogAmount>20?(n(),a("button",{key:1,onClick:t[7]||(t[7]=o=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},t[10]||(t[10]=[s("i",{class:"bi bi-chevron-up me-2"},null,-1),b(" Collapse ")]))):d("",!0)])]))])])])])])}const bs=p(x,[["render",ns]]);export{bs as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerList-CcSkTACy.js b/src/static/dist/WGDashboardAdmin/assets/peerList-BvR4xu_k.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerList-CcSkTACy.js rename to src/static/dist/WGDashboardAdmin/assets/peerList-BvR4xu_k.js index f71d862d..1493dde1 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerList-CcSkTACy.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerList-BvR4xu_k.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/peerAssignModal-DGqPau-e.js","assets/localeText-DSmP42vs.js","assets/index-mH92cJrc.js","assets/index-Cd3DxRM6.css","assets/DashboardClientAssignmentStore-CKBhOHsA.js","assets/peerAssignModal--_bmFbmn.css","assets/peerShareLinkModal-DYghPK4L.js","assets/dayjs.min-BSByM7MH.js","assets/vue-datepicker-DXRta4gJ.js","assets/peerShareLinkModal-GoWqB_pD.css","assets/peerJobs-DcngDA8N.js","assets/schedulePeerJob-9nZCB-vb.js","assets/schedulePeerJob-B9Bl6Gky.css","assets/peerJobs-D_dDl936.css","assets/peerQRCode-BKf0Be_T.js","assets/browser-B8eugmTx.js","assets/galois-field-CkUIqpA6.js","assets/peerQRCode-CBHVhD4j.css","assets/peerConfigurationFile-Dzh_MPky.js","assets/peerConfigurationFile-Z9ms5mIx.css","assets/peerSettings-0EGEZFQJ.js","assets/peerSettings-CSjO_Okh.css","assets/peerSearchBar-DwcNmL3i.js","assets/peerSearchBar-Dtpovmxo.css","assets/peerJobsAllModal-ljWdMyMH.js","assets/peerJobsLogsModal-DVpI41bm.js","assets/editConfiguration-CQ-Que9N.js","assets/editConfiguration-CP79G5OS.css","assets/selectPeers-OsdjzB9V.js","assets/selectPeers-ChWyERy7.css","assets/peerAddModal-BSgPEdCb.js","assets/peerAddModal-B4gIHs91.css"])))=>i.map(i=>d[i]); -import{r as q,L as De,D as oe,o as de,H as ee,x as ce,q as L,G as z,c as p,f as o,a as e,b as r,u as T,d as M,t as O,g as te,B as J,W as ae,m as ue,n as B,s as ge,y as $e,F,i as H,_ as Z,J as Oe,v as Me,w as Q,j as I,T as he,k as ne,A as Qe,z as X,h as le,M as Ke,N as Ze,O as se,e as N,P as G,Q as V,R as qe,I as Xe,S as et}from"./index-mH92cJrc.js";import{_ as tt}from"./protocolBadge-DNw_4GNb.js";import{L as P}from"./localeText-DSmP42vs.js";import{C as Ie,L as Te,B as je,a as Ae,b as Be,c as Le,p as Re,d as Ee,e as Ne,f as Fe,P as ze,i as He,h as lt,g as be}from"./index-nqiVjQME.js";import{d as K}from"./dayjs.min-BSByM7MH.js";import{M as st,V as ot,k as ke,T as it,O as at,n as nt,F as _e,P as rt,o as dt,p as ct,C as ut,q as ft,r as pt,s as mt}from"./Vector-C8V_x6Dm.js";const gt={class:"row gx-2 gy-2 mb-3"},ht={class:"col-12"},bt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},vt={class:"card-header bg-transparent border-0"},kt={class:"text-muted"},wt={class:"card-body pt-1"},yt={class:"col-sm col-lg-6"},xt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},$t={class:"card-header bg-transparent border-0 d-flex align-items-center"},_t={class:"text-muted"},Pt={key:0,class:"text-primary fw-bold ms-auto"},St={class:"card-body pt-1"},Ct={class:"col-sm col-lg-6"},Dt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},Ot={class:"card-header bg-transparent border-0 d-flex align-items-center"},Mt={class:"text-muted"},qt={key:0,class:"text-success fw-bold ms-auto"},It={class:"card-body pt-1"},Tt={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(l){Ie.register(Te,je,Ae,Be,Le,Re,Ee,Ne,Fe,ze,He);const t=l,a=q({timestamp:[],data:[]}),s=q({timestamp:[],data:[]}),g=De(),d=oe(),c=q(void 0),b=async()=>{await te("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:g.params.id},D=>{let w=K().format("hh:mm:ss A");(D.data.sent!==0&&D.data.recv!==0||a.value.data.length>0&&s.value.data.length>0)&&(a.value.timestamp.push(w),a.value.data.push(D.data.sent),s.value.timestamp.push(w),s.value.data.push(D.data.recv))})},f=()=>{clearInterval(c.value),c.value=void 0,t.configurationInfo.Status&&(c.value=setInterval(()=>{b()},parseInt(d.Configuration.Server.dashboard_refresh_interval)))};de(()=>{f()}),ee(()=>t.configurationInfo.Status,()=>{f()}),ee(()=>d.Configuration.Server.dashboard_refresh_interval,()=>{f()}),ce(()=>{clearInterval(c.value),c.value=void 0});const n=L(()=>{let D=t.configurationPeers.filter(w=>w.cumu_data+w.total_data>0);return{labels:D.map(w=>w.name?w.name:`Untitled Peer - ${w.id}`),datasets:[{label:"Total Data Usage",data:D.map(w=>w.cumu_data+w.total_data),backgroundColor:D.map(w=>"#ffc107"),tooltip:{callbacks:{label:w=>`${w.formattedValue} GB`}}}]}}),m=L(()=>({labels:[...a.value.timestamp],datasets:[{label:z("Data Sent"),data:[...a.value.data],fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),v=L(()=>({labels:[...s.value.timestamp],datasets:[{label:z("Data Received"),data:[...s.value.data],fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:0,pointRadius:2,borderWidth:1}]})),k=L(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(D,w)=>`${Math.round((D+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),$=L(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:D=>`${D.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(D,w)=>`${Math.round((D+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(D,w)=>(o(),p("div",gt,[e("div",ht,[e("div",bt,[e("div",vt,[e("small",kt,[r(P,{t:"Peers Data Usage"})])]),e("div",wt,[r(T(lt),{data:n.value,options:k.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",yt,[e("div",xt,[e("div",$t,[e("small",_t,[r(P,{t:"Real Time Received Data Usage"})]),s.value.data.length>0?(o(),p("small",Pt,O(s.value.data[s.value.data.length-1])+" MB/s ",1)):M("",!0)]),e("div",St,[r(T(be),{options:$.value,data:v.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",Ct,[e("div",Dt,[e("div",Ot,[e("small",Mt,[r(P,{t:"Real Time Sent Data Usage"})]),a.value.data.length>0?(o(),p("small",qt,O(a.value.data[a.value.data.length-1])+" MB/s ",1)):M("",!0)]),e("div",It,[r(T(be),{options:$.value,data:m.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},jt=61698,At=61705,Bt=61707,Lt=61709,Rt=61777,Et=61778,Nt=61780,Ft=61781,zt=61785,Ht=61817,Yt=61824,Gt=61826,Vt=61828,Jt=61832,Wt=61834,Ut=61835,Qt=61836,Kt=61837,Zt=61839,Xt=61844,el=61858,tl=61860,ll=61861,sl=61864,ol=61876,il=61896,al=61897,nl=61898,rl=61900,dl=61910,cl=61912,ul=61914,fl=61916,pl=61917,ml=61918,gl=61920,hl=61942,bl=61964,vl=61972,kl=61976,wl=61984,yl=61985,xl=61987,$l=62018,_l=62019,Pl=62020,Sl=62021,Cl=62023,Dl=62024,Ol=62056,Ml=62062,ql=62066,Il=62090,Tl=62096,jl=62099,Al=62145,Bl=62147,Ll=62149,Rl=62152,El=62156,Nl=62158,Fl=62159,zl=62161,Hl=62163,Yl=62164,Gl=62166,Vl=62173,Jl=62176,Wl=62179,Ul=62186,Ql=62193,Kl=62207,Zl=62208,Xl=62210,es=62217,ts=62218,ls=62221,ss=62222,os=62224,is=62227,as=62229,ns=62255,rs=62257,ds=62268,cs=62269,us=62273,fs=62274,ps=62275,ms=62276,gs=62400,hs=62402,bs=62403,vs=62410,ks=62412,ws=62413,ys=62414,xs=62415,$s=62423,_s=62425,Ps=62426,Ss=62428,Cs=62429,Ds=62431,Os=62433,Ms=62437,qs=62438,Is=62442,Ts=62444,js=62445,As=62446,Bs=62447,Ls=62448,Rs=62460,Es=62463,Ns=62473,Fs=62474,zs=62482,Hs=62483,Ys=62484,Gs=62487,Vs=62490,Js=62493,Ws=62497,Us=62501,Qs=62502,Ks=62503,Zs=62506,Xs=62507,eo=62509,to=62511,lo=62516,so=62519,oo=62520,io=62534,ao=62535,no=62536,ro=62539,co=62541,uo=62543,fo=62545,po=62546,mo=62548,go=62550,ho=62555,bo=62571,vo=62575,ko=62577,wo=62578,yo=62585,xo=62587,$o=62588,_o=62589,Po=62591,So=62593,Co=62594,Do=62596,Oo=62608,Mo=62610,qo=62611,Io=62615,To=62617,jo=62619,Ao=62621,Bo=62627,Lo=62633,Ro=62636,Eo=62637,No=62638,Fo=62641,zo=62642,Ho=62643,Yo=62644,Go=62660,Vo=62662,Jo=62664,Wo=62667,Uo=62670,Qo=62672,Ko=62673,Zo=62689,Xo=62695,ei=62701,ti=62703,li=62709,si=62711,oi=62718,ii=62719,ai=62721,ni=62723,ri=62732,di=62733,ci=62735,ui=62746,fi=62748,pi=62752,mi=62754,gi=62755,hi=62757,bi=62759,vi=62760,ki=62761,wi=62762,yi=62764,xi=62766,$i=62783,_i=62785,Pi=62787,Si=62788,Ci=62794,Di=62796,Oi=62821,Mi=62826,qi=62827,Ii=62828,Ti=62829,ji=62830,Ai=62831,Bi=62844,Li=62846,Ri=62847,Ei=62848,Ni=62849,Fi=62852,zi=62853,Hi=62856,Yi=62857,Gi=62859,Vi=62861,Ji=62867,Wi=62869,Ui=62871,Qi=62872,Ki=62882,Zi=62883,Xi=62885,ea=62887,ta=62890,la=62894,sa=62896,oa=62898,ia=62899,aa=62913,na=62915,ra=62924,da=62930,ca=62937,ua=62938,fa=62939,pa=62940,ma=62942,ga=62944,ha=62946,ba=62949,va=62951,ka=62954,wa=62955,ya=62957,xa=62958,$a=62959,_a=62967,Pa=62973,Sa=62974,Ca=62976,Da=62978,Oa=62979,Ma=62984,qa=62985,Ia=62994,Ta=62996,ja=62997,Aa=62998,Ba=62999,La=63e3,Ra=63004,Ea=63005,Na=63008,Fa=63009,za=63018,Ha=63019,Ya=63022,Ga=63023,Va=63028,Ja=63047,Wa=63048,Ua=63055,Qa=63056,Ka=63059,Za=63062,Xa=63064,en=63066,tn=63067,ln=63069,sn=63070,on=63068,an=63071,nn=63072,rn=63073,dn=63074,cn=63075,un=63076,fn=63077,pn=63078,mn=63080,gn=63081,hn=63082,bn=63083,vn=63085,kn=63087,wn=63088,yn=63089,xn=63092,$n=63093,_n=63099,Pn=63101,Sn=63105,Cn=63106,Dn=63108,On=63109,Mn=63111,qn=63113,In=63132,Tn=63133,jn=63134,An=63137,Bn=63144,Ln=63145,Rn=63148,En=63151,Nn=63152,Fn=63153,zn=63168,Hn=63169,Yn=63179,Gn=63180,Vn=63188,Jn=63189,Wn=63191,Un=63198,Qn=63201,Kn=63203,Zn=63205,Xn=63207,er=63212,tr=63216,lr=63230,sr=63241,or=63245,ir=63283,ar=63345,nr=63346,rr=63348,dr=63351,cr=63353,ur=63357,fr=63361,pr=63365,mr=63369,gr=63371,hr=63372,br=63373,vr=63437,kr=63438,wr=63439,yr=63440,xr=63441,$r=63455,_r=63459,Pr=63469,Sr=63478,Cr=63486,Dr=63488,Or=63497,Mr=63498,qr=63499,Ir=63507,Tr=63513,jr=63522,Ar=63523,Br=63524,Lr=63527,Rr=63528,Er=63529,Nr=63530,Fr=63558,zr=63559,Hr=63560,Yr=63561,Gr=63562,Vr=63565,Jr=63613,Wr=63659,Ur=63662,Qr=63684,Kr=63686,Zr=63687,Xr=63692,ed=63114,td=63117,ld=63138,sd=63158,od=63170,id=63200,ad=63213,nd=63214,rd=63321,dd=63337,cd=63380,ud=63423,fd=63428,pd=63448,md=63460,gd=63461,hd=63480,bd=63500,vd=63501,kd=63695,wd=63702,yd=63703,xd=63705,$d=63706,_d=63712,Pd=63714,Sd=63716,Cd=63718,Dd=63719,Od=63723,Md=63724,qd=63726,Id=63728,Td=63733,jd=63740,Ad=63744,Bd=63746,Ld=63747,Rd=63481,Ed=63748,Nd=63750,Fd=63754,zd=63756,Hd=63760,Yd=63762,Gd=63764,Vd=63765,Jd=63766,Wd=63767,Ud=63768,Qd=63769,xe={123:63103,"alarm-fill":61697,alarm:jt,"align-bottom":61699,"align-center":61700,"align-end":61701,"align-middle":61702,"align-start":61703,"align-top":61704,alt:At,"app-indicator":61706,app:Bt,"archive-fill":61708,archive:Lt,"arrow-90deg-down":61710,"arrow-90deg-left":61711,"arrow-90deg-right":61712,"arrow-90deg-up":61713,"arrow-bar-down":61714,"arrow-bar-left":61715,"arrow-bar-right":61716,"arrow-bar-up":61717,"arrow-clockwise":61718,"arrow-counterclockwise":61719,"arrow-down-circle-fill":61720,"arrow-down-circle":61721,"arrow-down-left-circle-fill":61722,"arrow-down-left-circle":61723,"arrow-down-left-square-fill":61724,"arrow-down-left-square":61725,"arrow-down-left":61726,"arrow-down-right-circle-fill":61727,"arrow-down-right-circle":61728,"arrow-down-right-square-fill":61729,"arrow-down-right-square":61730,"arrow-down-right":61731,"arrow-down-short":61732,"arrow-down-square-fill":61733,"arrow-down-square":61734,"arrow-down-up":61735,"arrow-down":61736,"arrow-left-circle-fill":61737,"arrow-left-circle":61738,"arrow-left-right":61739,"arrow-left-short":61740,"arrow-left-square-fill":61741,"arrow-left-square":61742,"arrow-left":61743,"arrow-repeat":61744,"arrow-return-left":61745,"arrow-return-right":61746,"arrow-right-circle-fill":61747,"arrow-right-circle":61748,"arrow-right-short":61749,"arrow-right-square-fill":61750,"arrow-right-square":61751,"arrow-right":61752,"arrow-up-circle-fill":61753,"arrow-up-circle":61754,"arrow-up-left-circle-fill":61755,"arrow-up-left-circle":61756,"arrow-up-left-square-fill":61757,"arrow-up-left-square":61758,"arrow-up-left":61759,"arrow-up-right-circle-fill":61760,"arrow-up-right-circle":61761,"arrow-up-right-square-fill":61762,"arrow-up-right-square":61763,"arrow-up-right":61764,"arrow-up-short":61765,"arrow-up-square-fill":61766,"arrow-up-square":61767,"arrow-up":61768,"arrows-angle-contract":61769,"arrows-angle-expand":61770,"arrows-collapse":61771,"arrows-expand":61772,"arrows-fullscreen":61773,"arrows-move":61774,"aspect-ratio-fill":61775,"aspect-ratio":61776,asterisk:Rt,at:Et,"award-fill":61779,award:Nt,back:Ft,"backspace-fill":61782,"backspace-reverse-fill":61783,"backspace-reverse":61784,backspace:zt,"badge-3d-fill":61786,"badge-3d":61787,"badge-4k-fill":61788,"badge-4k":61789,"badge-8k-fill":61790,"badge-8k":61791,"badge-ad-fill":61792,"badge-ad":61793,"badge-ar-fill":61794,"badge-ar":61795,"badge-cc-fill":61796,"badge-cc":61797,"badge-hd-fill":61798,"badge-hd":61799,"badge-tm-fill":61800,"badge-tm":61801,"badge-vo-fill":61802,"badge-vo":61803,"badge-vr-fill":61804,"badge-vr":61805,"badge-wc-fill":61806,"badge-wc":61807,"bag-check-fill":61808,"bag-check":61809,"bag-dash-fill":61810,"bag-dash":61811,"bag-fill":61812,"bag-plus-fill":61813,"bag-plus":61814,"bag-x-fill":61815,"bag-x":61816,bag:Ht,"bar-chart-fill":61818,"bar-chart-line-fill":61819,"bar-chart-line":61820,"bar-chart-steps":61821,"bar-chart":61822,"basket-fill":61823,basket:Yt,"basket2-fill":61825,basket2:Gt,"basket3-fill":61827,basket3:Vt,"battery-charging":61829,"battery-full":61830,"battery-half":61831,battery:Jt,"bell-fill":61833,bell:Wt,bezier:Ut,bezier2:Qt,bicycle:Kt,"binoculars-fill":61838,binoculars:Zt,"blockquote-left":61840,"blockquote-right":61841,"book-fill":61842,"book-half":61843,book:Xt,"bookmark-check-fill":61845,"bookmark-check":61846,"bookmark-dash-fill":61847,"bookmark-dash":61848,"bookmark-fill":61849,"bookmark-heart-fill":61850,"bookmark-heart":61851,"bookmark-plus-fill":61852,"bookmark-plus":61853,"bookmark-star-fill":61854,"bookmark-star":61855,"bookmark-x-fill":61856,"bookmark-x":61857,bookmark:el,"bookmarks-fill":61859,bookmarks:tl,bookshelf:ll,"bootstrap-fill":61862,"bootstrap-reboot":61863,bootstrap:sl,"border-all":61865,"border-bottom":61866,"border-center":61867,"border-inner":61868,"border-left":61869,"border-middle":61870,"border-outer":61871,"border-right":61872,"border-style":61873,"border-top":61874,"border-width":61875,border:ol,"bounding-box-circles":61877,"bounding-box":61878,"box-arrow-down-left":61879,"box-arrow-down-right":61880,"box-arrow-down":61881,"box-arrow-in-down-left":61882,"box-arrow-in-down-right":61883,"box-arrow-in-down":61884,"box-arrow-in-left":61885,"box-arrow-in-right":61886,"box-arrow-in-up-left":61887,"box-arrow-in-up-right":61888,"box-arrow-in-up":61889,"box-arrow-left":61890,"box-arrow-right":61891,"box-arrow-up-left":61892,"box-arrow-up-right":61893,"box-arrow-up":61894,"box-seam":61895,box:il,braces:al,bricks:nl,"briefcase-fill":61899,briefcase:rl,"brightness-alt-high-fill":61901,"brightness-alt-high":61902,"brightness-alt-low-fill":61903,"brightness-alt-low":61904,"brightness-high-fill":61905,"brightness-high":61906,"brightness-low-fill":61907,"brightness-low":61908,"broadcast-pin":61909,broadcast:dl,"brush-fill":61911,brush:cl,"bucket-fill":61913,bucket:ul,"bug-fill":61915,bug:fl,building:pl,bullseye:ml,"calculator-fill":61919,calculator:gl,"calendar-check-fill":61921,"calendar-check":61922,"calendar-date-fill":61923,"calendar-date":61924,"calendar-day-fill":61925,"calendar-day":61926,"calendar-event-fill":61927,"calendar-event":61928,"calendar-fill":61929,"calendar-minus-fill":61930,"calendar-minus":61931,"calendar-month-fill":61932,"calendar-month":61933,"calendar-plus-fill":61934,"calendar-plus":61935,"calendar-range-fill":61936,"calendar-range":61937,"calendar-week-fill":61938,"calendar-week":61939,"calendar-x-fill":61940,"calendar-x":61941,calendar:hl,"calendar2-check-fill":61943,"calendar2-check":61944,"calendar2-date-fill":61945,"calendar2-date":61946,"calendar2-day-fill":61947,"calendar2-day":61948,"calendar2-event-fill":61949,"calendar2-event":61950,"calendar2-fill":61951,"calendar2-minus-fill":61952,"calendar2-minus":61953,"calendar2-month-fill":61954,"calendar2-month":61955,"calendar2-plus-fill":61956,"calendar2-plus":61957,"calendar2-range-fill":61958,"calendar2-range":61959,"calendar2-week-fill":61960,"calendar2-week":61961,"calendar2-x-fill":61962,"calendar2-x":61963,calendar2:bl,"calendar3-event-fill":61965,"calendar3-event":61966,"calendar3-fill":61967,"calendar3-range-fill":61968,"calendar3-range":61969,"calendar3-week-fill":61970,"calendar3-week":61971,calendar3:vl,"calendar4-event":61973,"calendar4-range":61974,"calendar4-week":61975,calendar4:kl,"camera-fill":61977,"camera-reels-fill":61978,"camera-reels":61979,"camera-video-fill":61980,"camera-video-off-fill":61981,"camera-video-off":61982,"camera-video":61983,camera:wl,camera2:yl,"capslock-fill":61986,capslock:xl,"card-checklist":61988,"card-heading":61989,"card-image":61990,"card-list":61991,"card-text":61992,"caret-down-fill":61993,"caret-down-square-fill":61994,"caret-down-square":61995,"caret-down":61996,"caret-left-fill":61997,"caret-left-square-fill":61998,"caret-left-square":61999,"caret-left":62e3,"caret-right-fill":62001,"caret-right-square-fill":62002,"caret-right-square":62003,"caret-right":62004,"caret-up-fill":62005,"caret-up-square-fill":62006,"caret-up-square":62007,"caret-up":62008,"cart-check-fill":62009,"cart-check":62010,"cart-dash-fill":62011,"cart-dash":62012,"cart-fill":62013,"cart-plus-fill":62014,"cart-plus":62015,"cart-x-fill":62016,"cart-x":62017,cart:$l,cart2:_l,cart3:Pl,cart4:Sl,"cash-stack":62022,cash:Cl,cast:Dl,"chat-dots-fill":62025,"chat-dots":62026,"chat-fill":62027,"chat-left-dots-fill":62028,"chat-left-dots":62029,"chat-left-fill":62030,"chat-left-quote-fill":62031,"chat-left-quote":62032,"chat-left-text-fill":62033,"chat-left-text":62034,"chat-left":62035,"chat-quote-fill":62036,"chat-quote":62037,"chat-right-dots-fill":62038,"chat-right-dots":62039,"chat-right-fill":62040,"chat-right-quote-fill":62041,"chat-right-quote":62042,"chat-right-text-fill":62043,"chat-right-text":62044,"chat-right":62045,"chat-square-dots-fill":62046,"chat-square-dots":62047,"chat-square-fill":62048,"chat-square-quote-fill":62049,"chat-square-quote":62050,"chat-square-text-fill":62051,"chat-square-text":62052,"chat-square":62053,"chat-text-fill":62054,"chat-text":62055,chat:Ol,"check-all":62057,"check-circle-fill":62058,"check-circle":62059,"check-square-fill":62060,"check-square":62061,check:Ml,"check2-all":62063,"check2-circle":62064,"check2-square":62065,check2:ql,"chevron-bar-contract":62067,"chevron-bar-down":62068,"chevron-bar-expand":62069,"chevron-bar-left":62070,"chevron-bar-right":62071,"chevron-bar-up":62072,"chevron-compact-down":62073,"chevron-compact-left":62074,"chevron-compact-right":62075,"chevron-compact-up":62076,"chevron-contract":62077,"chevron-double-down":62078,"chevron-double-left":62079,"chevron-double-right":62080,"chevron-double-up":62081,"chevron-down":62082,"chevron-expand":62083,"chevron-left":62084,"chevron-right":62085,"chevron-up":62086,"circle-fill":62087,"circle-half":62088,"circle-square":62089,circle:Il,"clipboard-check":62091,"clipboard-data":62092,"clipboard-minus":62093,"clipboard-plus":62094,"clipboard-x":62095,clipboard:Tl,"clock-fill":62097,"clock-history":62098,clock:jl,"cloud-arrow-down-fill":62100,"cloud-arrow-down":62101,"cloud-arrow-up-fill":62102,"cloud-arrow-up":62103,"cloud-check-fill":62104,"cloud-check":62105,"cloud-download-fill":62106,"cloud-download":62107,"cloud-drizzle-fill":62108,"cloud-drizzle":62109,"cloud-fill":62110,"cloud-fog-fill":62111,"cloud-fog":62112,"cloud-fog2-fill":62113,"cloud-fog2":62114,"cloud-hail-fill":62115,"cloud-hail":62116,"cloud-haze-fill":62118,"cloud-haze":62119,"cloud-haze2-fill":62120,"cloud-lightning-fill":62121,"cloud-lightning-rain-fill":62122,"cloud-lightning-rain":62123,"cloud-lightning":62124,"cloud-minus-fill":62125,"cloud-minus":62126,"cloud-moon-fill":62127,"cloud-moon":62128,"cloud-plus-fill":62129,"cloud-plus":62130,"cloud-rain-fill":62131,"cloud-rain-heavy-fill":62132,"cloud-rain-heavy":62133,"cloud-rain":62134,"cloud-slash-fill":62135,"cloud-slash":62136,"cloud-sleet-fill":62137,"cloud-sleet":62138,"cloud-snow-fill":62139,"cloud-snow":62140,"cloud-sun-fill":62141,"cloud-sun":62142,"cloud-upload-fill":62143,"cloud-upload":62144,cloud:Al,"clouds-fill":62146,clouds:Bl,"cloudy-fill":62148,cloudy:Ll,"code-slash":62150,"code-square":62151,code:Rl,"collection-fill":62153,"collection-play-fill":62154,"collection-play":62155,collection:El,"columns-gap":62157,columns:Nl,command:Fl,"compass-fill":62160,compass:zl,"cone-striped":62162,cone:Hl,controller:Yl,"cpu-fill":62165,cpu:Gl,"credit-card-2-back-fill":62167,"credit-card-2-back":62168,"credit-card-2-front-fill":62169,"credit-card-2-front":62170,"credit-card-fill":62171,"credit-card":62172,crop:Vl,"cup-fill":62174,"cup-straw":62175,cup:Jl,"cursor-fill":62177,"cursor-text":62178,cursor:Wl,"dash-circle-dotted":62180,"dash-circle-fill":62181,"dash-circle":62182,"dash-square-dotted":62183,"dash-square-fill":62184,"dash-square":62185,dash:Ul,"diagram-2-fill":62187,"diagram-2":62188,"diagram-3-fill":62189,"diagram-3":62190,"diamond-fill":62191,"diamond-half":62192,diamond:Ql,"dice-1-fill":62194,"dice-1":62195,"dice-2-fill":62196,"dice-2":62197,"dice-3-fill":62198,"dice-3":62199,"dice-4-fill":62200,"dice-4":62201,"dice-5-fill":62202,"dice-5":62203,"dice-6-fill":62204,"dice-6":62205,"disc-fill":62206,disc:Kl,discord:Zl,"display-fill":62209,display:Xl,"distribute-horizontal":62211,"distribute-vertical":62212,"door-closed-fill":62213,"door-closed":62214,"door-open-fill":62215,"door-open":62216,dot:es,download:ts,"droplet-fill":62219,"droplet-half":62220,droplet:ls,earbuds:ss,"easel-fill":62223,easel:os,"egg-fill":62225,"egg-fried":62226,egg:is,"eject-fill":62228,eject:as,"emoji-angry-fill":62230,"emoji-angry":62231,"emoji-dizzy-fill":62232,"emoji-dizzy":62233,"emoji-expressionless-fill":62234,"emoji-expressionless":62235,"emoji-frown-fill":62236,"emoji-frown":62237,"emoji-heart-eyes-fill":62238,"emoji-heart-eyes":62239,"emoji-laughing-fill":62240,"emoji-laughing":62241,"emoji-neutral-fill":62242,"emoji-neutral":62243,"emoji-smile-fill":62244,"emoji-smile-upside-down-fill":62245,"emoji-smile-upside-down":62246,"emoji-smile":62247,"emoji-sunglasses-fill":62248,"emoji-sunglasses":62249,"emoji-wink-fill":62250,"emoji-wink":62251,"envelope-fill":62252,"envelope-open-fill":62253,"envelope-open":62254,envelope:ns,"eraser-fill":62256,eraser:rs,"exclamation-circle-fill":62258,"exclamation-circle":62259,"exclamation-diamond-fill":62260,"exclamation-diamond":62261,"exclamation-octagon-fill":62262,"exclamation-octagon":62263,"exclamation-square-fill":62264,"exclamation-square":62265,"exclamation-triangle-fill":62266,"exclamation-triangle":62267,exclamation:ds,exclude:cs,"eye-fill":62270,"eye-slash-fill":62271,"eye-slash":62272,eye:us,eyedropper:fs,eyeglasses:ps,facebook:ms,"file-arrow-down-fill":62277,"file-arrow-down":62278,"file-arrow-up-fill":62279,"file-arrow-up":62280,"file-bar-graph-fill":62281,"file-bar-graph":62282,"file-binary-fill":62283,"file-binary":62284,"file-break-fill":62285,"file-break":62286,"file-check-fill":62287,"file-check":62288,"file-code-fill":62289,"file-code":62290,"file-diff-fill":62291,"file-diff":62292,"file-earmark-arrow-down-fill":62293,"file-earmark-arrow-down":62294,"file-earmark-arrow-up-fill":62295,"file-earmark-arrow-up":62296,"file-earmark-bar-graph-fill":62297,"file-earmark-bar-graph":62298,"file-earmark-binary-fill":62299,"file-earmark-binary":62300,"file-earmark-break-fill":62301,"file-earmark-break":62302,"file-earmark-check-fill":62303,"file-earmark-check":62304,"file-earmark-code-fill":62305,"file-earmark-code":62306,"file-earmark-diff-fill":62307,"file-earmark-diff":62308,"file-earmark-easel-fill":62309,"file-earmark-easel":62310,"file-earmark-excel-fill":62311,"file-earmark-excel":62312,"file-earmark-fill":62313,"file-earmark-font-fill":62314,"file-earmark-font":62315,"file-earmark-image-fill":62316,"file-earmark-image":62317,"file-earmark-lock-fill":62318,"file-earmark-lock":62319,"file-earmark-lock2-fill":62320,"file-earmark-lock2":62321,"file-earmark-medical-fill":62322,"file-earmark-medical":62323,"file-earmark-minus-fill":62324,"file-earmark-minus":62325,"file-earmark-music-fill":62326,"file-earmark-music":62327,"file-earmark-person-fill":62328,"file-earmark-person":62329,"file-earmark-play-fill":62330,"file-earmark-play":62331,"file-earmark-plus-fill":62332,"file-earmark-plus":62333,"file-earmark-post-fill":62334,"file-earmark-post":62335,"file-earmark-ppt-fill":62336,"file-earmark-ppt":62337,"file-earmark-richtext-fill":62338,"file-earmark-richtext":62339,"file-earmark-ruled-fill":62340,"file-earmark-ruled":62341,"file-earmark-slides-fill":62342,"file-earmark-slides":62343,"file-earmark-spreadsheet-fill":62344,"file-earmark-spreadsheet":62345,"file-earmark-text-fill":62346,"file-earmark-text":62347,"file-earmark-word-fill":62348,"file-earmark-word":62349,"file-earmark-x-fill":62350,"file-earmark-x":62351,"file-earmark-zip-fill":62352,"file-earmark-zip":62353,"file-earmark":62354,"file-easel-fill":62355,"file-easel":62356,"file-excel-fill":62357,"file-excel":62358,"file-fill":62359,"file-font-fill":62360,"file-font":62361,"file-image-fill":62362,"file-image":62363,"file-lock-fill":62364,"file-lock":62365,"file-lock2-fill":62366,"file-lock2":62367,"file-medical-fill":62368,"file-medical":62369,"file-minus-fill":62370,"file-minus":62371,"file-music-fill":62372,"file-music":62373,"file-person-fill":62374,"file-person":62375,"file-play-fill":62376,"file-play":62377,"file-plus-fill":62378,"file-plus":62379,"file-post-fill":62380,"file-post":62381,"file-ppt-fill":62382,"file-ppt":62383,"file-richtext-fill":62384,"file-richtext":62385,"file-ruled-fill":62386,"file-ruled":62387,"file-slides-fill":62388,"file-slides":62389,"file-spreadsheet-fill":62390,"file-spreadsheet":62391,"file-text-fill":62392,"file-text":62393,"file-word-fill":62394,"file-word":62395,"file-x-fill":62396,"file-x":62397,"file-zip-fill":62398,"file-zip":62399,file:gs,"files-alt":62401,files:hs,film:bs,"filter-circle-fill":62404,"filter-circle":62405,"filter-left":62406,"filter-right":62407,"filter-square-fill":62408,"filter-square":62409,filter:vs,"flag-fill":62411,flag:ks,flower1:ws,flower2:ys,flower3:xs,"folder-check":62416,"folder-fill":62417,"folder-minus":62418,"folder-plus":62419,"folder-symlink-fill":62420,"folder-symlink":62421,"folder-x":62422,folder:$s,"folder2-open":62424,folder2:_s,fonts:Ps,"forward-fill":62427,forward:Ss,front:Cs,"fullscreen-exit":62430,fullscreen:Ds,"funnel-fill":62432,funnel:Os,"gear-fill":62434,"gear-wide-connected":62435,"gear-wide":62436,gear:Ms,gem:qs,"geo-alt-fill":62439,"geo-alt":62440,"geo-fill":62441,geo:Is,"gift-fill":62443,gift:Ts,github:js,globe:As,globe2:Bs,google:Ls,"graph-down":62449,"graph-up":62450,"grid-1x2-fill":62451,"grid-1x2":62452,"grid-3x2-gap-fill":62453,"grid-3x2-gap":62454,"grid-3x2":62455,"grid-3x3-gap-fill":62456,"grid-3x3-gap":62457,"grid-3x3":62458,"grid-fill":62459,grid:Rs,"grip-horizontal":62461,"grip-vertical":62462,hammer:Es,"hand-index-fill":62464,"hand-index-thumb-fill":62465,"hand-index-thumb":62466,"hand-index":62467,"hand-thumbs-down-fill":62468,"hand-thumbs-down":62469,"hand-thumbs-up-fill":62470,"hand-thumbs-up":62471,"handbag-fill":62472,handbag:Ns,hash:Fs,"hdd-fill":62475,"hdd-network-fill":62476,"hdd-network":62477,"hdd-rack-fill":62478,"hdd-rack":62479,"hdd-stack-fill":62480,"hdd-stack":62481,hdd:zs,headphones:Hs,headset:Ys,"heart-fill":62485,"heart-half":62486,heart:Gs,"heptagon-fill":62488,"heptagon-half":62489,heptagon:Vs,"hexagon-fill":62491,"hexagon-half":62492,hexagon:Js,"hourglass-bottom":62494,"hourglass-split":62495,"hourglass-top":62496,hourglass:Ws,"house-door-fill":62498,"house-door":62499,"house-fill":62500,house:Us,hr:Qs,hurricane:Ks,"image-alt":62504,"image-fill":62505,image:Zs,images:Xs,"inbox-fill":62508,inbox:eo,"inboxes-fill":62510,inboxes:to,"info-circle-fill":62512,"info-circle":62513,"info-square-fill":62514,"info-square":62515,info:lo,"input-cursor-text":62517,"input-cursor":62518,instagram:so,intersect:oo,"journal-album":62521,"journal-arrow-down":62522,"journal-arrow-up":62523,"journal-bookmark-fill":62524,"journal-bookmark":62525,"journal-check":62526,"journal-code":62527,"journal-medical":62528,"journal-minus":62529,"journal-plus":62530,"journal-richtext":62531,"journal-text":62532,"journal-x":62533,journal:io,journals:ao,joystick:no,"justify-left":62537,"justify-right":62538,justify:ro,"kanban-fill":62540,kanban:co,"key-fill":62542,key:uo,"keyboard-fill":62544,keyboard:fo,ladder:po,"lamp-fill":62547,lamp:mo,"laptop-fill":62549,laptop:go,"layer-backward":62551,"layer-forward":62552,"layers-fill":62553,"layers-half":62554,layers:ho,"layout-sidebar-inset-reverse":62556,"layout-sidebar-inset":62557,"layout-sidebar-reverse":62558,"layout-sidebar":62559,"layout-split":62560,"layout-text-sidebar-reverse":62561,"layout-text-sidebar":62562,"layout-text-window-reverse":62563,"layout-text-window":62564,"layout-three-columns":62565,"layout-wtf":62566,"life-preserver":62567,"lightbulb-fill":62568,"lightbulb-off-fill":62569,"lightbulb-off":62570,lightbulb:bo,"lightning-charge-fill":62572,"lightning-charge":62573,"lightning-fill":62574,lightning:vo,"link-45deg":62576,link:ko,linkedin:wo,"list-check":62579,"list-nested":62580,"list-ol":62581,"list-stars":62582,"list-task":62583,"list-ul":62584,list:yo,"lock-fill":62586,lock:xo,mailbox:$o,mailbox2:_o,"map-fill":62590,map:Po,"markdown-fill":62592,markdown:So,mask:Co,"megaphone-fill":62595,megaphone:Do,"menu-app-fill":62597,"menu-app":62598,"menu-button-fill":62599,"menu-button-wide-fill":62600,"menu-button-wide":62601,"menu-button":62602,"menu-down":62603,"menu-up":62604,"mic-fill":62605,"mic-mute-fill":62606,"mic-mute":62607,mic:Oo,"minecart-loaded":62609,minecart:Mo,moisture:qo,"moon-fill":62612,"moon-stars-fill":62613,"moon-stars":62614,moon:Io,"mouse-fill":62616,mouse:To,"mouse2-fill":62618,mouse2:jo,"mouse3-fill":62620,mouse3:Ao,"music-note-beamed":62622,"music-note-list":62623,"music-note":62624,"music-player-fill":62625,"music-player":62626,newspaper:Bo,"node-minus-fill":62628,"node-minus":62629,"node-plus-fill":62630,"node-plus":62631,"nut-fill":62632,nut:Lo,"octagon-fill":62634,"octagon-half":62635,octagon:Ro,option:Eo,outlet:No,"paint-bucket":62639,"palette-fill":62640,palette:Fo,palette2:zo,paperclip:Ho,paragraph:Yo,"patch-check-fill":62645,"patch-check":62646,"patch-exclamation-fill":62647,"patch-exclamation":62648,"patch-minus-fill":62649,"patch-minus":62650,"patch-plus-fill":62651,"patch-plus":62652,"patch-question-fill":62653,"patch-question":62654,"pause-btn-fill":62655,"pause-btn":62656,"pause-circle-fill":62657,"pause-circle":62658,"pause-fill":62659,pause:Go,"peace-fill":62661,peace:Vo,"pen-fill":62663,pen:Jo,"pencil-fill":62665,"pencil-square":62666,pencil:Wo,"pentagon-fill":62668,"pentagon-half":62669,pentagon:Uo,"people-fill":62671,people:Qo,percent:Ko,"person-badge-fill":62674,"person-badge":62675,"person-bounding-box":62676,"person-check-fill":62677,"person-check":62678,"person-circle":62679,"person-dash-fill":62680,"person-dash":62681,"person-fill":62682,"person-lines-fill":62683,"person-plus-fill":62684,"person-plus":62685,"person-square":62686,"person-x-fill":62687,"person-x":62688,person:Zo,"phone-fill":62690,"phone-landscape-fill":62691,"phone-landscape":62692,"phone-vibrate-fill":62693,"phone-vibrate":62694,phone:Xo,"pie-chart-fill":62696,"pie-chart":62697,"pin-angle-fill":62698,"pin-angle":62699,"pin-fill":62700,pin:ei,"pip-fill":62702,pip:ti,"play-btn-fill":62704,"play-btn":62705,"play-circle-fill":62706,"play-circle":62707,"play-fill":62708,play:li,"plug-fill":62710,plug:si,"plus-circle-dotted":62712,"plus-circle-fill":62713,"plus-circle":62714,"plus-square-dotted":62715,"plus-square-fill":62716,"plus-square":62717,plus:oi,power:ii,"printer-fill":62720,printer:ai,"puzzle-fill":62722,puzzle:ni,"question-circle-fill":62724,"question-circle":62725,"question-diamond-fill":62726,"question-diamond":62727,"question-octagon-fill":62728,"question-octagon":62729,"question-square-fill":62730,"question-square":62731,question:ri,rainbow:di,"receipt-cutoff":62734,receipt:ci,"reception-0":62736,"reception-1":62737,"reception-2":62738,"reception-3":62739,"reception-4":62740,"record-btn-fill":62741,"record-btn":62742,"record-circle-fill":62743,"record-circle":62744,"record-fill":62745,record:ui,"record2-fill":62747,record2:fi,"reply-all-fill":62749,"reply-all":62750,"reply-fill":62751,reply:pi,"rss-fill":62753,rss:mi,rulers:gi,"save-fill":62756,save:hi,"save2-fill":62758,save2:bi,scissors:vi,screwdriver:ki,search:wi,"segmented-nav":62763,server:yi,"share-fill":62765,share:xi,"shield-check":62767,"shield-exclamation":62768,"shield-fill-check":62769,"shield-fill-exclamation":62770,"shield-fill-minus":62771,"shield-fill-plus":62772,"shield-fill-x":62773,"shield-fill":62774,"shield-lock-fill":62775,"shield-lock":62776,"shield-minus":62777,"shield-plus":62778,"shield-shaded":62779,"shield-slash-fill":62780,"shield-slash":62781,"shield-x":62782,shield:$i,"shift-fill":62784,shift:_i,"shop-window":62786,shop:Pi,shuffle:Si,"signpost-2-fill":62789,"signpost-2":62790,"signpost-fill":62791,"signpost-split-fill":62792,"signpost-split":62793,signpost:Ci,"sim-fill":62795,sim:Di,"skip-backward-btn-fill":62797,"skip-backward-btn":62798,"skip-backward-circle-fill":62799,"skip-backward-circle":62800,"skip-backward-fill":62801,"skip-backward":62802,"skip-end-btn-fill":62803,"skip-end-btn":62804,"skip-end-circle-fill":62805,"skip-end-circle":62806,"skip-end-fill":62807,"skip-end":62808,"skip-forward-btn-fill":62809,"skip-forward-btn":62810,"skip-forward-circle-fill":62811,"skip-forward-circle":62812,"skip-forward-fill":62813,"skip-forward":62814,"skip-start-btn-fill":62815,"skip-start-btn":62816,"skip-start-circle-fill":62817,"skip-start-circle":62818,"skip-start-fill":62819,"skip-start":62820,slack:Oi,"slash-circle-fill":62822,"slash-circle":62823,"slash-square-fill":62824,"slash-square":62825,slash:Mi,sliders:qi,smartwatch:Ii,snow:Ti,snow2:ji,snow3:Ai,"sort-alpha-down-alt":62832,"sort-alpha-down":62833,"sort-alpha-up-alt":62834,"sort-alpha-up":62835,"sort-down-alt":62836,"sort-down":62837,"sort-numeric-down-alt":62838,"sort-numeric-down":62839,"sort-numeric-up-alt":62840,"sort-numeric-up":62841,"sort-up-alt":62842,"sort-up":62843,soundwave:Bi,"speaker-fill":62845,speaker:Li,speedometer:Ri,speedometer2:Ei,spellcheck:Ni,"square-fill":62850,"square-half":62851,square:Fi,stack:zi,"star-fill":62854,"star-half":62855,star:Hi,stars:Yi,"stickies-fill":62858,stickies:Gi,"sticky-fill":62860,sticky:Vi,"stop-btn-fill":62862,"stop-btn":62863,"stop-circle-fill":62864,"stop-circle":62865,"stop-fill":62866,stop:Ji,"stoplights-fill":62868,stoplights:Wi,"stopwatch-fill":62870,stopwatch:Ui,subtract:Qi,"suit-club-fill":62873,"suit-club":62874,"suit-diamond-fill":62875,"suit-diamond":62876,"suit-heart-fill":62877,"suit-heart":62878,"suit-spade-fill":62879,"suit-spade":62880,"sun-fill":62881,sun:Ki,sunglasses:Zi,"sunrise-fill":62884,sunrise:Xi,"sunset-fill":62886,sunset:ea,"symmetry-horizontal":62888,"symmetry-vertical":62889,table:ta,"tablet-fill":62891,"tablet-landscape-fill":62892,"tablet-landscape":62893,tablet:la,"tag-fill":62895,tag:sa,"tags-fill":62897,tags:oa,telegram:ia,"telephone-fill":62900,"telephone-forward-fill":62901,"telephone-forward":62902,"telephone-inbound-fill":62903,"telephone-inbound":62904,"telephone-minus-fill":62905,"telephone-minus":62906,"telephone-outbound-fill":62907,"telephone-outbound":62908,"telephone-plus-fill":62909,"telephone-plus":62910,"telephone-x-fill":62911,"telephone-x":62912,telephone:aa,"terminal-fill":62914,terminal:na,"text-center":62916,"text-indent-left":62917,"text-indent-right":62918,"text-left":62919,"text-paragraph":62920,"text-right":62921,"textarea-resize":62922,"textarea-t":62923,textarea:ra,"thermometer-half":62925,"thermometer-high":62926,"thermometer-low":62927,"thermometer-snow":62928,"thermometer-sun":62929,thermometer:da,"three-dots-vertical":62931,"three-dots":62932,"toggle-off":62933,"toggle-on":62934,"toggle2-off":62935,"toggle2-on":62936,toggles:ca,toggles2:ua,tools:fa,tornado:pa,"trash-fill":62941,trash:ma,"trash2-fill":62943,trash2:ga,"tree-fill":62945,tree:ha,"triangle-fill":62947,"triangle-half":62948,triangle:ba,"trophy-fill":62950,trophy:va,"tropical-storm":62952,"truck-flatbed":62953,truck:ka,tsunami:wa,"tv-fill":62956,tv:ya,twitch:xa,twitter:$a,"type-bold":62960,"type-h1":62961,"type-h2":62962,"type-h3":62963,"type-italic":62964,"type-strikethrough":62965,"type-underline":62966,type:_a,"ui-checks-grid":62968,"ui-checks":62969,"ui-radios-grid":62970,"ui-radios":62971,"umbrella-fill":62972,umbrella:Pa,union:Sa,"unlock-fill":62975,unlock:Ca,"upc-scan":62977,upc:Da,upload:Oa,"vector-pen":62980,"view-list":62981,"view-stacked":62982,"vinyl-fill":62983,vinyl:Ma,voicemail:qa,"volume-down-fill":62986,"volume-down":62987,"volume-mute-fill":62988,"volume-mute":62989,"volume-off-fill":62990,"volume-off":62991,"volume-up-fill":62992,"volume-up":62993,vr:Ia,"wallet-fill":62995,wallet:Ta,wallet2:ja,watch:Aa,water:Ba,whatsapp:La,"wifi-1":63001,"wifi-2":63002,"wifi-off":63003,wifi:Ra,wind:Ea,"window-dock":63006,"window-sidebar":63007,window:Na,wrench:Fa,"x-circle-fill":63010,"x-circle":63011,"x-diamond-fill":63012,"x-diamond":63013,"x-octagon-fill":63014,"x-octagon":63015,"x-square-fill":63016,"x-square":63017,x:za,youtube:Ha,"zoom-in":63020,"zoom-out":63021,bank:Ya,bank2:Ga,"bell-slash-fill":63024,"bell-slash":63025,"cash-coin":63026,"check-lg":63027,coin:Va,"currency-bitcoin":63029,"currency-dollar":63030,"currency-euro":63031,"currency-exchange":63032,"currency-pound":63033,"currency-yen":63034,"dash-lg":63035,"exclamation-lg":63036,"file-earmark-pdf-fill":63037,"file-earmark-pdf":63038,"file-pdf-fill":63039,"file-pdf":63040,"gender-ambiguous":63041,"gender-female":63042,"gender-male":63043,"gender-trans":63044,"headset-vr":63045,"info-lg":63046,mastodon:Ja,messenger:Wa,"piggy-bank-fill":63049,"piggy-bank":63050,"pin-map-fill":63051,"pin-map":63052,"plus-lg":63053,"question-lg":63054,recycle:Ua,reddit:Qa,"safe-fill":63057,"safe2-fill":63058,safe2:Ka,"sd-card-fill":63060,"sd-card":63061,skype:Za,"slash-lg":63063,translate:Xa,"x-lg":63065,safe:en,apple:tn,microsoft:ln,windows:sn,behance:on,dribbble:an,line:nn,medium:rn,paypal:dn,pinterest:cn,signal:un,snapchat:fn,spotify:pn,"stack-overflow":63079,strava:mn,wordpress:gn,vimeo:hn,activity:bn,"easel2-fill":63084,easel2:vn,"easel3-fill":63086,easel3:kn,fan:wn,fingerprint:yn,"graph-down-arrow":63090,"graph-up-arrow":63091,hypnotize:xn,magic:$n,"person-rolodex":63094,"person-video":63095,"person-video2":63096,"person-video3":63097,"person-workspace":63098,radioactive:_n,"webcam-fill":63100,webcam:Pn,"yin-yang":63102,"bandaid-fill":63104,bandaid:Sn,bluetooth:Cn,"body-text":63107,boombox:Dn,boxes:On,"dpad-fill":63110,dpad:Mn,"ear-fill":63112,ear:qn,"envelope-check-fill":63115,"envelope-check":63116,"envelope-dash-fill":63118,"envelope-dash":63119,"envelope-exclamation-fill":63121,"envelope-exclamation":63122,"envelope-plus-fill":63123,"envelope-plus":63124,"envelope-slash-fill":63126,"envelope-slash":63127,"envelope-x-fill":63129,"envelope-x":63130,"explicit-fill":63131,explicit:In,git:Tn,infinity:jn,"list-columns-reverse":63135,"list-columns":63136,meta:An,"nintendo-switch":63140,"pc-display-horizontal":63141,"pc-display":63142,"pc-horizontal":63143,pc:Bn,playstation:Ln,"plus-slash-minus":63146,"projector-fill":63147,projector:Rn,"qr-code-scan":63149,"qr-code":63150,quora:En,quote:Nn,robot:Fn,"send-check-fill":63154,"send-check":63155,"send-dash-fill":63156,"send-dash":63157,"send-exclamation-fill":63159,"send-exclamation":63160,"send-fill":63161,"send-plus-fill":63162,"send-plus":63163,"send-slash-fill":63164,"send-slash":63165,"send-x-fill":63166,"send-x":63167,send:zn,steam:Hn,"terminal-dash":63171,"terminal-plus":63172,"terminal-split":63173,"ticket-detailed-fill":63174,"ticket-detailed":63175,"ticket-fill":63176,"ticket-perforated-fill":63177,"ticket-perforated":63178,ticket:Yn,tiktok:Gn,"window-dash":63181,"window-desktop":63182,"window-fullscreen":63183,"window-plus":63184,"window-split":63185,"window-stack":63186,"window-x":63187,xbox:Vn,ethernet:Jn,"hdmi-fill":63190,hdmi:Wn,"usb-c-fill":63192,"usb-c":63193,"usb-fill":63194,"usb-plug-fill":63195,"usb-plug":63196,"usb-symbol":63197,usb:Un,"boombox-fill":63199,displayport:Qn,"gpu-card":63202,memory:Kn,"modem-fill":63204,modem:Zn,"motherboard-fill":63206,motherboard:Xn,"optical-audio-fill":63208,"optical-audio":63209,"pci-card":63210,"router-fill":63211,router:er,"thunderbolt-fill":63215,thunderbolt:tr,"usb-drive-fill":63217,"usb-drive":63218,"usb-micro-fill":63219,"usb-micro":63220,"usb-mini-fill":63221,"usb-mini":63222,"cloud-haze2":63223,"device-hdd-fill":63224,"device-hdd":63225,"device-ssd-fill":63226,"device-ssd":63227,"displayport-fill":63228,"mortarboard-fill":63229,mortarboard:lr,"terminal-x":63231,"arrow-through-heart-fill":63232,"arrow-through-heart":63233,"badge-sd-fill":63234,"badge-sd":63235,"bag-heart-fill":63236,"bag-heart":63237,"balloon-fill":63238,"balloon-heart-fill":63239,"balloon-heart":63240,balloon:sr,"box2-fill":63242,"box2-heart-fill":63243,"box2-heart":63244,box2:or,"braces-asterisk":63246,"calendar-heart-fill":63247,"calendar-heart":63248,"calendar2-heart-fill":63249,"calendar2-heart":63250,"chat-heart-fill":63251,"chat-heart":63252,"chat-left-heart-fill":63253,"chat-left-heart":63254,"chat-right-heart-fill":63255,"chat-right-heart":63256,"chat-square-heart-fill":63257,"chat-square-heart":63258,"clipboard-check-fill":63259,"clipboard-data-fill":63260,"clipboard-fill":63261,"clipboard-heart-fill":63262,"clipboard-heart":63263,"clipboard-minus-fill":63264,"clipboard-plus-fill":63265,"clipboard-pulse":63266,"clipboard-x-fill":63267,"clipboard2-check-fill":63268,"clipboard2-check":63269,"clipboard2-data-fill":63270,"clipboard2-data":63271,"clipboard2-fill":63272,"clipboard2-heart-fill":63273,"clipboard2-heart":63274,"clipboard2-minus-fill":63275,"clipboard2-minus":63276,"clipboard2-plus-fill":63277,"clipboard2-plus":63278,"clipboard2-pulse-fill":63279,"clipboard2-pulse":63280,"clipboard2-x-fill":63281,"clipboard2-x":63282,clipboard2:ir,"emoji-kiss-fill":63284,"emoji-kiss":63285,"envelope-heart-fill":63286,"envelope-heart":63287,"envelope-open-heart-fill":63288,"envelope-open-heart":63289,"envelope-paper-fill":63290,"envelope-paper-heart-fill":63291,"envelope-paper-heart":63292,"envelope-paper":63293,"filetype-aac":63294,"filetype-ai":63295,"filetype-bmp":63296,"filetype-cs":63297,"filetype-css":63298,"filetype-csv":63299,"filetype-doc":63300,"filetype-docx":63301,"filetype-exe":63302,"filetype-gif":63303,"filetype-heic":63304,"filetype-html":63305,"filetype-java":63306,"filetype-jpg":63307,"filetype-js":63308,"filetype-jsx":63309,"filetype-key":63310,"filetype-m4p":63311,"filetype-md":63312,"filetype-mdx":63313,"filetype-mov":63314,"filetype-mp3":63315,"filetype-mp4":63316,"filetype-otf":63317,"filetype-pdf":63318,"filetype-php":63319,"filetype-png":63320,"filetype-ppt":63322,"filetype-psd":63323,"filetype-py":63324,"filetype-raw":63325,"filetype-rb":63326,"filetype-sass":63327,"filetype-scss":63328,"filetype-sh":63329,"filetype-svg":63330,"filetype-tiff":63331,"filetype-tsx":63332,"filetype-ttf":63333,"filetype-txt":63334,"filetype-wav":63335,"filetype-woff":63336,"filetype-xls":63338,"filetype-xml":63339,"filetype-yml":63340,"heart-arrow":63341,"heart-pulse-fill":63342,"heart-pulse":63343,"heartbreak-fill":63344,heartbreak:ar,hearts:nr,"hospital-fill":63347,hospital:rr,"house-heart-fill":63349,"house-heart":63350,incognito:dr,"magnet-fill":63352,magnet:cr,"person-heart":63354,"person-hearts":63355,"phone-flip":63356,plugin:ur,"postage-fill":63358,"postage-heart-fill":63359,"postage-heart":63360,postage:fr,"postcard-fill":63362,"postcard-heart-fill":63363,"postcard-heart":63364,postcard:pr,"search-heart-fill":63366,"search-heart":63367,"sliders2-vertical":63368,sliders2:mr,"trash3-fill":63370,trash3:gr,valentine:hr,valentine2:br,"wrench-adjustable-circle-fill":63374,"wrench-adjustable-circle":63375,"wrench-adjustable":63376,"filetype-json":63377,"filetype-pptx":63378,"filetype-xlsx":63379,"1-circle-fill":63382,"1-circle":63383,"1-square-fill":63384,"1-square":63385,"2-circle-fill":63388,"2-circle":63389,"2-square-fill":63390,"2-square":63391,"3-circle-fill":63394,"3-circle":63395,"3-square-fill":63396,"3-square":63397,"4-circle-fill":63400,"4-circle":63401,"4-square-fill":63402,"4-square":63403,"5-circle-fill":63406,"5-circle":63407,"5-square-fill":63408,"5-square":63409,"6-circle-fill":63412,"6-circle":63413,"6-square-fill":63414,"6-square":63415,"7-circle-fill":63418,"7-circle":63419,"7-square-fill":63420,"7-square":63421,"8-circle-fill":63424,"8-circle":63425,"8-square-fill":63426,"8-square":63427,"9-circle-fill":63430,"9-circle":63431,"9-square-fill":63432,"9-square":63433,"airplane-engines-fill":63434,"airplane-engines":63435,"airplane-fill":63436,airplane:vr,alexa:kr,alipay:wr,android:yr,android2:xr,"box-fill":63442,"box-seam-fill":63443,"browser-chrome":63444,"browser-edge":63445,"browser-firefox":63446,"browser-safari":63447,"c-circle-fill":63450,"c-circle":63451,"c-square-fill":63452,"c-square":63453,"capsule-pill":63454,capsule:$r,"car-front-fill":63456,"car-front":63457,"cassette-fill":63458,cassette:_r,"cc-circle-fill":63462,"cc-circle":63463,"cc-square-fill":63464,"cc-square":63465,"cup-hot-fill":63466,"cup-hot":63467,"currency-rupee":63468,dropbox:Pr,escape:63470,"fast-forward-btn-fill":63471,"fast-forward-btn":63472,"fast-forward-circle-fill":63473,"fast-forward-circle":63474,"fast-forward-fill":63475,"fast-forward":63476,"filetype-sql":63477,fire:Sr,"google-play":63479,"h-circle-fill":63482,"h-circle":63483,"h-square-fill":63484,"h-square":63485,indent:Cr,"lungs-fill":63487,lungs:Dr,"microsoft-teams":63489,"p-circle-fill":63492,"p-circle":63493,"p-square-fill":63494,"p-square":63495,"pass-fill":63496,pass:Or,prescription:Mr,prescription2:qr,"r-circle-fill":63502,"r-circle":63503,"r-square-fill":63504,"r-square":63505,"repeat-1":63506,repeat:Ir,"rewind-btn-fill":63508,"rewind-btn":63509,"rewind-circle-fill":63510,"rewind-circle":63511,"rewind-fill":63512,rewind:Tr,"train-freight-front-fill":63514,"train-freight-front":63515,"train-front-fill":63516,"train-front":63517,"train-lightrail-front-fill":63518,"train-lightrail-front":63519,"truck-front-fill":63520,"truck-front":63521,ubuntu:jr,unindent:Ar,unity:Br,"universal-access-circle":63525,"universal-access":63526,virus:Lr,virus2:Rr,wechat:Er,yelp:Nr,"sign-stop-fill":63531,"sign-stop-lights-fill":63532,"sign-stop-lights":63533,"sign-stop":63534,"sign-turn-left-fill":63535,"sign-turn-left":63536,"sign-turn-right-fill":63537,"sign-turn-right":63538,"sign-turn-slight-left-fill":63539,"sign-turn-slight-left":63540,"sign-turn-slight-right-fill":63541,"sign-turn-slight-right":63542,"sign-yield-fill":63543,"sign-yield":63544,"ev-station-fill":63545,"ev-station":63546,"fuel-pump-diesel-fill":63547,"fuel-pump-diesel":63548,"fuel-pump-fill":63549,"fuel-pump":63550,"0-circle-fill":63551,"0-circle":63552,"0-square-fill":63553,"0-square":63554,"rocket-fill":63555,"rocket-takeoff-fill":63556,"rocket-takeoff":63557,rocket:Fr,stripe:zr,subscript:Hr,superscript:Yr,trello:Gr,"envelope-at-fill":63563,"envelope-at":63564,regex:Vr,"text-wrap":63566,"sign-dead-end-fill":63567,"sign-dead-end":63568,"sign-do-not-enter-fill":63569,"sign-do-not-enter":63570,"sign-intersection-fill":63571,"sign-intersection-side-fill":63572,"sign-intersection-side":63573,"sign-intersection-t-fill":63574,"sign-intersection-t":63575,"sign-intersection-y-fill":63576,"sign-intersection-y":63577,"sign-intersection":63578,"sign-merge-left-fill":63579,"sign-merge-left":63580,"sign-merge-right-fill":63581,"sign-merge-right":63582,"sign-no-left-turn-fill":63583,"sign-no-left-turn":63584,"sign-no-parking-fill":63585,"sign-no-parking":63586,"sign-no-right-turn-fill":63587,"sign-no-right-turn":63588,"sign-railroad-fill":63589,"sign-railroad":63590,"building-add":63591,"building-check":63592,"building-dash":63593,"building-down":63594,"building-exclamation":63595,"building-fill-add":63596,"building-fill-check":63597,"building-fill-dash":63598,"building-fill-down":63599,"building-fill-exclamation":63600,"building-fill-gear":63601,"building-fill-lock":63602,"building-fill-slash":63603,"building-fill-up":63604,"building-fill-x":63605,"building-fill":63606,"building-gear":63607,"building-lock":63608,"building-slash":63609,"building-up":63610,"building-x":63611,"buildings-fill":63612,buildings:Jr,"bus-front-fill":63614,"bus-front":63615,"ev-front-fill":63616,"ev-front":63617,"globe-americas":63618,"globe-asia-australia":63619,"globe-central-south-asia":63620,"globe-europe-africa":63621,"house-add-fill":63622,"house-add":63623,"house-check-fill":63624,"house-check":63625,"house-dash-fill":63626,"house-dash":63627,"house-down-fill":63628,"house-down":63629,"house-exclamation-fill":63630,"house-exclamation":63631,"house-gear-fill":63632,"house-gear":63633,"house-lock-fill":63634,"house-lock":63635,"house-slash-fill":63636,"house-slash":63637,"house-up-fill":63638,"house-up":63639,"house-x-fill":63640,"house-x":63641,"person-add":63642,"person-down":63643,"person-exclamation":63644,"person-fill-add":63645,"person-fill-check":63646,"person-fill-dash":63647,"person-fill-down":63648,"person-fill-exclamation":63649,"person-fill-gear":63650,"person-fill-lock":63651,"person-fill-slash":63652,"person-fill-up":63653,"person-fill-x":63654,"person-gear":63655,"person-lock":63656,"person-slash":63657,"person-up":63658,scooter:Wr,"taxi-front-fill":63660,"taxi-front":63661,amd:Ur,"database-add":63663,"database-check":63664,"database-dash":63665,"database-down":63666,"database-exclamation":63667,"database-fill-add":63668,"database-fill-check":63669,"database-fill-dash":63670,"database-fill-down":63671,"database-fill-exclamation":63672,"database-fill-gear":63673,"database-fill-lock":63674,"database-fill-slash":63675,"database-fill-up":63676,"database-fill-x":63677,"database-fill":63678,"database-gear":63679,"database-lock":63680,"database-slash":63681,"database-up":63682,"database-x":63683,database:Qr,"houses-fill":63685,houses:Kr,nvidia:Zr,"person-vcard-fill":63688,"person-vcard":63689,"sina-weibo":63690,"tencent-qq":63691,wikipedia:Xr,"alphabet-uppercase":62117,alphabet:ed,amazon:td,"arrows-collapse-vertical":63120,"arrows-expand-vertical":63125,"arrows-vertical":63128,arrows:ld,"ban-fill":63139,ban:sd,bing:od,cake:id,cake2:ad,cookie:nd,copy:rd,crosshair:dd,crosshair2:cd,"emoji-astonished-fill":63381,"emoji-astonished":63386,"emoji-grimace-fill":63387,"emoji-grimace":63392,"emoji-grin-fill":63393,"emoji-grin":63398,"emoji-surprise-fill":63399,"emoji-surprise":63404,"emoji-tear-fill":63405,"emoji-tear":63410,"envelope-arrow-down-fill":63411,"envelope-arrow-down":63416,"envelope-arrow-up-fill":63417,"envelope-arrow-up":63422,feather:ud,feather2:fd,"floppy-fill":63429,floppy:pd,"floppy2-fill":63449,floppy2:md,gitlab:gd,highlighter:hd,"marker-tip":63490,"nvme-fill":63491,nvme:bd,opencollective:vd,"pci-card-network":63693,"pci-card-sound":63694,radar:kd,"send-arrow-down-fill":63696,"send-arrow-down":63697,"send-arrow-up-fill":63698,"send-arrow-up":63699,"sim-slash-fill":63700,"sim-slash":63701,sourceforge:wd,substack:yd,"threads-fill":63704,threads:xd,transparency:$d,"twitter-x":63707,"type-h4":63708,"type-h5":63709,"type-h6":63710,"backpack-fill":63711,backpack:_d,"backpack2-fill":63713,backpack2:Pd,"backpack3-fill":63715,backpack3:Sd,"backpack4-fill":63717,backpack4:Cd,brilliance:Dd,"cake-fill":63720,"cake2-fill":63721,"duffle-fill":63722,duffle:Od,exposure:Md,"gender-neuter":63725,highlights:qd,"luggage-fill":63727,luggage:Id,"mailbox-flag":63729,"mailbox2-flag":63730,"noise-reduction":63731,"passport-fill":63732,passport:Td,"person-arms-up":63734,"person-raised-hand":63735,"person-standing-dress":63736,"person-standing":63737,"person-walking":63738,"person-wheelchair":63739,shadows:jd,"suitcase-fill":63741,"suitcase-lg-fill":63742,"suitcase-lg":63743,suitcase:Ad,"suitcase2-fill":63745,suitcase2:Bd,vignette:Ld,bluesky:Rd,tux:Ed,"beaker-fill":63749,beaker:Nd,"flask-fill":63751,"flask-florence-fill":63752,"flask-florence":63753,flask:Fd,"leaf-fill":63755,leaf:zd,"measuring-cup-fill":63757,"measuring-cup":63758,"unlock2-fill":63759,unlock2:Hd,"battery-low":63761,anthropic:Yd,"apple-music":63763,claude:Gd,openai:Vd,perplexity:Jd,css:Wd,javascript:Ud,typescript:Qd,"fork-knife":63770,"globe-americas-fill":63771,"globe-asia-australia-fill":63772,"globe-central-south-asia-fill":63773,"globe-europe-africa-fill":63774},Kd={class:"border rounded-3 p-2"},Zd={class:"align-items-center overflow-scroll d-flex gap-2 position-relative"},Xd=["aria-label"],ec={key:1,style:{"white-space":"nowrap"}},tc=["disabled","placeholder"],lc=J({__name:"peerTagSetting",props:["group","edit","groupId"],emits:["delete","iconPickerOpen","colorPickerOpen","toggle"],setup(l,{emit:t}){const a=ae(),s=l,g=t,d=q(s.group.GroupName),c=()=>{a.Filter.HiddenTags.includes(s.groupId)?a.Filter.HiddenTags=a.Filter.HiddenTags.filter(b=>b!==s.groupId):a.Filter.HiddenTags.push(s.groupId)};return(b,f)=>(o(),p("div",Kd,[e("div",Zd,[e("button",{onClick:f[0]||(f[0]=n=>g("iconPickerOpen")),"aria-label":"Pick icon button",class:B([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"])},[l.group.Icon?(o(),p("i",{key:0,class:B(["bi","bi-"+l.group.Icon]),"aria-label":l.group.Icon},null,10,Xd)):(o(),p("span",ec,[r(P,{t:"No Icon"})]))],2),e("button",{class:B([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"]),"aria-label":"Pick color button",onClick:f[1]||(f[1]=n=>g("colorPickerOpen")),style:ge({"background-color":l.group.BackgroundColor,color:T(a).colorText(l.group.BackgroundColor)})},f[6]||(f[6]=[e("i",{class:"bi bi-eyedropper"},null,-1)]),6),ue(e("input",{disabled:!l.edit,"onUpdate:modelValue":f[2]||(f[2]=n=>d.value=n),onChange:f[3]||(f[3]=n=>l.group.GroupName=d.value),placeholder:T(z)("Tag Name"),class:"form-control form-control-sm p-2 rounded-2 w-100"},null,40,tc),[[$e,d.value]]),l.edit?(o(),p("button",{key:0,"aria-label":"Delete Tag Button",onClick:f[4]||(f[4]=n=>g("delete")),class:"rounded-2 border p-2 btn btn-sm btn-outline-danger"},f[7]||(f[7]=[e("i",{class:"bi bi-trash-fill"},null,-1)]))):(o(),p("button",{key:1,"aria-label":"Show / Hide Button",style:{"white-space":"nowrap"},class:B([{active:!T(a).Filter.HiddenTags.includes(l.groupId)},"rounded-2 p-2 btn btn-sm btn-outline-primary"]),onClick:f[5]||(f[5]=n=>c())},[e("i",{class:B(["bi",[T(a).Filter.HiddenTags.includes(l.groupId)?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)],2))])]))}}),sc={class:"w-100 bg-body top-0 border rounded-2"},oc={class:"p-2 d-flex align-items-center gap-2 border-bottom"},ic=["placeholder"],ac={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},nc=["onClick"],rc={class:"p-2 border-top d-flex gap-2"},dc=J({__name:"peerTagIconPicker",props:["group"],emits:["close","select"],setup(l,{emit:t}){const a=t;de(()=>{let d=document.querySelector(".icon-grid div.active");d&&(d.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)});const s=q(""),g=L(()=>s.value?[...Object.keys(xe).filter(d=>d.includes(s.value.toLowerCase()))]:Object.keys(xe));return(d,c)=>(o(),p("div",sc,[e("div",oc,[c[3]||(c[3]=e("label",null,[e("i",{class:"bi bi-search"})],-1)),ue(e("input",{"onUpdate:modelValue":c[0]||(c[0]=b=>s.value=b),placeholder:T(z)("Search Icon"),class:"form-control form-control-sm rounded-2"},null,8,ic),[[$e,s.value]])]),e("div",ac,[(o(!0),p(F,null,H(g.value,b=>(o(),p("div",{class:B(["rounded-1 border icon d-flex",{"text-bg-success active":l.group.Icon===b}]),style:{cursor:"pointer"},key:b,onClick:f=>l.group.Icon=b},[e("i",{class:B(["bi m-auto","bi-"+b])},null,2)],10,nc))),128))]),e("div",rc,[e("button",{onClick:c[1]||(c[1]=b=>l.group.Icon=""),class:"btn btn-sm btn-secondary rounded-2 ms-auto"},[r(P,{t:"Remove Icon"})]),e("button",{class:"btn btn-sm btn-success rounded-2",onClick:c[2]||(c[2]=b=>a("close"))},[r(P,{t:"Done"})])])]))}}),cc=Z(dc,[["__scopeId","data-v-3c48f50e"]]),uc={class:"w-100 bg-body top-0 border rounded-2"},fc={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},pc=["aria-label","onClick"],mc={class:"p-2 border-top d-flex gap-2"},gc=J({__name:"peerTagColorPicker",props:["colors","group"],emits:["close","select",""],setup(l,{emit:t}){const a=t;q("");const s=ae();return de(()=>{let g=document.querySelector(".icon-grid div.active");g&&(g.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)}),(g,d)=>(o(),p("div",uc,[e("div",fc,[(o(!0),p(F,null,H(l.colors,(c,b)=>(o(),p("div",{class:B(["rounded-1 border icon d-flex",{active:l.group.BackgroundColor===c}]),style:ge([{cursor:"pointer"},{"background-color":c}]),"aria-label":b,key:c,onClick:f=>l.group.BackgroundColor=c},[l.group.BackgroundColor===c?(o(),p("i",{key:0,style:ge({color:T(s).colorText(c)}),class:"bi bi-check-circle m-auto"},null,4)):M("",!0)],14,pc))),128))]),e("div",mc,[e("button",{class:"btn btn-sm btn-success rounded-2 ms-auto",onClick:d[0]||(d[0]=c=>a("close"))},[r(P,{t:"Done"})])])]))}}),hc=Z(gc,[["__scopeId","data-v-accdf15e"]]),bc={class:"card shadow rounded-3",id:"peerTag"},vc={class:"card-header"},kc={class:"form-check form-switch"},wc={class:"form-check-label",for:"showAllPeers"},yc={class:"card-body p-2"},xc={key:0},$c={key:0,class:"text-center text-muted"},_c={key:1,class:"d-flex flex-column gap-2"},Pc={class:"card-footer p-2 d-flex gap-2"},Sc=J({__name:"peerTag",props:["configuration"],emits:["close","update"],setup(l,{emit:t}){const a={"blue-100":"#cfe2ff","blue-200":"#9ec5fe","blue-300":"#6ea8fe","blue-400":"#3d8bfd","blue-500":"#0d6efd","blue-600":"#0a58ca","blue-700":"#084298","blue-800":"#052c65","blue-900":"#031633","indigo-100":"#e0cffc","indigo-200":"#c29ffa","indigo-300":"#a370f7","indigo-400":"#8540f5","indigo-500":"#6610f2","indigo-600":"#520dc2","indigo-700":"#3d0a91","indigo-800":"#290661","indigo-900":"#140330","purple-100":"#e2d9f3","purple-200":"#c5b3e6","purple-300":"#a98eda","purple-400":"#8c68cd","purple-500":"#6f42c1","purple-600":"#59359a","purple-700":"#432874","purple-800":"#2c1a4d","purple-900":"#160d27","pink-100":"#f7d6e6","pink-200":"#efadce","pink-300":"#e685b5","pink-400":"#de5c9d","pink-500":"#d63384","pink-600":"#ab296a","pink-700":"#801f4f","pink-800":"#561435","pink-900":"#2b0a1a","red-100":"#f8d7da","red-200":"#f1aeb5","red-300":"#ea868f","red-400":"#e35d6a","red-500":"#dc3545","red-600":"#b02a37","red-700":"#842029","red-800":"#58151c","red-900":"#2c0b0e","orange-100":"#ffe5d0","orange-200":"#fecba1","orange-300":"#feb272","orange-400":"#fd9843","orange-500":"#fd7e14","orange-600":"#ca6510","orange-700":"#984c0c","orange-800":"#653208","orange-900":"#331904","yellow-100":"#fff3cd","yellow-200":"#ffe69c","yellow-300":"#ffda6a","yellow-400":"#ffcd39","yellow-500":"#ffc107","yellow-600":"#cc9a06","yellow-700":"#997404","yellow-800":"#664d03","yellow-900":"#332701","green-100":"#d1e7dd","green-200":"#a3cfbb","green-300":"#75b798","green-400":"#479f76","green-500":"#198754","green-600":"#146c43","green-700":"#0f5132","green-800":"#0a3622","green-900":"#051b11","teal-100":"#d2f4ea","teal-200":"#a6e9d5","teal-300":"#79dfc1","teal-400":"#4dd4ac","teal-500":"#20c997","teal-600":"#1aa179","teal-700":"#13795b","teal-800":"#0d503c","teal-900":"#06281e","cyan-100":"#cff4fc","cyan-200":"#9eeaf9","cyan-300":"#6edff6","cyan-400":"#3dd5f3","cyan-500":"#0dcaf0","cyan-600":"#0aa2c0","cyan-700":"#087990","cyan-800":"#055160","cyan-900":"#032830","gray-100":"#f8f9fa","gray-200":"#e9ecef","gray-300":"#dee2e6","gray-400":"#ced4da","gray-500":"#adb5bd","gray-600":"#6c757d","gray-700":"#495057","gray-800":"#343a40","gray-900":"#212529",white:"#fff",black:"#000"},s=ae(),g=l,d=Oe({...g.configuration.Info.PeerGroups}),c=()=>{d[Qe().toString()]={GroupName:"",Description:"",BackgroundColor:b(),Icon:f(),Peers:[]}},b=()=>{const D=Object.keys(a),w=Math.floor(Math.random()*D.length)+1;return a[D[w]]},f=()=>{const D=Object.keys(xe),w=Math.floor(Math.random()*D.length)+1;return D[w]},n=q(!1),m=q(!1),v=q(""),k=t;ee(()=>d,D=>{X("/api/updateWireguardConfigurationInfo",{Name:g.configuration.Name,Key:"PeerGroups",Value:D},w=>{w.status&&k("update",d)})},{deep:!0});const $=q(!1);return(D,w)=>(o(),p("div",bc,[e("div",vc,[e("div",kc,[ue(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"showAllPeers","onUpdate:modelValue":w[0]||(w[0]=u=>T(s).Filter.ShowAllPeersWhenHiddenTags=u)},null,512),[[Me,T(s).Filter.ShowAllPeersWhenHiddenTags]]),e("label",wc,[e("small",null,[r(P,{t:"Show All Peers"})])])])]),e("div",yc,[r(ne,{name:"zoom",mode:"out-in"},{default:Q(()=>[!n.value&&!m.value?(o(),p("div",xc,[Object.keys(d).length===0?(o(),p("div",$c,[e("small",null,[r(P,{t:"No tag"})])])):(o(),p("div",_c,[r(he,{name:"slide-fade"},{default:Q(()=>[(o(!0),p(F,null,H(d,(u,h)=>(o(),I(lc,{groupId:h,onDelete:C=>{delete d[h],T(s).Filter.HiddenTags=T(s).Filter.HiddenTags.filter(E=>E!==h)},onColorPickerOpen:C=>{m.value=!0,v.value=h},onIconPickerOpen:C=>{n.value=!0,v.value=h},key:h,edit:$.value,group:u},null,8,["groupId","onDelete","onColorPickerOpen","onIconPickerOpen","edit","group"]))),128))]),_:1})]))])):n.value?(o(),I(cc,{key:1,onClose:w[1]||(w[1]=u=>n.value=!1),group:d[v.value]},null,8,["group"])):m.value?(o(),I(hc,{key:2,colors:a,onClose:w[2]||(w[2]=u=>m.value=!1),group:d[v.value]},null,8,["group"])):M("",!0)]),_:1})]),e("div",Pc,[$.value?(o(),p(F,{key:1},[e("button",{onClick:c,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[e("small",null,[w[7]||(w[7]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(P,{t:"Tag"})])]),e("button",{onClick:w[5]||(w[5]=u=>$.value=!1),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 ms-auto"},[e("small",null,[r(P,{t:"Done"})])])],64)):(o(),p(F,{key:0},[e("button",{onClick:w[3]||(w[3]=u=>k("close")),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[e("small",null,[r(P,{t:"Close"})])]),e("button",{onClick:w[4]||(w[4]=u=>$.value=!0),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 ms-auto"},[e("small",null,[w[6]||(w[6]=e("i",{class:"bi bi-pen me-2"},null,-1)),r(P,{t:"Edit"})])])],64))])]))}}),Cc=Z(Sc,[["__scopeId","data-v-ab3e5c4e"]]),Dc={name:"peerSearch",components:{PeerTag:Cc,LocaleText:P},setup(){const l=oe(),t=ae();return{store:l,wireguardConfigurationStore:t}},props:{configuration:Object,displayTags:Array},data(){return{sort:{status:z("Status"),name:z("Name"),allowed_ip:z("Allowed IPs"),restricted:z("Restricted")},interval:{5e3:z("5 Seconds"),1e4:z("10 Seconds"),3e4:z("30 Seconds"),6e4:z("1 Minutes")},display:{grid:z("Grid"),list:z("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1,tagManager:!1}},methods:{updateSort(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:l},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:l},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:l},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){te(`/api/downloadAllPeers/${this.configuration.Name}`,{},l=>{l.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(l,this.configuration.Name)})}}},Oc={class:"d-flex flex-column gap-2 my-4"},Mc={class:"d-flex gap-2 peerSearchContainer"},qc={class:"dropdown"},Ic={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Tc={class:"badge text-bg-primary ms-2"},jc={class:"dropdown-menu rounded-3"},Ac=["onClick"],Bc={class:"ms-auto"},Lc={key:0,class:"bi bi-check-circle-fill"},Rc={class:"dropdown"},Ec={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Nc={class:"badge text-bg-primary ms-2"},Fc={class:"dropdown-menu rounded-3"},zc=["onClick"],Hc={class:"ms-auto"},Yc={key:0,class:"bi bi-check-circle-fill"},Gc={class:"dropdown"},Vc={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Jc={class:"badge text-bg-primary ms-2"},Wc={class:"dropdown-menu rounded-3"},Uc=["onClick"],Qc={class:"ms-auto"},Kc={key:0,class:"bi bi-check-circle-fill"},Zc={class:"position-relative"};function Xc(l,t,a,s,g,d){const c=le("LocaleText"),b=le("PeerTag");return o(),p("div",Oc,[e("div",Mc,[e("div",qc,[e("button",Ic,[t[7]||(t[7]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),r(c,{t:"Sort By"}),e("span",Tc,O(this.sort[s.store.Configuration.Server.dashboard_sort]),1)]),e("ul",jc,[(o(!0),p(F,null,H(this.sort,(f,n)=>(o(),p("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:m=>this.updateSort(n)},[e("small",null,O(f),1),e("small",Bc,[s.store.Configuration.Server.dashboard_sort===n?(o(),p("i",Lc)):M("",!0)])],8,Ac)]))),256))])]),e("div",Rc,[e("button",Ec,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),r(c,{t:"Refresh Interval"}),e("span",Nc,O(this.interval[s.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",Fc,[(o(!0),p(F,null,H(this.interval,(f,n)=>(o(),p("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:m=>this.updateRefreshInterval(n)},[e("small",null,O(f),1),e("small",Hc,[s.store.Configuration.Server.dashboard_refresh_interval===n?(o(),p("i",Yc)):M("",!0)])],8,zc)]))),256))])]),e("div",Gc,[e("button",Vc,[e("i",{class:B(["bi me-2","bi-"+s.store.Configuration.Server.dashboard_peer_list_display])},null,2),r(c,{t:"Display"}),e("span",Jc,O(this.display[s.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",Wc,[(o(!0),p(F,null,H(this.display,(f,n)=>(o(),p("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:m=>this.updateDisplay(n)},[e("small",null,O(f),1),e("small",Qc,[s.store.Configuration.Server.dashboard_peer_list_display===n?(o(),p("i",Kc)):M("",!0)])],8,Uc)]))),256))])]),e("div",Zc,[e("button",{onClick:t[0]||(t[0]=f=>g.tagManager=!g.tagManager),class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},[t[9]||(t[9]=e("i",{class:"bi me-2 bi-tag"},null,-1)),r(c,{t:"Tags"})]),r(ne,{name:"slide-fade"},{default:Q(()=>[this.tagManager?(o(),I(b,{key:0,onUpdate:t[1]||(t[1]=f=>a.configuration.Info.PeerGroups=f),onClose:t[2]||(t[2]=f=>this.tagManager=!1),configuration:a.configuration},null,8,["configuration"])):M("",!0)]),_:1})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[3]||(t[3]=f=>this.$emit("search"))},[t[10]||(t[10]=e("i",{class:"bi bi-search me-2"},null,-1)),r(c,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[4]||(t[4]=f=>this.downloadAllPeer())},[t[11]||(t[11]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),r(c,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[5]||(t[5]=f=>this.$emit("selectPeers"))},[t[12]||(t[12]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),r(c,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[6]||(t[6]=f=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),r(c,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const e6=Z(Dc,[["render",Xc],["__scopeId","data-v-71502547"]]);function t6(l){return Ke()?(Ze(l),!0):!1}const Ye=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const l6=Object.prototype.toString,s6=l=>l6.call(l)==="[object Object]",ie=()=>{},o6=i6();function i6(){var l,t;return Ye&&((l=window?.navigator)==null?void 0:l.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function we(l){return Array.isArray(l)?l:[l]}function a6(l,t,a){return ee(l,t,{...a,immediate:!0})}const Ge=Ye?window:void 0;function re(l){var t;const a=se(l);return(t=a?.$el)!=null?t:a}function ye(...l){const t=[],a=()=>{t.forEach(b=>b()),t.length=0},s=(b,f,n,m)=>(b.addEventListener(f,n,m),()=>b.removeEventListener(f,n,m)),g=L(()=>{const b=we(se(l[0])).filter(f=>f!=null);return b.every(f=>typeof f!="string")?b:void 0}),d=a6(()=>{var b,f;return[(f=(b=g.value)==null?void 0:b.map(n=>re(n)))!=null?f:[Ge].filter(n=>n!=null),we(se(g.value?l[1]:l[0])),we(T(g.value?l[2]:l[1])),se(g.value?l[3]:l[2])]},([b,f,n,m])=>{if(a(),!b?.length||!f?.length||!n?.length)return;const v=s6(m)?{...m}:m;t.push(...b.flatMap(k=>f.flatMap($=>n.map(D=>s(k,$,D,v)))))},{flush:"post"}),c=()=>{d(),a()};return t6(a),c}let Pe=!1;function n6(l,t,a={}){const{window:s=Ge,ignore:g=[],capture:d=!0,detectIframe:c=!1,controls:b=!1}=a;if(!s)return b?{stop:ie,cancel:ie,trigger:ie}:ie;if(o6&&!Pe){Pe=!0;const u={passive:!0};Array.from(s.document.body.children).forEach(h=>h.addEventListener("click",ie,u)),s.document.documentElement.addEventListener("click",ie,u)}let f=!0;const n=u=>se(g).some(h=>{if(typeof h=="string")return Array.from(s.document.querySelectorAll(h)).some(C=>C===u.target||u.composedPath().includes(C));{const C=re(h);return C&&(u.target===C||u.composedPath().includes(C))}});function m(u){const h=se(u);return h&&h.$.subTree.shapeFlag===16}function v(u,h){const C=se(u),E=C.$.subTree&&C.$.subTree.children;return E==null||!Array.isArray(E)?!1:E.some(W=>W.el===h.target||h.composedPath().includes(W.el))}const k=u=>{const h=re(l);if(u.target!=null&&!(!(h instanceof Element)&&m(l)&&v(l,u))&&!(!h||h===u.target||u.composedPath().includes(h))){if("detail"in u&&u.detail===0&&(f=!n(u)),!f){f=!0;return}t(u)}};let $=!1;const D=[ye(s,"click",u=>{$||($=!0,setTimeout(()=>{$=!1},0),k(u))},{passive:!0,capture:d}),ye(s,"pointerdown",u=>{const h=re(l);f=!n(u)&&!!(h&&!u.composedPath().includes(h))},{passive:!0}),c&&ye(s,"blur",u=>{setTimeout(()=>{var h;const C=re(l);((h=s.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!C?.contains(s.document.activeElement)&&t(u)},0)},{passive:!0})].filter(Boolean),w=()=>D.forEach(u=>u());return b?{stop:w,cancel:()=>{f=!1},trigger:u=>{f=!0,k(u),f=!1}}:w}const r6={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},d6={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(l,{emit:t}){const a=t,s=q(!1);return(g,d)=>(o(),p("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:d[0]||(d[0]=c=>s.value=!0),onMouseleave:d[1]||(d[1]=c=>s.value=!1),onClick:d[2]||(d[2]=c=>a("click"))},[e("i",{class:B(["me-auto bi",l.icon])},null,2),r(ne,{name:"zoomReversed"},{default:Q(()=>[s.value?(o(),p("span",r6,[e("small",null,[r(P,{t:l.title},null,8,["t"])])])):M("",!0)]),_:1})],32))}},c6=Z(d6,[["__scopeId","data-v-d4e41a56"]]),u6={class:"mb-0"},Ve=J({__name:"peerTagBadge",props:["BackgroundColor","GroupName","Icon"],setup(l){const t=ae();return(a,s)=>(o(),p("h6",u6,[e("span",{class:"badge rounded-3 shadow",style:ge({"background-color":l.BackgroundColor,color:T(t).colorText(l.BackgroundColor)})},[l.Icon?(o(),p("i",{key:0,class:B(["bi",[l.Icon,l.GroupName?"me-2":""]])},null,2)):M("",!0),N(O(l.GroupName),1)],4)]))}}),f6={class:"dropdown-menu"},p6=["onClick"],m6={key:0,class:"bi bi-check-circle-fill"},g6={key:1,class:"bi bi-circle"},h6=J({__name:"peerTagSelectDropdown",props:["Peer","ConfigurationInfo"],emits:["update"],setup(l,{emit:t}){const a=l,s=Oe({...a.ConfigurationInfo.Info.PeerGroups}),g=t;ee(()=>s,c=>{X("/api/updateWireguardConfigurationInfo",{Name:a.ConfigurationInfo.Name,Key:"PeerGroups",Value:c},b=>{b.status&&g("update",s)})},{deep:!0});const d=(c,b)=>{s[c].Peers.includes(b)?s[c].Peers=s[c].Peers.filter(f=>f!==b):s[c].Peers.push(b)};return(c,b)=>(o(),p("ul",f6,[(o(!0),p(F,null,H(s,(f,n)=>(o(),p("li",null,[e("a",{role:"button",onClick:m=>d(n,l.Peer.id),class:"dropdown-item d-flex align-items-center"},[f.Peers.includes(l.Peer.id)?(o(),p("i",m6)):(o(),p("i",g6)),r(Ve,{class:"ms-auto",BackgroundColor:f.BackgroundColor,GroupName:f.GroupName,Icon:"bi-"+f.Icon},null,8,["BackgroundColor","GroupName","Icon"])],8,p6)]))),256))]))}}),b6={name:"peerSettingsDropdown",components:{PeerTagSelectDropdown:h6,PeerSettingsDropdownTool:c6,LocaleText:P},setup(){return{dashboardStore:oe()}},props:{Peer:Object,ConfigurationInfo:Object,dropup:Boolean},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1,height:0}},mounted(){this.height=document.querySelector("#peerDropdown").clientHeight},methods:{downloadPeer(){te("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},l=>{if(l.status){const t=new Blob([l.data.file],{type:"text/conf"}),a=URL.createObjectURL(t),s=`${l.data.fileName}.conf`,g=document.createElement("a");g.href=a,g.download=s,g.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",l.message,"danger")})},downloadQRCode(l){te("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(l,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,X(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,X(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,X(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},v6={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},k6={class:"text-body d-flex"},w6={class:"ms-auto"},y6={key:1},x6={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},$6={key:2},_6={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},P6={class:"dropdown dropstart"},S6={class:"dropdown-item d-flex",role:"button","data-bs-auto-close":"outside","data-bs-toggle":"dropdown"},C6={key:1,class:"confirmDelete"},D6={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},O6={class:"d-flex w-100 gap-2"},M6=["disabled"],q6=["disabled"],I6={key:1};function T6(l,t,a,s,g,d){const c=le("LocaleText"),b=le("PeerSettingsDropdownTool"),f=le("PeerTagSelectDropdown");return o(),p("ul",{class:B([{dropup:a.dropup},"dropdown-menu mt-2 shadow-lg d-block rounded-3"]),id:"peerDropdown",style:{"max-width":"200px"}},[this.Peer.restricted?(o(),p("li",I6,[e("a",{class:B(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[12]||(t[12]=n=>this.allowAccessPeer()),role:"button"},[t[28]||(t[28]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(o(),I(c,{key:1,t:"Allowing Access..."})):(o(),I(c,{key:0,t:"Allow Access"}))],2)])):(o(),p(F,{key:0},[this.confirmDelete?(o(),p("li",C6,[e("p",D6,[r(c,{t:"Are you sure to delete this peer?"})]),e("div",O6,[e("button",{onClick:t[10]||(t[10]=n=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[r(c,{t:"Yes"})],8,M6),e("button",{disabled:this.deleteBtnDisabled,onClick:t[11]||(t[11]=n=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[r(c,{t:"No"})],8,q6)])])):(o(),p(F,{key:0},[this.Peer.status==="running"?(o(),p(F,{key:0},[e("li",v6,[e("span",k6,[t[13]||(t[13]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",w6,O(this.Peer.endpoint),1)])]),t[14]||(t[14]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):M("",!0),this.Peer.private_key?(o(),p("li",$6,[t[15]||(t[15]=e("div",{class:"text-center text-muted"},null,-1)),e("div",_6,[r(b,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=n=>this.downloadPeer())}),r(b,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=n=>this.$emit("qrcode"))}),r(b,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=n=>this.$emit("configurationFile"))}),r(b,{icon:"bi-share",title:"Share Peer",onClick:t[3]||(t[3]=n=>this.$emit("share"))})])])):(o(),p("li",y6,[e("small",x6,[r(c,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[26]||(t[26]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=n=>this.$emit("setting"))},[t[16]||(t[16]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[17]||(t[17]=N()),r(c,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=n=>this.$emit("jobs"))},[t[18]||(t[18]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[19]||(t[19]=N()),r(c,{t:"Schedule Jobs"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[6]||(t[6]=n=>this.$emit("assign"))},[t[20]||(t[20]=e("i",{class:"me-auto bi bi-diagram-2"},null,-1)),t[21]||(t[21]=N()),r(c,{t:"Assign Peer"})])]),e("li",P6,[e("a",S6,[t[22]||(t[22]=e("i",{class:"me-auto bi bi-tag"},null,-1)),t[23]||(t[23]=N()),r(c,{t:"Tag Peer"})]),r(f,{onUpdate:t[7]||(t[7]=n=>this.$emit("refresh")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo},null,8,["Peer","ConfigurationInfo"])]),t[27]||(t[27]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:B(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[8]||(t[8]=n=>this.restrictPeer()),role:"button"},[t[24]||(t[24]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(o(),I(c,{key:1,t:"Restricting..."})):(o(),I(c,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:B(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[9]||(t[9]=n=>this.confirmDelete=!0),role:"button"},[t[25]||(t[25]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(o(),I(c,{key:1,t:"Deleting..."})):(o(),I(c,{key:0,t:"Delete"}))],2)])],64))],64))],2)}const j6=Z(b6,[["render",T6],["__scopeId","data-v-18549c26"]]),A6={name:"peer",methods:{GetLocale:z},components:{PeerTagBadge:Ve,LocaleText:P,PeerSettingsDropdown:j6},props:{Peer:Object,ConfigurationInfo:Object,order:Number,searchPeersLength:Number},setup(){const l=q(null),t=q(!1),a=oe();return n6(l,s=>{t.value=!1}),{target:l,subMenuOpened:t,dashboardStore:a}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake},getDropup(){return this.searchPeersLength-this.order<=3}}},B6=["id"],L6={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},R6={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},E6={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},N6={class:"text-primary"},F6={class:"text-success"},z6={key:0,class:"text-secondary"},H6={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},Y6={class:"card-body pt-1",style:{"font-size":"0.9rem"}},G6={class:"text-muted"},V6={class:"d-block"},J6={class:"text-muted"},W6={class:"d-block"},U6={class:"d-flex align-items-center"};function Q6(l,t,a,s,g,d){const c=le("LocaleText"),b=le("PeerTagBadge"),f=le("PeerSettingsDropdown");return o(),p("div",{class:B(["card shadow-sm rounded-3 peerCard",{"border-warning":a.Peer.restricted}]),id:"peer_"+a.Peer.id},[e("div",null,[a.Peer.restricted?(o(),p("div",H6,[t[15]||(t[15]=e("i",{class:"bi-lock-fill me-2"},null,-1)),r(c,{t:"Access Restricted"})])):(o(),p("div",L6,[e("div",{class:B(["dot ms-0",{active:a.Peer.status==="running"}])},null,2),s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&a.Peer.status==="running"?(o(),p("div",R6,[t[9]||(t[9]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,O(a.Peer.endpoint),1)])):M("",!0),e("div",E6,[e("span",N6,[t[10]||(t[10]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,O((a.Peer.cumu_receive+a.Peer.total_receive).toFixed(4)),1),t[11]||(t[11]=N(" GB "))]),e("span",F6,[t[12]||(t[12]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,O((a.Peer.cumu_sent+a.Peer.total_sent).toFixed(4)),1),t[13]||(t[13]=N(" GB "))]),a.Peer.latest_handshake!=="No Handshake"?(o(),p("span",z6,[t[14]||(t[14]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),N(" "+O(d.getLatestHandshake)+" ago ",1)])):M("",!0)])]))]),e("div",Y6,[e("h6",null,O(a.Peer.name?a.Peer.name:d.GetLocale("Untitled Peer")),1),e("div",{class:B(["d-flex",[s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:B({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",G6,[r(c,{t:"Public Key"})]),e("small",V6,[e("samp",null,O(a.Peer.id),1)])],2),e("div",{class:B({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",J6,[r(c,{t:"Allowed IPs"})]),e("small",W6,[e("samp",null,O(a.Peer.allowed_ip),1)])],2),e("div",{class:B(["d-flex align-items-center gap-1",{"ms-auto":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"}])},[(o(!0),p(F,null,H(Object.values(a.ConfigurationInfo.Info.PeerGroups).filter(n=>n.Peers.includes(a.Peer.id)),n=>(o(),I(b,{BackgroundColor:n.BackgroundColor,GroupName:n.GroupName,Icon:"bi-"+n.Icon},null,8,["BackgroundColor","GroupName","Icon"]))),256)),e("div",{class:B(["ms-auto px-2 rounded-3 subMenuBtn position-relative",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=n=>this.subMenuOpened=!0)},t[16]||(t[16]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])),r(ne,{name:"slide-fade"},{default:Q(()=>[this.subMenuOpened?(o(),I(f,{key:0,dropup:d.getDropup,onQrcode:t[1]||(t[1]=n=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=n=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=n=>this.$emit("setting")),onJobs:t[4]||(t[4]=n=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=n=>this.$emit("refresh")),onShare:t[6]||(t[6]=n=>this.$emit("share")),onAssign:t[7]||(t[7]=n=>this.$emit("assign")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo,ref:"target"},null,8,["dropup","Peer","ConfigurationInfo"])):M("",!0)]),_:1})],2)],2)],2)]),e("div",{class:"card-footer",role:"button",onClick:t[8]||(t[8]=n=>l.$emit("details"))},[e("small",U6,[r(c,{t:"Details"}),t[17]||(t[17]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])])],10,B6)}const K6=Z(A6,[["render",Q6],["__scopeId","data-v-06609b08"]]),Z6={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(l,{emit:t}){const a=t,s=G(()=>V(()=>import("./peerAssignModal-DGqPau-e.js"),__vite__mapDeps([0,1,2,3,4,5]))),g=G(()=>V(()=>import("./peerShareLinkModal-DYghPK4L.js"),__vite__mapDeps([6,2,3,7,8,1,9]))),d=G(()=>V(()=>import("./peerJobs-DcngDA8N.js"),__vite__mapDeps([10,11,2,3,8,7,1,12,13]))),c=G(()=>V(()=>import("./peerQRCode-BKf0Be_T.js"),__vite__mapDeps([14,15,2,3,16,1,17]))),b=G(()=>V(()=>import("./peerConfigurationFile-Dzh_MPky.js"),__vite__mapDeps([18,2,3,1,15,16,19]))),f=G(()=>V(()=>import("./peerSettings-0EGEZFQJ.js"),__vite__mapDeps([20,2,3,1,21])));return(n,m)=>(o(),I(he,{name:"zoom"},{default:Q(()=>[l.configurationModals.peerSetting.modalOpen?(o(),I(T(f),{key:"PeerSettingsModal",selectedPeer:l.configurationModalSelectedPeer,onRefresh:m[0]||(m[0]=v=>a("refresh")),onClose:m[1]||(m[1]=v=>l.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0),l.configurationModals.peerQRCode.modalOpen?(o(),I(T(c),{key:"PeerQRCodeModal",selectedPeer:l.configurationModalSelectedPeer,onClose:m[2]||(m[2]=v=>l.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0),l.configurationModals.peerScheduleJobs.modalOpen?(o(),I(T(d),{key:"PeerJobsModal",onRefresh:m[3]||(m[3]=v=>a("refresh")),selectedPeer:l.configurationModalSelectedPeer,onClose:m[4]||(m[4]=v=>l.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0),l.configurationModals.peerShare.modalOpen?(o(),I(T(g),{key:"PeerShareLinkModal",onClose:m[5]||(m[5]=v=>{l.configurationModals.peerShare.modalOpen=!1}),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):M("",!0),l.configurationModals.peerConfigurationFile.modalOpen?(o(),I(T(b),{key:"PeerConfigurationFileModal",onClose:m[6]||(m[6]=v=>l.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):M("",!0),l.configurationModals.assignPeer.modalOpen?(o(),I(T(s),{key:"PeerAssignModal",selectedPeer:l.configurationModalSelectedPeer,onClose:m[7]||(m[7]=v=>l.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0)]),_:1}))}},X6={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},eu={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(l,{emit:t}){const a=q(void 0),s=t;return de(()=>{a.value=new IntersectionObserver(g=>{g.forEach(d=>{d.isIntersecting&&s("loadMore")})},{rootMargin:"20px",threshold:1}),a.value.observe(document.querySelector("#loadMore"))}),ce(()=>{a.value.disconnect()}),(g,d)=>(o(),p("div",X6))}},tu={class:"d-flex gap-1 flex-column"},lu=J({__name:"configurationDescription",props:["configuration"],setup(l){const t=l,a=q(t.configuration.Info.Description),s=q(!1),g=q(!1),d=async()=>{await X("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:"Description",Value:a.value},b=>{g.value=b.status,c()})},c=()=>{s.value=!0,setTimeout(()=>{s.value=!1},3e3)};return(b,f)=>(o(),p("div",tu,[f[2]||(f[2]=e("label",{for:"configurationDescription"},[e("small",{style:{"white-space":"nowrap"},class:"text-muted"},[e("i",{class:"bi bi-pencil-fill me-2"}),N("Notes ")])],-1)),ue(e("input",{type:"text",class:B([[s.value?[g.value?"is-valid":"is-invalid"]:void 0],"form-control rounded-3 bg-transparent form-control-sm"]),id:"configurationDescription","onUpdate:modelValue":f[0]||(f[0]=n=>a.value=n),onChange:f[1]||(f[1]=n=>d())},null,34),[[$e,a.value]])]))}});var pe={exports:{}},su=pe.exports,Se;function ou(){return Se||(Se=1,function(l,t){(function(a,s){l.exports=s()})(su,function(){return function(a,s){s.prototype.isSameOrBefore=function(g,d){return this.isSame(g,d)||this.isBefore(g,d)}}})}(pe)),pe.exports}var iu=ou();const Je=qe(iu);var me={exports:{}},au=me.exports,Ce;function nu(){return Ce||(Ce=1,function(l,t){(function(a,s){l.exports=s()})(au,function(){var a,s,g=1e3,d=6e4,c=36e5,b=864e5,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,n=31536e6,m=2628e6,v=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,k={years:n,months:m,days:b,hours:c,minutes:d,seconds:g,milliseconds:1,weeks:6048e5},$=function(j){return j instanceof W},D=function(j,S,y){return new W(j,y,S.$l)},w=function(j){return s.p(j)+"s"},u=function(j){return j<0},h=function(j){return u(j)?Math.ceil(j):Math.floor(j)},C=function(j){return Math.abs(j)},E=function(j,S){return j?u(j)?{negative:!0,format:""+C(j)+S}:{negative:!1,format:""+j+S}:{negative:!1,format:""}},W=function(){function j(y,A,R){var x=this;if(this.$d={},this.$l=R,y===void 0&&(this.$ms=0,this.parseFromMilliseconds()),A)return D(y*k[w(A)],this);if(typeof y=="number")return this.$ms=y,this.parseFromMilliseconds(),this;if(typeof y=="object")return Object.keys(y).forEach(function(Y){x.$d[w(Y)]=y[Y]}),this.calMilliseconds(),this;if(typeof y=="string"){var i=y.match(v);if(i){var _=i.slice(2).map(function(Y){return Y!=null?Number(Y):0});return this.$d.years=_[0],this.$d.months=_[1],this.$d.weeks=_[2],this.$d.days=_[3],this.$d.hours=_[4],this.$d.minutes=_[5],this.$d.seconds=_[6],this.calMilliseconds(),this}}return this}var S=j.prototype;return S.calMilliseconds=function(){var y=this;this.$ms=Object.keys(this.$d).reduce(function(A,R){return A+(y.$d[R]||0)*k[R]},0)},S.parseFromMilliseconds=function(){var y=this.$ms;this.$d.years=h(y/n),y%=n,this.$d.months=h(y/m),y%=m,this.$d.days=h(y/b),y%=b,this.$d.hours=h(y/c),y%=c,this.$d.minutes=h(y/d),y%=d,this.$d.seconds=h(y/g),y%=g,this.$d.milliseconds=y},S.toISOString=function(){var y=E(this.$d.years,"Y"),A=E(this.$d.months,"M"),R=+this.$d.days||0;this.$d.weeks&&(R+=7*this.$d.weeks);var x=E(R,"D"),i=E(this.$d.hours,"H"),_=E(this.$d.minutes,"M"),Y=this.$d.seconds||0;this.$d.milliseconds&&(Y+=this.$d.milliseconds/1e3,Y=Math.round(1e3*Y)/1e3);var U=E(Y,"S"),We=y.negative||A.negative||x.negative||i.negative||_.negative||U.negative,Ue=i.format||_.format||U.format?"T":"",ve=(We?"-":"")+"P"+y.format+A.format+x.format+Ue+i.format+_.format+U.format;return ve==="P"||ve==="-P"?"P0D":ve},S.toJSON=function(){return this.toISOString()},S.format=function(y){var A=y||"YYYY-MM-DDTHH:mm:ss",R={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return A.replace(f,function(x,i){return i||String(R[x])})},S.as=function(y){return this.$ms/k[w(y)]},S.get=function(y){var A=this.$ms,R=w(y);return R==="milliseconds"?A%=1e3:A=R==="weeks"?h(A/k[R]):this.$d[R],A||0},S.add=function(y,A,R){var x;return x=A?y*k[w(A)]:$(y)?y.$ms:D(y,this).$ms,D(this.$ms+x*(R?-1:1),this)},S.subtract=function(y,A){return this.add(y,A,!0)},S.locale=function(y){var A=this.clone();return A.$l=y,A},S.clone=function(){return D(this.$ms,this)},S.humanize=function(y){return a().add(this.$ms,"ms").locale(this.$l).fromNow(!y)},S.valueOf=function(){return this.asMilliseconds()},S.milliseconds=function(){return this.get("milliseconds")},S.asMilliseconds=function(){return this.as("milliseconds")},S.seconds=function(){return this.get("seconds")},S.asSeconds=function(){return this.as("seconds")},S.minutes=function(){return this.get("minutes")},S.asMinutes=function(){return this.as("minutes")},S.hours=function(){return this.get("hours")},S.asHours=function(){return this.as("hours")},S.days=function(){return this.get("days")},S.asDays=function(){return this.as("days")},S.weeks=function(){return this.get("weeks")},S.asWeeks=function(){return this.as("weeks")},S.months=function(){return this.get("months")},S.asMonths=function(){return this.as("months")},S.years=function(){return this.get("years")},S.asYears=function(){return this.as("years")},j}(),fe=function(j,S,y){return j.add(S.years()*y,"y").add(S.months()*y,"M").add(S.days()*y,"d").add(S.hours()*y,"h").add(S.minutes()*y,"m").add(S.seconds()*y,"s").add(S.milliseconds()*y,"ms")};return function(j,S,y){a=y,s=y().$utils(),y.duration=function(x,i){var _=y.locale();return D(x,{$l:_},i)},y.isDuration=$;var A=S.prototype.add,R=S.prototype.subtract;S.prototype.add=function(x,i){return $(x)?fe(this,x,1):A.bind(this)(x,i)},S.prototype.subtract=function(x,i){return $(x)?fe(this,x,-1):R.bind(this)(x,i)}}})}(me)),me.exports}var ru=nu();const du=qe(ru),cu={key:0,class:"sessions-label"},uu={class:"d-flex flex-wrap gap-1 session-dot"},fu={class:"bg-warning",style:{height:"5px",width:"5px","border-radius":"100%","vertical-align":"top"}},pu={class:"p-1 badge text-bg-warning text-start session-badge-list"},mu={class:"mt-1"},gu=J({__name:"peerSessionCalendarDay",props:["sessions","day"],emits:["openDetails"],setup(l){const t=l;K.extend(Je),K.extend(du);const a=L(()=>{let s=t.sessions.map(d=>K(d)).filter(d=>d.isSame(t.day,"D")).reverse(),g=[];if(s.length>1){let d=[s[0]];for(let c of s.slice(1))c.isSameOrBefore(d[d.length-1].add(3,"minute"))?d.push(c):(g.push({timestamps:d,duration:K.duration(d[d.length-1].diff(d[0]))}),d=[c]);g.push({timestamps:d,duration:K.duration(d[d.length-1].diff(d[0]))})}return g});return(s,g)=>(o(),p("div",{class:"d-flex gap-1 flex-column session-list",onClick:g[0]||(g[0]=d=>s.$emit("openDetails",a.value))},[a.value.length>0?(o(),p("small",cu,[r(P,{t:a.value.length+" Session"+(a.value.length>1?"s":"")},null,8,["t"])])):M("",!0),e("div",uu,[(o(!0),p(F,null,H(a.value.length,d=>(o(),p("div",fu))),256))]),(o(!0),p(F,null,H(a.value,d=>(o(),p("div",pu,[e("div",null,[g[1]||(g[1]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),N(O(d.timestamps[0].format("HH:mm:ss")),1),g[2]||(g[2]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),N(O(d.timestamps[d.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",mu,[r(P,{t:"Duration:"}),N(" "+O(d.duration.format("HH:mm:ss")),1)])]))),256))]))}}),hu=Z(gu,[["__scopeId","data-v-5178a57b"]]),bu={class:"card rounded-3 bg-transparent"},vu={class:"card-header d-flex align-items-center"},ku={class:"mx-auto mb-0 text-center"},wu={class:"text-muted",style:{"font-size":"0.9rem"}},yu={class:"card-body p-0 position-relative"},xu={class:"calendar-grid"},$u=["onClick"],_u={class:"d-flex day-label"},Pu={key:0,class:"bi bi-check-circle-fill ms-auto"},Su={key:0,class:"position-absolute rounded-bottom-3 dayDetail p-3",style:{bottom:"0",height:"100%",width:"100%","z-index":"9999",background:"#00000050","backdrop-filter":"blur(8px)",overflow:"scroll"}},Cu={class:"d-flex mb-3"},Du={class:"mb-0"},Ou={class:"d-flex flex-column gap-2"},Mu={class:"p-1 badge text-bg-warning text-start session-list d-flex align-items-center"},qu={class:"ms-auto"},Iu=J({__name:"peerSessions",props:["selectedPeer","selectedDate"],emits:["selectDate"],setup(l,{emit:t}){const a=l;oe();const s=q([]);K.extend(Je);const g=q(void 0),d=q(0),c=q(K()),b=L(()=>K().add(d.value,"month")),f=L(()=>b.value.startOf("month")),n=L(()=>b.value.endOf("month")),m=L(()=>f.value.startOf("week")),v=L(()=>n.value.endOf("week")),k=L(()=>{let u=[],h=m.value;for(;h.isSameOrBefore(v.value,"day");)u.push(h),h=h.add(1,"day");if(u.length<42){let C=42-u.length;for(let E=0;E{await te("/api/getPeerSessions",{configurationName:a.selectedPeer.configuration.Name,id:a.selectedPeer.id,startDate:m.value.format("YYYY-MM-DD"),endDate:v.value.format("YYYY-MM-DD")},u=>{s.value=u.data.reverse()})};$(),g.value=setInterval(async()=>{await $()},6e4),ce(()=>{clearInterval(g.value)}),ee(()=>b.value,()=>$());const D=q(!1),w=q(void 0);return(u,h)=>(o(),p("div",null,[e("div",bu,[e("div",vu,[e("button",{class:"btn btn-sm rounded-3",onClick:h[0]||(h[0]=C=>d.value-=1)},h[5]||(h[5]=[e("i",{class:"bi bi-chevron-left"},null,-1)])),d.value!==0?(o(),p("button",{key:0,class:"btn btn-sm rounded-3",onClick:h[1]||(h[1]=C=>{d.value=0,u.$emit("selectDate",u.day)})},[r(P,{t:"Today"})])):M("",!0),e("h5",ku,[e("small",wu,[r(P,{t:"Peer Historical Sessions"})]),h[6]||(h[6]=e("br",null,null,-1)),N(" "+O(b.value.format("YYYY / MM")),1)]),d.value!==0?(o(),p("button",{key:1,class:"btn btn-sm rounded-3",onClick:h[2]||(h[2]=C=>{d.value=0,u.$emit("selectDate",u.day)})},[r(P,{t:"Today"})])):M("",!0),e("button",{class:"btn btn-sm rounded-3",onClick:h[3]||(h[3]=C=>d.value+=1)},h[7]||(h[7]=[e("i",{class:"bi bi-chevron-right"},null,-1)]))]),e("div",yu,[e("div",xu,[(o(!0),p(F,null,H(k.value,(C,E)=>(o(),p("div",{class:B(["calendar-day p-2 d-flex flex-column",{"bg-body-secondary":C.isSame(c.value,"D"),"border-end":C.day()<6,"border-bottom":Eu.$emit("selectDate",C),style:{cursor:"pointer"}},[e("h6",_u,[N(O(C.format("D"))+" ",1),l.selectedDate&&l.selectedDate.isSame(C,"D")?(o(),p("i",Pu)):M("",!0)]),(o(),I(hu,{class:"flex-grow-1",onOpenDetails:W=>{w.value={day:C,details:W},D.value=!0},sessions:s.value,day:C,key:C},null,8,["onOpenDetails","sessions","day"]))],10,$u))),128))]),r(ne,{name:"zoom"},{default:Q(()=>[D.value?(o(),p("div",Su,[e("div",Cu,[e("h5",Du,O(w.value.day.format("YYYY-MM-DD")),1),e("a",{role:"button",class:"ms-auto text-white",onClick:h[4]||(h[4]=C=>D.value=!1)},h[8]||(h[8]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-x-lg"})],-1)]))]),e("div",Ou,[(o(!0),p(F,null,H(w.value.details,C=>(o(),p("div",Mu,[e("div",null,[h[9]||(h[9]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),N(O(C.timestamps[0].format("HH:mm:ss")),1),h[10]||(h[10]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),N(O(C.timestamps[C.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",qu,[r(P,{t:"Duration:"}),N(" "+O(C.duration.format("HH:mm:ss")),1)])]))),256))])])):M("",!0)]),_:1})])])]))}}),Tu=Z(Iu,[["__scopeId","data-v-3b03c7a5"]]),ju={class:"card rounded-3 bg-transparent"},Au={class:"card-body"},Bu={class:"text-muted"},Lu={class:"d-flex flex-column gap-3"},Ru=J({__name:"peerTraffics",props:["selectedDate","selectedPeer"],setup(l){const t=l;oe();const a=L(()=>t.selectedDate?t.selectedDate:K()),s=q([]),g=async()=>{await te("/api/getPeerTraffics",{configurationName:t.selectedPeer.configuration.Name,id:t.selectedPeer.id,startDate:a.value.format("YYYY-MM-DD"),endDate:a.value.format("YYYY-MM-DD")},v=>{s.value=v.data})},d=q(void 0);g(),d.value=setInterval(async()=>{await g()},6e4),ce(()=>{clearInterval(d.value)}),ee(()=>a.value,()=>{g()});const c=L(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:v=>`${v.formattedValue} MB`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:v=>`${v.toFixed(4)} MB`},grid:{display:!0}}}})),b=L(()=>{let v=s.value.map($=>$.cumu_sent+$.total_sent),k=[0];if(v.length>1)for(let $=1;$=v[$-1]?k.push((v[$]-v[$-1])*1024):k.push(v[$]*1024);return k}),f=L(()=>{let v=s.value.map($=>$.cumu_receive+$.total_receive),k=[0];if(v.length>1)for(let $=1;$=v[$-1]?k.push((v[$]-v[$-1])*1024):k.push(v[$]*1024);return k}),n=L(()=>({labels:s.value.map(v=>v.time),datasets:[{label:z("Data Sent"),data:b.value,fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),m=L(()=>({labels:s.value.map(v=>v.time),datasets:[{label:z("Data Received"),data:f.value,fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:.3,pointRadius:2,borderWidth:1}]}));return(v,k)=>(o(),p("div",ju,[e("div",Au,[e("h6",Bu,[r(P,{t:"Peer Historical Data Usage of "+a.value.format("YYYY-MM-DD")},null,8,["t"])]),e("div",Lu,[e("div",null,[e("p",null,[r(P,{t:"Data Received"})]),r(T(be),{options:c.value,data:m.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])]),e("div",null,[e("p",null,[r(P,{t:"Data Sent"})]),r(T(be),{options:c.value,data:n.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])])]))}}),Eu={class:"card rounded-3 bg-transparent"},Nu={class:"card-header text-muted"},Fu={class:"card-body"},zu={class:"bg-body-tertiary p-3 d-flex rounded-3"},Hu={key:0,class:"m-auto"},Yu={key:1,class:"m-auto"},Gu={key:2,class:"w-100 d-flex flex-column gap-3"},Vu={class:"bg-body d-flex w-100 rounded-3",style:{height:"500px"},id:"map"},Ju={key:0,class:"m-auto"},Wu={key:0},Uu={key:1,class:"text-muted"},Qu={class:"table table-hover"},Ku={key:0},Zu=["onClick"],Xu={key:0},e2=J({__name:"peerEndpoints",props:["selectedPeer"],setup(l){const t=l,a=q(!1),s=q(void 0),g=q(void 0),d=q(void 0),c=async()=>{await te("/api/getPeerHistoricalEndpoints",{id:t.selectedPeer.id,configurationName:t.selectedPeer.configuration.Name},async n=>{if(n.status&&(s.value=n.data),a.value=!0,s.value.geolocation)try{if(await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}),g.value=!0,d.value=new st({target:"map",layers:[new it({source:new at})],view:new ot({center:ke([17.64,16.35]),zoom:0})}),s.value.geolocation){const m=new nt;s.value.geolocation.filter(k=>k.lat&&k.lon).forEach(k=>{m.addFeature(new _e({geometry:new rt(ke([k.lon,k.lat]))}))}),m.addFeature(new _e({})),d.value.addLayer(new dt({source:m,style:()=>new ct({image:new ut({radius:10,fill:new pt({color:"#0d6efd"}),stroke:new ft({color:"white",width:5})})})}))}}catch(m){console.log(m),g.value=!1}})};de(()=>c());const b=n=>{if(s.value.geolocation){let m=s.value.geolocation.find(v=>v.query===n);if(m){let v=[m.city,m.country];return v.filter(k=>k!==void 0).length===0&&v.push("Private Address"),v.filter(k=>k!==void 0).join(", ")}}},f=n=>{if(s.value.geolocation){let m=s.value.geolocation.find(v=>v.query===n);m&&m.lon&&m.lat&&d.value.getView().animate({zoom:4},{center:ke([m.lon,m.lat])},{easing:mt})}};return(n,m)=>(o(),p("div",Eu,[e("div",Nu,[r(P,{t:"Peer Historical Endpoints"})]),e("div",Fu,[e("div",zu,[a.value?a.value&&s.value.endpoints.length===0?(o(),p("div",Yu,[r(P,{t:"No Historical Endpoints"})])):a.value&&s.value.endpoints.length>0?(o(),p("div",Gu,[e("div",Vu,[g.value?M("",!0):(o(),p("div",Ju,[g.value===void 0?(o(),p("div",Wu,[m[1]||(m[1]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),r(P,{t:"Loading Map..."})])):M("",!0),g.value===!1?(o(),p("div",Uu,[r(P,{t:"Map is not available"})])):M("",!0)]))]),e("table",Qu,[e("thead",null,[e("tr",null,[e("th",null,[r(P,{t:"Endpoint"})]),s.value.geolocation?(o(),p("th",Ku,[r(P,{t:"Geolocation"})])):M("",!0)])]),e("tbody",null,[(o(!0),p(F,null,H(s.value.endpoints,v=>(o(),p("tr",{onClick:k=>f(v.endpoint),style:{cursor:"pointer"}},[e("td",null,O(v.endpoint),1),s.value.geolocation?(o(),p("td",Xu,O(b(v.endpoint)),1)):M("",!0)],8,Zu))),256))])])])):M("",!0):(o(),p("div",Hu,[m[0]||(m[0]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),r(P,{t:"Loading..."})]))])])]))}}),t2={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},l2={class:"d-flex h-100 w-100 pb-2"},s2={class:"m-auto w-100 p-2"},o2={class:"card rounded-3 shadow h-100"},i2={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},a2={class:"mb-0 fw-normal"},n2={class:"card-body px-4"},r2={class:"mb-0 text-muted"},d2={class:"row mt-3 gy-2 gx-2 mb-2"},c2={class:"col-12 col-lg-3"},u2={class:"card rounded-3 bg-transparent h-100"},f2={class:"card-body py-2 d-flex flex-column justify-content-center"},p2={class:"mb-0 text-muted"},m2={class:"d-flex align-items-center"},g2={class:"col-12 col-lg-3"},h2={class:"card rounded-3 bg-transparent h-100"},b2={class:"card-body py-2 d-flex flex-column justify-content-center"},v2={class:"mb-0 text-muted"},k2={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},w2={class:"card rounded-3 bg-transparent h-100"},y2={class:"card-body py-2 d-flex flex-column justify-content-center"},x2={class:"mb-0 text-muted"},$2={class:"col-12 col-lg-3"},_2={class:"card rounded-3 bg-transparent h-100"},P2={class:"card-body d-flex"},S2={class:"mb-0 text-muted"},C2={class:"h4"},D2={class:"col-12 col-lg-3"},O2={class:"card rounded-3 bg-transparent h-100"},M2={class:"card-body d-flex"},q2={class:"mb-0 text-muted"},I2={class:"h4 text-warning"},T2={class:"col-12 col-lg-3"},j2={class:"card rounded-3 bg-transparent h-100"},A2={class:"card-body d-flex"},B2={class:"mb-0 text-muted"},L2={class:"h4 text-primary"},R2={class:"col-12 col-lg-3"},E2={class:"card rounded-3 bg-transparent h-100"},N2={class:"card-body d-flex"},F2={class:"mb-0 text-muted"},z2={class:"h4 text-success"},H2={class:"col-12"},Y2={class:"col-12"},G2={class:"col-12"},V2=J({__name:"peerDetailsModal",props:["selectedPeer"],emits:["close"],setup(l){Ie.register(Te,je,Ae,Be,Le,Re,Ee,Ne,Fe,ze,He);const t=q(void 0);return(a,s)=>(o(),p("div",t2,[e("div",l2,[e("div",s2,[e("div",o2,[e("div",i2,[e("h4",a2,[r(P,{t:"Peer Details"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=g=>a.$emit("close"))})]),e("div",n2,[e("div",null,[e("p",r2,[e("small",null,[r(P,{t:"Peer"})])]),e("h2",null,O(l.selectedPeer.name),1)]),e("div",d2,[e("div",c2,[e("div",u2,[e("div",f2,[e("p",p2,[e("small",null,[r(P,{t:"Status"})])]),e("div",m2,[e("span",{class:B(["dot ms-0 me-2",{active:l.selectedPeer.status==="running"}])},null,2),l.selectedPeer.status==="running"?(o(),I(P,{key:0,t:"Connected"})):(o(),I(P,{key:1,t:"Disconnected"}))])])])]),e("div",g2,[e("div",h2,[e("div",b2,[e("p",v2,[e("small",null,[r(P,{t:"Allowed IPs"})])]),N(" "+O(l.selectedPeer.allowed_ip),1)])])]),e("div",k2,[e("div",w2,[e("div",y2,[e("p",x2,[e("small",null,[r(P,{t:"Public Key"})])]),e("samp",null,O(l.selectedPeer.id),1)])])]),e("div",$2,[e("div",_2,[e("div",P2,[e("div",null,[e("p",S2,[e("small",null,[r(P,{t:"Latest Handshake Time"})])]),e("strong",C2,[r(P,{t:l.selectedPeer.latest_handshake!=="No Handshake"?l.selectedPeer.latest_handshake+" ago":"No Handshake"},null,8,["t"])])]),s[2]||(s[2]=e("i",{class:"bi bi-person-raised-hand ms-auto h2 text-muted"},null,-1))])])]),e("div",D2,[e("div",O2,[e("div",M2,[e("div",null,[e("p",q2,[e("small",null,[r(P,{t:"Total Usage"})])]),e("strong",I2,O((l.selectedPeer.total_data+l.selectedPeer.cumu_data).toFixed(4))+" GB ",1)]),s[3]||(s[3]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",T2,[e("div",j2,[e("div",A2,[e("div",null,[e("p",B2,[e("small",null,[r(P,{t:"Total Received"})])]),e("strong",L2,O((l.selectedPeer.total_receive+l.selectedPeer.cumu_receive).toFixed(4))+" GB",1)]),s[4]||(s[4]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",R2,[e("div",E2,[e("div",N2,[e("div",null,[e("p",F2,[e("small",null,[r(P,{t:"Total Sent"})])]),e("strong",z2,O((l.selectedPeer.total_sent+l.selectedPeer.cumu_sent).toFixed(4))+" GB",1)]),s[5]||(s[5]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])]),e("div",H2,[r(Ru,{selectedDate:t.value,selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",Y2,[r(Tu,{selectedDate:t.value,onSelectDate:s[1]||(s[1]=g=>t.value=g),selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",G2,[r(e2,{selectedPeer:l.selectedPeer},null,8,["selectedPeer"])])])])])])])]))}}),J2={class:"container-fluid"},W2={class:"d-flex align-items-sm-start flex-column flex-sm-row gap-3"},U2={class:"text-muted d-flex align-items-center gap-2"},Q2={class:"mb-0"},K2={class:"d-flex align-items-center gap-3"},Z2={class:"mb-0 display-4"},X2={class:"ms-sm-auto d-flex gap-2 flex-column"},ef={class:"card rounded-3 bg-transparent"},tf={class:"card-body py-2 d-flex align-items-center"},lf={class:"text-muted"},sf={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},of=["for"],af={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},nf=["disabled","id"],rf={class:"d-flex gap-2"},df={class:"row mt-3 gy-2 gx-2 mb-2"},cf={class:"col-12 col-lg-3"},uf={class:"card rounded-3 bg-transparent h-100"},ff={class:"card-body py-2 d-flex flex-column justify-content-center"},pf={class:"mb-0 text-muted"},mf={class:"col-12 col-lg-3"},gf={class:"card rounded-3 bg-transparent h-100"},hf={class:"card-body py-2 d-flex flex-column justify-content-center"},bf={class:"mb-0 text-muted"},vf={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},kf={class:"card rounded-3 bg-transparent h-100"},wf={class:"card-body py-2 d-flex flex-column justify-content-center"},yf={class:"mb-0 text-muted"},xf={class:"row gx-2 gy-2 mb-2"},$f={class:"col-12 col-lg-3"},_f={class:"card rounded-3 bg-transparent h-100"},Pf={class:"card-body d-flex"},Sf={class:"mb-0 text-muted"},Cf={class:"h4"},Df={class:"col-12 col-lg-3"},Of={class:"card rounded-3 bg-transparent h-100"},Mf={class:"card-body d-flex"},qf={class:"mb-0 text-muted"},If={class:"h4"},Tf={class:"col-12 col-lg-3"},jf={class:"card rounded-3 bg-transparent h-100"},Af={class:"card-body d-flex"},Bf={class:"mb-0 text-muted"},Lf={class:"h4 text-primary"},Rf={class:"col-12 col-lg-3"},Ef={class:"card rounded-3 bg-transparent h-100"},Nf={class:"card-body d-flex"},Ff={class:"mb-0 text-muted"},zf={class:"h4 text-success"},Hf={style:{"margin-bottom":"10rem"}},Yf=20,Gf={__name:"peerList",async setup(l){let t,a;const s=G(()=>V(()=>import("./peerSearchBar-DwcNmL3i.js"),__vite__mapDeps([22,2,3,23]))),g=G(()=>V(()=>import("./peerJobsAllModal-ljWdMyMH.js"),__vite__mapDeps([24,11,2,3,8,7,1,12]))),d=G(()=>V(()=>import("./peerJobsLogsModal-DVpI41bm.js"),__vite__mapDeps([25,7,2,3,1]))),c=G(()=>V(()=>import("./editConfiguration-CQ-Que9N.js"),__vite__mapDeps([26,2,3,1,7,27]))),b=G(()=>V(()=>import("./selectPeers-OsdjzB9V.js"),__vite__mapDeps([28,2,3,1,29]))),f=G(()=>V(()=>import("./peerAddModal-BSgPEdCb.js"),__vite__mapDeps([30,2,3,1,31]))),n=oe(),m=ae(),v=De(),k=q({}),$=q([]),D=q(!1),w=q({}),u=q({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1},assignPeer:{modalOpen:!1},peerDetails:{modalOpen:!1}}),h=q(!1),C=async()=>{await te("/api/getWireguardConfigurationInfo",{configurationName:v.params.id},x=>{x.status&&(k.value=x.data.configurationInfo,$.value=x.data.configurationPeers,$.value.forEach(i=>{i.restricted=!1}),x.data.configurationRestrictedPeers.forEach(i=>{i.restricted=!0,$.value.push(i)}))})};[t,a]=Xe(()=>C()),await t,a();const E=q(void 0),W=()=>{clearInterval(E.value),E.value=setInterval(async()=>{await C()},parseInt(n.Configuration.Server.dashboard_refresh_interval))};W(),ce(()=>{clearInterval(E.value),E.value=void 0,m.Filter.HiddenTags=[]}),ee(()=>n.Configuration.Server.dashboard_refresh_interval,()=>{W()});const fe=async()=>{D.value=!0,await te("/api/toggleWireguardConfiguration",{configurationName:k.value.Name},x=>{x.status?n.newMessage("Server",`${k.value.Name} ${x.data?"is on":"is off"}`,"success"):n.newMessage("Server",x.message,"danger"),m.Configurations.find(i=>i.Name===k.value.Name).Status=x.data,k.value.Status=x.data,D.value=!1})},j=L(()=>({connectedPeers:$.value.filter(x=>x.status==="running").length,totalUsage:$.value.length>0?$.value.filter(x=>!x.restricted).map(x=>x.total_data+x.cumu_data).reduce((x,i)=>x+i,0).toFixed(4):0,totalReceive:$.value.length>0?$.value.filter(x=>!x.restricted).map(x=>x.total_receive+x.cumu_receive).reduce((x,i)=>x+i,0).toFixed(4):0,totalSent:$.value.length>0?$.value.filter(x=>!x.restricted).map(x=>x.total_sent+x.cumu_sent).reduce((x,i)=>x+i,0).toFixed(4):0})),S=q(10),y=L(()=>m.Filter.HiddenTags.map(x=>k.value.Info.PeerGroups[x].Peers).flat()),A=L(()=>Object.values(k.value.Info.PeerGroups).map(x=>x.Peers).flat()),R=L(()=>{const x=m.searchString?$.value.filter(i=>(i.name.includes(m.searchString)||i.id.includes(m.searchString)||i.allowed_ip.includes(m.searchString))&&!y.value.includes(i.id)&&(m.Filter.ShowAllPeersWhenHiddenTags||!m.Filter.ShowAllPeersWhenHiddenTags&&A.value.includes(i.id))):$.value.filter(i=>!y.value.includes(i.id)&&(m.Filter.ShowAllPeersWhenHiddenTags||!m.Filter.ShowAllPeersWhenHiddenTags&&A.value.includes(i.id)));return n.Configuration.Server.dashboard_sort==="restricted"?x.sort((i,_)=>i[n.Configuration.Server.dashboard_sort]<_[n.Configuration.Server.dashboard_sort]?1:i[n.Configuration.Server.dashboard_sort]>_[n.Configuration.Server.dashboard_sort]?-1:0).slice(0,S.value):x.sort((i,_)=>i[n.Configuration.Server.dashboard_sort]<_[n.Configuration.Server.dashboard_sort]?-1:i[n.Configuration.Server.dashboard_sort]>_[n.Configuration.Server.dashboard_sort]?1:0).slice(0,S.value)});return ee(()=>v.query.id,x=>{x?m.searchString=x:m.searchString=void 0},{immediate:!0}),(x,i)=>(o(),p("div",J2,[e("div",W2,[e("div",null,[e("div",U2,[e("h5",Q2,[r(tt,{protocol:k.value.Protocol},null,8,["protocol"])])]),e("div",K2,[e("h1",Z2,[e("samp",null,O(k.value.Name),1)])])]),e("div",X2,[e("div",ef,[e("div",tf,[e("small",lf,[r(P,{t:"Status"})]),e("div",{class:B(["dot ms-2",{active:k.value.Status}])},null,2),e("div",sf,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+k.value.id},[k.value.Status&&!D.value?(o(),I(P,{key:0,t:"On"})):!k.value.Status&&!D.value?(o(),I(P,{key:1,t:"Off"})):M("",!0),D.value?(o(),p("span",af)):M("",!0)],8,of),ue(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:D.value,type:"checkbox",role:"switch",id:"switch"+k.value.id,onChange:i[0]||(i[0]=_=>fe()),"onUpdate:modelValue":i[1]||(i[1]=_=>k.value.Status=_)},null,40,nf),[[Me,k.value.Status]])])])]),e("div",rf,[e("a",{role:"button",onClick:i[2]||(i[2]=_=>u.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[i[30]||(i[30]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),r(P,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:i[3]||(i[3]=_=>u.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[i[31]||(i[31]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),r(P,{t:"Configuration Settings"})])])])]),i[36]||(i[36]=e("hr",null,null,-1)),r(lu,{configuration:k.value},null,8,["configuration"]),e("div",df,[e("div",cf,[e("div",uf,[e("div",ff,[e("p",pf,[e("small",null,[r(P,{t:"Address"})])]),N(" "+O(k.value.Address),1)])])]),e("div",mf,[e("div",gf,[e("div",hf,[e("p",bf,[e("small",null,[r(P,{t:"Listen Port"})])]),N(" "+O(k.value.ListenPort),1)])])]),e("div",vf,[e("div",kf,[e("div",wf,[e("p",yf,[e("small",null,[r(P,{t:"Public Key"})])]),e("samp",null,O(k.value.PublicKey),1)])])])]),e("div",xf,[e("div",$f,[e("div",_f,[e("div",Pf,[e("div",null,[e("p",Sf,[e("small",null,[r(P,{t:"Connected Peers"})])]),e("strong",Cf,O(j.value.connectedPeers)+" / "+O($.value.length),1)]),i[32]||(i[32]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",Df,[e("div",Of,[e("div",Mf,[e("div",null,[e("p",qf,[e("small",null,[r(P,{t:"Total Usage"})])]),e("strong",If,O(j.value.totalUsage)+" GB",1)]),i[33]||(i[33]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",Tf,[e("div",jf,[e("div",Af,[e("div",null,[e("p",Bf,[e("small",null,[r(P,{t:"Total Received"})])]),e("strong",Lf,O(j.value.totalReceive)+" GB",1)]),i[34]||(i[34]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",Rf,[e("div",Ef,[e("div",Nf,[e("div",null,[e("p",Ff,[e("small",null,[r(P,{t:"Total Sent"})])]),e("strong",zf,O(j.value.totalSent)+" GB",1)]),i[35]||(i[35]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),r(Tt,{configurationPeers:$.value,configurationInfo:k.value},null,8,["configurationPeers","configurationInfo"]),i[37]||(i[37]=e("hr",null,null,-1)),e("div",Hf,[$.value.length>0?(o(),I(e6,{key:0,onSearch:i[4]||(i[4]=_=>h.value=!h.value),onJobsAll:i[5]||(i[5]=_=>u.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:i[6]||(i[6]=_=>u.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:i[7]||(i[7]=_=>u.value.editConfiguration.modalOpen=!0),onSelectPeers:i[8]||(i[8]=_=>u.value.selectPeers.modalOpen=!0),onBackupRestore:i[9]||(i[9]=_=>u.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[10]||(i[10]=_=>u.value.deleteConfiguration.modalOpen=!0),configuration:k.value},null,8,["configuration"])):M("",!0),r(he,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:Q(()=>[(o(!0),p(F,null,H(R.value,(_,Y)=>(o(),p("div",{class:B(["col-12",{"col-lg-6 col-xl-4":T(n).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:_.id},[r(K6,{Peer:_,searchPeersLength:R.value.length,order:Y,ConfigurationInfo:k.value,onDetails:U=>{u.value.peerDetails.modalOpen=!0,w.value=_},onShare:U=>{u.value.peerShare.modalOpen=!0,w.value=_},onRefresh:i[11]||(i[11]=U=>C()),onJobs:U=>{u.value.peerScheduleJobs.modalOpen=!0,w.value=_},onSetting:U=>{u.value.peerSetting.modalOpen=!0,w.value=_},onQrcode:U=>{w.value=_,u.value.peerQRCode.modalOpen=!0},onConfigurationFile:U=>{w.value=_,u.value.peerConfigurationFile.modalOpen=!0},onAssign:U=>{w.value=_,u.value.assignPeer.modalOpen=!0}},null,8,["Peer","searchPeersLength","order","ConfigurationInfo","onDetails","onShare","onJobs","onSetting","onQrcode","onConfigurationFile","onAssign"])],2))),128))]),_:1})]),r(ne,{name:"slide-fade"},{default:Q(()=>[h.value?(o(),I(T(s),{key:0,ConfigurationInfo:k.value,onClose:i[12]||(i[12]=_=>h.value=!1)},null,8,["ConfigurationInfo"])):M("",!0)]),_:1}),r(Z6,{configurationModals:u.value,configurationModalSelectedPeer:w.value,onRefresh:i[13]||(i[13]=_=>C())},null,8,["configurationModals","configurationModalSelectedPeer"]),r(he,{name:"zoom"},{default:Q(()=>[(o(),I(et,{key:"PeerAddModal"},{default:Q(()=>[u.value.peerNew.modalOpen?(o(),I(T(f),{key:0,onClose:i[14]||(i[14]=_=>u.value.peerNew.modalOpen=!1),onAddedPeers:i[15]||(i[15]=_=>{u.value.peerNew.modalOpen=!1,C()})})):M("",!0)]),_:1})),u.value.peerScheduleJobsAll.modalOpen?(o(),I(T(g),{key:"PeerJobsAllModal",onRefresh:i[16]||(i[16]=_=>C()),onAllLogs:i[17]||(i[17]=_=>u.value.peerScheduleJobsLogs.modalOpen=!0),onClose:i[18]||(i[18]=_=>u.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:$.value},null,8,["configurationPeers"])):M("",!0),u.value.peerScheduleJobsLogs.modalOpen?(o(),I(T(d),{key:"PeerJobsLogsModal",onClose:i[19]||(i[19]=_=>u.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:k.value},null,8,["configurationInfo"])):M("",!0),u.value.editConfiguration.modalOpen?(o(),I(T(c),{key:"EditConfigurationModal",onEditRaw:i[20]||(i[20]=_=>u.value.editRawConfigurationFile.modalOpen=!0),onClose:i[21]||(i[21]=_=>u.value.editConfiguration.modalOpen=!1),onDataChanged:i[22]||(i[22]=_=>k.value=_),onRefresh:i[23]||(i[23]=_=>C()),onBackupRestore:i[24]||(i[24]=_=>u.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[25]||(i[25]=_=>u.value.deleteConfiguration.modalOpen=!0),configurationInfo:k.value},null,8,["configurationInfo"])):M("",!0),u.value.selectPeers.modalOpen?(o(),I(T(b),{key:3,onRefresh:i[26]||(i[26]=_=>C()),configurationPeers:$.value,onClose:i[27]||(i[27]=_=>u.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):M("",!0),u.value.peerDetails.modalOpen?(o(),I(V2,{key:"PeerDetailsModal",selectedPeer:R.value.find(_=>_.id===w.value.id),onClose:i[28]||(i[28]=_=>u.value.peerDetails.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0)]),_:1}),r(eu,{showPeersCount:S.value,peerListLength:R.value.length,onLoadMore:i[29]||(i[29]=_=>S.value+=Yf)},null,8,["showPeersCount","peerListLength"])]))}},Zf=Z(Gf,[["__scopeId","data-v-f01325c0"]]);export{Zf as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/peerAssignModal-DuPflJwB.js","assets/localeText-D0Ve6fTw.js","assets/index-BimuIV8Z.js","assets/index-Cd3DxRM6.css","assets/DashboardClientAssignmentStore-D4FsyWTT.js","assets/peerAssignModal--_bmFbmn.css","assets/peerShareLinkModal-BGmaWj4p.js","assets/dayjs.min-CkODZHdU.js","assets/vue-datepicker-VDLvxrT_.js","assets/peerShareLinkModal-GoWqB_pD.css","assets/peerJobs-jGW1mswZ.js","assets/schedulePeerJob-Cb0Cf1NE.js","assets/schedulePeerJob-B9Bl6Gky.css","assets/peerJobs-D_dDl936.css","assets/peerQRCode-hIJWR375.js","assets/browser-DqvcZvnx.js","assets/galois-field-CkUIqpA6.js","assets/peerQRCode-CBHVhD4j.css","assets/peerConfigurationFile-Bvds9YiG.js","assets/peerConfigurationFile-Z9ms5mIx.css","assets/peerSettings-P8zE49-z.js","assets/peerSettings-CSjO_Okh.css","assets/peerSearchBar-DyGm2y_Y.js","assets/peerSearchBar-Dtpovmxo.css","assets/peerJobsAllModal-CDqdvFvr.js","assets/peerJobsLogsModal-CumKSmXP.js","assets/editConfiguration-X9cbGuVG.js","assets/editConfiguration-CP79G5OS.css","assets/selectPeers-C5PtdxOJ.js","assets/selectPeers-ChWyERy7.css","assets/peerAddModal-plMS_jE5.js","assets/peerAddModal-B4gIHs91.css"])))=>i.map(i=>d[i]); +import{r as q,L as De,D as oe,o as de,H as ee,x as ce,q as L,G as z,c as p,f as o,a as e,b as r,u as T,d as M,t as O,g as te,B as J,W as ae,m as ue,n as B,s as ge,y as $e,F,i as H,_ as Z,J as Oe,v as Me,w as Q,j as I,T as he,k as ne,A as Qe,z as X,h as le,M as Ke,N as Ze,O as se,e as N,P as G,Q as V,R as qe,I as Xe,S as et}from"./index-BimuIV8Z.js";import{_ as tt}from"./protocolBadge-Ck_G7NzU.js";import{L as P}from"./localeText-D0Ve6fTw.js";import{C as Ie,L as Te,B as je,a as Ae,b as Be,c as Le,p as Re,d as Ee,e as Ne,f as Fe,P as ze,i as He,h as lt,g as be}from"./index-CMd-xOr8.js";import{d as K}from"./dayjs.min-CkODZHdU.js";import{M as st,V as ot,k as ke,T as it,O as at,n as nt,F as _e,P as rt,o as dt,p as ct,C as ut,q as ft,r as pt,s as mt}from"./Vector-C8V_x6Dm.js";const gt={class:"row gx-2 gy-2 mb-3"},ht={class:"col-12"},bt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},vt={class:"card-header bg-transparent border-0"},kt={class:"text-muted"},wt={class:"card-body pt-1"},yt={class:"col-sm col-lg-6"},xt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},$t={class:"card-header bg-transparent border-0 d-flex align-items-center"},_t={class:"text-muted"},Pt={key:0,class:"text-primary fw-bold ms-auto"},St={class:"card-body pt-1"},Ct={class:"col-sm col-lg-6"},Dt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},Ot={class:"card-header bg-transparent border-0 d-flex align-items-center"},Mt={class:"text-muted"},qt={key:0,class:"text-success fw-bold ms-auto"},It={class:"card-body pt-1"},Tt={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(l){Ie.register(Te,je,Ae,Be,Le,Re,Ee,Ne,Fe,ze,He);const t=l,a=q({timestamp:[],data:[]}),s=q({timestamp:[],data:[]}),g=De(),d=oe(),c=q(void 0),b=async()=>{await te("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:g.params.id},D=>{let w=K().format("hh:mm:ss A");(D.data.sent!==0&&D.data.recv!==0||a.value.data.length>0&&s.value.data.length>0)&&(a.value.timestamp.push(w),a.value.data.push(D.data.sent),s.value.timestamp.push(w),s.value.data.push(D.data.recv))})},f=()=>{clearInterval(c.value),c.value=void 0,t.configurationInfo.Status&&(c.value=setInterval(()=>{b()},parseInt(d.Configuration.Server.dashboard_refresh_interval)))};de(()=>{f()}),ee(()=>t.configurationInfo.Status,()=>{f()}),ee(()=>d.Configuration.Server.dashboard_refresh_interval,()=>{f()}),ce(()=>{clearInterval(c.value),c.value=void 0});const n=L(()=>{let D=t.configurationPeers.filter(w=>w.cumu_data+w.total_data>0);return{labels:D.map(w=>w.name?w.name:`Untitled Peer - ${w.id}`),datasets:[{label:"Total Data Usage",data:D.map(w=>w.cumu_data+w.total_data),backgroundColor:D.map(w=>"#ffc107"),tooltip:{callbacks:{label:w=>`${w.formattedValue} GB`}}}]}}),m=L(()=>({labels:[...a.value.timestamp],datasets:[{label:z("Data Sent"),data:[...a.value.data],fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),v=L(()=>({labels:[...s.value.timestamp],datasets:[{label:z("Data Received"),data:[...s.value.data],fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:0,pointRadius:2,borderWidth:1}]})),k=L(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(D,w)=>`${Math.round((D+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),$=L(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:D=>`${D.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(D,w)=>`${Math.round((D+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(D,w)=>(o(),p("div",gt,[e("div",ht,[e("div",bt,[e("div",vt,[e("small",kt,[r(P,{t:"Peers Data Usage"})])]),e("div",wt,[r(T(lt),{data:n.value,options:k.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",yt,[e("div",xt,[e("div",$t,[e("small",_t,[r(P,{t:"Real Time Received Data Usage"})]),s.value.data.length>0?(o(),p("small",Pt,O(s.value.data[s.value.data.length-1])+" MB/s ",1)):M("",!0)]),e("div",St,[r(T(be),{options:$.value,data:v.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",Ct,[e("div",Dt,[e("div",Ot,[e("small",Mt,[r(P,{t:"Real Time Sent Data Usage"})]),a.value.data.length>0?(o(),p("small",qt,O(a.value.data[a.value.data.length-1])+" MB/s ",1)):M("",!0)]),e("div",It,[r(T(be),{options:$.value,data:m.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},jt=61698,At=61705,Bt=61707,Lt=61709,Rt=61777,Et=61778,Nt=61780,Ft=61781,zt=61785,Ht=61817,Yt=61824,Gt=61826,Vt=61828,Jt=61832,Wt=61834,Ut=61835,Qt=61836,Kt=61837,Zt=61839,Xt=61844,el=61858,tl=61860,ll=61861,sl=61864,ol=61876,il=61896,al=61897,nl=61898,rl=61900,dl=61910,cl=61912,ul=61914,fl=61916,pl=61917,ml=61918,gl=61920,hl=61942,bl=61964,vl=61972,kl=61976,wl=61984,yl=61985,xl=61987,$l=62018,_l=62019,Pl=62020,Sl=62021,Cl=62023,Dl=62024,Ol=62056,Ml=62062,ql=62066,Il=62090,Tl=62096,jl=62099,Al=62145,Bl=62147,Ll=62149,Rl=62152,El=62156,Nl=62158,Fl=62159,zl=62161,Hl=62163,Yl=62164,Gl=62166,Vl=62173,Jl=62176,Wl=62179,Ul=62186,Ql=62193,Kl=62207,Zl=62208,Xl=62210,es=62217,ts=62218,ls=62221,ss=62222,os=62224,is=62227,as=62229,ns=62255,rs=62257,ds=62268,cs=62269,us=62273,fs=62274,ps=62275,ms=62276,gs=62400,hs=62402,bs=62403,vs=62410,ks=62412,ws=62413,ys=62414,xs=62415,$s=62423,_s=62425,Ps=62426,Ss=62428,Cs=62429,Ds=62431,Os=62433,Ms=62437,qs=62438,Is=62442,Ts=62444,js=62445,As=62446,Bs=62447,Ls=62448,Rs=62460,Es=62463,Ns=62473,Fs=62474,zs=62482,Hs=62483,Ys=62484,Gs=62487,Vs=62490,Js=62493,Ws=62497,Us=62501,Qs=62502,Ks=62503,Zs=62506,Xs=62507,eo=62509,to=62511,lo=62516,so=62519,oo=62520,io=62534,ao=62535,no=62536,ro=62539,co=62541,uo=62543,fo=62545,po=62546,mo=62548,go=62550,ho=62555,bo=62571,vo=62575,ko=62577,wo=62578,yo=62585,xo=62587,$o=62588,_o=62589,Po=62591,So=62593,Co=62594,Do=62596,Oo=62608,Mo=62610,qo=62611,Io=62615,To=62617,jo=62619,Ao=62621,Bo=62627,Lo=62633,Ro=62636,Eo=62637,No=62638,Fo=62641,zo=62642,Ho=62643,Yo=62644,Go=62660,Vo=62662,Jo=62664,Wo=62667,Uo=62670,Qo=62672,Ko=62673,Zo=62689,Xo=62695,ei=62701,ti=62703,li=62709,si=62711,oi=62718,ii=62719,ai=62721,ni=62723,ri=62732,di=62733,ci=62735,ui=62746,fi=62748,pi=62752,mi=62754,gi=62755,hi=62757,bi=62759,vi=62760,ki=62761,wi=62762,yi=62764,xi=62766,$i=62783,_i=62785,Pi=62787,Si=62788,Ci=62794,Di=62796,Oi=62821,Mi=62826,qi=62827,Ii=62828,Ti=62829,ji=62830,Ai=62831,Bi=62844,Li=62846,Ri=62847,Ei=62848,Ni=62849,Fi=62852,zi=62853,Hi=62856,Yi=62857,Gi=62859,Vi=62861,Ji=62867,Wi=62869,Ui=62871,Qi=62872,Ki=62882,Zi=62883,Xi=62885,ea=62887,ta=62890,la=62894,sa=62896,oa=62898,ia=62899,aa=62913,na=62915,ra=62924,da=62930,ca=62937,ua=62938,fa=62939,pa=62940,ma=62942,ga=62944,ha=62946,ba=62949,va=62951,ka=62954,wa=62955,ya=62957,xa=62958,$a=62959,_a=62967,Pa=62973,Sa=62974,Ca=62976,Da=62978,Oa=62979,Ma=62984,qa=62985,Ia=62994,Ta=62996,ja=62997,Aa=62998,Ba=62999,La=63e3,Ra=63004,Ea=63005,Na=63008,Fa=63009,za=63018,Ha=63019,Ya=63022,Ga=63023,Va=63028,Ja=63047,Wa=63048,Ua=63055,Qa=63056,Ka=63059,Za=63062,Xa=63064,en=63066,tn=63067,ln=63069,sn=63070,on=63068,an=63071,nn=63072,rn=63073,dn=63074,cn=63075,un=63076,fn=63077,pn=63078,mn=63080,gn=63081,hn=63082,bn=63083,vn=63085,kn=63087,wn=63088,yn=63089,xn=63092,$n=63093,_n=63099,Pn=63101,Sn=63105,Cn=63106,Dn=63108,On=63109,Mn=63111,qn=63113,In=63132,Tn=63133,jn=63134,An=63137,Bn=63144,Ln=63145,Rn=63148,En=63151,Nn=63152,Fn=63153,zn=63168,Hn=63169,Yn=63179,Gn=63180,Vn=63188,Jn=63189,Wn=63191,Un=63198,Qn=63201,Kn=63203,Zn=63205,Xn=63207,er=63212,tr=63216,lr=63230,sr=63241,or=63245,ir=63283,ar=63345,nr=63346,rr=63348,dr=63351,cr=63353,ur=63357,fr=63361,pr=63365,mr=63369,gr=63371,hr=63372,br=63373,vr=63437,kr=63438,wr=63439,yr=63440,xr=63441,$r=63455,_r=63459,Pr=63469,Sr=63478,Cr=63486,Dr=63488,Or=63497,Mr=63498,qr=63499,Ir=63507,Tr=63513,jr=63522,Ar=63523,Br=63524,Lr=63527,Rr=63528,Er=63529,Nr=63530,Fr=63558,zr=63559,Hr=63560,Yr=63561,Gr=63562,Vr=63565,Jr=63613,Wr=63659,Ur=63662,Qr=63684,Kr=63686,Zr=63687,Xr=63692,ed=63114,td=63117,ld=63138,sd=63158,od=63170,id=63200,ad=63213,nd=63214,rd=63321,dd=63337,cd=63380,ud=63423,fd=63428,pd=63448,md=63460,gd=63461,hd=63480,bd=63500,vd=63501,kd=63695,wd=63702,yd=63703,xd=63705,$d=63706,_d=63712,Pd=63714,Sd=63716,Cd=63718,Dd=63719,Od=63723,Md=63724,qd=63726,Id=63728,Td=63733,jd=63740,Ad=63744,Bd=63746,Ld=63747,Rd=63481,Ed=63748,Nd=63750,Fd=63754,zd=63756,Hd=63760,Yd=63762,Gd=63764,Vd=63765,Jd=63766,Wd=63767,Ud=63768,Qd=63769,xe={123:63103,"alarm-fill":61697,alarm:jt,"align-bottom":61699,"align-center":61700,"align-end":61701,"align-middle":61702,"align-start":61703,"align-top":61704,alt:At,"app-indicator":61706,app:Bt,"archive-fill":61708,archive:Lt,"arrow-90deg-down":61710,"arrow-90deg-left":61711,"arrow-90deg-right":61712,"arrow-90deg-up":61713,"arrow-bar-down":61714,"arrow-bar-left":61715,"arrow-bar-right":61716,"arrow-bar-up":61717,"arrow-clockwise":61718,"arrow-counterclockwise":61719,"arrow-down-circle-fill":61720,"arrow-down-circle":61721,"arrow-down-left-circle-fill":61722,"arrow-down-left-circle":61723,"arrow-down-left-square-fill":61724,"arrow-down-left-square":61725,"arrow-down-left":61726,"arrow-down-right-circle-fill":61727,"arrow-down-right-circle":61728,"arrow-down-right-square-fill":61729,"arrow-down-right-square":61730,"arrow-down-right":61731,"arrow-down-short":61732,"arrow-down-square-fill":61733,"arrow-down-square":61734,"arrow-down-up":61735,"arrow-down":61736,"arrow-left-circle-fill":61737,"arrow-left-circle":61738,"arrow-left-right":61739,"arrow-left-short":61740,"arrow-left-square-fill":61741,"arrow-left-square":61742,"arrow-left":61743,"arrow-repeat":61744,"arrow-return-left":61745,"arrow-return-right":61746,"arrow-right-circle-fill":61747,"arrow-right-circle":61748,"arrow-right-short":61749,"arrow-right-square-fill":61750,"arrow-right-square":61751,"arrow-right":61752,"arrow-up-circle-fill":61753,"arrow-up-circle":61754,"arrow-up-left-circle-fill":61755,"arrow-up-left-circle":61756,"arrow-up-left-square-fill":61757,"arrow-up-left-square":61758,"arrow-up-left":61759,"arrow-up-right-circle-fill":61760,"arrow-up-right-circle":61761,"arrow-up-right-square-fill":61762,"arrow-up-right-square":61763,"arrow-up-right":61764,"arrow-up-short":61765,"arrow-up-square-fill":61766,"arrow-up-square":61767,"arrow-up":61768,"arrows-angle-contract":61769,"arrows-angle-expand":61770,"arrows-collapse":61771,"arrows-expand":61772,"arrows-fullscreen":61773,"arrows-move":61774,"aspect-ratio-fill":61775,"aspect-ratio":61776,asterisk:Rt,at:Et,"award-fill":61779,award:Nt,back:Ft,"backspace-fill":61782,"backspace-reverse-fill":61783,"backspace-reverse":61784,backspace:zt,"badge-3d-fill":61786,"badge-3d":61787,"badge-4k-fill":61788,"badge-4k":61789,"badge-8k-fill":61790,"badge-8k":61791,"badge-ad-fill":61792,"badge-ad":61793,"badge-ar-fill":61794,"badge-ar":61795,"badge-cc-fill":61796,"badge-cc":61797,"badge-hd-fill":61798,"badge-hd":61799,"badge-tm-fill":61800,"badge-tm":61801,"badge-vo-fill":61802,"badge-vo":61803,"badge-vr-fill":61804,"badge-vr":61805,"badge-wc-fill":61806,"badge-wc":61807,"bag-check-fill":61808,"bag-check":61809,"bag-dash-fill":61810,"bag-dash":61811,"bag-fill":61812,"bag-plus-fill":61813,"bag-plus":61814,"bag-x-fill":61815,"bag-x":61816,bag:Ht,"bar-chart-fill":61818,"bar-chart-line-fill":61819,"bar-chart-line":61820,"bar-chart-steps":61821,"bar-chart":61822,"basket-fill":61823,basket:Yt,"basket2-fill":61825,basket2:Gt,"basket3-fill":61827,basket3:Vt,"battery-charging":61829,"battery-full":61830,"battery-half":61831,battery:Jt,"bell-fill":61833,bell:Wt,bezier:Ut,bezier2:Qt,bicycle:Kt,"binoculars-fill":61838,binoculars:Zt,"blockquote-left":61840,"blockquote-right":61841,"book-fill":61842,"book-half":61843,book:Xt,"bookmark-check-fill":61845,"bookmark-check":61846,"bookmark-dash-fill":61847,"bookmark-dash":61848,"bookmark-fill":61849,"bookmark-heart-fill":61850,"bookmark-heart":61851,"bookmark-plus-fill":61852,"bookmark-plus":61853,"bookmark-star-fill":61854,"bookmark-star":61855,"bookmark-x-fill":61856,"bookmark-x":61857,bookmark:el,"bookmarks-fill":61859,bookmarks:tl,bookshelf:ll,"bootstrap-fill":61862,"bootstrap-reboot":61863,bootstrap:sl,"border-all":61865,"border-bottom":61866,"border-center":61867,"border-inner":61868,"border-left":61869,"border-middle":61870,"border-outer":61871,"border-right":61872,"border-style":61873,"border-top":61874,"border-width":61875,border:ol,"bounding-box-circles":61877,"bounding-box":61878,"box-arrow-down-left":61879,"box-arrow-down-right":61880,"box-arrow-down":61881,"box-arrow-in-down-left":61882,"box-arrow-in-down-right":61883,"box-arrow-in-down":61884,"box-arrow-in-left":61885,"box-arrow-in-right":61886,"box-arrow-in-up-left":61887,"box-arrow-in-up-right":61888,"box-arrow-in-up":61889,"box-arrow-left":61890,"box-arrow-right":61891,"box-arrow-up-left":61892,"box-arrow-up-right":61893,"box-arrow-up":61894,"box-seam":61895,box:il,braces:al,bricks:nl,"briefcase-fill":61899,briefcase:rl,"brightness-alt-high-fill":61901,"brightness-alt-high":61902,"brightness-alt-low-fill":61903,"brightness-alt-low":61904,"brightness-high-fill":61905,"brightness-high":61906,"brightness-low-fill":61907,"brightness-low":61908,"broadcast-pin":61909,broadcast:dl,"brush-fill":61911,brush:cl,"bucket-fill":61913,bucket:ul,"bug-fill":61915,bug:fl,building:pl,bullseye:ml,"calculator-fill":61919,calculator:gl,"calendar-check-fill":61921,"calendar-check":61922,"calendar-date-fill":61923,"calendar-date":61924,"calendar-day-fill":61925,"calendar-day":61926,"calendar-event-fill":61927,"calendar-event":61928,"calendar-fill":61929,"calendar-minus-fill":61930,"calendar-minus":61931,"calendar-month-fill":61932,"calendar-month":61933,"calendar-plus-fill":61934,"calendar-plus":61935,"calendar-range-fill":61936,"calendar-range":61937,"calendar-week-fill":61938,"calendar-week":61939,"calendar-x-fill":61940,"calendar-x":61941,calendar:hl,"calendar2-check-fill":61943,"calendar2-check":61944,"calendar2-date-fill":61945,"calendar2-date":61946,"calendar2-day-fill":61947,"calendar2-day":61948,"calendar2-event-fill":61949,"calendar2-event":61950,"calendar2-fill":61951,"calendar2-minus-fill":61952,"calendar2-minus":61953,"calendar2-month-fill":61954,"calendar2-month":61955,"calendar2-plus-fill":61956,"calendar2-plus":61957,"calendar2-range-fill":61958,"calendar2-range":61959,"calendar2-week-fill":61960,"calendar2-week":61961,"calendar2-x-fill":61962,"calendar2-x":61963,calendar2:bl,"calendar3-event-fill":61965,"calendar3-event":61966,"calendar3-fill":61967,"calendar3-range-fill":61968,"calendar3-range":61969,"calendar3-week-fill":61970,"calendar3-week":61971,calendar3:vl,"calendar4-event":61973,"calendar4-range":61974,"calendar4-week":61975,calendar4:kl,"camera-fill":61977,"camera-reels-fill":61978,"camera-reels":61979,"camera-video-fill":61980,"camera-video-off-fill":61981,"camera-video-off":61982,"camera-video":61983,camera:wl,camera2:yl,"capslock-fill":61986,capslock:xl,"card-checklist":61988,"card-heading":61989,"card-image":61990,"card-list":61991,"card-text":61992,"caret-down-fill":61993,"caret-down-square-fill":61994,"caret-down-square":61995,"caret-down":61996,"caret-left-fill":61997,"caret-left-square-fill":61998,"caret-left-square":61999,"caret-left":62e3,"caret-right-fill":62001,"caret-right-square-fill":62002,"caret-right-square":62003,"caret-right":62004,"caret-up-fill":62005,"caret-up-square-fill":62006,"caret-up-square":62007,"caret-up":62008,"cart-check-fill":62009,"cart-check":62010,"cart-dash-fill":62011,"cart-dash":62012,"cart-fill":62013,"cart-plus-fill":62014,"cart-plus":62015,"cart-x-fill":62016,"cart-x":62017,cart:$l,cart2:_l,cart3:Pl,cart4:Sl,"cash-stack":62022,cash:Cl,cast:Dl,"chat-dots-fill":62025,"chat-dots":62026,"chat-fill":62027,"chat-left-dots-fill":62028,"chat-left-dots":62029,"chat-left-fill":62030,"chat-left-quote-fill":62031,"chat-left-quote":62032,"chat-left-text-fill":62033,"chat-left-text":62034,"chat-left":62035,"chat-quote-fill":62036,"chat-quote":62037,"chat-right-dots-fill":62038,"chat-right-dots":62039,"chat-right-fill":62040,"chat-right-quote-fill":62041,"chat-right-quote":62042,"chat-right-text-fill":62043,"chat-right-text":62044,"chat-right":62045,"chat-square-dots-fill":62046,"chat-square-dots":62047,"chat-square-fill":62048,"chat-square-quote-fill":62049,"chat-square-quote":62050,"chat-square-text-fill":62051,"chat-square-text":62052,"chat-square":62053,"chat-text-fill":62054,"chat-text":62055,chat:Ol,"check-all":62057,"check-circle-fill":62058,"check-circle":62059,"check-square-fill":62060,"check-square":62061,check:Ml,"check2-all":62063,"check2-circle":62064,"check2-square":62065,check2:ql,"chevron-bar-contract":62067,"chevron-bar-down":62068,"chevron-bar-expand":62069,"chevron-bar-left":62070,"chevron-bar-right":62071,"chevron-bar-up":62072,"chevron-compact-down":62073,"chevron-compact-left":62074,"chevron-compact-right":62075,"chevron-compact-up":62076,"chevron-contract":62077,"chevron-double-down":62078,"chevron-double-left":62079,"chevron-double-right":62080,"chevron-double-up":62081,"chevron-down":62082,"chevron-expand":62083,"chevron-left":62084,"chevron-right":62085,"chevron-up":62086,"circle-fill":62087,"circle-half":62088,"circle-square":62089,circle:Il,"clipboard-check":62091,"clipboard-data":62092,"clipboard-minus":62093,"clipboard-plus":62094,"clipboard-x":62095,clipboard:Tl,"clock-fill":62097,"clock-history":62098,clock:jl,"cloud-arrow-down-fill":62100,"cloud-arrow-down":62101,"cloud-arrow-up-fill":62102,"cloud-arrow-up":62103,"cloud-check-fill":62104,"cloud-check":62105,"cloud-download-fill":62106,"cloud-download":62107,"cloud-drizzle-fill":62108,"cloud-drizzle":62109,"cloud-fill":62110,"cloud-fog-fill":62111,"cloud-fog":62112,"cloud-fog2-fill":62113,"cloud-fog2":62114,"cloud-hail-fill":62115,"cloud-hail":62116,"cloud-haze-fill":62118,"cloud-haze":62119,"cloud-haze2-fill":62120,"cloud-lightning-fill":62121,"cloud-lightning-rain-fill":62122,"cloud-lightning-rain":62123,"cloud-lightning":62124,"cloud-minus-fill":62125,"cloud-minus":62126,"cloud-moon-fill":62127,"cloud-moon":62128,"cloud-plus-fill":62129,"cloud-plus":62130,"cloud-rain-fill":62131,"cloud-rain-heavy-fill":62132,"cloud-rain-heavy":62133,"cloud-rain":62134,"cloud-slash-fill":62135,"cloud-slash":62136,"cloud-sleet-fill":62137,"cloud-sleet":62138,"cloud-snow-fill":62139,"cloud-snow":62140,"cloud-sun-fill":62141,"cloud-sun":62142,"cloud-upload-fill":62143,"cloud-upload":62144,cloud:Al,"clouds-fill":62146,clouds:Bl,"cloudy-fill":62148,cloudy:Ll,"code-slash":62150,"code-square":62151,code:Rl,"collection-fill":62153,"collection-play-fill":62154,"collection-play":62155,collection:El,"columns-gap":62157,columns:Nl,command:Fl,"compass-fill":62160,compass:zl,"cone-striped":62162,cone:Hl,controller:Yl,"cpu-fill":62165,cpu:Gl,"credit-card-2-back-fill":62167,"credit-card-2-back":62168,"credit-card-2-front-fill":62169,"credit-card-2-front":62170,"credit-card-fill":62171,"credit-card":62172,crop:Vl,"cup-fill":62174,"cup-straw":62175,cup:Jl,"cursor-fill":62177,"cursor-text":62178,cursor:Wl,"dash-circle-dotted":62180,"dash-circle-fill":62181,"dash-circle":62182,"dash-square-dotted":62183,"dash-square-fill":62184,"dash-square":62185,dash:Ul,"diagram-2-fill":62187,"diagram-2":62188,"diagram-3-fill":62189,"diagram-3":62190,"diamond-fill":62191,"diamond-half":62192,diamond:Ql,"dice-1-fill":62194,"dice-1":62195,"dice-2-fill":62196,"dice-2":62197,"dice-3-fill":62198,"dice-3":62199,"dice-4-fill":62200,"dice-4":62201,"dice-5-fill":62202,"dice-5":62203,"dice-6-fill":62204,"dice-6":62205,"disc-fill":62206,disc:Kl,discord:Zl,"display-fill":62209,display:Xl,"distribute-horizontal":62211,"distribute-vertical":62212,"door-closed-fill":62213,"door-closed":62214,"door-open-fill":62215,"door-open":62216,dot:es,download:ts,"droplet-fill":62219,"droplet-half":62220,droplet:ls,earbuds:ss,"easel-fill":62223,easel:os,"egg-fill":62225,"egg-fried":62226,egg:is,"eject-fill":62228,eject:as,"emoji-angry-fill":62230,"emoji-angry":62231,"emoji-dizzy-fill":62232,"emoji-dizzy":62233,"emoji-expressionless-fill":62234,"emoji-expressionless":62235,"emoji-frown-fill":62236,"emoji-frown":62237,"emoji-heart-eyes-fill":62238,"emoji-heart-eyes":62239,"emoji-laughing-fill":62240,"emoji-laughing":62241,"emoji-neutral-fill":62242,"emoji-neutral":62243,"emoji-smile-fill":62244,"emoji-smile-upside-down-fill":62245,"emoji-smile-upside-down":62246,"emoji-smile":62247,"emoji-sunglasses-fill":62248,"emoji-sunglasses":62249,"emoji-wink-fill":62250,"emoji-wink":62251,"envelope-fill":62252,"envelope-open-fill":62253,"envelope-open":62254,envelope:ns,"eraser-fill":62256,eraser:rs,"exclamation-circle-fill":62258,"exclamation-circle":62259,"exclamation-diamond-fill":62260,"exclamation-diamond":62261,"exclamation-octagon-fill":62262,"exclamation-octagon":62263,"exclamation-square-fill":62264,"exclamation-square":62265,"exclamation-triangle-fill":62266,"exclamation-triangle":62267,exclamation:ds,exclude:cs,"eye-fill":62270,"eye-slash-fill":62271,"eye-slash":62272,eye:us,eyedropper:fs,eyeglasses:ps,facebook:ms,"file-arrow-down-fill":62277,"file-arrow-down":62278,"file-arrow-up-fill":62279,"file-arrow-up":62280,"file-bar-graph-fill":62281,"file-bar-graph":62282,"file-binary-fill":62283,"file-binary":62284,"file-break-fill":62285,"file-break":62286,"file-check-fill":62287,"file-check":62288,"file-code-fill":62289,"file-code":62290,"file-diff-fill":62291,"file-diff":62292,"file-earmark-arrow-down-fill":62293,"file-earmark-arrow-down":62294,"file-earmark-arrow-up-fill":62295,"file-earmark-arrow-up":62296,"file-earmark-bar-graph-fill":62297,"file-earmark-bar-graph":62298,"file-earmark-binary-fill":62299,"file-earmark-binary":62300,"file-earmark-break-fill":62301,"file-earmark-break":62302,"file-earmark-check-fill":62303,"file-earmark-check":62304,"file-earmark-code-fill":62305,"file-earmark-code":62306,"file-earmark-diff-fill":62307,"file-earmark-diff":62308,"file-earmark-easel-fill":62309,"file-earmark-easel":62310,"file-earmark-excel-fill":62311,"file-earmark-excel":62312,"file-earmark-fill":62313,"file-earmark-font-fill":62314,"file-earmark-font":62315,"file-earmark-image-fill":62316,"file-earmark-image":62317,"file-earmark-lock-fill":62318,"file-earmark-lock":62319,"file-earmark-lock2-fill":62320,"file-earmark-lock2":62321,"file-earmark-medical-fill":62322,"file-earmark-medical":62323,"file-earmark-minus-fill":62324,"file-earmark-minus":62325,"file-earmark-music-fill":62326,"file-earmark-music":62327,"file-earmark-person-fill":62328,"file-earmark-person":62329,"file-earmark-play-fill":62330,"file-earmark-play":62331,"file-earmark-plus-fill":62332,"file-earmark-plus":62333,"file-earmark-post-fill":62334,"file-earmark-post":62335,"file-earmark-ppt-fill":62336,"file-earmark-ppt":62337,"file-earmark-richtext-fill":62338,"file-earmark-richtext":62339,"file-earmark-ruled-fill":62340,"file-earmark-ruled":62341,"file-earmark-slides-fill":62342,"file-earmark-slides":62343,"file-earmark-spreadsheet-fill":62344,"file-earmark-spreadsheet":62345,"file-earmark-text-fill":62346,"file-earmark-text":62347,"file-earmark-word-fill":62348,"file-earmark-word":62349,"file-earmark-x-fill":62350,"file-earmark-x":62351,"file-earmark-zip-fill":62352,"file-earmark-zip":62353,"file-earmark":62354,"file-easel-fill":62355,"file-easel":62356,"file-excel-fill":62357,"file-excel":62358,"file-fill":62359,"file-font-fill":62360,"file-font":62361,"file-image-fill":62362,"file-image":62363,"file-lock-fill":62364,"file-lock":62365,"file-lock2-fill":62366,"file-lock2":62367,"file-medical-fill":62368,"file-medical":62369,"file-minus-fill":62370,"file-minus":62371,"file-music-fill":62372,"file-music":62373,"file-person-fill":62374,"file-person":62375,"file-play-fill":62376,"file-play":62377,"file-plus-fill":62378,"file-plus":62379,"file-post-fill":62380,"file-post":62381,"file-ppt-fill":62382,"file-ppt":62383,"file-richtext-fill":62384,"file-richtext":62385,"file-ruled-fill":62386,"file-ruled":62387,"file-slides-fill":62388,"file-slides":62389,"file-spreadsheet-fill":62390,"file-spreadsheet":62391,"file-text-fill":62392,"file-text":62393,"file-word-fill":62394,"file-word":62395,"file-x-fill":62396,"file-x":62397,"file-zip-fill":62398,"file-zip":62399,file:gs,"files-alt":62401,files:hs,film:bs,"filter-circle-fill":62404,"filter-circle":62405,"filter-left":62406,"filter-right":62407,"filter-square-fill":62408,"filter-square":62409,filter:vs,"flag-fill":62411,flag:ks,flower1:ws,flower2:ys,flower3:xs,"folder-check":62416,"folder-fill":62417,"folder-minus":62418,"folder-plus":62419,"folder-symlink-fill":62420,"folder-symlink":62421,"folder-x":62422,folder:$s,"folder2-open":62424,folder2:_s,fonts:Ps,"forward-fill":62427,forward:Ss,front:Cs,"fullscreen-exit":62430,fullscreen:Ds,"funnel-fill":62432,funnel:Os,"gear-fill":62434,"gear-wide-connected":62435,"gear-wide":62436,gear:Ms,gem:qs,"geo-alt-fill":62439,"geo-alt":62440,"geo-fill":62441,geo:Is,"gift-fill":62443,gift:Ts,github:js,globe:As,globe2:Bs,google:Ls,"graph-down":62449,"graph-up":62450,"grid-1x2-fill":62451,"grid-1x2":62452,"grid-3x2-gap-fill":62453,"grid-3x2-gap":62454,"grid-3x2":62455,"grid-3x3-gap-fill":62456,"grid-3x3-gap":62457,"grid-3x3":62458,"grid-fill":62459,grid:Rs,"grip-horizontal":62461,"grip-vertical":62462,hammer:Es,"hand-index-fill":62464,"hand-index-thumb-fill":62465,"hand-index-thumb":62466,"hand-index":62467,"hand-thumbs-down-fill":62468,"hand-thumbs-down":62469,"hand-thumbs-up-fill":62470,"hand-thumbs-up":62471,"handbag-fill":62472,handbag:Ns,hash:Fs,"hdd-fill":62475,"hdd-network-fill":62476,"hdd-network":62477,"hdd-rack-fill":62478,"hdd-rack":62479,"hdd-stack-fill":62480,"hdd-stack":62481,hdd:zs,headphones:Hs,headset:Ys,"heart-fill":62485,"heart-half":62486,heart:Gs,"heptagon-fill":62488,"heptagon-half":62489,heptagon:Vs,"hexagon-fill":62491,"hexagon-half":62492,hexagon:Js,"hourglass-bottom":62494,"hourglass-split":62495,"hourglass-top":62496,hourglass:Ws,"house-door-fill":62498,"house-door":62499,"house-fill":62500,house:Us,hr:Qs,hurricane:Ks,"image-alt":62504,"image-fill":62505,image:Zs,images:Xs,"inbox-fill":62508,inbox:eo,"inboxes-fill":62510,inboxes:to,"info-circle-fill":62512,"info-circle":62513,"info-square-fill":62514,"info-square":62515,info:lo,"input-cursor-text":62517,"input-cursor":62518,instagram:so,intersect:oo,"journal-album":62521,"journal-arrow-down":62522,"journal-arrow-up":62523,"journal-bookmark-fill":62524,"journal-bookmark":62525,"journal-check":62526,"journal-code":62527,"journal-medical":62528,"journal-minus":62529,"journal-plus":62530,"journal-richtext":62531,"journal-text":62532,"journal-x":62533,journal:io,journals:ao,joystick:no,"justify-left":62537,"justify-right":62538,justify:ro,"kanban-fill":62540,kanban:co,"key-fill":62542,key:uo,"keyboard-fill":62544,keyboard:fo,ladder:po,"lamp-fill":62547,lamp:mo,"laptop-fill":62549,laptop:go,"layer-backward":62551,"layer-forward":62552,"layers-fill":62553,"layers-half":62554,layers:ho,"layout-sidebar-inset-reverse":62556,"layout-sidebar-inset":62557,"layout-sidebar-reverse":62558,"layout-sidebar":62559,"layout-split":62560,"layout-text-sidebar-reverse":62561,"layout-text-sidebar":62562,"layout-text-window-reverse":62563,"layout-text-window":62564,"layout-three-columns":62565,"layout-wtf":62566,"life-preserver":62567,"lightbulb-fill":62568,"lightbulb-off-fill":62569,"lightbulb-off":62570,lightbulb:bo,"lightning-charge-fill":62572,"lightning-charge":62573,"lightning-fill":62574,lightning:vo,"link-45deg":62576,link:ko,linkedin:wo,"list-check":62579,"list-nested":62580,"list-ol":62581,"list-stars":62582,"list-task":62583,"list-ul":62584,list:yo,"lock-fill":62586,lock:xo,mailbox:$o,mailbox2:_o,"map-fill":62590,map:Po,"markdown-fill":62592,markdown:So,mask:Co,"megaphone-fill":62595,megaphone:Do,"menu-app-fill":62597,"menu-app":62598,"menu-button-fill":62599,"menu-button-wide-fill":62600,"menu-button-wide":62601,"menu-button":62602,"menu-down":62603,"menu-up":62604,"mic-fill":62605,"mic-mute-fill":62606,"mic-mute":62607,mic:Oo,"minecart-loaded":62609,minecart:Mo,moisture:qo,"moon-fill":62612,"moon-stars-fill":62613,"moon-stars":62614,moon:Io,"mouse-fill":62616,mouse:To,"mouse2-fill":62618,mouse2:jo,"mouse3-fill":62620,mouse3:Ao,"music-note-beamed":62622,"music-note-list":62623,"music-note":62624,"music-player-fill":62625,"music-player":62626,newspaper:Bo,"node-minus-fill":62628,"node-minus":62629,"node-plus-fill":62630,"node-plus":62631,"nut-fill":62632,nut:Lo,"octagon-fill":62634,"octagon-half":62635,octagon:Ro,option:Eo,outlet:No,"paint-bucket":62639,"palette-fill":62640,palette:Fo,palette2:zo,paperclip:Ho,paragraph:Yo,"patch-check-fill":62645,"patch-check":62646,"patch-exclamation-fill":62647,"patch-exclamation":62648,"patch-minus-fill":62649,"patch-minus":62650,"patch-plus-fill":62651,"patch-plus":62652,"patch-question-fill":62653,"patch-question":62654,"pause-btn-fill":62655,"pause-btn":62656,"pause-circle-fill":62657,"pause-circle":62658,"pause-fill":62659,pause:Go,"peace-fill":62661,peace:Vo,"pen-fill":62663,pen:Jo,"pencil-fill":62665,"pencil-square":62666,pencil:Wo,"pentagon-fill":62668,"pentagon-half":62669,pentagon:Uo,"people-fill":62671,people:Qo,percent:Ko,"person-badge-fill":62674,"person-badge":62675,"person-bounding-box":62676,"person-check-fill":62677,"person-check":62678,"person-circle":62679,"person-dash-fill":62680,"person-dash":62681,"person-fill":62682,"person-lines-fill":62683,"person-plus-fill":62684,"person-plus":62685,"person-square":62686,"person-x-fill":62687,"person-x":62688,person:Zo,"phone-fill":62690,"phone-landscape-fill":62691,"phone-landscape":62692,"phone-vibrate-fill":62693,"phone-vibrate":62694,phone:Xo,"pie-chart-fill":62696,"pie-chart":62697,"pin-angle-fill":62698,"pin-angle":62699,"pin-fill":62700,pin:ei,"pip-fill":62702,pip:ti,"play-btn-fill":62704,"play-btn":62705,"play-circle-fill":62706,"play-circle":62707,"play-fill":62708,play:li,"plug-fill":62710,plug:si,"plus-circle-dotted":62712,"plus-circle-fill":62713,"plus-circle":62714,"plus-square-dotted":62715,"plus-square-fill":62716,"plus-square":62717,plus:oi,power:ii,"printer-fill":62720,printer:ai,"puzzle-fill":62722,puzzle:ni,"question-circle-fill":62724,"question-circle":62725,"question-diamond-fill":62726,"question-diamond":62727,"question-octagon-fill":62728,"question-octagon":62729,"question-square-fill":62730,"question-square":62731,question:ri,rainbow:di,"receipt-cutoff":62734,receipt:ci,"reception-0":62736,"reception-1":62737,"reception-2":62738,"reception-3":62739,"reception-4":62740,"record-btn-fill":62741,"record-btn":62742,"record-circle-fill":62743,"record-circle":62744,"record-fill":62745,record:ui,"record2-fill":62747,record2:fi,"reply-all-fill":62749,"reply-all":62750,"reply-fill":62751,reply:pi,"rss-fill":62753,rss:mi,rulers:gi,"save-fill":62756,save:hi,"save2-fill":62758,save2:bi,scissors:vi,screwdriver:ki,search:wi,"segmented-nav":62763,server:yi,"share-fill":62765,share:xi,"shield-check":62767,"shield-exclamation":62768,"shield-fill-check":62769,"shield-fill-exclamation":62770,"shield-fill-minus":62771,"shield-fill-plus":62772,"shield-fill-x":62773,"shield-fill":62774,"shield-lock-fill":62775,"shield-lock":62776,"shield-minus":62777,"shield-plus":62778,"shield-shaded":62779,"shield-slash-fill":62780,"shield-slash":62781,"shield-x":62782,shield:$i,"shift-fill":62784,shift:_i,"shop-window":62786,shop:Pi,shuffle:Si,"signpost-2-fill":62789,"signpost-2":62790,"signpost-fill":62791,"signpost-split-fill":62792,"signpost-split":62793,signpost:Ci,"sim-fill":62795,sim:Di,"skip-backward-btn-fill":62797,"skip-backward-btn":62798,"skip-backward-circle-fill":62799,"skip-backward-circle":62800,"skip-backward-fill":62801,"skip-backward":62802,"skip-end-btn-fill":62803,"skip-end-btn":62804,"skip-end-circle-fill":62805,"skip-end-circle":62806,"skip-end-fill":62807,"skip-end":62808,"skip-forward-btn-fill":62809,"skip-forward-btn":62810,"skip-forward-circle-fill":62811,"skip-forward-circle":62812,"skip-forward-fill":62813,"skip-forward":62814,"skip-start-btn-fill":62815,"skip-start-btn":62816,"skip-start-circle-fill":62817,"skip-start-circle":62818,"skip-start-fill":62819,"skip-start":62820,slack:Oi,"slash-circle-fill":62822,"slash-circle":62823,"slash-square-fill":62824,"slash-square":62825,slash:Mi,sliders:qi,smartwatch:Ii,snow:Ti,snow2:ji,snow3:Ai,"sort-alpha-down-alt":62832,"sort-alpha-down":62833,"sort-alpha-up-alt":62834,"sort-alpha-up":62835,"sort-down-alt":62836,"sort-down":62837,"sort-numeric-down-alt":62838,"sort-numeric-down":62839,"sort-numeric-up-alt":62840,"sort-numeric-up":62841,"sort-up-alt":62842,"sort-up":62843,soundwave:Bi,"speaker-fill":62845,speaker:Li,speedometer:Ri,speedometer2:Ei,spellcheck:Ni,"square-fill":62850,"square-half":62851,square:Fi,stack:zi,"star-fill":62854,"star-half":62855,star:Hi,stars:Yi,"stickies-fill":62858,stickies:Gi,"sticky-fill":62860,sticky:Vi,"stop-btn-fill":62862,"stop-btn":62863,"stop-circle-fill":62864,"stop-circle":62865,"stop-fill":62866,stop:Ji,"stoplights-fill":62868,stoplights:Wi,"stopwatch-fill":62870,stopwatch:Ui,subtract:Qi,"suit-club-fill":62873,"suit-club":62874,"suit-diamond-fill":62875,"suit-diamond":62876,"suit-heart-fill":62877,"suit-heart":62878,"suit-spade-fill":62879,"suit-spade":62880,"sun-fill":62881,sun:Ki,sunglasses:Zi,"sunrise-fill":62884,sunrise:Xi,"sunset-fill":62886,sunset:ea,"symmetry-horizontal":62888,"symmetry-vertical":62889,table:ta,"tablet-fill":62891,"tablet-landscape-fill":62892,"tablet-landscape":62893,tablet:la,"tag-fill":62895,tag:sa,"tags-fill":62897,tags:oa,telegram:ia,"telephone-fill":62900,"telephone-forward-fill":62901,"telephone-forward":62902,"telephone-inbound-fill":62903,"telephone-inbound":62904,"telephone-minus-fill":62905,"telephone-minus":62906,"telephone-outbound-fill":62907,"telephone-outbound":62908,"telephone-plus-fill":62909,"telephone-plus":62910,"telephone-x-fill":62911,"telephone-x":62912,telephone:aa,"terminal-fill":62914,terminal:na,"text-center":62916,"text-indent-left":62917,"text-indent-right":62918,"text-left":62919,"text-paragraph":62920,"text-right":62921,"textarea-resize":62922,"textarea-t":62923,textarea:ra,"thermometer-half":62925,"thermometer-high":62926,"thermometer-low":62927,"thermometer-snow":62928,"thermometer-sun":62929,thermometer:da,"three-dots-vertical":62931,"three-dots":62932,"toggle-off":62933,"toggle-on":62934,"toggle2-off":62935,"toggle2-on":62936,toggles:ca,toggles2:ua,tools:fa,tornado:pa,"trash-fill":62941,trash:ma,"trash2-fill":62943,trash2:ga,"tree-fill":62945,tree:ha,"triangle-fill":62947,"triangle-half":62948,triangle:ba,"trophy-fill":62950,trophy:va,"tropical-storm":62952,"truck-flatbed":62953,truck:ka,tsunami:wa,"tv-fill":62956,tv:ya,twitch:xa,twitter:$a,"type-bold":62960,"type-h1":62961,"type-h2":62962,"type-h3":62963,"type-italic":62964,"type-strikethrough":62965,"type-underline":62966,type:_a,"ui-checks-grid":62968,"ui-checks":62969,"ui-radios-grid":62970,"ui-radios":62971,"umbrella-fill":62972,umbrella:Pa,union:Sa,"unlock-fill":62975,unlock:Ca,"upc-scan":62977,upc:Da,upload:Oa,"vector-pen":62980,"view-list":62981,"view-stacked":62982,"vinyl-fill":62983,vinyl:Ma,voicemail:qa,"volume-down-fill":62986,"volume-down":62987,"volume-mute-fill":62988,"volume-mute":62989,"volume-off-fill":62990,"volume-off":62991,"volume-up-fill":62992,"volume-up":62993,vr:Ia,"wallet-fill":62995,wallet:Ta,wallet2:ja,watch:Aa,water:Ba,whatsapp:La,"wifi-1":63001,"wifi-2":63002,"wifi-off":63003,wifi:Ra,wind:Ea,"window-dock":63006,"window-sidebar":63007,window:Na,wrench:Fa,"x-circle-fill":63010,"x-circle":63011,"x-diamond-fill":63012,"x-diamond":63013,"x-octagon-fill":63014,"x-octagon":63015,"x-square-fill":63016,"x-square":63017,x:za,youtube:Ha,"zoom-in":63020,"zoom-out":63021,bank:Ya,bank2:Ga,"bell-slash-fill":63024,"bell-slash":63025,"cash-coin":63026,"check-lg":63027,coin:Va,"currency-bitcoin":63029,"currency-dollar":63030,"currency-euro":63031,"currency-exchange":63032,"currency-pound":63033,"currency-yen":63034,"dash-lg":63035,"exclamation-lg":63036,"file-earmark-pdf-fill":63037,"file-earmark-pdf":63038,"file-pdf-fill":63039,"file-pdf":63040,"gender-ambiguous":63041,"gender-female":63042,"gender-male":63043,"gender-trans":63044,"headset-vr":63045,"info-lg":63046,mastodon:Ja,messenger:Wa,"piggy-bank-fill":63049,"piggy-bank":63050,"pin-map-fill":63051,"pin-map":63052,"plus-lg":63053,"question-lg":63054,recycle:Ua,reddit:Qa,"safe-fill":63057,"safe2-fill":63058,safe2:Ka,"sd-card-fill":63060,"sd-card":63061,skype:Za,"slash-lg":63063,translate:Xa,"x-lg":63065,safe:en,apple:tn,microsoft:ln,windows:sn,behance:on,dribbble:an,line:nn,medium:rn,paypal:dn,pinterest:cn,signal:un,snapchat:fn,spotify:pn,"stack-overflow":63079,strava:mn,wordpress:gn,vimeo:hn,activity:bn,"easel2-fill":63084,easel2:vn,"easel3-fill":63086,easel3:kn,fan:wn,fingerprint:yn,"graph-down-arrow":63090,"graph-up-arrow":63091,hypnotize:xn,magic:$n,"person-rolodex":63094,"person-video":63095,"person-video2":63096,"person-video3":63097,"person-workspace":63098,radioactive:_n,"webcam-fill":63100,webcam:Pn,"yin-yang":63102,"bandaid-fill":63104,bandaid:Sn,bluetooth:Cn,"body-text":63107,boombox:Dn,boxes:On,"dpad-fill":63110,dpad:Mn,"ear-fill":63112,ear:qn,"envelope-check-fill":63115,"envelope-check":63116,"envelope-dash-fill":63118,"envelope-dash":63119,"envelope-exclamation-fill":63121,"envelope-exclamation":63122,"envelope-plus-fill":63123,"envelope-plus":63124,"envelope-slash-fill":63126,"envelope-slash":63127,"envelope-x-fill":63129,"envelope-x":63130,"explicit-fill":63131,explicit:In,git:Tn,infinity:jn,"list-columns-reverse":63135,"list-columns":63136,meta:An,"nintendo-switch":63140,"pc-display-horizontal":63141,"pc-display":63142,"pc-horizontal":63143,pc:Bn,playstation:Ln,"plus-slash-minus":63146,"projector-fill":63147,projector:Rn,"qr-code-scan":63149,"qr-code":63150,quora:En,quote:Nn,robot:Fn,"send-check-fill":63154,"send-check":63155,"send-dash-fill":63156,"send-dash":63157,"send-exclamation-fill":63159,"send-exclamation":63160,"send-fill":63161,"send-plus-fill":63162,"send-plus":63163,"send-slash-fill":63164,"send-slash":63165,"send-x-fill":63166,"send-x":63167,send:zn,steam:Hn,"terminal-dash":63171,"terminal-plus":63172,"terminal-split":63173,"ticket-detailed-fill":63174,"ticket-detailed":63175,"ticket-fill":63176,"ticket-perforated-fill":63177,"ticket-perforated":63178,ticket:Yn,tiktok:Gn,"window-dash":63181,"window-desktop":63182,"window-fullscreen":63183,"window-plus":63184,"window-split":63185,"window-stack":63186,"window-x":63187,xbox:Vn,ethernet:Jn,"hdmi-fill":63190,hdmi:Wn,"usb-c-fill":63192,"usb-c":63193,"usb-fill":63194,"usb-plug-fill":63195,"usb-plug":63196,"usb-symbol":63197,usb:Un,"boombox-fill":63199,displayport:Qn,"gpu-card":63202,memory:Kn,"modem-fill":63204,modem:Zn,"motherboard-fill":63206,motherboard:Xn,"optical-audio-fill":63208,"optical-audio":63209,"pci-card":63210,"router-fill":63211,router:er,"thunderbolt-fill":63215,thunderbolt:tr,"usb-drive-fill":63217,"usb-drive":63218,"usb-micro-fill":63219,"usb-micro":63220,"usb-mini-fill":63221,"usb-mini":63222,"cloud-haze2":63223,"device-hdd-fill":63224,"device-hdd":63225,"device-ssd-fill":63226,"device-ssd":63227,"displayport-fill":63228,"mortarboard-fill":63229,mortarboard:lr,"terminal-x":63231,"arrow-through-heart-fill":63232,"arrow-through-heart":63233,"badge-sd-fill":63234,"badge-sd":63235,"bag-heart-fill":63236,"bag-heart":63237,"balloon-fill":63238,"balloon-heart-fill":63239,"balloon-heart":63240,balloon:sr,"box2-fill":63242,"box2-heart-fill":63243,"box2-heart":63244,box2:or,"braces-asterisk":63246,"calendar-heart-fill":63247,"calendar-heart":63248,"calendar2-heart-fill":63249,"calendar2-heart":63250,"chat-heart-fill":63251,"chat-heart":63252,"chat-left-heart-fill":63253,"chat-left-heart":63254,"chat-right-heart-fill":63255,"chat-right-heart":63256,"chat-square-heart-fill":63257,"chat-square-heart":63258,"clipboard-check-fill":63259,"clipboard-data-fill":63260,"clipboard-fill":63261,"clipboard-heart-fill":63262,"clipboard-heart":63263,"clipboard-minus-fill":63264,"clipboard-plus-fill":63265,"clipboard-pulse":63266,"clipboard-x-fill":63267,"clipboard2-check-fill":63268,"clipboard2-check":63269,"clipboard2-data-fill":63270,"clipboard2-data":63271,"clipboard2-fill":63272,"clipboard2-heart-fill":63273,"clipboard2-heart":63274,"clipboard2-minus-fill":63275,"clipboard2-minus":63276,"clipboard2-plus-fill":63277,"clipboard2-plus":63278,"clipboard2-pulse-fill":63279,"clipboard2-pulse":63280,"clipboard2-x-fill":63281,"clipboard2-x":63282,clipboard2:ir,"emoji-kiss-fill":63284,"emoji-kiss":63285,"envelope-heart-fill":63286,"envelope-heart":63287,"envelope-open-heart-fill":63288,"envelope-open-heart":63289,"envelope-paper-fill":63290,"envelope-paper-heart-fill":63291,"envelope-paper-heart":63292,"envelope-paper":63293,"filetype-aac":63294,"filetype-ai":63295,"filetype-bmp":63296,"filetype-cs":63297,"filetype-css":63298,"filetype-csv":63299,"filetype-doc":63300,"filetype-docx":63301,"filetype-exe":63302,"filetype-gif":63303,"filetype-heic":63304,"filetype-html":63305,"filetype-java":63306,"filetype-jpg":63307,"filetype-js":63308,"filetype-jsx":63309,"filetype-key":63310,"filetype-m4p":63311,"filetype-md":63312,"filetype-mdx":63313,"filetype-mov":63314,"filetype-mp3":63315,"filetype-mp4":63316,"filetype-otf":63317,"filetype-pdf":63318,"filetype-php":63319,"filetype-png":63320,"filetype-ppt":63322,"filetype-psd":63323,"filetype-py":63324,"filetype-raw":63325,"filetype-rb":63326,"filetype-sass":63327,"filetype-scss":63328,"filetype-sh":63329,"filetype-svg":63330,"filetype-tiff":63331,"filetype-tsx":63332,"filetype-ttf":63333,"filetype-txt":63334,"filetype-wav":63335,"filetype-woff":63336,"filetype-xls":63338,"filetype-xml":63339,"filetype-yml":63340,"heart-arrow":63341,"heart-pulse-fill":63342,"heart-pulse":63343,"heartbreak-fill":63344,heartbreak:ar,hearts:nr,"hospital-fill":63347,hospital:rr,"house-heart-fill":63349,"house-heart":63350,incognito:dr,"magnet-fill":63352,magnet:cr,"person-heart":63354,"person-hearts":63355,"phone-flip":63356,plugin:ur,"postage-fill":63358,"postage-heart-fill":63359,"postage-heart":63360,postage:fr,"postcard-fill":63362,"postcard-heart-fill":63363,"postcard-heart":63364,postcard:pr,"search-heart-fill":63366,"search-heart":63367,"sliders2-vertical":63368,sliders2:mr,"trash3-fill":63370,trash3:gr,valentine:hr,valentine2:br,"wrench-adjustable-circle-fill":63374,"wrench-adjustable-circle":63375,"wrench-adjustable":63376,"filetype-json":63377,"filetype-pptx":63378,"filetype-xlsx":63379,"1-circle-fill":63382,"1-circle":63383,"1-square-fill":63384,"1-square":63385,"2-circle-fill":63388,"2-circle":63389,"2-square-fill":63390,"2-square":63391,"3-circle-fill":63394,"3-circle":63395,"3-square-fill":63396,"3-square":63397,"4-circle-fill":63400,"4-circle":63401,"4-square-fill":63402,"4-square":63403,"5-circle-fill":63406,"5-circle":63407,"5-square-fill":63408,"5-square":63409,"6-circle-fill":63412,"6-circle":63413,"6-square-fill":63414,"6-square":63415,"7-circle-fill":63418,"7-circle":63419,"7-square-fill":63420,"7-square":63421,"8-circle-fill":63424,"8-circle":63425,"8-square-fill":63426,"8-square":63427,"9-circle-fill":63430,"9-circle":63431,"9-square-fill":63432,"9-square":63433,"airplane-engines-fill":63434,"airplane-engines":63435,"airplane-fill":63436,airplane:vr,alexa:kr,alipay:wr,android:yr,android2:xr,"box-fill":63442,"box-seam-fill":63443,"browser-chrome":63444,"browser-edge":63445,"browser-firefox":63446,"browser-safari":63447,"c-circle-fill":63450,"c-circle":63451,"c-square-fill":63452,"c-square":63453,"capsule-pill":63454,capsule:$r,"car-front-fill":63456,"car-front":63457,"cassette-fill":63458,cassette:_r,"cc-circle-fill":63462,"cc-circle":63463,"cc-square-fill":63464,"cc-square":63465,"cup-hot-fill":63466,"cup-hot":63467,"currency-rupee":63468,dropbox:Pr,escape:63470,"fast-forward-btn-fill":63471,"fast-forward-btn":63472,"fast-forward-circle-fill":63473,"fast-forward-circle":63474,"fast-forward-fill":63475,"fast-forward":63476,"filetype-sql":63477,fire:Sr,"google-play":63479,"h-circle-fill":63482,"h-circle":63483,"h-square-fill":63484,"h-square":63485,indent:Cr,"lungs-fill":63487,lungs:Dr,"microsoft-teams":63489,"p-circle-fill":63492,"p-circle":63493,"p-square-fill":63494,"p-square":63495,"pass-fill":63496,pass:Or,prescription:Mr,prescription2:qr,"r-circle-fill":63502,"r-circle":63503,"r-square-fill":63504,"r-square":63505,"repeat-1":63506,repeat:Ir,"rewind-btn-fill":63508,"rewind-btn":63509,"rewind-circle-fill":63510,"rewind-circle":63511,"rewind-fill":63512,rewind:Tr,"train-freight-front-fill":63514,"train-freight-front":63515,"train-front-fill":63516,"train-front":63517,"train-lightrail-front-fill":63518,"train-lightrail-front":63519,"truck-front-fill":63520,"truck-front":63521,ubuntu:jr,unindent:Ar,unity:Br,"universal-access-circle":63525,"universal-access":63526,virus:Lr,virus2:Rr,wechat:Er,yelp:Nr,"sign-stop-fill":63531,"sign-stop-lights-fill":63532,"sign-stop-lights":63533,"sign-stop":63534,"sign-turn-left-fill":63535,"sign-turn-left":63536,"sign-turn-right-fill":63537,"sign-turn-right":63538,"sign-turn-slight-left-fill":63539,"sign-turn-slight-left":63540,"sign-turn-slight-right-fill":63541,"sign-turn-slight-right":63542,"sign-yield-fill":63543,"sign-yield":63544,"ev-station-fill":63545,"ev-station":63546,"fuel-pump-diesel-fill":63547,"fuel-pump-diesel":63548,"fuel-pump-fill":63549,"fuel-pump":63550,"0-circle-fill":63551,"0-circle":63552,"0-square-fill":63553,"0-square":63554,"rocket-fill":63555,"rocket-takeoff-fill":63556,"rocket-takeoff":63557,rocket:Fr,stripe:zr,subscript:Hr,superscript:Yr,trello:Gr,"envelope-at-fill":63563,"envelope-at":63564,regex:Vr,"text-wrap":63566,"sign-dead-end-fill":63567,"sign-dead-end":63568,"sign-do-not-enter-fill":63569,"sign-do-not-enter":63570,"sign-intersection-fill":63571,"sign-intersection-side-fill":63572,"sign-intersection-side":63573,"sign-intersection-t-fill":63574,"sign-intersection-t":63575,"sign-intersection-y-fill":63576,"sign-intersection-y":63577,"sign-intersection":63578,"sign-merge-left-fill":63579,"sign-merge-left":63580,"sign-merge-right-fill":63581,"sign-merge-right":63582,"sign-no-left-turn-fill":63583,"sign-no-left-turn":63584,"sign-no-parking-fill":63585,"sign-no-parking":63586,"sign-no-right-turn-fill":63587,"sign-no-right-turn":63588,"sign-railroad-fill":63589,"sign-railroad":63590,"building-add":63591,"building-check":63592,"building-dash":63593,"building-down":63594,"building-exclamation":63595,"building-fill-add":63596,"building-fill-check":63597,"building-fill-dash":63598,"building-fill-down":63599,"building-fill-exclamation":63600,"building-fill-gear":63601,"building-fill-lock":63602,"building-fill-slash":63603,"building-fill-up":63604,"building-fill-x":63605,"building-fill":63606,"building-gear":63607,"building-lock":63608,"building-slash":63609,"building-up":63610,"building-x":63611,"buildings-fill":63612,buildings:Jr,"bus-front-fill":63614,"bus-front":63615,"ev-front-fill":63616,"ev-front":63617,"globe-americas":63618,"globe-asia-australia":63619,"globe-central-south-asia":63620,"globe-europe-africa":63621,"house-add-fill":63622,"house-add":63623,"house-check-fill":63624,"house-check":63625,"house-dash-fill":63626,"house-dash":63627,"house-down-fill":63628,"house-down":63629,"house-exclamation-fill":63630,"house-exclamation":63631,"house-gear-fill":63632,"house-gear":63633,"house-lock-fill":63634,"house-lock":63635,"house-slash-fill":63636,"house-slash":63637,"house-up-fill":63638,"house-up":63639,"house-x-fill":63640,"house-x":63641,"person-add":63642,"person-down":63643,"person-exclamation":63644,"person-fill-add":63645,"person-fill-check":63646,"person-fill-dash":63647,"person-fill-down":63648,"person-fill-exclamation":63649,"person-fill-gear":63650,"person-fill-lock":63651,"person-fill-slash":63652,"person-fill-up":63653,"person-fill-x":63654,"person-gear":63655,"person-lock":63656,"person-slash":63657,"person-up":63658,scooter:Wr,"taxi-front-fill":63660,"taxi-front":63661,amd:Ur,"database-add":63663,"database-check":63664,"database-dash":63665,"database-down":63666,"database-exclamation":63667,"database-fill-add":63668,"database-fill-check":63669,"database-fill-dash":63670,"database-fill-down":63671,"database-fill-exclamation":63672,"database-fill-gear":63673,"database-fill-lock":63674,"database-fill-slash":63675,"database-fill-up":63676,"database-fill-x":63677,"database-fill":63678,"database-gear":63679,"database-lock":63680,"database-slash":63681,"database-up":63682,"database-x":63683,database:Qr,"houses-fill":63685,houses:Kr,nvidia:Zr,"person-vcard-fill":63688,"person-vcard":63689,"sina-weibo":63690,"tencent-qq":63691,wikipedia:Xr,"alphabet-uppercase":62117,alphabet:ed,amazon:td,"arrows-collapse-vertical":63120,"arrows-expand-vertical":63125,"arrows-vertical":63128,arrows:ld,"ban-fill":63139,ban:sd,bing:od,cake:id,cake2:ad,cookie:nd,copy:rd,crosshair:dd,crosshair2:cd,"emoji-astonished-fill":63381,"emoji-astonished":63386,"emoji-grimace-fill":63387,"emoji-grimace":63392,"emoji-grin-fill":63393,"emoji-grin":63398,"emoji-surprise-fill":63399,"emoji-surprise":63404,"emoji-tear-fill":63405,"emoji-tear":63410,"envelope-arrow-down-fill":63411,"envelope-arrow-down":63416,"envelope-arrow-up-fill":63417,"envelope-arrow-up":63422,feather:ud,feather2:fd,"floppy-fill":63429,floppy:pd,"floppy2-fill":63449,floppy2:md,gitlab:gd,highlighter:hd,"marker-tip":63490,"nvme-fill":63491,nvme:bd,opencollective:vd,"pci-card-network":63693,"pci-card-sound":63694,radar:kd,"send-arrow-down-fill":63696,"send-arrow-down":63697,"send-arrow-up-fill":63698,"send-arrow-up":63699,"sim-slash-fill":63700,"sim-slash":63701,sourceforge:wd,substack:yd,"threads-fill":63704,threads:xd,transparency:$d,"twitter-x":63707,"type-h4":63708,"type-h5":63709,"type-h6":63710,"backpack-fill":63711,backpack:_d,"backpack2-fill":63713,backpack2:Pd,"backpack3-fill":63715,backpack3:Sd,"backpack4-fill":63717,backpack4:Cd,brilliance:Dd,"cake-fill":63720,"cake2-fill":63721,"duffle-fill":63722,duffle:Od,exposure:Md,"gender-neuter":63725,highlights:qd,"luggage-fill":63727,luggage:Id,"mailbox-flag":63729,"mailbox2-flag":63730,"noise-reduction":63731,"passport-fill":63732,passport:Td,"person-arms-up":63734,"person-raised-hand":63735,"person-standing-dress":63736,"person-standing":63737,"person-walking":63738,"person-wheelchair":63739,shadows:jd,"suitcase-fill":63741,"suitcase-lg-fill":63742,"suitcase-lg":63743,suitcase:Ad,"suitcase2-fill":63745,suitcase2:Bd,vignette:Ld,bluesky:Rd,tux:Ed,"beaker-fill":63749,beaker:Nd,"flask-fill":63751,"flask-florence-fill":63752,"flask-florence":63753,flask:Fd,"leaf-fill":63755,leaf:zd,"measuring-cup-fill":63757,"measuring-cup":63758,"unlock2-fill":63759,unlock2:Hd,"battery-low":63761,anthropic:Yd,"apple-music":63763,claude:Gd,openai:Vd,perplexity:Jd,css:Wd,javascript:Ud,typescript:Qd,"fork-knife":63770,"globe-americas-fill":63771,"globe-asia-australia-fill":63772,"globe-central-south-asia-fill":63773,"globe-europe-africa-fill":63774},Kd={class:"border rounded-3 p-2"},Zd={class:"align-items-center overflow-scroll d-flex gap-2 position-relative"},Xd=["aria-label"],ec={key:1,style:{"white-space":"nowrap"}},tc=["disabled","placeholder"],lc=J({__name:"peerTagSetting",props:["group","edit","groupId"],emits:["delete","iconPickerOpen","colorPickerOpen","toggle"],setup(l,{emit:t}){const a=ae(),s=l,g=t,d=q(s.group.GroupName),c=()=>{a.Filter.HiddenTags.includes(s.groupId)?a.Filter.HiddenTags=a.Filter.HiddenTags.filter(b=>b!==s.groupId):a.Filter.HiddenTags.push(s.groupId)};return(b,f)=>(o(),p("div",Kd,[e("div",Zd,[e("button",{onClick:f[0]||(f[0]=n=>g("iconPickerOpen")),"aria-label":"Pick icon button",class:B([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"])},[l.group.Icon?(o(),p("i",{key:0,class:B(["bi","bi-"+l.group.Icon]),"aria-label":l.group.Icon},null,10,Xd)):(o(),p("span",ec,[r(P,{t:"No Icon"})]))],2),e("button",{class:B([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"]),"aria-label":"Pick color button",onClick:f[1]||(f[1]=n=>g("colorPickerOpen")),style:ge({"background-color":l.group.BackgroundColor,color:T(a).colorText(l.group.BackgroundColor)})},f[6]||(f[6]=[e("i",{class:"bi bi-eyedropper"},null,-1)]),6),ue(e("input",{disabled:!l.edit,"onUpdate:modelValue":f[2]||(f[2]=n=>d.value=n),onChange:f[3]||(f[3]=n=>l.group.GroupName=d.value),placeholder:T(z)("Tag Name"),class:"form-control form-control-sm p-2 rounded-2 w-100"},null,40,tc),[[$e,d.value]]),l.edit?(o(),p("button",{key:0,"aria-label":"Delete Tag Button",onClick:f[4]||(f[4]=n=>g("delete")),class:"rounded-2 border p-2 btn btn-sm btn-outline-danger"},f[7]||(f[7]=[e("i",{class:"bi bi-trash-fill"},null,-1)]))):(o(),p("button",{key:1,"aria-label":"Show / Hide Button",style:{"white-space":"nowrap"},class:B([{active:!T(a).Filter.HiddenTags.includes(l.groupId)},"rounded-2 p-2 btn btn-sm btn-outline-primary"]),onClick:f[5]||(f[5]=n=>c())},[e("i",{class:B(["bi",[T(a).Filter.HiddenTags.includes(l.groupId)?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)],2))])]))}}),sc={class:"w-100 bg-body top-0 border rounded-2"},oc={class:"p-2 d-flex align-items-center gap-2 border-bottom"},ic=["placeholder"],ac={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},nc=["onClick"],rc={class:"p-2 border-top d-flex gap-2"},dc=J({__name:"peerTagIconPicker",props:["group"],emits:["close","select"],setup(l,{emit:t}){const a=t;de(()=>{let d=document.querySelector(".icon-grid div.active");d&&(d.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)});const s=q(""),g=L(()=>s.value?[...Object.keys(xe).filter(d=>d.includes(s.value.toLowerCase()))]:Object.keys(xe));return(d,c)=>(o(),p("div",sc,[e("div",oc,[c[3]||(c[3]=e("label",null,[e("i",{class:"bi bi-search"})],-1)),ue(e("input",{"onUpdate:modelValue":c[0]||(c[0]=b=>s.value=b),placeholder:T(z)("Search Icon"),class:"form-control form-control-sm rounded-2"},null,8,ic),[[$e,s.value]])]),e("div",ac,[(o(!0),p(F,null,H(g.value,b=>(o(),p("div",{class:B(["rounded-1 border icon d-flex",{"text-bg-success active":l.group.Icon===b}]),style:{cursor:"pointer"},key:b,onClick:f=>l.group.Icon=b},[e("i",{class:B(["bi m-auto","bi-"+b])},null,2)],10,nc))),128))]),e("div",rc,[e("button",{onClick:c[1]||(c[1]=b=>l.group.Icon=""),class:"btn btn-sm btn-secondary rounded-2 ms-auto"},[r(P,{t:"Remove Icon"})]),e("button",{class:"btn btn-sm btn-success rounded-2",onClick:c[2]||(c[2]=b=>a("close"))},[r(P,{t:"Done"})])])]))}}),cc=Z(dc,[["__scopeId","data-v-3c48f50e"]]),uc={class:"w-100 bg-body top-0 border rounded-2"},fc={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},pc=["aria-label","onClick"],mc={class:"p-2 border-top d-flex gap-2"},gc=J({__name:"peerTagColorPicker",props:["colors","group"],emits:["close","select",""],setup(l,{emit:t}){const a=t;q("");const s=ae();return de(()=>{let g=document.querySelector(".icon-grid div.active");g&&(g.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)}),(g,d)=>(o(),p("div",uc,[e("div",fc,[(o(!0),p(F,null,H(l.colors,(c,b)=>(o(),p("div",{class:B(["rounded-1 border icon d-flex",{active:l.group.BackgroundColor===c}]),style:ge([{cursor:"pointer"},{"background-color":c}]),"aria-label":b,key:c,onClick:f=>l.group.BackgroundColor=c},[l.group.BackgroundColor===c?(o(),p("i",{key:0,style:ge({color:T(s).colorText(c)}),class:"bi bi-check-circle m-auto"},null,4)):M("",!0)],14,pc))),128))]),e("div",mc,[e("button",{class:"btn btn-sm btn-success rounded-2 ms-auto",onClick:d[0]||(d[0]=c=>a("close"))},[r(P,{t:"Done"})])])]))}}),hc=Z(gc,[["__scopeId","data-v-accdf15e"]]),bc={class:"card shadow rounded-3",id:"peerTag"},vc={class:"card-header"},kc={class:"form-check form-switch"},wc={class:"form-check-label",for:"showAllPeers"},yc={class:"card-body p-2"},xc={key:0},$c={key:0,class:"text-center text-muted"},_c={key:1,class:"d-flex flex-column gap-2"},Pc={class:"card-footer p-2 d-flex gap-2"},Sc=J({__name:"peerTag",props:["configuration"],emits:["close","update"],setup(l,{emit:t}){const a={"blue-100":"#cfe2ff","blue-200":"#9ec5fe","blue-300":"#6ea8fe","blue-400":"#3d8bfd","blue-500":"#0d6efd","blue-600":"#0a58ca","blue-700":"#084298","blue-800":"#052c65","blue-900":"#031633","indigo-100":"#e0cffc","indigo-200":"#c29ffa","indigo-300":"#a370f7","indigo-400":"#8540f5","indigo-500":"#6610f2","indigo-600":"#520dc2","indigo-700":"#3d0a91","indigo-800":"#290661","indigo-900":"#140330","purple-100":"#e2d9f3","purple-200":"#c5b3e6","purple-300":"#a98eda","purple-400":"#8c68cd","purple-500":"#6f42c1","purple-600":"#59359a","purple-700":"#432874","purple-800":"#2c1a4d","purple-900":"#160d27","pink-100":"#f7d6e6","pink-200":"#efadce","pink-300":"#e685b5","pink-400":"#de5c9d","pink-500":"#d63384","pink-600":"#ab296a","pink-700":"#801f4f","pink-800":"#561435","pink-900":"#2b0a1a","red-100":"#f8d7da","red-200":"#f1aeb5","red-300":"#ea868f","red-400":"#e35d6a","red-500":"#dc3545","red-600":"#b02a37","red-700":"#842029","red-800":"#58151c","red-900":"#2c0b0e","orange-100":"#ffe5d0","orange-200":"#fecba1","orange-300":"#feb272","orange-400":"#fd9843","orange-500":"#fd7e14","orange-600":"#ca6510","orange-700":"#984c0c","orange-800":"#653208","orange-900":"#331904","yellow-100":"#fff3cd","yellow-200":"#ffe69c","yellow-300":"#ffda6a","yellow-400":"#ffcd39","yellow-500":"#ffc107","yellow-600":"#cc9a06","yellow-700":"#997404","yellow-800":"#664d03","yellow-900":"#332701","green-100":"#d1e7dd","green-200":"#a3cfbb","green-300":"#75b798","green-400":"#479f76","green-500":"#198754","green-600":"#146c43","green-700":"#0f5132","green-800":"#0a3622","green-900":"#051b11","teal-100":"#d2f4ea","teal-200":"#a6e9d5","teal-300":"#79dfc1","teal-400":"#4dd4ac","teal-500":"#20c997","teal-600":"#1aa179","teal-700":"#13795b","teal-800":"#0d503c","teal-900":"#06281e","cyan-100":"#cff4fc","cyan-200":"#9eeaf9","cyan-300":"#6edff6","cyan-400":"#3dd5f3","cyan-500":"#0dcaf0","cyan-600":"#0aa2c0","cyan-700":"#087990","cyan-800":"#055160","cyan-900":"#032830","gray-100":"#f8f9fa","gray-200":"#e9ecef","gray-300":"#dee2e6","gray-400":"#ced4da","gray-500":"#adb5bd","gray-600":"#6c757d","gray-700":"#495057","gray-800":"#343a40","gray-900":"#212529",white:"#fff",black:"#000"},s=ae(),g=l,d=Oe({...g.configuration.Info.PeerGroups}),c=()=>{d[Qe().toString()]={GroupName:"",Description:"",BackgroundColor:b(),Icon:f(),Peers:[]}},b=()=>{const D=Object.keys(a),w=Math.floor(Math.random()*D.length)+1;return a[D[w]]},f=()=>{const D=Object.keys(xe),w=Math.floor(Math.random()*D.length)+1;return D[w]},n=q(!1),m=q(!1),v=q(""),k=t;ee(()=>d,D=>{X("/api/updateWireguardConfigurationInfo",{Name:g.configuration.Name,Key:"PeerGroups",Value:D},w=>{w.status&&k("update",d)})},{deep:!0});const $=q(!1);return(D,w)=>(o(),p("div",bc,[e("div",vc,[e("div",kc,[ue(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"showAllPeers","onUpdate:modelValue":w[0]||(w[0]=u=>T(s).Filter.ShowAllPeersWhenHiddenTags=u)},null,512),[[Me,T(s).Filter.ShowAllPeersWhenHiddenTags]]),e("label",wc,[e("small",null,[r(P,{t:"Show All Peers"})])])])]),e("div",yc,[r(ne,{name:"zoom",mode:"out-in"},{default:Q(()=>[!n.value&&!m.value?(o(),p("div",xc,[Object.keys(d).length===0?(o(),p("div",$c,[e("small",null,[r(P,{t:"No tag"})])])):(o(),p("div",_c,[r(he,{name:"slide-fade"},{default:Q(()=>[(o(!0),p(F,null,H(d,(u,h)=>(o(),I(lc,{groupId:h,onDelete:C=>{delete d[h],T(s).Filter.HiddenTags=T(s).Filter.HiddenTags.filter(E=>E!==h)},onColorPickerOpen:C=>{m.value=!0,v.value=h},onIconPickerOpen:C=>{n.value=!0,v.value=h},key:h,edit:$.value,group:u},null,8,["groupId","onDelete","onColorPickerOpen","onIconPickerOpen","edit","group"]))),128))]),_:1})]))])):n.value?(o(),I(cc,{key:1,onClose:w[1]||(w[1]=u=>n.value=!1),group:d[v.value]},null,8,["group"])):m.value?(o(),I(hc,{key:2,colors:a,onClose:w[2]||(w[2]=u=>m.value=!1),group:d[v.value]},null,8,["group"])):M("",!0)]),_:1})]),e("div",Pc,[$.value?(o(),p(F,{key:1},[e("button",{onClick:c,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[e("small",null,[w[7]||(w[7]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(P,{t:"Tag"})])]),e("button",{onClick:w[5]||(w[5]=u=>$.value=!1),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 ms-auto"},[e("small",null,[r(P,{t:"Done"})])])],64)):(o(),p(F,{key:0},[e("button",{onClick:w[3]||(w[3]=u=>k("close")),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[e("small",null,[r(P,{t:"Close"})])]),e("button",{onClick:w[4]||(w[4]=u=>$.value=!0),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 ms-auto"},[e("small",null,[w[6]||(w[6]=e("i",{class:"bi bi-pen me-2"},null,-1)),r(P,{t:"Edit"})])])],64))])]))}}),Cc=Z(Sc,[["__scopeId","data-v-ab3e5c4e"]]),Dc={name:"peerSearch",components:{PeerTag:Cc,LocaleText:P},setup(){const l=oe(),t=ae();return{store:l,wireguardConfigurationStore:t}},props:{configuration:Object,displayTags:Array},data(){return{sort:{status:z("Status"),name:z("Name"),allowed_ip:z("Allowed IPs"),restricted:z("Restricted")},interval:{5e3:z("5 Seconds"),1e4:z("10 Seconds"),3e4:z("30 Seconds"),6e4:z("1 Minutes")},display:{grid:z("Grid"),list:z("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1,tagManager:!1}},methods:{updateSort(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:l},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:l},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:l},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){te(`/api/downloadAllPeers/${this.configuration.Name}`,{},l=>{l.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(l,this.configuration.Name)})}}},Oc={class:"d-flex flex-column gap-2 my-4"},Mc={class:"d-flex gap-2 peerSearchContainer"},qc={class:"dropdown"},Ic={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Tc={class:"badge text-bg-primary ms-2"},jc={class:"dropdown-menu rounded-3"},Ac=["onClick"],Bc={class:"ms-auto"},Lc={key:0,class:"bi bi-check-circle-fill"},Rc={class:"dropdown"},Ec={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Nc={class:"badge text-bg-primary ms-2"},Fc={class:"dropdown-menu rounded-3"},zc=["onClick"],Hc={class:"ms-auto"},Yc={key:0,class:"bi bi-check-circle-fill"},Gc={class:"dropdown"},Vc={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Jc={class:"badge text-bg-primary ms-2"},Wc={class:"dropdown-menu rounded-3"},Uc=["onClick"],Qc={class:"ms-auto"},Kc={key:0,class:"bi bi-check-circle-fill"},Zc={class:"position-relative"};function Xc(l,t,a,s,g,d){const c=le("LocaleText"),b=le("PeerTag");return o(),p("div",Oc,[e("div",Mc,[e("div",qc,[e("button",Ic,[t[7]||(t[7]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),r(c,{t:"Sort By"}),e("span",Tc,O(this.sort[s.store.Configuration.Server.dashboard_sort]),1)]),e("ul",jc,[(o(!0),p(F,null,H(this.sort,(f,n)=>(o(),p("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:m=>this.updateSort(n)},[e("small",null,O(f),1),e("small",Bc,[s.store.Configuration.Server.dashboard_sort===n?(o(),p("i",Lc)):M("",!0)])],8,Ac)]))),256))])]),e("div",Rc,[e("button",Ec,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),r(c,{t:"Refresh Interval"}),e("span",Nc,O(this.interval[s.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",Fc,[(o(!0),p(F,null,H(this.interval,(f,n)=>(o(),p("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:m=>this.updateRefreshInterval(n)},[e("small",null,O(f),1),e("small",Hc,[s.store.Configuration.Server.dashboard_refresh_interval===n?(o(),p("i",Yc)):M("",!0)])],8,zc)]))),256))])]),e("div",Gc,[e("button",Vc,[e("i",{class:B(["bi me-2","bi-"+s.store.Configuration.Server.dashboard_peer_list_display])},null,2),r(c,{t:"Display"}),e("span",Jc,O(this.display[s.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",Wc,[(o(!0),p(F,null,H(this.display,(f,n)=>(o(),p("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:m=>this.updateDisplay(n)},[e("small",null,O(f),1),e("small",Qc,[s.store.Configuration.Server.dashboard_peer_list_display===n?(o(),p("i",Kc)):M("",!0)])],8,Uc)]))),256))])]),e("div",Zc,[e("button",{onClick:t[0]||(t[0]=f=>g.tagManager=!g.tagManager),class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},[t[9]||(t[9]=e("i",{class:"bi me-2 bi-tag"},null,-1)),r(c,{t:"Tags"})]),r(ne,{name:"slide-fade"},{default:Q(()=>[this.tagManager?(o(),I(b,{key:0,onUpdate:t[1]||(t[1]=f=>a.configuration.Info.PeerGroups=f),onClose:t[2]||(t[2]=f=>this.tagManager=!1),configuration:a.configuration},null,8,["configuration"])):M("",!0)]),_:1})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[3]||(t[3]=f=>this.$emit("search"))},[t[10]||(t[10]=e("i",{class:"bi bi-search me-2"},null,-1)),r(c,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[4]||(t[4]=f=>this.downloadAllPeer())},[t[11]||(t[11]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),r(c,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[5]||(t[5]=f=>this.$emit("selectPeers"))},[t[12]||(t[12]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),r(c,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[6]||(t[6]=f=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),r(c,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const e6=Z(Dc,[["render",Xc],["__scopeId","data-v-71502547"]]);function t6(l){return Ke()?(Ze(l),!0):!1}const Ye=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const l6=Object.prototype.toString,s6=l=>l6.call(l)==="[object Object]",ie=()=>{},o6=i6();function i6(){var l,t;return Ye&&((l=window?.navigator)==null?void 0:l.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function we(l){return Array.isArray(l)?l:[l]}function a6(l,t,a){return ee(l,t,{...a,immediate:!0})}const Ge=Ye?window:void 0;function re(l){var t;const a=se(l);return(t=a?.$el)!=null?t:a}function ye(...l){const t=[],a=()=>{t.forEach(b=>b()),t.length=0},s=(b,f,n,m)=>(b.addEventListener(f,n,m),()=>b.removeEventListener(f,n,m)),g=L(()=>{const b=we(se(l[0])).filter(f=>f!=null);return b.every(f=>typeof f!="string")?b:void 0}),d=a6(()=>{var b,f;return[(f=(b=g.value)==null?void 0:b.map(n=>re(n)))!=null?f:[Ge].filter(n=>n!=null),we(se(g.value?l[1]:l[0])),we(T(g.value?l[2]:l[1])),se(g.value?l[3]:l[2])]},([b,f,n,m])=>{if(a(),!b?.length||!f?.length||!n?.length)return;const v=s6(m)?{...m}:m;t.push(...b.flatMap(k=>f.flatMap($=>n.map(D=>s(k,$,D,v)))))},{flush:"post"}),c=()=>{d(),a()};return t6(a),c}let Pe=!1;function n6(l,t,a={}){const{window:s=Ge,ignore:g=[],capture:d=!0,detectIframe:c=!1,controls:b=!1}=a;if(!s)return b?{stop:ie,cancel:ie,trigger:ie}:ie;if(o6&&!Pe){Pe=!0;const u={passive:!0};Array.from(s.document.body.children).forEach(h=>h.addEventListener("click",ie,u)),s.document.documentElement.addEventListener("click",ie,u)}let f=!0;const n=u=>se(g).some(h=>{if(typeof h=="string")return Array.from(s.document.querySelectorAll(h)).some(C=>C===u.target||u.composedPath().includes(C));{const C=re(h);return C&&(u.target===C||u.composedPath().includes(C))}});function m(u){const h=se(u);return h&&h.$.subTree.shapeFlag===16}function v(u,h){const C=se(u),E=C.$.subTree&&C.$.subTree.children;return E==null||!Array.isArray(E)?!1:E.some(W=>W.el===h.target||h.composedPath().includes(W.el))}const k=u=>{const h=re(l);if(u.target!=null&&!(!(h instanceof Element)&&m(l)&&v(l,u))&&!(!h||h===u.target||u.composedPath().includes(h))){if("detail"in u&&u.detail===0&&(f=!n(u)),!f){f=!0;return}t(u)}};let $=!1;const D=[ye(s,"click",u=>{$||($=!0,setTimeout(()=>{$=!1},0),k(u))},{passive:!0,capture:d}),ye(s,"pointerdown",u=>{const h=re(l);f=!n(u)&&!!(h&&!u.composedPath().includes(h))},{passive:!0}),c&&ye(s,"blur",u=>{setTimeout(()=>{var h;const C=re(l);((h=s.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!C?.contains(s.document.activeElement)&&t(u)},0)},{passive:!0})].filter(Boolean),w=()=>D.forEach(u=>u());return b?{stop:w,cancel:()=>{f=!1},trigger:u=>{f=!0,k(u),f=!1}}:w}const r6={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},d6={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(l,{emit:t}){const a=t,s=q(!1);return(g,d)=>(o(),p("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:d[0]||(d[0]=c=>s.value=!0),onMouseleave:d[1]||(d[1]=c=>s.value=!1),onClick:d[2]||(d[2]=c=>a("click"))},[e("i",{class:B(["me-auto bi",l.icon])},null,2),r(ne,{name:"zoomReversed"},{default:Q(()=>[s.value?(o(),p("span",r6,[e("small",null,[r(P,{t:l.title},null,8,["t"])])])):M("",!0)]),_:1})],32))}},c6=Z(d6,[["__scopeId","data-v-d4e41a56"]]),u6={class:"mb-0"},Ve=J({__name:"peerTagBadge",props:["BackgroundColor","GroupName","Icon"],setup(l){const t=ae();return(a,s)=>(o(),p("h6",u6,[e("span",{class:"badge rounded-3 shadow",style:ge({"background-color":l.BackgroundColor,color:T(t).colorText(l.BackgroundColor)})},[l.Icon?(o(),p("i",{key:0,class:B(["bi",[l.Icon,l.GroupName?"me-2":""]])},null,2)):M("",!0),N(O(l.GroupName),1)],4)]))}}),f6={class:"dropdown-menu"},p6=["onClick"],m6={key:0,class:"bi bi-check-circle-fill"},g6={key:1,class:"bi bi-circle"},h6=J({__name:"peerTagSelectDropdown",props:["Peer","ConfigurationInfo"],emits:["update"],setup(l,{emit:t}){const a=l,s=Oe({...a.ConfigurationInfo.Info.PeerGroups}),g=t;ee(()=>s,c=>{X("/api/updateWireguardConfigurationInfo",{Name:a.ConfigurationInfo.Name,Key:"PeerGroups",Value:c},b=>{b.status&&g("update",s)})},{deep:!0});const d=(c,b)=>{s[c].Peers.includes(b)?s[c].Peers=s[c].Peers.filter(f=>f!==b):s[c].Peers.push(b)};return(c,b)=>(o(),p("ul",f6,[(o(!0),p(F,null,H(s,(f,n)=>(o(),p("li",null,[e("a",{role:"button",onClick:m=>d(n,l.Peer.id),class:"dropdown-item d-flex align-items-center"},[f.Peers.includes(l.Peer.id)?(o(),p("i",m6)):(o(),p("i",g6)),r(Ve,{class:"ms-auto",BackgroundColor:f.BackgroundColor,GroupName:f.GroupName,Icon:"bi-"+f.Icon},null,8,["BackgroundColor","GroupName","Icon"])],8,p6)]))),256))]))}}),b6={name:"peerSettingsDropdown",components:{PeerTagSelectDropdown:h6,PeerSettingsDropdownTool:c6,LocaleText:P},setup(){return{dashboardStore:oe()}},props:{Peer:Object,ConfigurationInfo:Object,dropup:Boolean},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1,height:0}},mounted(){this.height=document.querySelector("#peerDropdown").clientHeight},methods:{downloadPeer(){te("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},l=>{if(l.status){const t=new Blob([l.data.file],{type:"text/conf"}),a=URL.createObjectURL(t),s=`${l.data.fileName}.conf`,g=document.createElement("a");g.href=a,g.download=s,g.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",l.message,"danger")})},downloadQRCode(l){te("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(l,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,X(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,X(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,X(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},v6={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},k6={class:"text-body d-flex"},w6={class:"ms-auto"},y6={key:1},x6={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},$6={key:2},_6={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},P6={class:"dropdown dropstart"},S6={class:"dropdown-item d-flex",role:"button","data-bs-auto-close":"outside","data-bs-toggle":"dropdown"},C6={key:1,class:"confirmDelete"},D6={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},O6={class:"d-flex w-100 gap-2"},M6=["disabled"],q6=["disabled"],I6={key:1};function T6(l,t,a,s,g,d){const c=le("LocaleText"),b=le("PeerSettingsDropdownTool"),f=le("PeerTagSelectDropdown");return o(),p("ul",{class:B([{dropup:a.dropup},"dropdown-menu mt-2 shadow-lg d-block rounded-3"]),id:"peerDropdown",style:{"max-width":"200px"}},[this.Peer.restricted?(o(),p("li",I6,[e("a",{class:B(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[12]||(t[12]=n=>this.allowAccessPeer()),role:"button"},[t[28]||(t[28]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(o(),I(c,{key:1,t:"Allowing Access..."})):(o(),I(c,{key:0,t:"Allow Access"}))],2)])):(o(),p(F,{key:0},[this.confirmDelete?(o(),p("li",C6,[e("p",D6,[r(c,{t:"Are you sure to delete this peer?"})]),e("div",O6,[e("button",{onClick:t[10]||(t[10]=n=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[r(c,{t:"Yes"})],8,M6),e("button",{disabled:this.deleteBtnDisabled,onClick:t[11]||(t[11]=n=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[r(c,{t:"No"})],8,q6)])])):(o(),p(F,{key:0},[this.Peer.status==="running"?(o(),p(F,{key:0},[e("li",v6,[e("span",k6,[t[13]||(t[13]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",w6,O(this.Peer.endpoint),1)])]),t[14]||(t[14]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):M("",!0),this.Peer.private_key?(o(),p("li",$6,[t[15]||(t[15]=e("div",{class:"text-center text-muted"},null,-1)),e("div",_6,[r(b,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=n=>this.downloadPeer())}),r(b,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=n=>this.$emit("qrcode"))}),r(b,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=n=>this.$emit("configurationFile"))}),r(b,{icon:"bi-share",title:"Share Peer",onClick:t[3]||(t[3]=n=>this.$emit("share"))})])])):(o(),p("li",y6,[e("small",x6,[r(c,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[26]||(t[26]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=n=>this.$emit("setting"))},[t[16]||(t[16]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[17]||(t[17]=N()),r(c,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=n=>this.$emit("jobs"))},[t[18]||(t[18]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[19]||(t[19]=N()),r(c,{t:"Schedule Jobs"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[6]||(t[6]=n=>this.$emit("assign"))},[t[20]||(t[20]=e("i",{class:"me-auto bi bi-diagram-2"},null,-1)),t[21]||(t[21]=N()),r(c,{t:"Assign Peer"})])]),e("li",P6,[e("a",S6,[t[22]||(t[22]=e("i",{class:"me-auto bi bi-tag"},null,-1)),t[23]||(t[23]=N()),r(c,{t:"Tag Peer"})]),r(f,{onUpdate:t[7]||(t[7]=n=>this.$emit("refresh")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo},null,8,["Peer","ConfigurationInfo"])]),t[27]||(t[27]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:B(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[8]||(t[8]=n=>this.restrictPeer()),role:"button"},[t[24]||(t[24]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(o(),I(c,{key:1,t:"Restricting..."})):(o(),I(c,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:B(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[9]||(t[9]=n=>this.confirmDelete=!0),role:"button"},[t[25]||(t[25]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(o(),I(c,{key:1,t:"Deleting..."})):(o(),I(c,{key:0,t:"Delete"}))],2)])],64))],64))],2)}const j6=Z(b6,[["render",T6],["__scopeId","data-v-18549c26"]]),A6={name:"peer",methods:{GetLocale:z},components:{PeerTagBadge:Ve,LocaleText:P,PeerSettingsDropdown:j6},props:{Peer:Object,ConfigurationInfo:Object,order:Number,searchPeersLength:Number},setup(){const l=q(null),t=q(!1),a=oe();return n6(l,s=>{t.value=!1}),{target:l,subMenuOpened:t,dashboardStore:a}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake},getDropup(){return this.searchPeersLength-this.order<=3}}},B6=["id"],L6={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},R6={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},E6={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},N6={class:"text-primary"},F6={class:"text-success"},z6={key:0,class:"text-secondary"},H6={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},Y6={class:"card-body pt-1",style:{"font-size":"0.9rem"}},G6={class:"text-muted"},V6={class:"d-block"},J6={class:"text-muted"},W6={class:"d-block"},U6={class:"d-flex align-items-center"};function Q6(l,t,a,s,g,d){const c=le("LocaleText"),b=le("PeerTagBadge"),f=le("PeerSettingsDropdown");return o(),p("div",{class:B(["card shadow-sm rounded-3 peerCard",{"border-warning":a.Peer.restricted}]),id:"peer_"+a.Peer.id},[e("div",null,[a.Peer.restricted?(o(),p("div",H6,[t[15]||(t[15]=e("i",{class:"bi-lock-fill me-2"},null,-1)),r(c,{t:"Access Restricted"})])):(o(),p("div",L6,[e("div",{class:B(["dot ms-0",{active:a.Peer.status==="running"}])},null,2),s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&a.Peer.status==="running"?(o(),p("div",R6,[t[9]||(t[9]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,O(a.Peer.endpoint),1)])):M("",!0),e("div",E6,[e("span",N6,[t[10]||(t[10]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,O((a.Peer.cumu_receive+a.Peer.total_receive).toFixed(4)),1),t[11]||(t[11]=N(" GB "))]),e("span",F6,[t[12]||(t[12]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,O((a.Peer.cumu_sent+a.Peer.total_sent).toFixed(4)),1),t[13]||(t[13]=N(" GB "))]),a.Peer.latest_handshake!=="No Handshake"?(o(),p("span",z6,[t[14]||(t[14]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),N(" "+O(d.getLatestHandshake)+" ago ",1)])):M("",!0)])]))]),e("div",Y6,[e("h6",null,O(a.Peer.name?a.Peer.name:d.GetLocale("Untitled Peer")),1),e("div",{class:B(["d-flex",[s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:B({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",G6,[r(c,{t:"Public Key"})]),e("small",V6,[e("samp",null,O(a.Peer.id),1)])],2),e("div",{class:B({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",J6,[r(c,{t:"Allowed IPs"})]),e("small",W6,[e("samp",null,O(a.Peer.allowed_ip),1)])],2),e("div",{class:B(["d-flex align-items-center gap-1",{"ms-auto":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"}])},[(o(!0),p(F,null,H(Object.values(a.ConfigurationInfo.Info.PeerGroups).filter(n=>n.Peers.includes(a.Peer.id)),n=>(o(),I(b,{BackgroundColor:n.BackgroundColor,GroupName:n.GroupName,Icon:"bi-"+n.Icon},null,8,["BackgroundColor","GroupName","Icon"]))),256)),e("div",{class:B(["ms-auto px-2 rounded-3 subMenuBtn position-relative",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=n=>this.subMenuOpened=!0)},t[16]||(t[16]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])),r(ne,{name:"slide-fade"},{default:Q(()=>[this.subMenuOpened?(o(),I(f,{key:0,dropup:d.getDropup,onQrcode:t[1]||(t[1]=n=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=n=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=n=>this.$emit("setting")),onJobs:t[4]||(t[4]=n=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=n=>this.$emit("refresh")),onShare:t[6]||(t[6]=n=>this.$emit("share")),onAssign:t[7]||(t[7]=n=>this.$emit("assign")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo,ref:"target"},null,8,["dropup","Peer","ConfigurationInfo"])):M("",!0)]),_:1})],2)],2)],2)]),e("div",{class:"card-footer",role:"button",onClick:t[8]||(t[8]=n=>l.$emit("details"))},[e("small",U6,[r(c,{t:"Details"}),t[17]||(t[17]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])])],10,B6)}const K6=Z(A6,[["render",Q6],["__scopeId","data-v-06609b08"]]),Z6={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(l,{emit:t}){const a=t,s=G(()=>V(()=>import("./peerAssignModal-DuPflJwB.js"),__vite__mapDeps([0,1,2,3,4,5]))),g=G(()=>V(()=>import("./peerShareLinkModal-BGmaWj4p.js"),__vite__mapDeps([6,2,3,7,8,1,9]))),d=G(()=>V(()=>import("./peerJobs-jGW1mswZ.js"),__vite__mapDeps([10,11,2,3,8,7,1,12,13]))),c=G(()=>V(()=>import("./peerQRCode-hIJWR375.js"),__vite__mapDeps([14,15,2,3,16,1,17]))),b=G(()=>V(()=>import("./peerConfigurationFile-Bvds9YiG.js"),__vite__mapDeps([18,2,3,1,15,16,19]))),f=G(()=>V(()=>import("./peerSettings-P8zE49-z.js"),__vite__mapDeps([20,2,3,1,21])));return(n,m)=>(o(),I(he,{name:"zoom"},{default:Q(()=>[l.configurationModals.peerSetting.modalOpen?(o(),I(T(f),{key:"PeerSettingsModal",selectedPeer:l.configurationModalSelectedPeer,onRefresh:m[0]||(m[0]=v=>a("refresh")),onClose:m[1]||(m[1]=v=>l.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0),l.configurationModals.peerQRCode.modalOpen?(o(),I(T(c),{key:"PeerQRCodeModal",selectedPeer:l.configurationModalSelectedPeer,onClose:m[2]||(m[2]=v=>l.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0),l.configurationModals.peerScheduleJobs.modalOpen?(o(),I(T(d),{key:"PeerJobsModal",onRefresh:m[3]||(m[3]=v=>a("refresh")),selectedPeer:l.configurationModalSelectedPeer,onClose:m[4]||(m[4]=v=>l.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0),l.configurationModals.peerShare.modalOpen?(o(),I(T(g),{key:"PeerShareLinkModal",onClose:m[5]||(m[5]=v=>{l.configurationModals.peerShare.modalOpen=!1}),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):M("",!0),l.configurationModals.peerConfigurationFile.modalOpen?(o(),I(T(b),{key:"PeerConfigurationFileModal",onClose:m[6]||(m[6]=v=>l.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):M("",!0),l.configurationModals.assignPeer.modalOpen?(o(),I(T(s),{key:"PeerAssignModal",selectedPeer:l.configurationModalSelectedPeer,onClose:m[7]||(m[7]=v=>l.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0)]),_:1}))}},X6={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},eu={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(l,{emit:t}){const a=q(void 0),s=t;return de(()=>{a.value=new IntersectionObserver(g=>{g.forEach(d=>{d.isIntersecting&&s("loadMore")})},{rootMargin:"20px",threshold:1}),a.value.observe(document.querySelector("#loadMore"))}),ce(()=>{a.value.disconnect()}),(g,d)=>(o(),p("div",X6))}},tu={class:"d-flex gap-1 flex-column"},lu=J({__name:"configurationDescription",props:["configuration"],setup(l){const t=l,a=q(t.configuration.Info.Description),s=q(!1),g=q(!1),d=async()=>{await X("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:"Description",Value:a.value},b=>{g.value=b.status,c()})},c=()=>{s.value=!0,setTimeout(()=>{s.value=!1},3e3)};return(b,f)=>(o(),p("div",tu,[f[2]||(f[2]=e("label",{for:"configurationDescription"},[e("small",{style:{"white-space":"nowrap"},class:"text-muted"},[e("i",{class:"bi bi-pencil-fill me-2"}),N("Notes ")])],-1)),ue(e("input",{type:"text",class:B([[s.value?[g.value?"is-valid":"is-invalid"]:void 0],"form-control rounded-3 bg-transparent form-control-sm"]),id:"configurationDescription","onUpdate:modelValue":f[0]||(f[0]=n=>a.value=n),onChange:f[1]||(f[1]=n=>d())},null,34),[[$e,a.value]])]))}});var pe={exports:{}},su=pe.exports,Se;function ou(){return Se||(Se=1,function(l,t){(function(a,s){l.exports=s()})(su,function(){return function(a,s){s.prototype.isSameOrBefore=function(g,d){return this.isSame(g,d)||this.isBefore(g,d)}}})}(pe)),pe.exports}var iu=ou();const Je=qe(iu);var me={exports:{}},au=me.exports,Ce;function nu(){return Ce||(Ce=1,function(l,t){(function(a,s){l.exports=s()})(au,function(){var a,s,g=1e3,d=6e4,c=36e5,b=864e5,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,n=31536e6,m=2628e6,v=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,k={years:n,months:m,days:b,hours:c,minutes:d,seconds:g,milliseconds:1,weeks:6048e5},$=function(j){return j instanceof W},D=function(j,S,y){return new W(j,y,S.$l)},w=function(j){return s.p(j)+"s"},u=function(j){return j<0},h=function(j){return u(j)?Math.ceil(j):Math.floor(j)},C=function(j){return Math.abs(j)},E=function(j,S){return j?u(j)?{negative:!0,format:""+C(j)+S}:{negative:!1,format:""+j+S}:{negative:!1,format:""}},W=function(){function j(y,A,R){var x=this;if(this.$d={},this.$l=R,y===void 0&&(this.$ms=0,this.parseFromMilliseconds()),A)return D(y*k[w(A)],this);if(typeof y=="number")return this.$ms=y,this.parseFromMilliseconds(),this;if(typeof y=="object")return Object.keys(y).forEach(function(Y){x.$d[w(Y)]=y[Y]}),this.calMilliseconds(),this;if(typeof y=="string"){var i=y.match(v);if(i){var _=i.slice(2).map(function(Y){return Y!=null?Number(Y):0});return this.$d.years=_[0],this.$d.months=_[1],this.$d.weeks=_[2],this.$d.days=_[3],this.$d.hours=_[4],this.$d.minutes=_[5],this.$d.seconds=_[6],this.calMilliseconds(),this}}return this}var S=j.prototype;return S.calMilliseconds=function(){var y=this;this.$ms=Object.keys(this.$d).reduce(function(A,R){return A+(y.$d[R]||0)*k[R]},0)},S.parseFromMilliseconds=function(){var y=this.$ms;this.$d.years=h(y/n),y%=n,this.$d.months=h(y/m),y%=m,this.$d.days=h(y/b),y%=b,this.$d.hours=h(y/c),y%=c,this.$d.minutes=h(y/d),y%=d,this.$d.seconds=h(y/g),y%=g,this.$d.milliseconds=y},S.toISOString=function(){var y=E(this.$d.years,"Y"),A=E(this.$d.months,"M"),R=+this.$d.days||0;this.$d.weeks&&(R+=7*this.$d.weeks);var x=E(R,"D"),i=E(this.$d.hours,"H"),_=E(this.$d.minutes,"M"),Y=this.$d.seconds||0;this.$d.milliseconds&&(Y+=this.$d.milliseconds/1e3,Y=Math.round(1e3*Y)/1e3);var U=E(Y,"S"),We=y.negative||A.negative||x.negative||i.negative||_.negative||U.negative,Ue=i.format||_.format||U.format?"T":"",ve=(We?"-":"")+"P"+y.format+A.format+x.format+Ue+i.format+_.format+U.format;return ve==="P"||ve==="-P"?"P0D":ve},S.toJSON=function(){return this.toISOString()},S.format=function(y){var A=y||"YYYY-MM-DDTHH:mm:ss",R={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return A.replace(f,function(x,i){return i||String(R[x])})},S.as=function(y){return this.$ms/k[w(y)]},S.get=function(y){var A=this.$ms,R=w(y);return R==="milliseconds"?A%=1e3:A=R==="weeks"?h(A/k[R]):this.$d[R],A||0},S.add=function(y,A,R){var x;return x=A?y*k[w(A)]:$(y)?y.$ms:D(y,this).$ms,D(this.$ms+x*(R?-1:1),this)},S.subtract=function(y,A){return this.add(y,A,!0)},S.locale=function(y){var A=this.clone();return A.$l=y,A},S.clone=function(){return D(this.$ms,this)},S.humanize=function(y){return a().add(this.$ms,"ms").locale(this.$l).fromNow(!y)},S.valueOf=function(){return this.asMilliseconds()},S.milliseconds=function(){return this.get("milliseconds")},S.asMilliseconds=function(){return this.as("milliseconds")},S.seconds=function(){return this.get("seconds")},S.asSeconds=function(){return this.as("seconds")},S.minutes=function(){return this.get("minutes")},S.asMinutes=function(){return this.as("minutes")},S.hours=function(){return this.get("hours")},S.asHours=function(){return this.as("hours")},S.days=function(){return this.get("days")},S.asDays=function(){return this.as("days")},S.weeks=function(){return this.get("weeks")},S.asWeeks=function(){return this.as("weeks")},S.months=function(){return this.get("months")},S.asMonths=function(){return this.as("months")},S.years=function(){return this.get("years")},S.asYears=function(){return this.as("years")},j}(),fe=function(j,S,y){return j.add(S.years()*y,"y").add(S.months()*y,"M").add(S.days()*y,"d").add(S.hours()*y,"h").add(S.minutes()*y,"m").add(S.seconds()*y,"s").add(S.milliseconds()*y,"ms")};return function(j,S,y){a=y,s=y().$utils(),y.duration=function(x,i){var _=y.locale();return D(x,{$l:_},i)},y.isDuration=$;var A=S.prototype.add,R=S.prototype.subtract;S.prototype.add=function(x,i){return $(x)?fe(this,x,1):A.bind(this)(x,i)},S.prototype.subtract=function(x,i){return $(x)?fe(this,x,-1):R.bind(this)(x,i)}}})}(me)),me.exports}var ru=nu();const du=qe(ru),cu={key:0,class:"sessions-label"},uu={class:"d-flex flex-wrap gap-1 session-dot"},fu={class:"bg-warning",style:{height:"5px",width:"5px","border-radius":"100%","vertical-align":"top"}},pu={class:"p-1 badge text-bg-warning text-start session-badge-list"},mu={class:"mt-1"},gu=J({__name:"peerSessionCalendarDay",props:["sessions","day"],emits:["openDetails"],setup(l){const t=l;K.extend(Je),K.extend(du);const a=L(()=>{let s=t.sessions.map(d=>K(d)).filter(d=>d.isSame(t.day,"D")).reverse(),g=[];if(s.length>1){let d=[s[0]];for(let c of s.slice(1))c.isSameOrBefore(d[d.length-1].add(3,"minute"))?d.push(c):(g.push({timestamps:d,duration:K.duration(d[d.length-1].diff(d[0]))}),d=[c]);g.push({timestamps:d,duration:K.duration(d[d.length-1].diff(d[0]))})}return g});return(s,g)=>(o(),p("div",{class:"d-flex gap-1 flex-column session-list",onClick:g[0]||(g[0]=d=>s.$emit("openDetails",a.value))},[a.value.length>0?(o(),p("small",cu,[r(P,{t:a.value.length+" Session"+(a.value.length>1?"s":"")},null,8,["t"])])):M("",!0),e("div",uu,[(o(!0),p(F,null,H(a.value.length,d=>(o(),p("div",fu))),256))]),(o(!0),p(F,null,H(a.value,d=>(o(),p("div",pu,[e("div",null,[g[1]||(g[1]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),N(O(d.timestamps[0].format("HH:mm:ss")),1),g[2]||(g[2]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),N(O(d.timestamps[d.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",mu,[r(P,{t:"Duration:"}),N(" "+O(d.duration.format("HH:mm:ss")),1)])]))),256))]))}}),hu=Z(gu,[["__scopeId","data-v-5178a57b"]]),bu={class:"card rounded-3 bg-transparent"},vu={class:"card-header d-flex align-items-center"},ku={class:"mx-auto mb-0 text-center"},wu={class:"text-muted",style:{"font-size":"0.9rem"}},yu={class:"card-body p-0 position-relative"},xu={class:"calendar-grid"},$u=["onClick"],_u={class:"d-flex day-label"},Pu={key:0,class:"bi bi-check-circle-fill ms-auto"},Su={key:0,class:"position-absolute rounded-bottom-3 dayDetail p-3",style:{bottom:"0",height:"100%",width:"100%","z-index":"9999",background:"#00000050","backdrop-filter":"blur(8px)",overflow:"scroll"}},Cu={class:"d-flex mb-3"},Du={class:"mb-0"},Ou={class:"d-flex flex-column gap-2"},Mu={class:"p-1 badge text-bg-warning text-start session-list d-flex align-items-center"},qu={class:"ms-auto"},Iu=J({__name:"peerSessions",props:["selectedPeer","selectedDate"],emits:["selectDate"],setup(l,{emit:t}){const a=l;oe();const s=q([]);K.extend(Je);const g=q(void 0),d=q(0),c=q(K()),b=L(()=>K().add(d.value,"month")),f=L(()=>b.value.startOf("month")),n=L(()=>b.value.endOf("month")),m=L(()=>f.value.startOf("week")),v=L(()=>n.value.endOf("week")),k=L(()=>{let u=[],h=m.value;for(;h.isSameOrBefore(v.value,"day");)u.push(h),h=h.add(1,"day");if(u.length<42){let C=42-u.length;for(let E=0;E{await te("/api/getPeerSessions",{configurationName:a.selectedPeer.configuration.Name,id:a.selectedPeer.id,startDate:m.value.format("YYYY-MM-DD"),endDate:v.value.format("YYYY-MM-DD")},u=>{s.value=u.data.reverse()})};$(),g.value=setInterval(async()=>{await $()},6e4),ce(()=>{clearInterval(g.value)}),ee(()=>b.value,()=>$());const D=q(!1),w=q(void 0);return(u,h)=>(o(),p("div",null,[e("div",bu,[e("div",vu,[e("button",{class:"btn btn-sm rounded-3",onClick:h[0]||(h[0]=C=>d.value-=1)},h[5]||(h[5]=[e("i",{class:"bi bi-chevron-left"},null,-1)])),d.value!==0?(o(),p("button",{key:0,class:"btn btn-sm rounded-3",onClick:h[1]||(h[1]=C=>{d.value=0,u.$emit("selectDate",u.day)})},[r(P,{t:"Today"})])):M("",!0),e("h5",ku,[e("small",wu,[r(P,{t:"Peer Historical Sessions"})]),h[6]||(h[6]=e("br",null,null,-1)),N(" "+O(b.value.format("YYYY / MM")),1)]),d.value!==0?(o(),p("button",{key:1,class:"btn btn-sm rounded-3",onClick:h[2]||(h[2]=C=>{d.value=0,u.$emit("selectDate",u.day)})},[r(P,{t:"Today"})])):M("",!0),e("button",{class:"btn btn-sm rounded-3",onClick:h[3]||(h[3]=C=>d.value+=1)},h[7]||(h[7]=[e("i",{class:"bi bi-chevron-right"},null,-1)]))]),e("div",yu,[e("div",xu,[(o(!0),p(F,null,H(k.value,(C,E)=>(o(),p("div",{class:B(["calendar-day p-2 d-flex flex-column",{"bg-body-secondary":C.isSame(c.value,"D"),"border-end":C.day()<6,"border-bottom":Eu.$emit("selectDate",C),style:{cursor:"pointer"}},[e("h6",_u,[N(O(C.format("D"))+" ",1),l.selectedDate&&l.selectedDate.isSame(C,"D")?(o(),p("i",Pu)):M("",!0)]),(o(),I(hu,{class:"flex-grow-1",onOpenDetails:W=>{w.value={day:C,details:W},D.value=!0},sessions:s.value,day:C,key:C},null,8,["onOpenDetails","sessions","day"]))],10,$u))),128))]),r(ne,{name:"zoom"},{default:Q(()=>[D.value?(o(),p("div",Su,[e("div",Cu,[e("h5",Du,O(w.value.day.format("YYYY-MM-DD")),1),e("a",{role:"button",class:"ms-auto text-white",onClick:h[4]||(h[4]=C=>D.value=!1)},h[8]||(h[8]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-x-lg"})],-1)]))]),e("div",Ou,[(o(!0),p(F,null,H(w.value.details,C=>(o(),p("div",Mu,[e("div",null,[h[9]||(h[9]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),N(O(C.timestamps[0].format("HH:mm:ss")),1),h[10]||(h[10]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),N(O(C.timestamps[C.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",qu,[r(P,{t:"Duration:"}),N(" "+O(C.duration.format("HH:mm:ss")),1)])]))),256))])])):M("",!0)]),_:1})])])]))}}),Tu=Z(Iu,[["__scopeId","data-v-3b03c7a5"]]),ju={class:"card rounded-3 bg-transparent"},Au={class:"card-body"},Bu={class:"text-muted"},Lu={class:"d-flex flex-column gap-3"},Ru=J({__name:"peerTraffics",props:["selectedDate","selectedPeer"],setup(l){const t=l;oe();const a=L(()=>t.selectedDate?t.selectedDate:K()),s=q([]),g=async()=>{await te("/api/getPeerTraffics",{configurationName:t.selectedPeer.configuration.Name,id:t.selectedPeer.id,startDate:a.value.format("YYYY-MM-DD"),endDate:a.value.format("YYYY-MM-DD")},v=>{s.value=v.data})},d=q(void 0);g(),d.value=setInterval(async()=>{await g()},6e4),ce(()=>{clearInterval(d.value)}),ee(()=>a.value,()=>{g()});const c=L(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:v=>`${v.formattedValue} MB`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:v=>`${v.toFixed(4)} MB`},grid:{display:!0}}}})),b=L(()=>{let v=s.value.map($=>$.cumu_sent+$.total_sent),k=[0];if(v.length>1)for(let $=1;$=v[$-1]?k.push((v[$]-v[$-1])*1024):k.push(v[$]*1024);return k}),f=L(()=>{let v=s.value.map($=>$.cumu_receive+$.total_receive),k=[0];if(v.length>1)for(let $=1;$=v[$-1]?k.push((v[$]-v[$-1])*1024):k.push(v[$]*1024);return k}),n=L(()=>({labels:s.value.map(v=>v.time),datasets:[{label:z("Data Sent"),data:b.value,fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),m=L(()=>({labels:s.value.map(v=>v.time),datasets:[{label:z("Data Received"),data:f.value,fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:.3,pointRadius:2,borderWidth:1}]}));return(v,k)=>(o(),p("div",ju,[e("div",Au,[e("h6",Bu,[r(P,{t:"Peer Historical Data Usage of "+a.value.format("YYYY-MM-DD")},null,8,["t"])]),e("div",Lu,[e("div",null,[e("p",null,[r(P,{t:"Data Received"})]),r(T(be),{options:c.value,data:m.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])]),e("div",null,[e("p",null,[r(P,{t:"Data Sent"})]),r(T(be),{options:c.value,data:n.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])])]))}}),Eu={class:"card rounded-3 bg-transparent"},Nu={class:"card-header text-muted"},Fu={class:"card-body"},zu={class:"bg-body-tertiary p-3 d-flex rounded-3"},Hu={key:0,class:"m-auto"},Yu={key:1,class:"m-auto"},Gu={key:2,class:"w-100 d-flex flex-column gap-3"},Vu={class:"bg-body d-flex w-100 rounded-3",style:{height:"500px"},id:"map"},Ju={key:0,class:"m-auto"},Wu={key:0},Uu={key:1,class:"text-muted"},Qu={class:"table table-hover"},Ku={key:0},Zu=["onClick"],Xu={key:0},e2=J({__name:"peerEndpoints",props:["selectedPeer"],setup(l){const t=l,a=q(!1),s=q(void 0),g=q(void 0),d=q(void 0),c=async()=>{await te("/api/getPeerHistoricalEndpoints",{id:t.selectedPeer.id,configurationName:t.selectedPeer.configuration.Name},async n=>{if(n.status&&(s.value=n.data),a.value=!0,s.value.geolocation)try{if(await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}),g.value=!0,d.value=new st({target:"map",layers:[new it({source:new at})],view:new ot({center:ke([17.64,16.35]),zoom:0})}),s.value.geolocation){const m=new nt;s.value.geolocation.filter(k=>k.lat&&k.lon).forEach(k=>{m.addFeature(new _e({geometry:new rt(ke([k.lon,k.lat]))}))}),m.addFeature(new _e({})),d.value.addLayer(new dt({source:m,style:()=>new ct({image:new ut({radius:10,fill:new pt({color:"#0d6efd"}),stroke:new ft({color:"white",width:5})})})}))}}catch(m){console.log(m),g.value=!1}})};de(()=>c());const b=n=>{if(s.value.geolocation){let m=s.value.geolocation.find(v=>v.query===n);if(m){let v=[m.city,m.country];return v.filter(k=>k!==void 0).length===0&&v.push("Private Address"),v.filter(k=>k!==void 0).join(", ")}}},f=n=>{if(s.value.geolocation){let m=s.value.geolocation.find(v=>v.query===n);m&&m.lon&&m.lat&&d.value.getView().animate({zoom:4},{center:ke([m.lon,m.lat])},{easing:mt})}};return(n,m)=>(o(),p("div",Eu,[e("div",Nu,[r(P,{t:"Peer Historical Endpoints"})]),e("div",Fu,[e("div",zu,[a.value?a.value&&s.value.endpoints.length===0?(o(),p("div",Yu,[r(P,{t:"No Historical Endpoints"})])):a.value&&s.value.endpoints.length>0?(o(),p("div",Gu,[e("div",Vu,[g.value?M("",!0):(o(),p("div",Ju,[g.value===void 0?(o(),p("div",Wu,[m[1]||(m[1]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),r(P,{t:"Loading Map..."})])):M("",!0),g.value===!1?(o(),p("div",Uu,[r(P,{t:"Map is not available"})])):M("",!0)]))]),e("table",Qu,[e("thead",null,[e("tr",null,[e("th",null,[r(P,{t:"Endpoint"})]),s.value.geolocation?(o(),p("th",Ku,[r(P,{t:"Geolocation"})])):M("",!0)])]),e("tbody",null,[(o(!0),p(F,null,H(s.value.endpoints,v=>(o(),p("tr",{onClick:k=>f(v.endpoint),style:{cursor:"pointer"}},[e("td",null,O(v.endpoint),1),s.value.geolocation?(o(),p("td",Xu,O(b(v.endpoint)),1)):M("",!0)],8,Zu))),256))])])])):M("",!0):(o(),p("div",Hu,[m[0]||(m[0]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),r(P,{t:"Loading..."})]))])])]))}}),t2={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},l2={class:"d-flex h-100 w-100 pb-2"},s2={class:"m-auto w-100 p-2"},o2={class:"card rounded-3 shadow h-100"},i2={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},a2={class:"mb-0 fw-normal"},n2={class:"card-body px-4"},r2={class:"mb-0 text-muted"},d2={class:"row mt-3 gy-2 gx-2 mb-2"},c2={class:"col-12 col-lg-3"},u2={class:"card rounded-3 bg-transparent h-100"},f2={class:"card-body py-2 d-flex flex-column justify-content-center"},p2={class:"mb-0 text-muted"},m2={class:"d-flex align-items-center"},g2={class:"col-12 col-lg-3"},h2={class:"card rounded-3 bg-transparent h-100"},b2={class:"card-body py-2 d-flex flex-column justify-content-center"},v2={class:"mb-0 text-muted"},k2={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},w2={class:"card rounded-3 bg-transparent h-100"},y2={class:"card-body py-2 d-flex flex-column justify-content-center"},x2={class:"mb-0 text-muted"},$2={class:"col-12 col-lg-3"},_2={class:"card rounded-3 bg-transparent h-100"},P2={class:"card-body d-flex"},S2={class:"mb-0 text-muted"},C2={class:"h4"},D2={class:"col-12 col-lg-3"},O2={class:"card rounded-3 bg-transparent h-100"},M2={class:"card-body d-flex"},q2={class:"mb-0 text-muted"},I2={class:"h4 text-warning"},T2={class:"col-12 col-lg-3"},j2={class:"card rounded-3 bg-transparent h-100"},A2={class:"card-body d-flex"},B2={class:"mb-0 text-muted"},L2={class:"h4 text-primary"},R2={class:"col-12 col-lg-3"},E2={class:"card rounded-3 bg-transparent h-100"},N2={class:"card-body d-flex"},F2={class:"mb-0 text-muted"},z2={class:"h4 text-success"},H2={class:"col-12"},Y2={class:"col-12"},G2={class:"col-12"},V2=J({__name:"peerDetailsModal",props:["selectedPeer"],emits:["close"],setup(l){Ie.register(Te,je,Ae,Be,Le,Re,Ee,Ne,Fe,ze,He);const t=q(void 0);return(a,s)=>(o(),p("div",t2,[e("div",l2,[e("div",s2,[e("div",o2,[e("div",i2,[e("h4",a2,[r(P,{t:"Peer Details"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=g=>a.$emit("close"))})]),e("div",n2,[e("div",null,[e("p",r2,[e("small",null,[r(P,{t:"Peer"})])]),e("h2",null,O(l.selectedPeer.name),1)]),e("div",d2,[e("div",c2,[e("div",u2,[e("div",f2,[e("p",p2,[e("small",null,[r(P,{t:"Status"})])]),e("div",m2,[e("span",{class:B(["dot ms-0 me-2",{active:l.selectedPeer.status==="running"}])},null,2),l.selectedPeer.status==="running"?(o(),I(P,{key:0,t:"Connected"})):(o(),I(P,{key:1,t:"Disconnected"}))])])])]),e("div",g2,[e("div",h2,[e("div",b2,[e("p",v2,[e("small",null,[r(P,{t:"Allowed IPs"})])]),N(" "+O(l.selectedPeer.allowed_ip),1)])])]),e("div",k2,[e("div",w2,[e("div",y2,[e("p",x2,[e("small",null,[r(P,{t:"Public Key"})])]),e("samp",null,O(l.selectedPeer.id),1)])])]),e("div",$2,[e("div",_2,[e("div",P2,[e("div",null,[e("p",S2,[e("small",null,[r(P,{t:"Latest Handshake Time"})])]),e("strong",C2,[r(P,{t:l.selectedPeer.latest_handshake!=="No Handshake"?l.selectedPeer.latest_handshake+" ago":"No Handshake"},null,8,["t"])])]),s[2]||(s[2]=e("i",{class:"bi bi-person-raised-hand ms-auto h2 text-muted"},null,-1))])])]),e("div",D2,[e("div",O2,[e("div",M2,[e("div",null,[e("p",q2,[e("small",null,[r(P,{t:"Total Usage"})])]),e("strong",I2,O((l.selectedPeer.total_data+l.selectedPeer.cumu_data).toFixed(4))+" GB ",1)]),s[3]||(s[3]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",T2,[e("div",j2,[e("div",A2,[e("div",null,[e("p",B2,[e("small",null,[r(P,{t:"Total Received"})])]),e("strong",L2,O((l.selectedPeer.total_receive+l.selectedPeer.cumu_receive).toFixed(4))+" GB",1)]),s[4]||(s[4]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",R2,[e("div",E2,[e("div",N2,[e("div",null,[e("p",F2,[e("small",null,[r(P,{t:"Total Sent"})])]),e("strong",z2,O((l.selectedPeer.total_sent+l.selectedPeer.cumu_sent).toFixed(4))+" GB",1)]),s[5]||(s[5]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])]),e("div",H2,[r(Ru,{selectedDate:t.value,selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",Y2,[r(Tu,{selectedDate:t.value,onSelectDate:s[1]||(s[1]=g=>t.value=g),selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",G2,[r(e2,{selectedPeer:l.selectedPeer},null,8,["selectedPeer"])])])])])])])]))}}),J2={class:"container-fluid"},W2={class:"d-flex align-items-sm-start flex-column flex-sm-row gap-3"},U2={class:"text-muted d-flex align-items-center gap-2"},Q2={class:"mb-0"},K2={class:"d-flex align-items-center gap-3"},Z2={class:"mb-0 display-4"},X2={class:"ms-sm-auto d-flex gap-2 flex-column"},ef={class:"card rounded-3 bg-transparent"},tf={class:"card-body py-2 d-flex align-items-center"},lf={class:"text-muted"},sf={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},of=["for"],af={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},nf=["disabled","id"],rf={class:"d-flex gap-2"},df={class:"row mt-3 gy-2 gx-2 mb-2"},cf={class:"col-12 col-lg-3"},uf={class:"card rounded-3 bg-transparent h-100"},ff={class:"card-body py-2 d-flex flex-column justify-content-center"},pf={class:"mb-0 text-muted"},mf={class:"col-12 col-lg-3"},gf={class:"card rounded-3 bg-transparent h-100"},hf={class:"card-body py-2 d-flex flex-column justify-content-center"},bf={class:"mb-0 text-muted"},vf={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},kf={class:"card rounded-3 bg-transparent h-100"},wf={class:"card-body py-2 d-flex flex-column justify-content-center"},yf={class:"mb-0 text-muted"},xf={class:"row gx-2 gy-2 mb-2"},$f={class:"col-12 col-lg-3"},_f={class:"card rounded-3 bg-transparent h-100"},Pf={class:"card-body d-flex"},Sf={class:"mb-0 text-muted"},Cf={class:"h4"},Df={class:"col-12 col-lg-3"},Of={class:"card rounded-3 bg-transparent h-100"},Mf={class:"card-body d-flex"},qf={class:"mb-0 text-muted"},If={class:"h4"},Tf={class:"col-12 col-lg-3"},jf={class:"card rounded-3 bg-transparent h-100"},Af={class:"card-body d-flex"},Bf={class:"mb-0 text-muted"},Lf={class:"h4 text-primary"},Rf={class:"col-12 col-lg-3"},Ef={class:"card rounded-3 bg-transparent h-100"},Nf={class:"card-body d-flex"},Ff={class:"mb-0 text-muted"},zf={class:"h4 text-success"},Hf={style:{"margin-bottom":"10rem"}},Yf=20,Gf={__name:"peerList",async setup(l){let t,a;const s=G(()=>V(()=>import("./peerSearchBar-DyGm2y_Y.js"),__vite__mapDeps([22,2,3,23]))),g=G(()=>V(()=>import("./peerJobsAllModal-CDqdvFvr.js"),__vite__mapDeps([24,11,2,3,8,7,1,12]))),d=G(()=>V(()=>import("./peerJobsLogsModal-CumKSmXP.js"),__vite__mapDeps([25,7,2,3,1]))),c=G(()=>V(()=>import("./editConfiguration-X9cbGuVG.js"),__vite__mapDeps([26,2,3,1,7,27]))),b=G(()=>V(()=>import("./selectPeers-C5PtdxOJ.js"),__vite__mapDeps([28,2,3,1,29]))),f=G(()=>V(()=>import("./peerAddModal-plMS_jE5.js"),__vite__mapDeps([30,2,3,1,31]))),n=oe(),m=ae(),v=De(),k=q({}),$=q([]),D=q(!1),w=q({}),u=q({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1},assignPeer:{modalOpen:!1},peerDetails:{modalOpen:!1}}),h=q(!1),C=async()=>{await te("/api/getWireguardConfigurationInfo",{configurationName:v.params.id},x=>{x.status&&(k.value=x.data.configurationInfo,$.value=x.data.configurationPeers,$.value.forEach(i=>{i.restricted=!1}),x.data.configurationRestrictedPeers.forEach(i=>{i.restricted=!0,$.value.push(i)}))})};[t,a]=Xe(()=>C()),await t,a();const E=q(void 0),W=()=>{clearInterval(E.value),E.value=setInterval(async()=>{await C()},parseInt(n.Configuration.Server.dashboard_refresh_interval))};W(),ce(()=>{clearInterval(E.value),E.value=void 0,m.Filter.HiddenTags=[]}),ee(()=>n.Configuration.Server.dashboard_refresh_interval,()=>{W()});const fe=async()=>{D.value=!0,await te("/api/toggleWireguardConfiguration",{configurationName:k.value.Name},x=>{x.status?n.newMessage("Server",`${k.value.Name} ${x.data?"is on":"is off"}`,"success"):n.newMessage("Server",x.message,"danger"),m.Configurations.find(i=>i.Name===k.value.Name).Status=x.data,k.value.Status=x.data,D.value=!1})},j=L(()=>({connectedPeers:$.value.filter(x=>x.status==="running").length,totalUsage:$.value.length>0?$.value.filter(x=>!x.restricted).map(x=>x.total_data+x.cumu_data).reduce((x,i)=>x+i,0).toFixed(4):0,totalReceive:$.value.length>0?$.value.filter(x=>!x.restricted).map(x=>x.total_receive+x.cumu_receive).reduce((x,i)=>x+i,0).toFixed(4):0,totalSent:$.value.length>0?$.value.filter(x=>!x.restricted).map(x=>x.total_sent+x.cumu_sent).reduce((x,i)=>x+i,0).toFixed(4):0})),S=q(10),y=L(()=>m.Filter.HiddenTags.map(x=>k.value.Info.PeerGroups[x].Peers).flat()),A=L(()=>Object.values(k.value.Info.PeerGroups).map(x=>x.Peers).flat()),R=L(()=>{const x=m.searchString?$.value.filter(i=>(i.name.includes(m.searchString)||i.id.includes(m.searchString)||i.allowed_ip.includes(m.searchString))&&!y.value.includes(i.id)&&(m.Filter.ShowAllPeersWhenHiddenTags||!m.Filter.ShowAllPeersWhenHiddenTags&&A.value.includes(i.id))):$.value.filter(i=>!y.value.includes(i.id)&&(m.Filter.ShowAllPeersWhenHiddenTags||!m.Filter.ShowAllPeersWhenHiddenTags&&A.value.includes(i.id)));return n.Configuration.Server.dashboard_sort==="restricted"?x.sort((i,_)=>i[n.Configuration.Server.dashboard_sort]<_[n.Configuration.Server.dashboard_sort]?1:i[n.Configuration.Server.dashboard_sort]>_[n.Configuration.Server.dashboard_sort]?-1:0).slice(0,S.value):x.sort((i,_)=>i[n.Configuration.Server.dashboard_sort]<_[n.Configuration.Server.dashboard_sort]?-1:i[n.Configuration.Server.dashboard_sort]>_[n.Configuration.Server.dashboard_sort]?1:0).slice(0,S.value)});return ee(()=>v.query.id,x=>{x?m.searchString=x:m.searchString=void 0},{immediate:!0}),(x,i)=>(o(),p("div",J2,[e("div",W2,[e("div",null,[e("div",U2,[e("h5",Q2,[r(tt,{protocol:k.value.Protocol},null,8,["protocol"])])]),e("div",K2,[e("h1",Z2,[e("samp",null,O(k.value.Name),1)])])]),e("div",X2,[e("div",ef,[e("div",tf,[e("small",lf,[r(P,{t:"Status"})]),e("div",{class:B(["dot ms-2",{active:k.value.Status}])},null,2),e("div",sf,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+k.value.id},[k.value.Status&&!D.value?(o(),I(P,{key:0,t:"On"})):!k.value.Status&&!D.value?(o(),I(P,{key:1,t:"Off"})):M("",!0),D.value?(o(),p("span",af)):M("",!0)],8,of),ue(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:D.value,type:"checkbox",role:"switch",id:"switch"+k.value.id,onChange:i[0]||(i[0]=_=>fe()),"onUpdate:modelValue":i[1]||(i[1]=_=>k.value.Status=_)},null,40,nf),[[Me,k.value.Status]])])])]),e("div",rf,[e("a",{role:"button",onClick:i[2]||(i[2]=_=>u.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[i[30]||(i[30]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),r(P,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:i[3]||(i[3]=_=>u.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[i[31]||(i[31]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),r(P,{t:"Configuration Settings"})])])])]),i[36]||(i[36]=e("hr",null,null,-1)),r(lu,{configuration:k.value},null,8,["configuration"]),e("div",df,[e("div",cf,[e("div",uf,[e("div",ff,[e("p",pf,[e("small",null,[r(P,{t:"Address"})])]),N(" "+O(k.value.Address),1)])])]),e("div",mf,[e("div",gf,[e("div",hf,[e("p",bf,[e("small",null,[r(P,{t:"Listen Port"})])]),N(" "+O(k.value.ListenPort),1)])])]),e("div",vf,[e("div",kf,[e("div",wf,[e("p",yf,[e("small",null,[r(P,{t:"Public Key"})])]),e("samp",null,O(k.value.PublicKey),1)])])])]),e("div",xf,[e("div",$f,[e("div",_f,[e("div",Pf,[e("div",null,[e("p",Sf,[e("small",null,[r(P,{t:"Connected Peers"})])]),e("strong",Cf,O(j.value.connectedPeers)+" / "+O($.value.length),1)]),i[32]||(i[32]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",Df,[e("div",Of,[e("div",Mf,[e("div",null,[e("p",qf,[e("small",null,[r(P,{t:"Total Usage"})])]),e("strong",If,O(j.value.totalUsage)+" GB",1)]),i[33]||(i[33]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",Tf,[e("div",jf,[e("div",Af,[e("div",null,[e("p",Bf,[e("small",null,[r(P,{t:"Total Received"})])]),e("strong",Lf,O(j.value.totalReceive)+" GB",1)]),i[34]||(i[34]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",Rf,[e("div",Ef,[e("div",Nf,[e("div",null,[e("p",Ff,[e("small",null,[r(P,{t:"Total Sent"})])]),e("strong",zf,O(j.value.totalSent)+" GB",1)]),i[35]||(i[35]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),r(Tt,{configurationPeers:$.value,configurationInfo:k.value},null,8,["configurationPeers","configurationInfo"]),i[37]||(i[37]=e("hr",null,null,-1)),e("div",Hf,[$.value.length>0?(o(),I(e6,{key:0,onSearch:i[4]||(i[4]=_=>h.value=!h.value),onJobsAll:i[5]||(i[5]=_=>u.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:i[6]||(i[6]=_=>u.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:i[7]||(i[7]=_=>u.value.editConfiguration.modalOpen=!0),onSelectPeers:i[8]||(i[8]=_=>u.value.selectPeers.modalOpen=!0),onBackupRestore:i[9]||(i[9]=_=>u.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[10]||(i[10]=_=>u.value.deleteConfiguration.modalOpen=!0),configuration:k.value},null,8,["configuration"])):M("",!0),r(he,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:Q(()=>[(o(!0),p(F,null,H(R.value,(_,Y)=>(o(),p("div",{class:B(["col-12",{"col-lg-6 col-xl-4":T(n).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:_.id},[r(K6,{Peer:_,searchPeersLength:R.value.length,order:Y,ConfigurationInfo:k.value,onDetails:U=>{u.value.peerDetails.modalOpen=!0,w.value=_},onShare:U=>{u.value.peerShare.modalOpen=!0,w.value=_},onRefresh:i[11]||(i[11]=U=>C()),onJobs:U=>{u.value.peerScheduleJobs.modalOpen=!0,w.value=_},onSetting:U=>{u.value.peerSetting.modalOpen=!0,w.value=_},onQrcode:U=>{w.value=_,u.value.peerQRCode.modalOpen=!0},onConfigurationFile:U=>{w.value=_,u.value.peerConfigurationFile.modalOpen=!0},onAssign:U=>{w.value=_,u.value.assignPeer.modalOpen=!0}},null,8,["Peer","searchPeersLength","order","ConfigurationInfo","onDetails","onShare","onJobs","onSetting","onQrcode","onConfigurationFile","onAssign"])],2))),128))]),_:1})]),r(ne,{name:"slide-fade"},{default:Q(()=>[h.value?(o(),I(T(s),{key:0,ConfigurationInfo:k.value,onClose:i[12]||(i[12]=_=>h.value=!1)},null,8,["ConfigurationInfo"])):M("",!0)]),_:1}),r(Z6,{configurationModals:u.value,configurationModalSelectedPeer:w.value,onRefresh:i[13]||(i[13]=_=>C())},null,8,["configurationModals","configurationModalSelectedPeer"]),r(he,{name:"zoom"},{default:Q(()=>[(o(),I(et,{key:"PeerAddModal"},{default:Q(()=>[u.value.peerNew.modalOpen?(o(),I(T(f),{key:0,onClose:i[14]||(i[14]=_=>u.value.peerNew.modalOpen=!1),onAddedPeers:i[15]||(i[15]=_=>{u.value.peerNew.modalOpen=!1,C()})})):M("",!0)]),_:1})),u.value.peerScheduleJobsAll.modalOpen?(o(),I(T(g),{key:"PeerJobsAllModal",onRefresh:i[16]||(i[16]=_=>C()),onAllLogs:i[17]||(i[17]=_=>u.value.peerScheduleJobsLogs.modalOpen=!0),onClose:i[18]||(i[18]=_=>u.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:$.value},null,8,["configurationPeers"])):M("",!0),u.value.peerScheduleJobsLogs.modalOpen?(o(),I(T(d),{key:"PeerJobsLogsModal",onClose:i[19]||(i[19]=_=>u.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:k.value},null,8,["configurationInfo"])):M("",!0),u.value.editConfiguration.modalOpen?(o(),I(T(c),{key:"EditConfigurationModal",onEditRaw:i[20]||(i[20]=_=>u.value.editRawConfigurationFile.modalOpen=!0),onClose:i[21]||(i[21]=_=>u.value.editConfiguration.modalOpen=!1),onDataChanged:i[22]||(i[22]=_=>k.value=_),onRefresh:i[23]||(i[23]=_=>C()),onBackupRestore:i[24]||(i[24]=_=>u.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[25]||(i[25]=_=>u.value.deleteConfiguration.modalOpen=!0),configurationInfo:k.value},null,8,["configurationInfo"])):M("",!0),u.value.selectPeers.modalOpen?(o(),I(T(b),{key:3,onRefresh:i[26]||(i[26]=_=>C()),configurationPeers:$.value,onClose:i[27]||(i[27]=_=>u.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):M("",!0),u.value.peerDetails.modalOpen?(o(),I(V2,{key:"PeerDetailsModal",selectedPeer:R.value.find(_=>_.id===w.value.id),onClose:i[28]||(i[28]=_=>u.value.peerDetails.modalOpen=!1)},null,8,["selectedPeer"])):M("",!0)]),_:1}),r(eu,{showPeersCount:S.value,peerListLength:R.value.length,onLoadMore:i[29]||(i[29]=_=>S.value+=Yf)},null,8,["showPeersCount","peerListLength"])]))}},Zf=Z(Gf,[["__scopeId","data-v-f01325c0"]]);export{Zf as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-BKf0Be_T.js b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-hIJWR375.js similarity index 90% rename from src/static/dist/WGDashboardAdmin/assets/peerQRCode-BKf0Be_T.js rename to src/static/dist/WGDashboardAdmin/assets/peerQRCode-hIJWR375.js index ed7dc3f8..b15abe1b 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-BKf0Be_T.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-hIJWR375.js @@ -1 +1 @@ -import{Q as i}from"./browser-B8eugmTx.js";import{L as c}from"./localeText-DSmP42vs.js";import{_ as l,h as p,c as n,f as d,a as e,b as m,d as _,n as u,g as h,D as f}from"./index-mH92cJrc.js";import"./galois-field-CkUIqpA6.js";const g={name:"peerQRCode",components:{LocaleText:c},props:{selectedPeer:Object},setup(){return{dashboardStore:f()}},data(){return{loading:!0}},mounted(){h("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},o=>{if(this.loading=!1,o.status){let t="";if(this.selectedPeer.configuration.Protocol==="awg"){let a={containers:[{awg:{isThirdPartyConfig:!0,last_config:o.data.file,port:this.selectedPeer.configuration.ListenPort,transport_proto:"udp"},container:"amnezia-awg"}],defaultContainer:"amnezia-awg",description:this.selectedPeer.name,hostName:this.dashboardStore.Configuration.Peers.remote_endpoint};t=btoa(JSON.stringify(a))}else t=o.data.file;i.toCanvas(document.querySelector("#qrcode"),t,a=>{a&&console.error(a)})}else this.dashboardStore.newMessage("Server",o.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},v={class:"container d-flex h-100 w-100"},C={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},w={class:"card rounded-3 shadow"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},x={class:"mb-0"},S={class:"card-body p-4"},y={class:"d-flex"},L={key:0,class:"spinner-border m-auto",role:"status"};function Q(o,t,a,N,s,R){const r=p("LocaleText");return d(),n("div",b,[e("div",v,[e("div",C,[e("div",w,[e("div",P,[e("h4",x,[m(r,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=$=>this.$emit("close"))})]),e("div",S,[e("div",y,[e("canvas",{id:"qrcode",class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster",{"d-none":s.loading}])},null,2),s.loading?(d(),n("div",L,t[1]||(t[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)]))):_("",!0)])])])])])])}const z=l(g,[["render",Q],["__scopeId","data-v-7c287bf3"]]);export{z as default}; +import{Q as i}from"./browser-DqvcZvnx.js";import{L as c}from"./localeText-D0Ve6fTw.js";import{_ as l,h as p,c as n,f as d,a as e,b as m,d as _,n as u,g as h,D as f}from"./index-BimuIV8Z.js";import"./galois-field-CkUIqpA6.js";const g={name:"peerQRCode",components:{LocaleText:c},props:{selectedPeer:Object},setup(){return{dashboardStore:f()}},data(){return{loading:!0}},mounted(){h("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},o=>{if(this.loading=!1,o.status){let t="";if(this.selectedPeer.configuration.Protocol==="awg"){let a={containers:[{awg:{isThirdPartyConfig:!0,last_config:o.data.file,port:this.selectedPeer.configuration.ListenPort,transport_proto:"udp"},container:"amnezia-awg"}],defaultContainer:"amnezia-awg",description:this.selectedPeer.name,hostName:this.dashboardStore.Configuration.Peers.remote_endpoint};t=btoa(JSON.stringify(a))}else t=o.data.file;i.toCanvas(document.querySelector("#qrcode"),t,a=>{a&&console.error(a)})}else this.dashboardStore.newMessage("Server",o.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},v={class:"container d-flex h-100 w-100"},C={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},w={class:"card rounded-3 shadow"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},x={class:"mb-0"},S={class:"card-body p-4"},y={class:"d-flex"},L={key:0,class:"spinner-border m-auto",role:"status"};function Q(o,t,a,N,s,R){const r=p("LocaleText");return d(),n("div",b,[e("div",v,[e("div",C,[e("div",w,[e("div",P,[e("h4",x,[m(r,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=$=>this.$emit("close"))})]),e("div",S,[e("div",y,[e("canvas",{id:"qrcode",class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster",{"d-none":s.loading}])},null,2),s.loading?(d(),n("div",L,t[1]||(t[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)]))):_("",!0)])])])])])])}const z=l(g,[["render",Q],["__scopeId","data-v-7c287bf3"]]);export{z as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DwcNmL3i.js b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DyGm2y_Y.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DwcNmL3i.js rename to src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DyGm2y_Y.js index c83a69f7..e7ef4153 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DwcNmL3i.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-DyGm2y_Y.js @@ -1 +1 @@ -import{_ as p,q as m,G as f,W as h,r as u,a2 as _,L as v,K as g,o as x,a3 as S,c as y,d as b,f as B,a as s,m as w,y as T}from"./index-mH92cJrc.js";const q={key:0,class:"fixed-bottom w-100 bottom-0 z-2 p-3",style:{"z-index":"1"}},C={class:"d-flex flex-column searchPeersContainer ms-auto p-2 rounded-5",style:{width:"300px"}},P={class:"rounded-5 border border-white p-2 d-flex align-items-center gap-1 w-100"},R=["placeholder"],k={__name:"peerSearchBar",props:["ConfigurationInfo"],emits:["close"],setup(V,{emit:z}){const l=m(()=>f("Search Peers..."));let r;const t=h(),e=u(t.searchString),d=()=>{r?(clearTimeout(r),r=setTimeout(()=>{t.searchString=e.value},300)):r=setTimeout(()=>{t.searchString=e.value},300)};_("searchBar");const a=v(),i=g();a.query.peer&&(e.value=a.query.peer,i.replace({query:null}));const n=u(!0);return x(()=>{document.querySelector("#searchPeers").focus()}),S(()=>{n.value=!1}),(G,o)=>n.value?(B(),y("div",q,[s("div",C,[s("div",P,[w(s("input",{ref:"searchBar",class:"flex-grow-1 form-control form-control-sm rounded-5 bg-transparent border-0 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:o[0]||(o[0]=c=>d()),"onUpdate:modelValue":o[1]||(o[1]=c=>e.value=c)},null,40,R),[[T,e.value]])])])])):b("",!0)}},K=p(k,[["__scopeId","data-v-576347d8"]]);export{K as default}; +import{_ as p,q as m,G as f,W as h,r as u,a2 as _,L as v,K as g,o as x,a3 as S,c as y,d as b,f as B,a as s,m as w,y as T}from"./index-BimuIV8Z.js";const q={key:0,class:"fixed-bottom w-100 bottom-0 z-2 p-3",style:{"z-index":"1"}},C={class:"d-flex flex-column searchPeersContainer ms-auto p-2 rounded-5",style:{width:"300px"}},P={class:"rounded-5 border border-white p-2 d-flex align-items-center gap-1 w-100"},R=["placeholder"],k={__name:"peerSearchBar",props:["ConfigurationInfo"],emits:["close"],setup(V,{emit:z}){const l=m(()=>f("Search Peers..."));let r;const t=h(),e=u(t.searchString),d=()=>{r?(clearTimeout(r),r=setTimeout(()=>{t.searchString=e.value},300)):r=setTimeout(()=>{t.searchString=e.value},300)};_("searchBar");const a=v(),i=g();a.query.peer&&(e.value=a.query.peer,i.replace({query:null}));const n=u(!0);return x(()=>{document.querySelector("#searchPeers").focus()}),S(()=>{n.value=!1}),(G,o)=>n.value?(B(),y("div",q,[s("div",C,[s("div",P,[w(s("input",{ref:"searchBar",class:"flex-grow-1 form-control form-control-sm rounded-5 bg-transparent border-0 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:o[0]||(o[0]=c=>d()),"onUpdate:modelValue":o[1]||(o[1]=c=>e.value=c)},null,40,R),[[T,e.value]])])])])):b("",!0)}},K=p(k,[["__scopeId","data-v-576347d8"]]);export{K as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSettings-0EGEZFQJ.js b/src/static/dist/WGDashboardAdmin/assets/peerSettings-P8zE49-z.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerSettings-0EGEZFQJ.js rename to src/static/dist/WGDashboardAdmin/assets/peerSettings-P8zE49-z.js index bfb1723e..03215517 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSettings-0EGEZFQJ.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerSettings-P8zE49-z.js @@ -1 +1 @@ -import{_ as u,h as c,c as n,f as r,a as e,d as m,b as a,t as h,m as i,y as d,n as b,a1 as _,z as p,D as f}from"./index-mH92cJrc.js";import{L as g}from"./localeText-DSmP42vs.js";const v={name:"peerSettings",components:{LocaleText:g},props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:f()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,p(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,l=>{this.saving=!1,l.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",l.message,"danger"),this.$emit("refresh")})},resetPeerData(l){this.saving=!0,p(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:l},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(l=>{l.addEventListener("change",()=>{this.dataChanged=!0})})}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},w={class:"m-auto modal-dialog-centered dashboardModal"},S={class:"card rounded-3 shadow flex-grow-1"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},k={class:"mb-0"},P={key:0,class:"card-body px-4"},$={class:"d-flex flex-column gap-2 mb-4"},D={class:"d-flex align-items-center"},N={class:"text-muted"},V={class:"ms-auto"},K={for:"peer_name_textbox",class:"form-label"},U={class:"text-muted"},M=["disabled"],A={class:"d-flex position-relative"},R={for:"peer_private_key_textbox",class:"form-label"},O={class:"text-muted"},T=["type","disabled"],L={for:"peer_allowed_ip_textbox",class:"form-label"},q={class:"text-muted"},E=["disabled"],B={for:"peer_endpoint_allowed_ips",class:"form-label"},I={class:"text-muted"},z=["disabled"],J={for:"peer_DNS_textbox",class:"form-label"},j={class:"text-muted"},Q=["disabled"],F={class:"accordion my-3",id:"peerSettingsAccordion"},G={class:"accordion-item"},H={class:"accordion-header"},W={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},X={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},Y={class:"accordion-body d-flex flex-column gap-2 mb-2"},Z={for:"peer_preshared_key_textbox",class:"form-label"},ee={class:"text-muted"},te=["disabled"],se={for:"peer_mtu",class:"form-label"},oe={class:"text-muted"},ae=["disabled"],le={for:"peer_keep_alive",class:"form-label"},ie={class:"text-muted"},de=["disabled"],ne={class:"d-flex align-items-center gap-2"},re=["disabled"],pe=["disabled"],ue={class:"d-flex gap-2 align-items-center"},ce={class:"d-flex gap-2 ms-auto"};function me(l,t,he,be,_e,fe){const o=c("LocaleText");return r(),n("div",x,[e("div",y,[e("div",w,[e("div",S,[e("div",C,[e("h4",k,[a(o,{t:"Peer Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),this.data?(r(),n("div",P,[e("div",$,[e("div",D,[e("small",N,[a(o,{t:"Public Key"})]),e("small",V,[e("samp",null,h(this.data.id),1)])]),e("div",null,[e("label",K,[e("small",U,[a(o,{t:"Name"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=s=>this.data.name=s),id:"peer_name_textbox",placeholder:""},null,8,M),[[d,this.data.name]])]),e("div",null,[e("div",A,[e("label",R,[e("small",O,[a(o,{t:"Private Key"}),e("code",null,[a(o,{t:"(Required for QR Code and Download)"})])])]),e("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=s=>this.showKey=!this.showKey)},[e("i",{class:b(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),i(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,T),[[_,this.data.private_key]])]),e("div",null,[e("label",L,[e("small",q,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,E),[[d,this.data.allowed_ip]])]),e("div",null,[e("label",B,[e("small",I,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,z),[[d,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",J,[e("small",j,[a(o,{t:"DNS"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,Q),[[d,this.data.DNS]])]),e("div",F,[e("div",G,[e("h2",H,[e("button",W,[a(o,{t:"Optional Settings"})])]),e("div",X,[e("div",Y,[e("div",null,[e("label",Z,[e("small",ee,[a(o,{t:"Pre-Shared Key"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,te),[[d,this.data.preshared_key]])]),e("div",null,[e("label",se,[e("small",oe,[a(o,{t:"MTU"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,ae),[[d,this.data.mtu]])]),e("div",null,[e("label",le,[e("small",ie,[a(o,{t:"Persistent Keepalive"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,de),[[d,this.data.keepalive]])])])])])]),e("div",ne,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[10]||(t[10]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[15]||(t[15]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,re),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[11]||(t[11]=s=>this.savePeer())},[t[16]||(t[16]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,pe)]),t[20]||(t[20]=e("hr",null,null,-1)),e("div",ue,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",ce,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[12]||(t[12]=s=>this.resetPeerData("total"))},[t[17]||(t[17]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),a(o,{t:"Total"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[13]||(t[13]=s=>this.resetPeerData("receive"))},[t[18]||(t[18]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),a(o,{t:"Received"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[14]||(t[14]=s=>this.resetPeerData("sent"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):m("",!0)])])])])}const xe=u(v,[["render",me],["__scopeId","data-v-12b3ae8e"]]);export{xe as default}; +import{_ as u,h as c,c as n,f as r,a as e,d as m,b as a,t as h,m as i,y as d,n as b,a1 as _,z as p,D as f}from"./index-BimuIV8Z.js";import{L as g}from"./localeText-D0Ve6fTw.js";const v={name:"peerSettings",components:{LocaleText:g},props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:f()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,p(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,l=>{this.saving=!1,l.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",l.message,"danger"),this.$emit("refresh")})},resetPeerData(l){this.saving=!0,p(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:l},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(l=>{l.addEventListener("change",()=>{this.dataChanged=!0})})}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},w={class:"m-auto modal-dialog-centered dashboardModal"},S={class:"card rounded-3 shadow flex-grow-1"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},k={class:"mb-0"},P={key:0,class:"card-body px-4"},$={class:"d-flex flex-column gap-2 mb-4"},D={class:"d-flex align-items-center"},N={class:"text-muted"},V={class:"ms-auto"},K={for:"peer_name_textbox",class:"form-label"},U={class:"text-muted"},M=["disabled"],A={class:"d-flex position-relative"},R={for:"peer_private_key_textbox",class:"form-label"},O={class:"text-muted"},T=["type","disabled"],L={for:"peer_allowed_ip_textbox",class:"form-label"},q={class:"text-muted"},E=["disabled"],B={for:"peer_endpoint_allowed_ips",class:"form-label"},I={class:"text-muted"},z=["disabled"],J={for:"peer_DNS_textbox",class:"form-label"},j={class:"text-muted"},Q=["disabled"],F={class:"accordion my-3",id:"peerSettingsAccordion"},G={class:"accordion-item"},H={class:"accordion-header"},W={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},X={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},Y={class:"accordion-body d-flex flex-column gap-2 mb-2"},Z={for:"peer_preshared_key_textbox",class:"form-label"},ee={class:"text-muted"},te=["disabled"],se={for:"peer_mtu",class:"form-label"},oe={class:"text-muted"},ae=["disabled"],le={for:"peer_keep_alive",class:"form-label"},ie={class:"text-muted"},de=["disabled"],ne={class:"d-flex align-items-center gap-2"},re=["disabled"],pe=["disabled"],ue={class:"d-flex gap-2 align-items-center"},ce={class:"d-flex gap-2 ms-auto"};function me(l,t,he,be,_e,fe){const o=c("LocaleText");return r(),n("div",x,[e("div",y,[e("div",w,[e("div",S,[e("div",C,[e("h4",k,[a(o,{t:"Peer Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),this.data?(r(),n("div",P,[e("div",$,[e("div",D,[e("small",N,[a(o,{t:"Public Key"})]),e("small",V,[e("samp",null,h(this.data.id),1)])]),e("div",null,[e("label",K,[e("small",U,[a(o,{t:"Name"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=s=>this.data.name=s),id:"peer_name_textbox",placeholder:""},null,8,M),[[d,this.data.name]])]),e("div",null,[e("div",A,[e("label",R,[e("small",O,[a(o,{t:"Private Key"}),e("code",null,[a(o,{t:"(Required for QR Code and Download)"})])])]),e("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=s=>this.showKey=!this.showKey)},[e("i",{class:b(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),i(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,T),[[_,this.data.private_key]])]),e("div",null,[e("label",L,[e("small",q,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,E),[[d,this.data.allowed_ip]])]),e("div",null,[e("label",B,[e("small",I,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,z),[[d,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",J,[e("small",j,[a(o,{t:"DNS"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,Q),[[d,this.data.DNS]])]),e("div",F,[e("div",G,[e("h2",H,[e("button",W,[a(o,{t:"Optional Settings"})])]),e("div",X,[e("div",Y,[e("div",null,[e("label",Z,[e("small",ee,[a(o,{t:"Pre-Shared Key"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,te),[[d,this.data.preshared_key]])]),e("div",null,[e("label",se,[e("small",oe,[a(o,{t:"MTU"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,ae),[[d,this.data.mtu]])]),e("div",null,[e("label",le,[e("small",ie,[a(o,{t:"Persistent Keepalive"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,de),[[d,this.data.keepalive]])])])])])]),e("div",ne,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[10]||(t[10]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[15]||(t[15]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,re),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[11]||(t[11]=s=>this.savePeer())},[t[16]||(t[16]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,pe)]),t[20]||(t[20]=e("hr",null,null,-1)),e("div",ue,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",ce,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[12]||(t[12]=s=>this.resetPeerData("total"))},[t[17]||(t[17]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),a(o,{t:"Total"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[13]||(t[13]=s=>this.resetPeerData("receive"))},[t[18]||(t[18]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),a(o,{t:"Received"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[14]||(t[14]=s=>this.resetPeerData("sent"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):m("",!0)])])])])}const xe=u(v,[["render",me],["__scopeId","data-v-12b3ae8e"]]);export{xe as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DYghPK4L.js b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-BGmaWj4p.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DYghPK4L.js rename to src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-BGmaWj4p.js index 044f6452..5b83ed2c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-DYghPK4L.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-BGmaWj4p.js @@ -1 +1 @@ -import{_ as H,r as y,I as N,H as W,c as u,f as o,a as e,d as k,t as M,e as L,b as l,n as w,z as P,g as Y,D as j,J as U,h as S,m as _,y as C,u as $,G as D,v as V,w as B,s as R,j as x,S as A}from"./index-mH92cJrc.js";import{d as E}from"./dayjs.min-BSByM7MH.js";import{Q as J}from"./vue-datepicker-DXRta4gJ.js";import{L as h}from"./localeText-DSmP42vs.js";const O={class:"card rounded-0 border-start-0 border-bottom-0 bg-body-secondary",style:{height:"400px",overflow:"scroll"}},q={class:"card-body"},z={key:0,class:"alert alert-danger rounded-3"},G={class:"font-monospace"},Q={key:0},F=["innerText"],K={__name:"peerShareWithEmailBodyPreview",props:["email","selectedPeer"],async setup(s){let t,v;const p=s,d=y(""),b=y(!1),r=y(""),n=async()=>{p.email&&(b.value=!1,await P("/api/email/preview",{Subject:p.email.Subject,Body:p.email.Body,ConfigurationName:p.selectedPeer.configuration.Name,Peer:p.selectedPeer.id},i=>{i.status?d.value=i.data:(d.value="",r.value=i.message),b.value=!i.status}))};[t,v]=N(()=>n()),await t,v();let c;return W(()=>p.email,async()=>{c===void 0?c=setTimeout(async()=>{await n()},500):(clearTimeout(c),c=setTimeout(async()=>{await n()},500))},{deep:!0}),(i,f)=>(o(),u("div",O,[e("div",q,[b.value&&s.email.Body?(o(),u("div",z,[f[0]||(f[0]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),e("span",G,M(r.value),1)])):k("",!0),e("div",null,[d.value?(o(),u("div",Q,[e("strong",null,[l(h,{t:"Subject"}),f[1]||(f[1]=L(": "))]),L(M(d.value.Subject),1)])):k("",!0),f[2]||(f[2]=e("hr",null,null,-1)),e("div",{class:w({"opacity-50":b.value}),innerText:d.value.Body},null,10,F)])])]))}},X=H(K,[["__scopeId","data-v-1a7765d4"]]),Z={key:0},ee={class:"d-flex mb-3 align-items-center"},te={class:"mb-0 ms-auto"},se={class:"position-relative"},ae=["disabled","placeholder"],ie={class:"position-relative"},oe=["placeholder","disabled"],le={class:"row g-0"},re=["disabled","placeholder"],ne={key:0,class:"col-6"},de={class:"card border-top-0 rounded-top-0 rounded-bottom-3 bg-body-tertiary",style:{border:"var(--bs-border-width) solid var(--bs-border-color)"}},ce={class:"card-body d-flex flex-column gap-2"},ue={class:"form-check form-switch ms-auto"},me={class:"form-check-label",for:"livePreview"},pe={class:"form-check form-switch"},he={class:"form-check-label",for:"includeAttachment"},be=["disabled"],fe={key:0},ve={key:1},ye={key:1},ge={__name:"peerShareWithEmail",props:["dataCopy","selectedPeer"],emits:["fullscreen","hide"],async setup(s,{emit:t}){let v,p;const d=s,b=y(!1);[v,p]=N(()=>Y("/api/email/ready",{},g=>{b.value=g.status})),await v,p();const r=j(),n=U({Receiver:"",Body:r.Configuration.Email.email_template,Subject:"",IncludeAttachment:!1,ConfigurationName:d.selectedPeer.configuration.Name,Peer:d.selectedPeer.id}),c=y(!1),i=y(!1),f=async()=>{i.value=!0,await P("/api/email/send",n,g=>{g.status?r.newMessage("Server","Email sent successfully!","success"):r.newMessage("Server",`Email sent failed! Reason: ${g.message}`,"danger"),i.value=!1})},T=t;return W(c,()=>{T("fullscreen",c.value)}),(g,a)=>{const I=S("RouterLink");return b.value?(o(),u("div",Z,[e("div",ee,[e("a",{role:"button",class:"d-flex text-decoration-none text-body text-muted",onClick:a[0]||(a[0]=m=>T("hide"))},a[7]||(a[7]=[e("i",{class:"bi bi-chevron-left me-2"},null,-1),L(" Back ")])),e("h6",te,[l(h,{t:"Share with Email"})])]),e("form",{class:"d-flex gap-3 flex-column",onSubmit:a[6]||(a[6]=m=>{m.preventDefault(),f()})},[e("div",null,[e("div",se,[a[8]||(a[8]=e("i",{class:"bi bi-person-circle",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"email",class:"form-control rounded-top-3 rounded-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},"onUpdate:modelValue":a[1]||(a[1]=m=>n.Receiver=m),disabled:i.value,placeholder:$(D)("Who are you sending to?"),required:"",id:"email_receiver","aria-describedby":"emailHelp"},null,8,ae),[[C,n.Receiver]])]),e("div",ie,[a[9]||(a[9]=e("i",{class:"bi bi-hash",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"text",class:"form-control rounded-0 border-top-0 border-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},placeholder:$(D)("What's the subject?"),disabled:i.value,"onUpdate:modelValue":a[2]||(a[2]=m=>n.Subject=m),id:"email_subject","aria-describedby":"emailHelp"},null,8,oe),[[C,n.Subject]])]),e("div",le,[e("div",{class:w([c.value?"col-6":"col-12"])},[_(e("textarea",{class:"form-control rounded-top-0 rounded-bottom-0 font-monospace border-bottom-0","onUpdate:modelValue":a[3]||(a[3]=m=>n.Body=m),disabled:i.value,placeholder:$(D)("What's the body?"),style:{height:"400px","max-height":"400px"}},null,8,re),[[C,n.Body]])],2),c.value?(o(),u("div",ne,[l(X,{email:n,selectedPeer:s.selectedPeer},null,8,["email","selectedPeer"])])):k("",!0)]),e("div",de,[e("div",ce,[e("div",ue,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=m=>c.value=m),role:"switch",id:"livePreview"},null,512),[[V,c.value]]),e("label",me,[l(h,{t:"Live Preview"})])])])])]),e("div",pe,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[5]||(a[5]=m=>n.IncludeAttachment=m),role:"switch",id:"includeAttachment"},null,512),[[V,n.IncludeAttachment]]),e("label",he,[l(h,{t:"Include configuration file as an attachment"})])]),e("button",{disabled:i.value,class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[i.value?(o(),u("span",ve,[a[11]||(a[11]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),l(h,{t:"Sending..."})])):(o(),u("span",fe,[a[10]||(a[10]=e("i",{class:"bi bi-send me-2"},null,-1)),l(h,{t:"Send"})]))],8,be)],32)])):(o(),u("div",ye,[e("small",null,[l(h,{t:"SMTP is not configured, please navigate to "}),l(I,{to:"/settings"},{default:B(()=>[l(h,{t:"Settings"})]),_:1}),l(h,{t:" to finish setup"})])]))}}},_e=H(ge,[["__scopeId","data-v-01e380d2"]]),xe={name:"peerShareLinkModal",props:{selectedPeer:Object},components:{PeerShareWithEmail:_e,LocaleText:h,VueDatePicker:J},data(){return{dataCopy:void 0,loading:!1,fullscreen:!1,shareWithEmail:!1}},setup(){return{store:j()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0)},watch:{"selectedPeer.ShareLink":{deep:!0,handler(s,t){t.length!==s.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,P("/api/sharePeer/create",{Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,ExpireDate:E().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},s=>{s.status?(this.selectedPeer.ShareLink=s.data,this.dataCopy=s.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+s.message,"danger"),this.loading=!1})},updateLinkExpireDate(){P("/api/sharePeer/update",this.dataCopy,s=>{s.status?(this.dataCopy=s.data.at(0),this.selectedPeer.ShareLink=s.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+s.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=E().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(s){s?this.dataCopy.ExpireDate=E(s).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const s=this.store.getActiveCrossServer();return s?`${s.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},Se={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ke={class:"container d-flex h-100 w-100"},we={class:"card rounded-3 shadow flex-grow-1"},Pe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Ce={class:"mb-0"},$e={key:0,class:"card-body px-4 pb-4"},De={key:0},Ee={class:"mb-3 text-muted"},Me=["disabled"],Le={key:1},Be={key:0},He={class:"d-flex gap-2 mb-4"},Te=["href"],Ve={class:"d-flex flex-column gap-2 mb-3"},Ne={class:"d-flex gap-2 flex-column flex-sm-row"},We=["disabled"],je={class:"text-muted"};function Ie(s,t,v,p,d,b){const r=S("LocaleText"),n=S("VueDatePicker"),c=S("PeerShareWithEmail");return o(),u("div",Se,[e("div",ke,[e("div",{class:"m-auto modal-dialog-centered dashboardModal",style:R([this.fullscreen?"width: 100%":"width: 700px"])},[e("div",we,[e("div",Pe,[e("h4",Ce,[l(r,{t:"Share Peer"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=i=>this.$emit("close"))})]),this.selectedPeer.ShareLink?(o(),u("div",$e,[this.dataCopy?(o(),u("div",Le,[d.shareWithEmail?(o(),x(A,{key:1},{fallback:B(()=>[e("h6",je,[t[11]||(t[11]=e("span",{class:"spinner-border me-2 spinner-border-sm",role:"status"},null,-1)),l(r,{t:"Checking SMTP Configuration..."})])]),default:B(()=>[l(c,{onHide:t[4]||(t[4]=i=>d.shareWithEmail=!1),onFullscreen:t[5]||(t[5]=i=>{this.fullscreen=i}),selectedPeer:v.selectedPeer,dataCopy:d.dataCopy},null,8,["selectedPeer","dataCopy"])]),_:1})):(o(),u("div",Be,[e("div",He,[t[7]||(t[7]=e("i",{class:"bi bi-link-45deg"},null,-1)),e("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},M(b.getUrl),9,Te)]),e("div",Ve,[e("small",null,[t[8]||(t[8]=e("i",{class:"bi bi-calendar me-2"},null,-1)),l(r,{t:"Expire At"})]),l(n,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),e("div",Ne,[e("button",{style:{flex:"1 1 0"},onClick:t[2]||(t[2]=i=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},t[9]||(t[9]=[e("i",{class:"bi bi-send-slash-fill me-2"},null,-1)]),2),this.loading?(o(),x(r,{key:0,t:"Stop Sharing..."})):(o(),x(r,{key:1,t:"Stop Sharing"}))],8,We),e("button",{style:{flex:"1 1 0"},onClick:t[3]||(t[3]=i=>d.shareWithEmail=!0),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[t[10]||(t[10]=e("i",{class:"bi bi-envelope me-2"},null,-1)),l(r,{t:"Share with Email"})])])]))])):(o(),u("div",De,[e("h6",Ee,[l(r,{t:"Currently the peer is not sharing"})]),e("button",{onClick:t[1]||(t[1]=i=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},t[6]||(t[6]=[e("i",{class:"bi bi-send-fill me-2"},null,-1)]),2),this.loading?(o(),x(r,{key:0,t:"Sharing..."})):(o(),x(r,{key:1,t:"Start Sharing"}))],8,Me)]))])):k("",!0)])],4)])])}const Je=H(xe,[["render",Ie]]);export{Je as default}; +import{_ as H,r as y,I as N,H as W,c as u,f as o,a as e,d as k,t as M,e as L,b as l,n as w,z as P,g as Y,D as j,J as U,h as S,m as _,y as C,u as $,G as D,v as V,w as B,s as R,j as x,S as A}from"./index-BimuIV8Z.js";import{d as E}from"./dayjs.min-CkODZHdU.js";import{Q as J}from"./vue-datepicker-VDLvxrT_.js";import{L as h}from"./localeText-D0Ve6fTw.js";const O={class:"card rounded-0 border-start-0 border-bottom-0 bg-body-secondary",style:{height:"400px",overflow:"scroll"}},q={class:"card-body"},z={key:0,class:"alert alert-danger rounded-3"},G={class:"font-monospace"},Q={key:0},F=["innerText"],K={__name:"peerShareWithEmailBodyPreview",props:["email","selectedPeer"],async setup(s){let t,v;const p=s,d=y(""),b=y(!1),r=y(""),n=async()=>{p.email&&(b.value=!1,await P("/api/email/preview",{Subject:p.email.Subject,Body:p.email.Body,ConfigurationName:p.selectedPeer.configuration.Name,Peer:p.selectedPeer.id},i=>{i.status?d.value=i.data:(d.value="",r.value=i.message),b.value=!i.status}))};[t,v]=N(()=>n()),await t,v();let c;return W(()=>p.email,async()=>{c===void 0?c=setTimeout(async()=>{await n()},500):(clearTimeout(c),c=setTimeout(async()=>{await n()},500))},{deep:!0}),(i,f)=>(o(),u("div",O,[e("div",q,[b.value&&s.email.Body?(o(),u("div",z,[f[0]||(f[0]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),e("span",G,M(r.value),1)])):k("",!0),e("div",null,[d.value?(o(),u("div",Q,[e("strong",null,[l(h,{t:"Subject"}),f[1]||(f[1]=L(": "))]),L(M(d.value.Subject),1)])):k("",!0),f[2]||(f[2]=e("hr",null,null,-1)),e("div",{class:w({"opacity-50":b.value}),innerText:d.value.Body},null,10,F)])])]))}},X=H(K,[["__scopeId","data-v-1a7765d4"]]),Z={key:0},ee={class:"d-flex mb-3 align-items-center"},te={class:"mb-0 ms-auto"},se={class:"position-relative"},ae=["disabled","placeholder"],ie={class:"position-relative"},oe=["placeholder","disabled"],le={class:"row g-0"},re=["disabled","placeholder"],ne={key:0,class:"col-6"},de={class:"card border-top-0 rounded-top-0 rounded-bottom-3 bg-body-tertiary",style:{border:"var(--bs-border-width) solid var(--bs-border-color)"}},ce={class:"card-body d-flex flex-column gap-2"},ue={class:"form-check form-switch ms-auto"},me={class:"form-check-label",for:"livePreview"},pe={class:"form-check form-switch"},he={class:"form-check-label",for:"includeAttachment"},be=["disabled"],fe={key:0},ve={key:1},ye={key:1},ge={__name:"peerShareWithEmail",props:["dataCopy","selectedPeer"],emits:["fullscreen","hide"],async setup(s,{emit:t}){let v,p;const d=s,b=y(!1);[v,p]=N(()=>Y("/api/email/ready",{},g=>{b.value=g.status})),await v,p();const r=j(),n=U({Receiver:"",Body:r.Configuration.Email.email_template,Subject:"",IncludeAttachment:!1,ConfigurationName:d.selectedPeer.configuration.Name,Peer:d.selectedPeer.id}),c=y(!1),i=y(!1),f=async()=>{i.value=!0,await P("/api/email/send",n,g=>{g.status?r.newMessage("Server","Email sent successfully!","success"):r.newMessage("Server",`Email sent failed! Reason: ${g.message}`,"danger"),i.value=!1})},T=t;return W(c,()=>{T("fullscreen",c.value)}),(g,a)=>{const I=S("RouterLink");return b.value?(o(),u("div",Z,[e("div",ee,[e("a",{role:"button",class:"d-flex text-decoration-none text-body text-muted",onClick:a[0]||(a[0]=m=>T("hide"))},a[7]||(a[7]=[e("i",{class:"bi bi-chevron-left me-2"},null,-1),L(" Back ")])),e("h6",te,[l(h,{t:"Share with Email"})])]),e("form",{class:"d-flex gap-3 flex-column",onSubmit:a[6]||(a[6]=m=>{m.preventDefault(),f()})},[e("div",null,[e("div",se,[a[8]||(a[8]=e("i",{class:"bi bi-person-circle",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"email",class:"form-control rounded-top-3 rounded-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},"onUpdate:modelValue":a[1]||(a[1]=m=>n.Receiver=m),disabled:i.value,placeholder:$(D)("Who are you sending to?"),required:"",id:"email_receiver","aria-describedby":"emailHelp"},null,8,ae),[[C,n.Receiver]])]),e("div",ie,[a[9]||(a[9]=e("i",{class:"bi bi-hash",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"text",class:"form-control rounded-0 border-top-0 border-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},placeholder:$(D)("What's the subject?"),disabled:i.value,"onUpdate:modelValue":a[2]||(a[2]=m=>n.Subject=m),id:"email_subject","aria-describedby":"emailHelp"},null,8,oe),[[C,n.Subject]])]),e("div",le,[e("div",{class:w([c.value?"col-6":"col-12"])},[_(e("textarea",{class:"form-control rounded-top-0 rounded-bottom-0 font-monospace border-bottom-0","onUpdate:modelValue":a[3]||(a[3]=m=>n.Body=m),disabled:i.value,placeholder:$(D)("What's the body?"),style:{height:"400px","max-height":"400px"}},null,8,re),[[C,n.Body]])],2),c.value?(o(),u("div",ne,[l(X,{email:n,selectedPeer:s.selectedPeer},null,8,["email","selectedPeer"])])):k("",!0)]),e("div",de,[e("div",ce,[e("div",ue,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=m=>c.value=m),role:"switch",id:"livePreview"},null,512),[[V,c.value]]),e("label",me,[l(h,{t:"Live Preview"})])])])])]),e("div",pe,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[5]||(a[5]=m=>n.IncludeAttachment=m),role:"switch",id:"includeAttachment"},null,512),[[V,n.IncludeAttachment]]),e("label",he,[l(h,{t:"Include configuration file as an attachment"})])]),e("button",{disabled:i.value,class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[i.value?(o(),u("span",ve,[a[11]||(a[11]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),l(h,{t:"Sending..."})])):(o(),u("span",fe,[a[10]||(a[10]=e("i",{class:"bi bi-send me-2"},null,-1)),l(h,{t:"Send"})]))],8,be)],32)])):(o(),u("div",ye,[e("small",null,[l(h,{t:"SMTP is not configured, please navigate to "}),l(I,{to:"/settings"},{default:B(()=>[l(h,{t:"Settings"})]),_:1}),l(h,{t:" to finish setup"})])]))}}},_e=H(ge,[["__scopeId","data-v-01e380d2"]]),xe={name:"peerShareLinkModal",props:{selectedPeer:Object},components:{PeerShareWithEmail:_e,LocaleText:h,VueDatePicker:J},data(){return{dataCopy:void 0,loading:!1,fullscreen:!1,shareWithEmail:!1}},setup(){return{store:j()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0)},watch:{"selectedPeer.ShareLink":{deep:!0,handler(s,t){t.length!==s.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,P("/api/sharePeer/create",{Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,ExpireDate:E().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},s=>{s.status?(this.selectedPeer.ShareLink=s.data,this.dataCopy=s.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+s.message,"danger"),this.loading=!1})},updateLinkExpireDate(){P("/api/sharePeer/update",this.dataCopy,s=>{s.status?(this.dataCopy=s.data.at(0),this.selectedPeer.ShareLink=s.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+s.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=E().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(s){s?this.dataCopy.ExpireDate=E(s).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const s=this.store.getActiveCrossServer();return s?`${s.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},Se={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ke={class:"container d-flex h-100 w-100"},we={class:"card rounded-3 shadow flex-grow-1"},Pe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Ce={class:"mb-0"},$e={key:0,class:"card-body px-4 pb-4"},De={key:0},Ee={class:"mb-3 text-muted"},Me=["disabled"],Le={key:1},Be={key:0},He={class:"d-flex gap-2 mb-4"},Te=["href"],Ve={class:"d-flex flex-column gap-2 mb-3"},Ne={class:"d-flex gap-2 flex-column flex-sm-row"},We=["disabled"],je={class:"text-muted"};function Ie(s,t,v,p,d,b){const r=S("LocaleText"),n=S("VueDatePicker"),c=S("PeerShareWithEmail");return o(),u("div",Se,[e("div",ke,[e("div",{class:"m-auto modal-dialog-centered dashboardModal",style:R([this.fullscreen?"width: 100%":"width: 700px"])},[e("div",we,[e("div",Pe,[e("h4",Ce,[l(r,{t:"Share Peer"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=i=>this.$emit("close"))})]),this.selectedPeer.ShareLink?(o(),u("div",$e,[this.dataCopy?(o(),u("div",Le,[d.shareWithEmail?(o(),x(A,{key:1},{fallback:B(()=>[e("h6",je,[t[11]||(t[11]=e("span",{class:"spinner-border me-2 spinner-border-sm",role:"status"},null,-1)),l(r,{t:"Checking SMTP Configuration..."})])]),default:B(()=>[l(c,{onHide:t[4]||(t[4]=i=>d.shareWithEmail=!1),onFullscreen:t[5]||(t[5]=i=>{this.fullscreen=i}),selectedPeer:v.selectedPeer,dataCopy:d.dataCopy},null,8,["selectedPeer","dataCopy"])]),_:1})):(o(),u("div",Be,[e("div",He,[t[7]||(t[7]=e("i",{class:"bi bi-link-45deg"},null,-1)),e("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},M(b.getUrl),9,Te)]),e("div",Ve,[e("small",null,[t[8]||(t[8]=e("i",{class:"bi bi-calendar me-2"},null,-1)),l(r,{t:"Expire At"})]),l(n,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),e("div",Ne,[e("button",{style:{flex:"1 1 0"},onClick:t[2]||(t[2]=i=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},t[9]||(t[9]=[e("i",{class:"bi bi-send-slash-fill me-2"},null,-1)]),2),this.loading?(o(),x(r,{key:0,t:"Stop Sharing..."})):(o(),x(r,{key:1,t:"Stop Sharing"}))],8,We),e("button",{style:{flex:"1 1 0"},onClick:t[3]||(t[3]=i=>d.shareWithEmail=!0),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[t[10]||(t[10]=e("i",{class:"bi bi-envelope me-2"},null,-1)),l(r,{t:"Share with Email"})])])]))])):(o(),u("div",De,[e("h6",Ee,[l(r,{t:"Currently the peer is not sharing"})]),e("button",{onClick:t[1]||(t[1]=i=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},t[6]||(t[6]=[e("i",{class:"bi bi-send-fill me-2"},null,-1)]),2),this.loading?(o(),x(r,{key:0,t:"Sharing..."})):(o(),x(r,{key:1,t:"Start Sharing"}))],8,Me)]))])):k("",!0)])],4)])])}const Je=H(xe,[["render",Ie]]);export{Je as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-DgB9BWQw.js b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BBQyY1Fm.js similarity index 93% rename from src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-DgB9BWQw.js rename to src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BBQyY1Fm.js index 373861fc..7f43401f 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-DgB9BWQw.js +++ b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BBQyY1Fm.js @@ -1 +1 @@ -import{_ as h,c as o,a as e,m as c,d as m,b as d,h as f,y as g,n as v,t as p,z as b,D as w,A as x,f as r}from"./index-mH92cJrc.js";import{L as _}from"./localeText-DSmP42vs.js";const k={components:{LocaleText:_},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=w(),t=`input_${x()}`;return{store:s,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await b("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1})}}},V={class:"form-group mb-2"},D=["for"],y=["id","disabled"],T={class:"invalid-feedback"},C={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"};function F(s,t,a,I,n,u){const l=f("LocaleText");return r(),o("div",V,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[d(l,{t:this.title},null,8,["t"])])])],8,D),c(e("input",{type:"text",class:v(["form-control",{"is-invalid":n.showInvalidFeedback,"is-valid":n.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=i=>this.value=i),onKeydown:t[1]||(t[1]=i=>this.changed=!0),onBlur:t[2]||(t[2]=i=>u.useValidation()),disabled:this.updating},null,42,y),[[g,this.value]]),e("div",T,p(this.invalidFeedback),1),a.warning?(r(),o("div",C,[e("small",null,[t[3]||(t[3]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),d(l,{t:a.warningText},null,8,["t"])])])):m("",!0)])}const B=h(k,[["render",F]]);export{B as P}; +import{_ as h,c as o,a as e,m as c,d as m,b as d,h as f,y as g,n as v,t as p,z as b,D as w,A as x,f as r}from"./index-BimuIV8Z.js";import{L as _}from"./localeText-D0Ve6fTw.js";const k={components:{LocaleText:_},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=w(),t=`input_${x()}`;return{store:s,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await b("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1})}}},V={class:"form-group mb-2"},D=["for"],y=["id","disabled"],T={class:"invalid-feedback"},C={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"};function F(s,t,a,I,n,u){const l=f("LocaleText");return r(),o("div",V,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[d(l,{t:this.title},null,8,["t"])])])],8,D),c(e("input",{type:"text",class:v(["form-control",{"is-invalid":n.showInvalidFeedback,"is-valid":n.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=i=>this.value=i),onKeydown:t[1]||(t[1]=i=>this.changed=!0),onBlur:t[2]||(t[2]=i=>u.useValidation()),disabled:this.updating},null,42,y),[[g,this.value]]),e("div",T,p(this.invalidFeedback),1),a.warning?(r(),o("div",C,[e("small",null,[t[3]||(t[3]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),d(l,{t:a.warningText},null,8,["t"])])])):m("",!0)])}const B=h(k,[["render",F]]);export{B as P}; diff --git a/src/static/dist/WGDashboardAdmin/assets/ping-DEMEwZfI.js b/src/static/dist/WGDashboardAdmin/assets/ping-DS9FytFq.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/ping-DEMEwZfI.js rename to src/static/dist/WGDashboardAdmin/assets/ping-DS9FytFq.js index 07996707..5b5427b6 100644 --- a/src/static/dist/WGDashboardAdmin/assets/ping-DEMEwZfI.js +++ b/src/static/dist/WGDashboardAdmin/assets/ping-DS9FytFq.js @@ -1 +1 @@ -import{_ as R,c as l,a as e,m as u,b as d,h as b,C as _,F as c,i as p,d as m,y as k,t as i,w as f,k as v,g as x,D as I,f as n,e as g,s as C,n as h,j as P}from"./index-mH92cJrc.js";import{L as w}from"./localeText-DSmP42vs.js";import{O as A}from"./osmap-DlmBiBAF.js";import"./Vector-C8V_x6Dm.js";const S={name:"ping",components:{OSMap:A,LocaleText:w},data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:I()}},mounted(){x("/api/ping/getAllPeersIpAddress",{},a=>{a.status&&(this.loading=!0,this.cips=a.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,x("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},a=>{a.status?this.pingResult=a.data:this.store.newMessage("Server",a.message,"danger"),this.pinging=!1}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},M={class:"mt-md-5 mt-3 text-body"},T={class:"container"},V={class:"row"},$={class:"col-sm-4 d-flex gap-2 flex-column"},L={class:"mb-1 text-muted",for:"configuration"},N=["disabled"],O=["value"],B={class:"mb-1 text-muted",for:"peer"},D=["disabled"],U=["value"],z={class:"mb-1 text-muted",for:"ip"},E=["disabled"],F={class:"d-flex align-items-center gap-2"},G={class:"text-muted"},j={class:"mb-1 text-muted",for:"ipAddress"},H=["disabled"],Y={class:"mb-1 text-muted",for:"count"},q={class:"d-flex gap-3 align-items-center"},J=["disabled"],K=["disabled"],Q={key:0,class:"d-block"},W={key:1,class:"d-block"},X={class:"col-sm-8 position-relative"},Z={key:"pingPlaceholder"},ee={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},se={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},te={class:"card-body row"},ie={class:"col-sm"},ne={class:"mb-0 text-muted"},le={key:0,class:"col-sm"},de={class:"mb-0 text-muted"},oe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},ae={class:"card-body"},re={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},ue={class:"card-body"},ce={class:"mb-0 text-muted"},pe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},me={class:"card-body"},ge={class:"mb-0 text-muted"};function _e(a,s,he,be,fe,ve){const o=b("LocaleText"),y=b("OSMap");return n(),l("div",M,[e("div",T,[s[19]||(s[19]=e("h3",{class:"mb-3 text-body"},"Ping",-1)),e("div",V,[e("div",$,[e("div",null,[e("label",L,[e("small",null,[d(o,{t:"Configuration"})])]),u(e("select",{class:"form-select","onUpdate:modelValue":s[0]||(s[0]=t=>this.selectedConfiguration=t),disabled:this.pinging},[s[7]||(s[7]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),(n(!0),l(c,null,p(this.cips,(t,r)=>(n(),l("option",{value:r},i(r),9,O))),256))],8,N),[[_,this.selectedConfiguration]])]),e("div",null,[e("label",B,[e("small",null,[d(o,{t:"Peer"})])]),u(e("select",{id:"peer",class:"form-select","onUpdate:modelValue":s[1]||(s[1]=t=>this.selectedPeer=t),disabled:this.selectedConfiguration===void 0||this.pinging},[s[8]||(s[8]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedConfiguration!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration],(t,r)=>(n(),l("option",{value:r},i(r),9,U))),256)):m("",!0)],8,D),[[_,this.selectedPeer]])]),e("div",null,[e("label",z,[e("small",null,[d(o,{t:"IP Address"})])]),u(e("select",{id:"ip",class:"form-select","onUpdate:modelValue":s[2]||(s[2]=t=>this.selectedIp=t),disabled:this.selectedPeer===void 0||this.pinging},[s[9]||(s[9]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedPeer!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,t=>(n(),l("option",null,i(t),1))),256)):m("",!0)],8,E),[[_,this.selectedIp]])]),e("div",F,[s[10]||(s[10]=e("div",{class:"flex-grow-1 border-top"},null,-1)),e("small",G,[d(o,{t:"OR"})]),s[11]||(s[11]=e("div",{class:"flex-grow-1 border-top"},null,-1))]),e("div",null,[e("label",j,[e("small",null,[d(o,{t:"Enter IP Address / Hostname"})])]),u(e("input",{class:"form-control",type:"text",id:"ipAddress",disabled:this.pinging,"onUpdate:modelValue":s[3]||(s[3]=t=>this.selectedIp=t)},null,8,H),[[k,this.selectedIp]])]),s[16]||(s[16]=e("div",{class:"w-100 border-top my-2"},null,-1)),e("div",null,[e("label",Y,[e("small",null,[d(o,{t:"Count"})])]),e("div",q,[e("button",{onClick:s[4]||(s[4]=t=>this.count--),disabled:this.count===1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},s[12]||(s[12]=[e("i",{class:"bi bi-dash-lg"},null,-1)]),8,J),e("strong",null,i(this.count),1),e("button",{role:"button",onClick:s[5]||(s[5]=t=>this.count++),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},s[13]||(s[13]=[e("i",{class:"bi bi-plus-lg"},null,-1)]))])]),e("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:!this.selectedIp||this.pinging,onClick:s[6]||(s[6]=t=>this.execute())},[d(v,{name:"slide"},{default:f(()=>[this.pinging?(n(),l("span",W,s[15]||(s[15]=[e("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),e("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(n(),l("span",Q,s[14]||(s[14]=[e("i",{class:"bi bi-person-walking me-2"},null,-1),g("Ping! ")])))]),_:1})],8,K)]),e("div",X,[d(v,{name:"ping"},{default:f(()=>[this.pingResult?(n(),l("div",ee,[this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),P(y,{key:0,d:this.pingResult},null,8,["d"])):m("",!0),e("div",se,[e("div",te,[e("div",ie,[e("p",ne,[e("small",null,[d(o,{t:"IP Address"})])]),g(" "+i(this.pingResult.address),1)]),this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),l("div",le,[e("p",de,[e("small",null,[d(o,{t:"Geolocation"})])]),g(" "+i(this.pingResult.geo.city)+", "+i(this.pingResult.geo.country),1)])):m("",!0)])]),e("div",oe,[e("div",ae,[s[18]||(s[18]=e("p",{class:"mb-0 text-muted"},[e("small",null,"Is Alive")],-1)),e("span",{class:h([this.pingResult.is_alive?"text-success":"text-danger"])},[e("i",{class:h(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),g(" "+i(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),e("div",re,[e("div",ue,[e("p",ce,[e("small",null,[d(o,{t:"Average / Min / Max Round Trip Time"})])]),e("samp",null,i(this.pingResult.avg_rtt)+"ms / "+i(this.pingResult.min_rtt)+"ms / "+i(this.pingResult.max_rtt)+"ms ",1)])]),e("div",pe,[e("div",me,[e("p",ge,[e("small",null,[d(o,{t:"Sent / Received / Lost Package"})])]),e("samp",null,i(this.pingResult.package_sent)+" / "+i(this.pingResult.package_received)+" / "+i(this.pingResult.package_loss),1)])])])):(n(),l("div",Z,[s[17]||(s[17]=e("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px"}},null,-1)),(n(),l(c,null,p(4,t=>e("div",{class:h(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:C({"animation-delay":`${t*.15}s`})},null,6)),64))]))]),_:1})])])])])}const Ie=R(S,[["render",_e],["__scopeId","data-v-a08ce97e"]]);export{Ie as default}; +import{_ as R,c as l,a as e,m as u,b as d,h as b,C as _,F as c,i as p,d as m,y as k,t as i,w as f,k as v,g as x,D as I,f as n,e as g,s as C,n as h,j as P}from"./index-BimuIV8Z.js";import{L as w}from"./localeText-D0Ve6fTw.js";import{O as A}from"./osmap-BF5g68HQ.js";import"./Vector-C8V_x6Dm.js";const S={name:"ping",components:{OSMap:A,LocaleText:w},data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:I()}},mounted(){x("/api/ping/getAllPeersIpAddress",{},a=>{a.status&&(this.loading=!0,this.cips=a.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,x("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},a=>{a.status?this.pingResult=a.data:this.store.newMessage("Server",a.message,"danger"),this.pinging=!1}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},M={class:"mt-md-5 mt-3 text-body"},T={class:"container"},V={class:"row"},$={class:"col-sm-4 d-flex gap-2 flex-column"},L={class:"mb-1 text-muted",for:"configuration"},N=["disabled"],O=["value"],B={class:"mb-1 text-muted",for:"peer"},D=["disabled"],U=["value"],z={class:"mb-1 text-muted",for:"ip"},E=["disabled"],F={class:"d-flex align-items-center gap-2"},G={class:"text-muted"},j={class:"mb-1 text-muted",for:"ipAddress"},H=["disabled"],Y={class:"mb-1 text-muted",for:"count"},q={class:"d-flex gap-3 align-items-center"},J=["disabled"],K=["disabled"],Q={key:0,class:"d-block"},W={key:1,class:"d-block"},X={class:"col-sm-8 position-relative"},Z={key:"pingPlaceholder"},ee={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},se={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},te={class:"card-body row"},ie={class:"col-sm"},ne={class:"mb-0 text-muted"},le={key:0,class:"col-sm"},de={class:"mb-0 text-muted"},oe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},ae={class:"card-body"},re={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},ue={class:"card-body"},ce={class:"mb-0 text-muted"},pe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},me={class:"card-body"},ge={class:"mb-0 text-muted"};function _e(a,s,he,be,fe,ve){const o=b("LocaleText"),y=b("OSMap");return n(),l("div",M,[e("div",T,[s[19]||(s[19]=e("h3",{class:"mb-3 text-body"},"Ping",-1)),e("div",V,[e("div",$,[e("div",null,[e("label",L,[e("small",null,[d(o,{t:"Configuration"})])]),u(e("select",{class:"form-select","onUpdate:modelValue":s[0]||(s[0]=t=>this.selectedConfiguration=t),disabled:this.pinging},[s[7]||(s[7]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),(n(!0),l(c,null,p(this.cips,(t,r)=>(n(),l("option",{value:r},i(r),9,O))),256))],8,N),[[_,this.selectedConfiguration]])]),e("div",null,[e("label",B,[e("small",null,[d(o,{t:"Peer"})])]),u(e("select",{id:"peer",class:"form-select","onUpdate:modelValue":s[1]||(s[1]=t=>this.selectedPeer=t),disabled:this.selectedConfiguration===void 0||this.pinging},[s[8]||(s[8]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedConfiguration!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration],(t,r)=>(n(),l("option",{value:r},i(r),9,U))),256)):m("",!0)],8,D),[[_,this.selectedPeer]])]),e("div",null,[e("label",z,[e("small",null,[d(o,{t:"IP Address"})])]),u(e("select",{id:"ip",class:"form-select","onUpdate:modelValue":s[2]||(s[2]=t=>this.selectedIp=t),disabled:this.selectedPeer===void 0||this.pinging},[s[9]||(s[9]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedPeer!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,t=>(n(),l("option",null,i(t),1))),256)):m("",!0)],8,E),[[_,this.selectedIp]])]),e("div",F,[s[10]||(s[10]=e("div",{class:"flex-grow-1 border-top"},null,-1)),e("small",G,[d(o,{t:"OR"})]),s[11]||(s[11]=e("div",{class:"flex-grow-1 border-top"},null,-1))]),e("div",null,[e("label",j,[e("small",null,[d(o,{t:"Enter IP Address / Hostname"})])]),u(e("input",{class:"form-control",type:"text",id:"ipAddress",disabled:this.pinging,"onUpdate:modelValue":s[3]||(s[3]=t=>this.selectedIp=t)},null,8,H),[[k,this.selectedIp]])]),s[16]||(s[16]=e("div",{class:"w-100 border-top my-2"},null,-1)),e("div",null,[e("label",Y,[e("small",null,[d(o,{t:"Count"})])]),e("div",q,[e("button",{onClick:s[4]||(s[4]=t=>this.count--),disabled:this.count===1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},s[12]||(s[12]=[e("i",{class:"bi bi-dash-lg"},null,-1)]),8,J),e("strong",null,i(this.count),1),e("button",{role:"button",onClick:s[5]||(s[5]=t=>this.count++),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},s[13]||(s[13]=[e("i",{class:"bi bi-plus-lg"},null,-1)]))])]),e("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:!this.selectedIp||this.pinging,onClick:s[6]||(s[6]=t=>this.execute())},[d(v,{name:"slide"},{default:f(()=>[this.pinging?(n(),l("span",W,s[15]||(s[15]=[e("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),e("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(n(),l("span",Q,s[14]||(s[14]=[e("i",{class:"bi bi-person-walking me-2"},null,-1),g("Ping! ")])))]),_:1})],8,K)]),e("div",X,[d(v,{name:"ping"},{default:f(()=>[this.pingResult?(n(),l("div",ee,[this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),P(y,{key:0,d:this.pingResult},null,8,["d"])):m("",!0),e("div",se,[e("div",te,[e("div",ie,[e("p",ne,[e("small",null,[d(o,{t:"IP Address"})])]),g(" "+i(this.pingResult.address),1)]),this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),l("div",le,[e("p",de,[e("small",null,[d(o,{t:"Geolocation"})])]),g(" "+i(this.pingResult.geo.city)+", "+i(this.pingResult.geo.country),1)])):m("",!0)])]),e("div",oe,[e("div",ae,[s[18]||(s[18]=e("p",{class:"mb-0 text-muted"},[e("small",null,"Is Alive")],-1)),e("span",{class:h([this.pingResult.is_alive?"text-success":"text-danger"])},[e("i",{class:h(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),g(" "+i(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),e("div",re,[e("div",ue,[e("p",ce,[e("small",null,[d(o,{t:"Average / Min / Max Round Trip Time"})])]),e("samp",null,i(this.pingResult.avg_rtt)+"ms / "+i(this.pingResult.min_rtt)+"ms / "+i(this.pingResult.max_rtt)+"ms ",1)])]),e("div",pe,[e("div",me,[e("p",ge,[e("small",null,[d(o,{t:"Sent / Received / Lost Package"})])]),e("samp",null,i(this.pingResult.package_sent)+" / "+i(this.pingResult.package_received)+" / "+i(this.pingResult.package_loss),1)])])])):(n(),l("div",Z,[s[17]||(s[17]=e("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px"}},null,-1)),(n(),l(c,null,p(4,t=>e("div",{class:h(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:C({"animation-delay":`${t*.15}s`})},null,6)),64))]))]),_:1})])])])])}const Ie=R(S,[["render",_e],["__scopeId","data-v-a08ce97e"]]);export{Ie as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/protocolBadge-DNw_4GNb.js b/src/static/dist/WGDashboardAdmin/assets/protocolBadge-Ck_G7NzU.js similarity index 79% rename from src/static/dist/WGDashboardAdmin/assets/protocolBadge-DNw_4GNb.js rename to src/static/dist/WGDashboardAdmin/assets/protocolBadge-Ck_G7NzU.js index 10b0cdd1..2fceada0 100644 --- a/src/static/dist/WGDashboardAdmin/assets/protocolBadge-DNw_4GNb.js +++ b/src/static/dist/WGDashboardAdmin/assets/protocolBadge-Ck_G7NzU.js @@ -1 +1 @@ -import{L as n}from"./localeText-DSmP42vs.js";import{c as a,d as r,e as s,j as i,f as e}from"./index-mH92cJrc.js";const d={class:"position-relative"},c={key:0,class:"badge wireguardBg rounded-3 shadow z-1"},l={key:1,class:"badge amneziawgBg rounded-3 shadow"},p={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(o){return(m,t)=>(e(),a("div",d,[o.protocol==="wg"?(e(),a("span",c,[t[0]||(t[0]=s(" WireGuard ")),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):o.protocol==="awg"?(e(),a("span",l,[t[1]||(t[1]=s(" AmneziaWG ")),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):r("",!0)]))}};export{p as _}; +import{L as n}from"./localeText-D0Ve6fTw.js";import{c as a,d as r,e as s,j as i,f as e}from"./index-BimuIV8Z.js";const d={class:"position-relative"},c={key:0,class:"badge wireguardBg rounded-3 shadow z-1"},l={key:1,class:"badge amneziawgBg rounded-3 shadow"},p={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(o){return(m,t)=>(e(),a("div",d,[o.protocol==="wg"?(e(),a("span",c,[t[0]||(t[0]=s(" WireGuard ")),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):o.protocol==="awg"?(e(),a("span",l,[t[1]||(t[1]=s(" AmneziaWG ")),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):r("",!0)]))}};export{p as _}; diff --git a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-H5ju5_ix.js b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Bqy8eC2K.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-H5ju5_ix.js rename to src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Bqy8eC2K.js index c982b69c..4de0a62c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-H5ju5_ix.js +++ b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Bqy8eC2K.js @@ -1,4 +1,4 @@ -import{_ as T,r as k,o as A,c as r,f as n,a as e,d as w,t as y,F as N,i as D,j as f,b as l,n as v,u as W,J as z,W as F,q as C,H as G,D as q,K as H,m as g,y as _,e as $,z as J,g as Z,w as B,h as Q,k as V}from"./index-mH92cJrc.js";import{L as o}from"./localeText-DSmP42vs.js";import{d as X}from"./dayjs.min-BSByM7MH.js";import{_ as E}from"./protocolBadge-DNw_4GNb.js";import{p as O}from"./index-Bno8fcdN.js";const ee={class:"card rounded-3 shadow-sm"},te={class:"mb-0 d-flex align-items-center gap-3"},se={class:"text-muted ms-auto d-block"},oe={key:0,class:"card-footer p-3 d-flex flex-column gap-2"},le=["onClick","id"],ne={class:"card-body d-flex p-3 gap-3 align-items-center"},ae={__name:"backupGroup",props:{configurationName:String,backups:Array,open:!1,selectedConfigurationBackup:Object,protocol:Array},emits:["select"],setup(m,{emit:u}){const t=m,h=u,p=k(t.open);return A(()=>{t.selectedConfigurationBackup&&document.querySelector(`#${t.selectedConfigurationBackup.filename.replace(".conf","")}`).scrollIntoView({behavior:"smooth"})}),(x,a)=>(n(),r("div",ee,[e("a",{role:"button",class:"card-body d-flex align-items-center text-decoration-none d-flex gap-3",onClick:a[0]||(a[0]=c=>p.value=!p.value)},[e("h6",te,[e("samp",null,y(m.configurationName),1),(n(!0),r(N,null,D(m.protocol,c=>(n(),f(E,{protocol:c},null,8,["protocol"]))),256))]),e("small",se,[l(o,{t:m.backups.length+(m.backups.length>1?" Backups":" Backup")},null,8,["t"])]),e("h5",{class:v(["mb-0 dropdownIcon text-muted",{active:p.value}])},a[1]||(a[1]=[e("i",{class:"bi bi-chevron-down"},null,-1)]),2)]),p.value?(n(),r("div",oe,[(n(!0),r(N,null,D(m.backups,c=>(n(),r("div",{class:"card rounded-3 shadow-sm animate__animated",key:c.filename,onClick:()=>{h("select",c)},id:c.filename.replace(".conf",""),role:"button"},[e("div",ne,[e("small",null,[a[2]||(a[2]=e("i",{class:"bi bi-file-earmark me-2"},null,-1)),e("samp",null,y(c.filename),1)]),e("small",null,[a[3]||(a[3]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),e("samp",null,y(W(X)(c.backupDate).format("YYYY-MM-DD HH:mm:ss")),1)]),e("small",null,[a[4]||(a[4]=e("i",{class:"bi bi-database me-2"},null,-1)),c.database?(n(),f(o,{key:0,t:"Yes"})):(n(),f(o,{key:1,t:"No"}))]),a[5]||(a[5]=e("small",{class:"text-muted ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))])],8,le))),128))])):w("",!0)]))}},ie=T(ae,[["__scopeId","data-v-ccf48ac7"]]),re={class:"d-flex flex-column gap-5",id:"confirmBackup"},de={class:"d-flex flex-column gap-3"},ue={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ce={class:"mb-0"},me={class:"text-muted mb-1"},fe={class:"mb-0"},pe={class:"text-muted mb-1",for:"ConfigurationName"},ve={class:"invalid-feedback"},be={key:0},ge={key:1},_e={class:"mb-0"},ke={class:"row g-3"},ye={class:"col-sm"},he={class:"text-muted mb-1",for:"PrivateKey"},xe={class:"input-group"},Ce={class:"col-sm"},Pe={class:"text-muted mb-1",for:"PublicKey"},we={class:"text-muted mb-1",for:"ListenPort"},$e={class:"invalid-feedback"},Be={key:0},Ne={key:1},De={class:"mb-0"},Ae={class:"text-muted mb-1 d-flex",for:"ListenPort"},Le={class:"invalid-feedback"},Se={key:0},Ue={key:1},Ie={class:"accordion",id:"newConfigurationOptionalAccordion"},Ke={class:"accordion-item"},Re={class:"accordion-header"},Ve={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Oe={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Te={class:"accordion-body d-flex flex-column gap-3"},qe={class:"text-muted mb-1",for:"PreUp"},Ee={class:"text-muted mb-1",for:"PreDown"},je={class:"text-muted mb-1",for:"PostUp"},Me={class:"text-muted mb-1",for:"PostDown"},Ye={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ze={class:"mb-0"},Fe={key:0},Ge={class:"row g-3"},He={class:"col-sm"},Je={class:"card text-bg-success rounded-3"},Ze={class:"card-body"},Qe={class:"col-sm"},Xe={class:"card text-bg-warning rounded-3"},et={class:"card-body"},tt={class:"d-flex"},st=["disabled"],ot={__name:"confirmBackup",props:{selectedConfigurationBackup:Object},setup(m){const u=m,t=z({ConfigurationName:u.selectedConfigurationBackup.filename.split("_")[0],Backup:u.selectedConfigurationBackup.filename,Protocol:u.selectedConfigurationBackup.protocol}),h=u.selectedConfigurationBackup.content.split(` +import{_ as T,r as k,o as A,c as r,f as n,a as e,d as w,t as y,F as N,i as D,j as f,b as l,n as v,u as W,J as z,W as F,q as C,H as G,D as q,K as H,m as g,y as _,e as $,z as J,g as Z,w as B,h as Q,k as V}from"./index-BimuIV8Z.js";import{L as o}from"./localeText-D0Ve6fTw.js";import{d as X}from"./dayjs.min-CkODZHdU.js";import{_ as E}from"./protocolBadge-Ck_G7NzU.js";import{p as O}from"./index-Bno8fcdN.js";const ee={class:"card rounded-3 shadow-sm"},te={class:"mb-0 d-flex align-items-center gap-3"},se={class:"text-muted ms-auto d-block"},oe={key:0,class:"card-footer p-3 d-flex flex-column gap-2"},le=["onClick","id"],ne={class:"card-body d-flex p-3 gap-3 align-items-center"},ae={__name:"backupGroup",props:{configurationName:String,backups:Array,open:!1,selectedConfigurationBackup:Object,protocol:Array},emits:["select"],setup(m,{emit:u}){const t=m,h=u,p=k(t.open);return A(()=>{t.selectedConfigurationBackup&&document.querySelector(`#${t.selectedConfigurationBackup.filename.replace(".conf","")}`).scrollIntoView({behavior:"smooth"})}),(x,a)=>(n(),r("div",ee,[e("a",{role:"button",class:"card-body d-flex align-items-center text-decoration-none d-flex gap-3",onClick:a[0]||(a[0]=c=>p.value=!p.value)},[e("h6",te,[e("samp",null,y(m.configurationName),1),(n(!0),r(N,null,D(m.protocol,c=>(n(),f(E,{protocol:c},null,8,["protocol"]))),256))]),e("small",se,[l(o,{t:m.backups.length+(m.backups.length>1?" Backups":" Backup")},null,8,["t"])]),e("h5",{class:v(["mb-0 dropdownIcon text-muted",{active:p.value}])},a[1]||(a[1]=[e("i",{class:"bi bi-chevron-down"},null,-1)]),2)]),p.value?(n(),r("div",oe,[(n(!0),r(N,null,D(m.backups,c=>(n(),r("div",{class:"card rounded-3 shadow-sm animate__animated",key:c.filename,onClick:()=>{h("select",c)},id:c.filename.replace(".conf",""),role:"button"},[e("div",ne,[e("small",null,[a[2]||(a[2]=e("i",{class:"bi bi-file-earmark me-2"},null,-1)),e("samp",null,y(c.filename),1)]),e("small",null,[a[3]||(a[3]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),e("samp",null,y(W(X)(c.backupDate).format("YYYY-MM-DD HH:mm:ss")),1)]),e("small",null,[a[4]||(a[4]=e("i",{class:"bi bi-database me-2"},null,-1)),c.database?(n(),f(o,{key:0,t:"Yes"})):(n(),f(o,{key:1,t:"No"}))]),a[5]||(a[5]=e("small",{class:"text-muted ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))])],8,le))),128))])):w("",!0)]))}},ie=T(ae,[["__scopeId","data-v-ccf48ac7"]]),re={class:"d-flex flex-column gap-5",id:"confirmBackup"},de={class:"d-flex flex-column gap-3"},ue={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ce={class:"mb-0"},me={class:"text-muted mb-1"},fe={class:"mb-0"},pe={class:"text-muted mb-1",for:"ConfigurationName"},ve={class:"invalid-feedback"},be={key:0},ge={key:1},_e={class:"mb-0"},ke={class:"row g-3"},ye={class:"col-sm"},he={class:"text-muted mb-1",for:"PrivateKey"},xe={class:"input-group"},Ce={class:"col-sm"},Pe={class:"text-muted mb-1",for:"PublicKey"},we={class:"text-muted mb-1",for:"ListenPort"},$e={class:"invalid-feedback"},Be={key:0},Ne={key:1},De={class:"mb-0"},Ae={class:"text-muted mb-1 d-flex",for:"ListenPort"},Le={class:"invalid-feedback"},Se={key:0},Ue={key:1},Ie={class:"accordion",id:"newConfigurationOptionalAccordion"},Ke={class:"accordion-item"},Re={class:"accordion-header"},Ve={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Oe={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Te={class:"accordion-body d-flex flex-column gap-3"},qe={class:"text-muted mb-1",for:"PreUp"},Ee={class:"text-muted mb-1",for:"PreDown"},je={class:"text-muted mb-1",for:"PostUp"},Me={class:"text-muted mb-1",for:"PostDown"},Ye={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ze={class:"mb-0"},Fe={key:0},Ge={class:"row g-3"},He={class:"col-sm"},Je={class:"card text-bg-success rounded-3"},Ze={class:"card-body"},Qe={class:"col-sm"},Xe={class:"card text-bg-warning rounded-3"},et={class:"card-body"},tt={class:"d-flex"},st=["disabled"],ot={__name:"confirmBackup",props:{selectedConfigurationBackup:Object},setup(m){const u=m,t=z({ConfigurationName:u.selectedConfigurationBackup.filename.split("_")[0],Backup:u.selectedConfigurationBackup.filename,Protocol:u.selectedConfigurationBackup.protocol}),h=u.selectedConfigurationBackup.content.split(` `);for(let i of h){if(i==="[Peer]")break;if(i.length>0){let s=i.replace(" = ","=").split("=");s[0]==="ListenPort"?t[s[0]]=parseInt(s[1]):t[s[0]]=s[1]}}const p=k(!1),x=k(!1),a=k(""),c=F(),b=C(()=>/^[a-zA-Z0-9_=+.-]{1,15}$/.test(t.ConfigurationName)&&t.ConfigurationName.length>0&&!c.Configurations.find(i=>i.Name===t.ConfigurationName)),P=C(()=>{try{window.wireguard.generatePublicKey(t.PrivateKey)}catch{return!1}return!0}),L=C(()=>t.ListenPort>0&&t.ListenPort<=65353&&Number.isInteger(t.ListenPort)&&!c.Configurations.find(i=>parseInt(i.ListenPort)===t.ListenPort)),S=C(()=>{try{return O(t.Address),!0}catch{return!1}}),U=C(()=>S.value&&L.value&&P.value&&b.value);A(()=>{document.querySelector("main").scrollTo({top:0,behavior:"smooth"}),G(()=>P,i=>{i&&(t.PublicKey=window.wireguard.generatePublicKey(t.PrivateKey))},{immediate:!0})});const I=C(()=>{let i;try{i=O(t.Address)}catch{return 0}return i.end-i.start}),K=C(()=>u.selectedConfigurationBackup.database?u.selectedConfigurationBackup.databaseContent.split(` `).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}"`)>=0).length:0),R=C(()=>u.selectedConfigurationBackup.database?u.selectedConfigurationBackup.databaseContent.split(` `).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}_restrict_access"`)>=0).length:0),j=q(),M=H(),Y=async()=>{U.value&&(x.value=!0,await J("/api/addWireguardConfiguration",t,async i=>{i.status?(j.newMessage("Server","Configuration restored","success"),await c.getConfigurations(),await M.push(`/configuration/${t.ConfigurationName}/peers`)):x.value=!1}))};return(i,s)=>(n(),r("div",re,[e("form",de,[e("div",ue,[e("h4",ce,[l(o,{t:"Configuration"})])]),e("div",null,[e("label",me,[e("small",null,[l(o,{t:"Protocol"})])]),e("h5",fe,[l(E,{protocol:m.selectedConfigurationBackup.protocol,mini:!0},null,8,["protocol"])])]),e("div",null,[e("label",pe,[e("small",null,[l(o,{t:"Configuration Name"})])]),g(e("input",{type:"text",class:v(["form-control rounded-3",[b.value?"is-valid":"is-invalid"]]),placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":s[0]||(s[0]=d=>t.ConfigurationName=d),disabled:"",required:""},null,2),[[_,t.ConfigurationName]]),e("div",ve,[p.value?(n(),r("div",be,y(a.value),1)):(n(),r("div",ge,[l(o,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",_e,[e("li",null,[l(o,{t:"Configuration name already exist."})]),e("li",null,[l(o,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])]),e("div",ke,[e("div",ye,[e("div",null,[e("label",he,[e("small",null,[l(o,{t:"Private Key"})])]),e("div",xe,[g(e("input",{type:"text",class:v(["form-control rounded-start-3",[P.value?"is-valid":"is-invalid"]]),id:"PrivateKey",required:"","onUpdate:modelValue":s[1]||(s[1]=d=>t.PrivateKey=d),disabled:""},null,2),[[_,t.PrivateKey]])])])]),e("div",Ce,[e("div",null,[e("label",Pe,[e("small",null,[l(o,{t:"Public Key"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PublicKey","onUpdate:modelValue":s[2]||(s[2]=d=>t.PublicKey=d),disabled:""},null,512),[[_,t.PublicKey]])])])]),e("div",null,[e("label",we,[e("small",null,[l(o,{t:"Listen Port"})])]),g(e("input",{type:"number",class:v(["form-control rounded-3",[L.value?"is-valid":"is-invalid"]]),placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":s[3]||(s[3]=d=>t.ListenPort=d),disabled:"",required:""},null,2),[[_,t.ListenPort]]),e("div",$e,[p.value?(n(),r("div",Be,y(a.value),1)):(n(),r("div",Ne,[l(o,{t:"Listen Port is invalid. Possible reasons:"}),e("ul",De,[e("li",null,[l(o,{t:"Invalid port."})]),e("li",null,[l(o,{t:"Port is assigned to existing WireGuard Configuration."})])])]))])]),e("div",null,[e("label",Ae,[e("small",null,[l(o,{t:"IP Address/CIDR"})]),e("small",{class:v(["ms-auto",[I.value>0?"text-success":"text-danger"]])},[l(o,{t:I.value+" Available IP Address"},null,8,["t"])],2)]),g(e("input",{type:"text",class:v(["form-control",[S.value?"is-valid":"is-invalid"]]),placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":s[4]||(s[4]=d=>t.Address=d),disabled:"",required:""},null,2),[[_,t.Address]]),e("div",Le,[p.value?(n(),r("div",Se,y(a.value),1)):(n(),r("div",Ue,[l(o,{t:"IP Address/CIDR is invalid"})]))])]),e("div",Ie,[e("div",Ke,[e("h2",Re,[e("button",Ve,[l(o,{t:"Optional Settings"})])]),e("div",Oe,[e("div",Te,[e("div",null,[e("label",qe,[e("small",null,[l(o,{t:"PreUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreUp",disabled:"","onUpdate:modelValue":s[5]||(s[5]=d=>t.PreUp=d)},null,512),[[_,t.PreUp]])]),e("div",null,[e("label",Ee,[e("small",null,[l(o,{t:"PreDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreDown",disabled:"","onUpdate:modelValue":s[6]||(s[6]=d=>t.PreDown=d)},null,512),[[_,t.PreDown]])]),e("div",null,[e("label",je,[e("small",null,[l(o,{t:"PostUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostUp",disabled:"","onUpdate:modelValue":s[7]||(s[7]=d=>t.PostUp=d)},null,512),[[_,t.PostUp]])]),e("div",null,[e("label",Me,[e("small",null,[l(o,{t:"PostDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostDown",disabled:"","onUpdate:modelValue":s[8]||(s[8]=d=>t.PostDown=d)},null,512),[[_,t.PostDown]])])])])])])]),e("div",Ye,[e("div",We,[e("h4",ze,[l(o,{t:"Database File"})]),e("h4",{class:v(["mb-0 ms-auto",[m.selectedConfigurationBackup.database?"text-success":"text-danger"]])},[e("i",{class:v(["bi",[m.selectedConfigurationBackup.database?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2)],2)]),m.selectedConfigurationBackup.database?(n(),r("div",Fe,[e("div",Ge,[e("div",He,[e("div",Je,[e("div",Ze,[s[10]||(s[10]=e("i",{class:"bi bi-person-fill me-2"},null,-1)),l(o,{t:"Contain"}),s[11]||(s[11]=$()),e("strong",null,y(K.value),1),s[12]||(s[12]=$()),K.value>1?(n(),f(o,{key:0,t:"Peer"})):(n(),f(o,{key:1,t:"Peer"}))])])]),e("div",Qe,[e("div",Xe,[e("div",et,[s[13]||(s[13]=e("i",{class:"bi bi-person-fill-lock me-2"},null,-1)),l(o,{t:"Contain"}),s[14]||(s[14]=$()),e("strong",null,y(R.value),1),s[15]||(s[15]=$()),R.value>1?(n(),f(o,{key:0,t:"Restricted Peers"})):(n(),f(o,{key:1,t:"Restricted Peers"}))])])])])])):w("",!0)]),e("div",tt,[e("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!U.value||x.value,onClick:s[9]||(s[9]=d=>Y())},[s[16]||(s[16]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),l(o,{t:x.value?"Restoring...":"Restore"},null,8,["t"])],8,st)])]))}},lt={class:"mt-md-5 mt-3 text-body"},nt={class:"container mb-4"},at={class:"mb-5 d-flex align-items-center gap-4"},it={class:"mb-0"},rt={key:0},dt={class:"d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3"},ut={class:"mb-0"},ct={class:"text-muted"},mt={key:0,class:"ms-sm-auto"},ft={class:"text-muted"},pt={key:0,id:"step1Detail"},vt={class:"mb-4"},bt={class:"d-flex gap-3 flex-column"},gt={key:0},_t={class:"card rounded-3"},kt={class:"card-body"},yt={class:"mb-0"},ht={class:"my-5",key:"step2",id:"step2"},xt={class:"text-muted"},Ct={__name:"restoreConfiguration",setup(m){const u=k(void 0);q(),k(!1),A(()=>{Z("/api/getAllWireguardConfigurationBackup",{},x=>{u.value=x.data})});const t=k(!1),h=k(void 0),p=k("");return(x,a)=>{const c=Q("RouterLink");return n(),r("div",lt,[e("div",nt,[e("div",at,[l(c,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:B(()=>a[1]||(a[1]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])),_:1,__:[1]}),e("h2",it,[l(o,{t:"Restore Configuration"})])]),l(V,{name:"fade",appear:""},{default:B(()=>[u.value?(n(),r("div",rt,[e("div",{class:v(["d-flex mb-5 align-items-center steps",{active:!t.value}]),role:"button",onClick:a[0]||(a[0]=b=>t.value=!1),key:"step1"},[e("div",dt,[a[2]||(a[2]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-1-circle-fill"})],-1)),e("div",null,[e("h4",ut,[l(o,{t:"Step 1"})]),e("small",ct,[t.value?(n(),f(o,{key:1,t:"Click to change a backup"})):(n(),f(o,{key:0,t:"Select a backup you want to restore"}))])])]),l(V,{name:"zoomReversed"},{default:B(()=>[t.value?(n(),r("div",mt,[e("small",ft,[l(o,{t:"Selected Backup"})]),e("h6",null,[e("samp",null,y(h.value.filename),1)])])):w("",!0)]),_:1})],2),t.value?w("",!0):(n(),r("div",pt,[e("div",vt,[e("div",bt,[(n(!0),r(N,null,D(Object.keys(u.value.NonExistingConfigurations),b=>(n(),f(ie,{onSelect:P=>{h.value=P,p.value=b,t.value=!0},selectedConfigurationBackup:h.value,open:p.value===b,protocol:[...new Set(u.value.NonExistingConfigurations[b].map(P=>P.protocol))],"configuration-name":b,backups:u.value.NonExistingConfigurations[b]},null,8,["onSelect","selectedConfigurationBackup","open","protocol","configuration-name","backups"]))),256)),Object.keys(u.value.NonExistingConfigurations).length===0?(n(),r("div",gt,[e("div",_t,[e("div",kt,[e("p",yt,[l(o,{t:"You don't have any configuration to restore"})])])])])):w("",!0)])])])),e("div",ht,[e("div",{class:v(["steps d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3",{active:t.value}])},[a[4]||(a[4]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-2-circle-fill"})],-1)),e("div",null,[a[3]||(a[3]=e("h4",{class:"mb-0"},"Step 2",-1)),e("small",xt,[t.value?(n(),f(o,{key:1,t:"Confirm & edit restore information"})):(n(),f(o,{key:0,t:"Backup not selected"}))])])],2)]),t.value?(n(),f(ot,{selectedConfigurationBackup:h.value,key:"confirm"},null,8,["selectedConfigurationBackup"])):w("",!0)])):w("",!0)]),_:1})])])}}},Dt=T(Ct,[["__scopeId","data-v-324df2b1"]]);export{Dt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-9nZCB-vb.js b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-Cb0Cf1NE.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-9nZCB-vb.js rename to src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-Cb0Cf1NE.js index c02dcc15..96c98546 100644 --- a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-9nZCB-vb.js +++ b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-Cb0Cf1NE.js @@ -1 +1 @@ -import{_,c as r,f as d,a as s,t as m,n as y,d as f,F as j,i as S,z as v,r as h,D as k,h as b,b as n,j as x,m as D,y as $,e as p}from"./index-mH92cJrc.js";import{Q as J}from"./vue-datepicker-DXRta4gJ.js";import{d as C}from"./dayjs.min-BSByM7MH.js";import{L as V}from"./localeText-DSmP42vs.js";const O={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(t){t.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(t=>t.value===this.data)}}},M={class:"dropdown scheduleDropdown"},N={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem"}},P=["onClick"],F={class:"pe-5"},L={key:0,class:"bi bi-check ms-auto"};function T(t,e,l,o,c,g){return d(),r("div",M,[s("button",{class:y(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!l.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[s("samp",null,m(this.currentSelection.display),1)],2),s("ul",N,[l.edit?(d(!0),r(j,{key:0},S(this.options,a=>(d(),r("li",null,[s("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:u=>t.$emit("update",a.value)},[s("samp",F,m(a.display),1),a.value===this.currentSelection.value?(d(),r("i",L)):f("",!0)],8,P)]))),256)):f("",!0)])])}const A=_(O,[["render",T],["__scopeId","data-v-abe2acbc"]]),E={name:"schedulePeerJob",components:{LocaleText:V,VueDatePicker:J,ScheduleDropdown:A},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(t){const e=h({}),l=h(!1),o=h(!1);e.value=JSON.parse(JSON.stringify(t.pjob)),e.value.CreationDate||(l.value=!0,o.value=!0);const c=k();return{job:e,edit:l,newJob:o,store:c}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(t){this.edit||(this.job=JSON.parse(JSON.stringify(t)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?v("/api/savePeerScheduleJob",{Job:this.job},t=>{t.status?(this.edit=!1,this.store.newMessage("Server","Peer job saved","success"),console.log(t.data),this.$emit("refresh",t.data[0]),this.newJob=!1):this.store.newMessage("Server",t.message,"danger")}):this.alert()},alert(){let t="animate__flash",e=this.$el.querySelectorAll(".scheduleDropdown"),l=this.$el.querySelectorAll("input");e.forEach(o=>o.classList.add("animate__animated",t)),l.forEach(o=>o.classList.add("animate__animated",t)),setTimeout(()=>{e.forEach(o=>o.classList.remove("animate__animated",t)),l.forEach(o=>o.classList.remove("animate__animated",t))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&v("/api/deletePeerScheduleJob",{Job:this.job},t=>{t.status?this.store.newMessage("Server","Peer job deleted","success"):(this.store.newMessage("Server",t.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(t){t&&(this.job.Value=C(t).format("YYYY-MM-DD HH:mm:ss"))}}},U={class:"card-header bg-transparent text-muted border-0"},H={key:0,class:"d-flex"},B={class:"me-auto"},I={key:1},Y={class:"badge text-bg-warning"},z={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},q={class:"d-flex gap-2 align-items-center mb-2"},Q=["disabled"],G={class:"px-5 d-flex gap-2 align-items-center"},K={class:"d-flex gap-3"},R={key:0,class:"ms-auto d-flex gap-3"},W={key:1,class:"ms-auto d-flex gap-3"};function X(t,e,l,o,c,g){const a=b("LocaleText"),u=b("ScheduleDropdown"),w=b("VueDatePicker");return d(),r("div",{class:y(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[s("div",U,[this.newJob?(d(),r("small",I,[s("span",Y,[n(a,{t:"Unsaved Job"})])])):(d(),r("small",H,[s("strong",B,[n(a,{t:"Job ID"})]),s("samp",null,m(this.job.JobID),1)]))]),s("div",z,[s("div",q,[s("samp",null,[n(a,{t:"if"})]),n(u,{edit:o.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:e[0]||(e[0]=i=>{this.job.Field=i})},null,8,["edit","options","data"]),s("samp",null,[n(a,{t:"is"})]),n(u,{edit:o.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:e[1]||(e[1]=i=>this.job.Operator=i)},null,8,["edit","options","data"]),this.job.Field==="date"?(d(),x(w,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!o.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):D((d(),r("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!o.edit,"onUpdate:modelValue":e[2]||(e[2]=i=>this.job.Value=i),style:{width:"auto"}},null,8,Q)),[[$,this.job.Value]]),s("samp",null,m(this.dropdowns.Field.find(i=>i.value===this.job.Field)?.unit)+" { ",1)]),s("div",G,[s("samp",null,[n(a,{t:"then"})]),n(u,{edit:o.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:e[3]||(e[3]=i=>this.job.Action=i)},null,8,["edit","options","data"])]),s("div",K,[e[12]||(e[12]=s("samp",null,"}",-1)),this.edit?(d(),r("div",W,[s("a",{role:"button",class:"text-secondary text-decoration-none",onClick:e[6]||(e[6]=i=>this.reset())},[e[10]||(e[10]=p("[C] ")),n(a,{t:"Cancel"})]),s("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:e[7]||(e[7]=i=>this.save())},[e[11]||(e[11]=p("[S] ")),n(a,{t:"Save"})])])):(d(),r("div",R,[s("a",{role:"button",class:"ms-auto text-decoration-none",onClick:e[4]||(e[4]=i=>this.edit=!0)},[e[8]||(e[8]=p("[E] ")),n(a,{t:"Edit"})]),s("a",{role:"button",onClick:e[5]||(e[5]=i=>this.delete()),class:"text-danger text-decoration-none"},[e[9]||(e[9]=p("[D] ")),n(a,{t:"Delete"})])]))])])],2)}const oe=_(E,[["render",X],["__scopeId","data-v-4aa63a3e"]]);export{oe as S,A as a}; +import{_,c as r,f as d,a as s,t as m,n as y,d as f,F as j,i as S,z as v,r as h,D as k,h as b,b as n,j as x,m as D,y as $,e as p}from"./index-BimuIV8Z.js";import{Q as J}from"./vue-datepicker-VDLvxrT_.js";import{d as C}from"./dayjs.min-CkODZHdU.js";import{L as V}from"./localeText-D0Ve6fTw.js";const O={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(t){t.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(t=>t.value===this.data)}}},M={class:"dropdown scheduleDropdown"},N={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem"}},P=["onClick"],F={class:"pe-5"},L={key:0,class:"bi bi-check ms-auto"};function T(t,e,l,o,c,g){return d(),r("div",M,[s("button",{class:y(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!l.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[s("samp",null,m(this.currentSelection.display),1)],2),s("ul",N,[l.edit?(d(!0),r(j,{key:0},S(this.options,a=>(d(),r("li",null,[s("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:u=>t.$emit("update",a.value)},[s("samp",F,m(a.display),1),a.value===this.currentSelection.value?(d(),r("i",L)):f("",!0)],8,P)]))),256)):f("",!0)])])}const A=_(O,[["render",T],["__scopeId","data-v-abe2acbc"]]),E={name:"schedulePeerJob",components:{LocaleText:V,VueDatePicker:J,ScheduleDropdown:A},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(t){const e=h({}),l=h(!1),o=h(!1);e.value=JSON.parse(JSON.stringify(t.pjob)),e.value.CreationDate||(l.value=!0,o.value=!0);const c=k();return{job:e,edit:l,newJob:o,store:c}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(t){this.edit||(this.job=JSON.parse(JSON.stringify(t)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?v("/api/savePeerScheduleJob",{Job:this.job},t=>{t.status?(this.edit=!1,this.store.newMessage("Server","Peer job saved","success"),console.log(t.data),this.$emit("refresh",t.data[0]),this.newJob=!1):this.store.newMessage("Server",t.message,"danger")}):this.alert()},alert(){let t="animate__flash",e=this.$el.querySelectorAll(".scheduleDropdown"),l=this.$el.querySelectorAll("input");e.forEach(o=>o.classList.add("animate__animated",t)),l.forEach(o=>o.classList.add("animate__animated",t)),setTimeout(()=>{e.forEach(o=>o.classList.remove("animate__animated",t)),l.forEach(o=>o.classList.remove("animate__animated",t))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&v("/api/deletePeerScheduleJob",{Job:this.job},t=>{t.status?this.store.newMessage("Server","Peer job deleted","success"):(this.store.newMessage("Server",t.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(t){t&&(this.job.Value=C(t).format("YYYY-MM-DD HH:mm:ss"))}}},U={class:"card-header bg-transparent text-muted border-0"},H={key:0,class:"d-flex"},B={class:"me-auto"},I={key:1},Y={class:"badge text-bg-warning"},z={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},q={class:"d-flex gap-2 align-items-center mb-2"},Q=["disabled"],G={class:"px-5 d-flex gap-2 align-items-center"},K={class:"d-flex gap-3"},R={key:0,class:"ms-auto d-flex gap-3"},W={key:1,class:"ms-auto d-flex gap-3"};function X(t,e,l,o,c,g){const a=b("LocaleText"),u=b("ScheduleDropdown"),w=b("VueDatePicker");return d(),r("div",{class:y(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[s("div",U,[this.newJob?(d(),r("small",I,[s("span",Y,[n(a,{t:"Unsaved Job"})])])):(d(),r("small",H,[s("strong",B,[n(a,{t:"Job ID"})]),s("samp",null,m(this.job.JobID),1)]))]),s("div",z,[s("div",q,[s("samp",null,[n(a,{t:"if"})]),n(u,{edit:o.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:e[0]||(e[0]=i=>{this.job.Field=i})},null,8,["edit","options","data"]),s("samp",null,[n(a,{t:"is"})]),n(u,{edit:o.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:e[1]||(e[1]=i=>this.job.Operator=i)},null,8,["edit","options","data"]),this.job.Field==="date"?(d(),x(w,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!o.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):D((d(),r("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!o.edit,"onUpdate:modelValue":e[2]||(e[2]=i=>this.job.Value=i),style:{width:"auto"}},null,8,Q)),[[$,this.job.Value]]),s("samp",null,m(this.dropdowns.Field.find(i=>i.value===this.job.Field)?.unit)+" { ",1)]),s("div",G,[s("samp",null,[n(a,{t:"then"})]),n(u,{edit:o.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:e[3]||(e[3]=i=>this.job.Action=i)},null,8,["edit","options","data"])]),s("div",K,[e[12]||(e[12]=s("samp",null,"}",-1)),this.edit?(d(),r("div",W,[s("a",{role:"button",class:"text-secondary text-decoration-none",onClick:e[6]||(e[6]=i=>this.reset())},[e[10]||(e[10]=p("[C] ")),n(a,{t:"Cancel"})]),s("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:e[7]||(e[7]=i=>this.save())},[e[11]||(e[11]=p("[S] ")),n(a,{t:"Save"})])])):(d(),r("div",R,[s("a",{role:"button",class:"ms-auto text-decoration-none",onClick:e[4]||(e[4]=i=>this.edit=!0)},[e[8]||(e[8]=p("[E] ")),n(a,{t:"Edit"})]),s("a",{role:"button",onClick:e[5]||(e[5]=i=>this.delete()),class:"text-danger text-decoration-none"},[e[9]||(e[9]=p("[D] ")),n(a,{t:"Delete"})])]))])])],2)}const oe=_(E,[["render",X],["__scopeId","data-v-4aa63a3e"]]);export{oe as S,A as a}; diff --git a/src/static/dist/WGDashboardAdmin/assets/selectPeers-OsdjzB9V.js b/src/static/dist/WGDashboardAdmin/assets/selectPeers-C5PtdxOJ.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/selectPeers-OsdjzB9V.js rename to src/static/dist/WGDashboardAdmin/assets/selectPeers-C5PtdxOJ.js index 178491f9..42bef653 100644 --- a/src/static/dist/WGDashboardAdmin/assets/selectPeers-OsdjzB9V.js +++ b/src/static/dist/WGDashboardAdmin/assets/selectPeers-C5PtdxOJ.js @@ -1 +1 @@ -import{_ as j,r as g,q as A,H as E,L as F,D as M,J as z,a2 as C,c as o,f as n,a as t,b as r,m as O,d as b,y as q,F as p,i as G,n as w,t as S,e as h,g as H,z as J}from"./index-mH92cJrc.js";import{L as d}from"./localeText-DSmP42vs.js";const Y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"selectPeersContainer"},K={class:"container d-flex h-100 w-100"},Q={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},W={class:"card rounded-3 shadow flex-grow-1"},X={class:"card-header bg-transparent d-flex align-items-center gap-2 p-4 flex-column pb-3"},Z={class:"mb-2 w-100 d-flex"},ee={class:"mb-0"},te={class:"d-flex w-100 align-items-center gap-2"},se={class:"d-flex gap-3"},le={class:"card-body px-4 flex-grow-1 d-flex gap-2 flex-column position-relative",ref:"card-body",style:{"overflow-y":"scroll"}},ae=["onClick","disabled","data-id"],oe={key:0},ne={class:"d-flex flex-column"},ie={class:"fw-bold"},re={class:"text-muted"},de={key:1,class:"ms-auto"},ue={key:0,class:"spinner-border spinner-border-sm",role:"status"},ce={class:"card-footer px-4 py-3 gap-2 d-flex align-items-center"},fe=["disabled"],be={key:0,class:"flex-grow-1 text-center"},ve=["disabled"],me={key:0,class:"flex-grow-1 text-center"},ge=["disabled"],pe={key:0,class:"flex-grow-1 text-center"},he=["disabled"],xe={__name:"selectPeers",props:{configurationPeers:Array},emits:["refresh","close"],setup(x,{emit:$}){const y=x,f=g(!1),u=g(!1),s=g([]),m=g(""),D=a=>{s.value.find(e=>e===a)?s.value=s.value.filter(e=>e!==a):s.value.push(a)},B=A(()=>f.value||u.value?y.configurationPeers.filter(a=>s.value.find(e=>e===a.id)):m.value.length>0?y.configurationPeers.filter(a=>a.id.includes(m.value)||a.name.includes(m.value)):y.configurationPeers);E(s,()=>{s.value.length===0&&(f.value=!1,u.value=!1)});const P=F(),L=M(),_=$,v=g(!1),N=()=>{v.value=!0,J(`/api/deletePeers/${P.params.id}`,{peers:s.value},a=>{L.newMessage("Server",a.message,a.status?"success":"danger"),a.status&&(s.value=[],f.value=!1),_("refresh"),v.value=!1})},c=z({success:[],failed:[]}),T=C("card-body"),U=C("sp"),V=async()=>{u.value=!0;for(const a of s.value)T.value.scrollTo({top:U.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await H("/api/downloadPeer/"+P.params.id,{id:a},e=>{if(e.status){const l=new Blob([e.data.file],{type:"text/plain"}),i=URL.createObjectURL(l),R=`${e.data.fileName}.conf`,k=document.createElement("a");k.href=i,k.download=R,k.click(),c.success.push(a)}else c.failed.push(a)})},I=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(n(),o("div",Y,[t("div",K,[t("div",Q,[t("div",W,[t("div",X,[t("div",Z,[t("h4",ee,[r(d,{t:"Select Peers"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=l=>_("close"))})]),t("div",te,[t("div",se,[!u.value&&s.value.length!==x.configurationPeers.map(l=>l.id).length?(n(),o("a",{key:0,role:"button",onClick:e[1]||(e[1]=l=>s.value=x.configurationPeers.map(i=>i.id)),class:"text-decoration-none text-body"},[t("small",null,[e[9]||(e[9]=t("i",{class:"bi bi-check-all me-2"},null,-1)),r(d,{t:"Select All"})])])):b("",!0),s.value.length>0&&!u.value?(n(),o("a",{key:1,role:"button",class:"text-decoration-none text-body",onClick:e[2]||(e[2]=l=>s.value=[])},[t("small",null,[e[10]||(e[10]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),r(d,{t:"Clear Selection"})])])):b("",!0)]),e[11]||(e[11]=t("label",{class:"ms-auto",for:"selectPeersSearchInput"},[t("i",{class:"bi bi-search"})],-1)),O(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),id:"selectPeersSearchInput",style:{width:"200px !important"},type:"text"},null,512),[[q,m.value]])])]),t("div",le,[(n(!0),o(p,null,G(B.value,l=>(n(),o("button",{type:"button",class:w(["btn w-100 peerBtn text-start rounded-3 d-flex align-items-center gap-3",{active:s.value.find(i=>i===l.id)}]),onClick:i=>D(l.id),key:l.id,disabled:f.value||u.value,ref_for:!0,ref:"sp","data-id":l.id},[u.value?b("",!0):(n(),o("span",oe,[t("i",{class:w(["bi",[s.value.find(i=>i===l.id)?"bi-check-circle-fill":"bi-circle"]])},null,2)])),t("span",ne,[t("small",ie,S(l.name?l.name:"Untitled Peer"),1),t("small",re,[t("samp",null,S(l.id),1)])]),u.value?(n(),o("span",de,[!c.success.find(i=>i===l.id)&&!c.failed.find(i=>i===l.id)?(n(),o("span",ue)):(n(),o("i",{key:1,class:w(["bi",[c.failed.find(i=>i===l.id)?"bi-x-circle-fill":"bi-check-circle-fill"]])},null,2))])):b("",!0)],10,ae))),128))],512),t("div",ce,[!f.value&&!u.value?(n(),o(p,{key:0},[t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3",disabled:s.value.length===0||v.value,onClick:e[4]||(e[4]=l=>V())},e[12]||(e[12]=[t("i",{class:"bi bi-download"},null,-1)]),8,fe),s.value.length>0?(n(),o("span",be,[e[13]||(e[13]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"])])):b("",!0),t("button",{class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle ms-auto rounded-3",onClick:e[5]||(e[5]=l=>f.value=!0),disabled:s.value.length===0||v.value},e[14]||(e[14]=[t("i",{class:"bi bi-trash"},null,-1)]),8,ve)],64)):u.value?(n(),o(p,{key:1},[c.failed.length+c.success.length1?"s":"")},null,8,["t"]),e[16]||(e[16]=h("... "))])):(n(),o(p,{key:1},[t("strong",null,[r(d,{t:"Download Finished"})]),t("button",{onClick:e[6]||(e[6]=l=>I()),class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle rounded-3 ms-auto"},[r(d,{t:"Done"})])],64))],64)):f.value?(n(),o(p,{key:2},[t("button",{class:"btn btn-danger rounded-3",disabled:s.value.length===0||v.value,onClick:e[7]||(e[7]=l=>N())},[r(d,{t:"Yes"})],8,ge),s.value.length>0?(n(),o("strong",pe,[r(d,{t:"Are you sure to delete"}),e[17]||(e[17]=h()),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"]),e[18]||(e[18]=h("? "))])):b("",!0),t("button",{class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle ms-auto rounded-3",disabled:s.value.length===0||v.value,onClick:e[8]||(e[8]=l=>f.value=!1)},[r(d,{t:"No"})],8,he)],64)):b("",!0)])])])])],512))}},we=j(xe,[["__scopeId","data-v-177407c1"]]);export{we as default}; +import{_ as j,r as g,q as A,H as E,L as F,D as M,J as z,a2 as C,c as o,f as n,a as t,b as r,m as O,d as b,y as q,F as p,i as G,n as w,t as S,e as h,g as H,z as J}from"./index-BimuIV8Z.js";import{L as d}from"./localeText-D0Ve6fTw.js";const Y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"selectPeersContainer"},K={class:"container d-flex h-100 w-100"},Q={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},W={class:"card rounded-3 shadow flex-grow-1"},X={class:"card-header bg-transparent d-flex align-items-center gap-2 p-4 flex-column pb-3"},Z={class:"mb-2 w-100 d-flex"},ee={class:"mb-0"},te={class:"d-flex w-100 align-items-center gap-2"},se={class:"d-flex gap-3"},le={class:"card-body px-4 flex-grow-1 d-flex gap-2 flex-column position-relative",ref:"card-body",style:{"overflow-y":"scroll"}},ae=["onClick","disabled","data-id"],oe={key:0},ne={class:"d-flex flex-column"},ie={class:"fw-bold"},re={class:"text-muted"},de={key:1,class:"ms-auto"},ue={key:0,class:"spinner-border spinner-border-sm",role:"status"},ce={class:"card-footer px-4 py-3 gap-2 d-flex align-items-center"},fe=["disabled"],be={key:0,class:"flex-grow-1 text-center"},ve=["disabled"],me={key:0,class:"flex-grow-1 text-center"},ge=["disabled"],pe={key:0,class:"flex-grow-1 text-center"},he=["disabled"],xe={__name:"selectPeers",props:{configurationPeers:Array},emits:["refresh","close"],setup(x,{emit:$}){const y=x,f=g(!1),u=g(!1),s=g([]),m=g(""),D=a=>{s.value.find(e=>e===a)?s.value=s.value.filter(e=>e!==a):s.value.push(a)},B=A(()=>f.value||u.value?y.configurationPeers.filter(a=>s.value.find(e=>e===a.id)):m.value.length>0?y.configurationPeers.filter(a=>a.id.includes(m.value)||a.name.includes(m.value)):y.configurationPeers);E(s,()=>{s.value.length===0&&(f.value=!1,u.value=!1)});const P=F(),L=M(),_=$,v=g(!1),N=()=>{v.value=!0,J(`/api/deletePeers/${P.params.id}`,{peers:s.value},a=>{L.newMessage("Server",a.message,a.status?"success":"danger"),a.status&&(s.value=[],f.value=!1),_("refresh"),v.value=!1})},c=z({success:[],failed:[]}),T=C("card-body"),U=C("sp"),V=async()=>{u.value=!0;for(const a of s.value)T.value.scrollTo({top:U.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await H("/api/downloadPeer/"+P.params.id,{id:a},e=>{if(e.status){const l=new Blob([e.data.file],{type:"text/plain"}),i=URL.createObjectURL(l),R=`${e.data.fileName}.conf`,k=document.createElement("a");k.href=i,k.download=R,k.click(),c.success.push(a)}else c.failed.push(a)})},I=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(n(),o("div",Y,[t("div",K,[t("div",Q,[t("div",W,[t("div",X,[t("div",Z,[t("h4",ee,[r(d,{t:"Select Peers"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=l=>_("close"))})]),t("div",te,[t("div",se,[!u.value&&s.value.length!==x.configurationPeers.map(l=>l.id).length?(n(),o("a",{key:0,role:"button",onClick:e[1]||(e[1]=l=>s.value=x.configurationPeers.map(i=>i.id)),class:"text-decoration-none text-body"},[t("small",null,[e[9]||(e[9]=t("i",{class:"bi bi-check-all me-2"},null,-1)),r(d,{t:"Select All"})])])):b("",!0),s.value.length>0&&!u.value?(n(),o("a",{key:1,role:"button",class:"text-decoration-none text-body",onClick:e[2]||(e[2]=l=>s.value=[])},[t("small",null,[e[10]||(e[10]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),r(d,{t:"Clear Selection"})])])):b("",!0)]),e[11]||(e[11]=t("label",{class:"ms-auto",for:"selectPeersSearchInput"},[t("i",{class:"bi bi-search"})],-1)),O(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),id:"selectPeersSearchInput",style:{width:"200px !important"},type:"text"},null,512),[[q,m.value]])])]),t("div",le,[(n(!0),o(p,null,G(B.value,l=>(n(),o("button",{type:"button",class:w(["btn w-100 peerBtn text-start rounded-3 d-flex align-items-center gap-3",{active:s.value.find(i=>i===l.id)}]),onClick:i=>D(l.id),key:l.id,disabled:f.value||u.value,ref_for:!0,ref:"sp","data-id":l.id},[u.value?b("",!0):(n(),o("span",oe,[t("i",{class:w(["bi",[s.value.find(i=>i===l.id)?"bi-check-circle-fill":"bi-circle"]])},null,2)])),t("span",ne,[t("small",ie,S(l.name?l.name:"Untitled Peer"),1),t("small",re,[t("samp",null,S(l.id),1)])]),u.value?(n(),o("span",de,[!c.success.find(i=>i===l.id)&&!c.failed.find(i=>i===l.id)?(n(),o("span",ue)):(n(),o("i",{key:1,class:w(["bi",[c.failed.find(i=>i===l.id)?"bi-x-circle-fill":"bi-check-circle-fill"]])},null,2))])):b("",!0)],10,ae))),128))],512),t("div",ce,[!f.value&&!u.value?(n(),o(p,{key:0},[t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3",disabled:s.value.length===0||v.value,onClick:e[4]||(e[4]=l=>V())},e[12]||(e[12]=[t("i",{class:"bi bi-download"},null,-1)]),8,fe),s.value.length>0?(n(),o("span",be,[e[13]||(e[13]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"])])):b("",!0),t("button",{class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle ms-auto rounded-3",onClick:e[5]||(e[5]=l=>f.value=!0),disabled:s.value.length===0||v.value},e[14]||(e[14]=[t("i",{class:"bi bi-trash"},null,-1)]),8,ve)],64)):u.value?(n(),o(p,{key:1},[c.failed.length+c.success.length1?"s":"")},null,8,["t"]),e[16]||(e[16]=h("... "))])):(n(),o(p,{key:1},[t("strong",null,[r(d,{t:"Download Finished"})]),t("button",{onClick:e[6]||(e[6]=l=>I()),class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle rounded-3 ms-auto"},[r(d,{t:"Done"})])],64))],64)):f.value?(n(),o(p,{key:2},[t("button",{class:"btn btn-danger rounded-3",disabled:s.value.length===0||v.value,onClick:e[7]||(e[7]=l=>N())},[r(d,{t:"Yes"})],8,ge),s.value.length>0?(n(),o("strong",pe,[r(d,{t:"Are you sure to delete"}),e[17]||(e[17]=h()),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"]),e[18]||(e[18]=h("? "))])):b("",!0),t("button",{class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle ms-auto rounded-3",disabled:s.value.length===0||v.value,onClick:e[8]||(e[8]=l=>f.value=!1)},[r(d,{t:"No"})],8,he)],64)):b("",!0)])])])])],512))}},we=j(xe,[["__scopeId","data-v-177407c1"]]);export{we as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/settings-CoChm88i.js b/src/static/dist/WGDashboardAdmin/assets/settings-CRSDCN7L.js similarity index 90% rename from src/static/dist/WGDashboardAdmin/assets/settings-CoChm88i.js rename to src/static/dist/WGDashboardAdmin/assets/settings-CRSDCN7L.js index 4b6d2243..d19ac62c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/settings-CoChm88i.js +++ b/src/static/dist/WGDashboardAdmin/assets/settings-CRSDCN7L.js @@ -1 +1 @@ -import{_ as c,z as D,D as m,A as x,c as i,a as t,t as S,m as l,y as u,e as p,f as o,b as n,F as $,i as w,h as r,w as I}from"./index-mH92cJrc.js";import{P}from"./peersDefaultSettingsInput-DgB9BWQw.js";import{A as k,a as A,D as y,b as C,c as V,d as F,e as T,_ as L}from"./dashboardEmailSettings-CqwOH0Oa.js";import{D as R,a as W}from"./dashboardSettingsWireguardConfigurationAutostart-CcYlrBrT.js";import{L as U}from"./localeText-DSmP42vs.js";import"./dayjs.min-BSByM7MH.js";import"./vue-datepicker-DXRta4gJ.js";const B={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=m(),s=`input_${x()}`;return{store:e,uuid:s}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await D("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},G={class:"invalid-feedback d-block mt-0"},N={class:"row"},E={class:"form-group mb-2 col-sm"},M=["for"],j=["id"],z={class:"form-group col-sm"},K=["for"],q=["id"];function H(e,s,h,_,b,f){return o(),i("div",null,[t("div",G,S(this.invalidFeedback),1),t("div",N,[t("div",E,[t("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},s[2]||(s[2]=[t("strong",null,[t("small",null,"Dashboard IP Address")],-1)]),8,M),l(t("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.app_ip=a)},null,8,j),[[u,this.app_ip]]),s[3]||(s[3]=t("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[t("small",null,[t("i",{class:"bi bi-exclamation-triangle-fill me-2"}),t("code",null,"0.0.0.0"),p(" means it can be access by anyone with your server IP Address.")])],-1))]),t("div",z,[t("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},s[4]||(s[4]=[t("strong",null,[t("small",null,"Dashboard Port")],-1)]),8,K),l(t("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":s[1]||(s[1]=a=>this.app_port=a)},null,8,q),[[u,this.app_port]])])]),s[5]||(s[5]=t("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[t("i",{class:"bi bi-floppy-fill me-2"}),p("Update Dashboard Settings & Restart ")],-1))])}const J=c(B,[["render",H]]),O={name:"settings",components:{DashboardEmailSettings:L,DashboardSettingsWireguardConfigurationAutostart:W,DashboardIPPortInput:T,DashboardLanguage:F,LocaleText:U,AccountSettingsMFA:V,DashboardAPIKeys:C,DashboardSettingsInputIPAddressAndPort:J,DashboardTheme:y,DashboardSettingsInputWireguardConfigurationPath:R,AccountSettingsInputPassword:A,AccountSettingsInputUsername:k,PeersDefaultSettingsInput:P},setup(){return{dashboardConfigurationStore:m()}},data(){return{activeTab:"WGDashboard",tabs:[{id:"",title:"WGDashboard Settings"},{id:"peers_settings",title:"Peers Settings"},{id:"wireguard_settings",title:"WireGuard Configuration Settings"}]}}},Q={class:"mt-md-5 mt-3 text-body mb-3"},X={class:"container-md d-flex flex-column gap-3"},Y={class:"border-bottom pb-3"},Z={class:"nav nav-pills nav-justified align-items-center gap-2"},tt={class:"nav-item"},st={class:"my-2"};function et(e,s,h,_,b,f){const a=r("LocaleText"),g=r("RouterLink"),v=r("RouterView");return o(),i("div",Q,[t("div",X,[t("div",Y,[t("ul",Z,[(o(!0),i($,null,w(this.tabs,d=>(o(),i("li",tt,[n(g,{to:{name:d.title},class:"nav-link rounded-3","exact-active-class":"active",role:"button"},{default:I(()=>[t("h6",st,[n(a,{t:d.title},null,8,["t"])])]),_:2},1032,["to"])]))),256))])]),n(v)])])}const ut=c(O,[["render",et]]);export{ut as default}; +import{_ as c,z as D,D as m,A as x,c as i,a as t,t as S,m as l,y as u,e as p,f as o,b as n,F as $,i as w,h as r,w as I}from"./index-BimuIV8Z.js";import{P}from"./peersDefaultSettingsInput-BBQyY1Fm.js";import{A as k,a as A,D as y,b as C,c as V,d as F,e as T,_ as L}from"./dashboardEmailSettings-Gsulq66_.js";import{D as R,a as W}from"./dashboardSettingsWireguardConfigurationAutostart-BUzKGHGv.js";import{L as U}from"./localeText-D0Ve6fTw.js";import"./dayjs.min-CkODZHdU.js";import"./vue-datepicker-VDLvxrT_.js";const B={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=m(),s=`input_${x()}`;return{store:e,uuid:s}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await D("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},G={class:"invalid-feedback d-block mt-0"},N={class:"row"},E={class:"form-group mb-2 col-sm"},M=["for"],j=["id"],z={class:"form-group col-sm"},K=["for"],q=["id"];function H(e,s,h,_,b,f){return o(),i("div",null,[t("div",G,S(this.invalidFeedback),1),t("div",N,[t("div",E,[t("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},s[2]||(s[2]=[t("strong",null,[t("small",null,"Dashboard IP Address")],-1)]),8,M),l(t("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.app_ip=a)},null,8,j),[[u,this.app_ip]]),s[3]||(s[3]=t("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[t("small",null,[t("i",{class:"bi bi-exclamation-triangle-fill me-2"}),t("code",null,"0.0.0.0"),p(" means it can be access by anyone with your server IP Address.")])],-1))]),t("div",z,[t("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},s[4]||(s[4]=[t("strong",null,[t("small",null,"Dashboard Port")],-1)]),8,K),l(t("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":s[1]||(s[1]=a=>this.app_port=a)},null,8,q),[[u,this.app_port]])])]),s[5]||(s[5]=t("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[t("i",{class:"bi bi-floppy-fill me-2"}),p("Update Dashboard Settings & Restart ")],-1))])}const J=c(B,[["render",H]]),O={name:"settings",components:{DashboardEmailSettings:L,DashboardSettingsWireguardConfigurationAutostart:W,DashboardIPPortInput:T,DashboardLanguage:F,LocaleText:U,AccountSettingsMFA:V,DashboardAPIKeys:C,DashboardSettingsInputIPAddressAndPort:J,DashboardTheme:y,DashboardSettingsInputWireguardConfigurationPath:R,AccountSettingsInputPassword:A,AccountSettingsInputUsername:k,PeersDefaultSettingsInput:P},setup(){return{dashboardConfigurationStore:m()}},data(){return{activeTab:"WGDashboard",tabs:[{id:"",title:"WGDashboard Settings"},{id:"peers_settings",title:"Peers Settings"},{id:"wireguard_settings",title:"WireGuard Configuration Settings"}]}}},Q={class:"mt-md-5 mt-3 text-body mb-3"},X={class:"container-md d-flex flex-column gap-3"},Y={class:"border-bottom pb-3"},Z={class:"nav nav-pills nav-justified align-items-center gap-2"},tt={class:"nav-item"},st={class:"my-2"};function et(e,s,h,_,b,f){const a=r("LocaleText"),g=r("RouterLink"),v=r("RouterView");return o(),i("div",Q,[t("div",X,[t("div",Y,[t("ul",Z,[(o(!0),i($,null,w(this.tabs,d=>(o(),i("li",tt,[n(g,{to:{name:d.title},class:"nav-link rounded-3","exact-active-class":"active",role:"button"},{default:I(()=>[t("h6",st,[n(a,{t:d.title},null,8,["t"])])]),_:2},1032,["to"])]))),256))])]),n(v)])])}const ut=c(O,[["render",et]]);export{ut as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/setup-D70wX31Y.js b/src/static/dist/WGDashboardAdmin/assets/setup-yhg8KxTU.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/setup-D70wX31Y.js rename to src/static/dist/WGDashboardAdmin/assets/setup-yhg8KxTU.js index 2b49c449..794371b4 100644 --- a/src/static/dist/WGDashboardAdmin/assets/setup-D70wX31Y.js +++ b/src/static/dist/WGDashboardAdmin/assets/setup-yhg8KxTU.js @@ -1 +1 @@ -import{_ as u,c as r,a as e,b as o,h as m,e as p,d as c,t as h,m as l,y as d,z as f,D as w,f as i}from"./index-mH92cJrc.js";import{L as g}from"./localeText-DSmP42vs.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:w()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,f("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},$={for:"confirmPassword",class:"mb-1 text-muted"},q=["disabled"],A={key:0,class:"d-flex align-items-center w-100"},M={key:1,class:"d-flex align-items-center w-100"};function B(n,s,D,E,U,F){const t=m("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=p(" 😊"))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):c("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",$,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",A,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",M,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,q)])])])],8,_)}const W=u(b,[["render",B]]);export{W as default}; +import{_ as u,c as r,a as e,b as o,h as m,e as p,d as c,t as h,m as l,y as d,z as f,D as w,f as i}from"./index-BimuIV8Z.js";import{L as g}from"./localeText-D0Ve6fTw.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:w()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,f("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},$={for:"confirmPassword",class:"mb-1 text-muted"},q=["disabled"],A={key:0,class:"d-flex align-items-center w-100"},M={key:1,class:"d-flex align-items-center w-100"};function B(n,s,D,E,U,F){const t=m("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=p(" 😊"))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):c("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",$,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",A,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",M,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,q)])])])],8,_)}const W=u(b,[["render",B]]);export{W as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/share-Clo4DEcY.js b/src/static/dist/WGDashboardAdmin/assets/share-rfnu988H.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/share-Clo4DEcY.js rename to src/static/dist/WGDashboardAdmin/assets/share-rfnu988H.js index 40f3a9ec..28daaa1c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/share-Clo4DEcY.js +++ b/src/static/dist/WGDashboardAdmin/assets/share-rfnu988H.js @@ -1 +1 @@ -import{_,c as m,a as t,b as r,h as p,r as c,D as h,g as u,L as b,f}from"./index-mH92cJrc.js";import{Q as v}from"./browser-B8eugmTx.js";import{L as y}from"./localeText-DSmP42vs.js";import"./galois-field-CkUIqpA6.js";const g={name:"share",components:{LocaleText:y},async setup(){const o=b(),e=c(!1),s=h(),n=c(""),i=c(void 0),l=c(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(i.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(i.value=d.data,l.value=new Blob([i.value.file],{type:"text/plain"})):i.value=void 0,e.value=!0}),{store:s,theme:n,peerConfiguration:i,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),s=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=s,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},x=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},L={class:"m-auto"},I={key:1,class:"d-flex align-items-center flex-column gap-3"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},R={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},D=["download","href"];function q(o,e,s,n,i,l){const a=p("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",w,[this.peerConfiguration?(f(),m("div",I,[t("div",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),r(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,null,512),t("p",R,[r(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),r(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)]),8,D)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",L,[r(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,x)}const O=_(g,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{O as default}; +import{_,c as m,a as t,b as r,h as p,r as c,D as h,g as u,L as b,f}from"./index-BimuIV8Z.js";import{Q as v}from"./browser-DqvcZvnx.js";import{L as y}from"./localeText-D0Ve6fTw.js";import"./galois-field-CkUIqpA6.js";const g={name:"share",components:{LocaleText:y},async setup(){const o=b(),e=c(!1),s=h(),n=c(""),i=c(void 0),l=c(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(i.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(i.value=d.data,l.value=new Blob([i.value.file],{type:"text/plain"})):i.value=void 0,e.value=!0}),{store:s,theme:n,peerConfiguration:i,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),s=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=s,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},x=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},L={class:"m-auto"},I={key:1,class:"d-flex align-items-center flex-column gap-3"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},R={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},D=["download","href"];function q(o,e,s,n,i,l){const a=p("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",w,[this.peerConfiguration?(f(),m("div",I,[t("div",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),r(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,null,512),t("p",R,[r(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),r(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)]),8,D)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",L,[r(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,x)}const O=_(g,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{O as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-CCqyeuTK.js b/src/static/dist/WGDashboardAdmin/assets/signin-4-L-H3zJ.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/signin-CCqyeuTK.js rename to src/static/dist/WGDashboardAdmin/assets/signin-4-L-H3zJ.js index ac5b4206..58f2012c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/signin-CCqyeuTK.js +++ b/src/static/dist/WGDashboardAdmin/assets/signin-4-L-H3zJ.js @@ -1 +1 @@ -import{_ as v,G as p,A as I,c as a,a as t,t as T,n as C,m as u,y as c,b as l,h as g,d as x,F as k,i as w,f as i,D as L,j as $,a1 as E,v as M,e as D,w as A,T as U,z as B,g as y}from"./index-mH92cJrc.js";import{M as R}from"./message-BboFmGeA.js";import{d as _}from"./dayjs.min-BSByM7MH.js";import{L as S}from"./localeText-DSmP42vs.js";const O={name:"RemoteServer",components:{LocaleText:S},props:{server:Object},data(){return{active:!1,startTime:void 0,endTime:void 0,errorMsg:"",refreshing:!1}},methods:{addHeaders(){this.server.headers||(this.server.headers={}),this.server.headers[I().toString()]={key:"",value:""}},async handshake(){this.active=!1,this.server.host&&this.server.apiKey&&(this.refreshing=!0,this.startTime=void 0,this.endTime=void 0,this.startTime=_(),await fetch(`${this.server.host}/api/handshake`,{headers:this.getHeaders,method:"GET",signal:AbortSignal.timeout(5e3)}).then(s=>{if(s.status===200)return s.json();throw new Error(s.statusText)}).then(()=>{this.endTime=_(),this.active=!0}).catch(s=>{this.active=!1,this.errorMsg=s}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:this.getHeaders,body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(s=>s.json()).then(s=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${_().subtract(this.startTime).millisecond()}ms`:this.refreshing?p("Pinging..."):this.errorMsg?this.errorMsg:"N/A"},getHeaders(){let s={"Content-Type":"application/json","wg-dashboard-apikey":this.server.apiKey};if(this.server.headers)for(let e of Object.values(this.server.headers))e.key&&e.value&&!Object.keys(s).includes(e.key)&&(s[e.key]=e.value);return s}}},P={class:"card rounded-3"},j={class:"gap-2 d-flex align-items-center"},q={key:0,class:"spin ms-auto text-white"},H={class:"card-body"},G={class:"d-flex gap-2 w-100 remoteServerContainer flex-column"},N={class:"d-flex gap-3 align-items-center flex-grow-1"},K={class:"d-flex gap-3 align-items-center flex-grow-1"},z={class:"d-flex gap-2 button-group"},W={class:"card rounded-3"},F={class:"card-body d-flex gap-2 flex-column"},J={class:"d-flex gap-2"},Z={class:"flex-grow-1"},Q=["onUpdate:modelValue"],X={class:"flex-grow-1"},Y=["onUpdate:modelValue"],ee=["onClick"];function te(s,e,m,h,d,f){const r=g("LocaleText");return i(),a("div",P,[t("div",{class:C(["card-header",[this.active?"text-bg-success":"text-bg-danger"]])},[t("div",j,[e[12]||(e[12]=t("i",{class:"bi bi-person-walking"},null,-1)),t("small",null,T(this.getHandshakeTime),1),this.refreshing?(i(),a("div",q,e[10]||(e[10]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)]))):(i(),a("a",{key:1,role:"button",onClick:e[0]||(e[0]=n=>this.handshake()),class:"text-white text-decoration-none ms-auto disabled"},e[11]||(e[11]=[t("i",{class:"bi bi-arrow-clockwise me"},null,-1)])))])],2),t("div",H,[t("div",G,[t("div",N,[e[13]||(e[13]=t("small",null,[t("i",{class:"bi bi-hdd-rack-fill"})],-1)),u(t("input",{class:"form-control form-control-sm rounded-3",onBlur:e[1]||(e[1]=n=>this.handshake()),"onUpdate:modelValue":e[2]||(e[2]=n=>this.server.host=n),type:"url"},null,544),[[c,this.server.host]])]),t("div",K,[e[14]||(e[14]=t("i",{class:"bi bi-key-fill"},null,-1)),u(t("input",{class:"form-control form-control-sm rounded-3 font-monospace",onBlur:e[3]||(e[3]=n=>this.handshake()),"onUpdate:modelValue":e[4]||(e[4]=n=>this.server.apiKey=n),type:"text"},null,544),[[c,this.server.apiKey]])]),t("div",z,[t("button",{style:{flex:"1 0 0"},onClick:e[5]||(e[5]=n=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3"},[e[15]||(e[15]=t("i",{class:"bi bi-trash me-2"},null,-1)),l(r,{t:"Delete"})]),t("button",{style:{flex:"1 0 0"},onClick:e[6]||(e[6]=n=>this.connect()),class:C([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3"])},[e[16]||(e[16]=t("i",{class:"bi bi-arrow-right-circle me-2"},null,-1)),l(r,{t:"Connect"})],2)]),t("div",W,[t("div",F,[t("button",{style:{flex:"1 0 0"},onClick:e[7]||(e[7]=n=>f.addHeaders()),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3"},[e[17]||(e[17]=t("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(r,{t:"Headers"})]),this.server.headers?(i(!0),a(k,{key:0},w(this.server.headers,(n,b)=>(i(),a("div",J,[t("div",Z,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[8]||(e[8]=o=>this.handshake()),"onUpdate:modelValue":o=>n.key=o,placeholder:"Key"},null,40,Q),[[c,n.key]])]),t("div",X,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[9]||(e[9]=o=>this.handshake()),"onUpdate:modelValue":o=>n.value=o,placeholder:"Value"},null,40,Y),[[c,n.value]])]),t("button",{type:"button",onClick:o=>delete this.server.headers[b],class:"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"},e[18]||(e[18]=[t("i",{class:"bi bi-trash-fill"},null,-1)]),8,ee)]))),256)):x("",!0)])])])])])}const se=v(O,[["render",te],["__scopeId","data-v-87b9c3d8"]]),oe={name:"RemoteServerList",setup(){return{store:L()}},components:{LocaleText:S,RemoteServer:se}},re={class:"w-100 mt-3"},ie={class:"d-flex align-items-center mb-3"},ne={class:"mb-0"},ae={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},le={key:0,class:"text-muted m-auto"};function de(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServer");return i(),a("div",re,[t("div",ie,[t("h5",ne,[l(r,{t:"Server List"})]),t("button",{onClick:e[0]||(e[0]=b=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[e[1]||(e[1]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(r,{t:"Server"})])]),t("div",ae,[(i(!0),a(k,null,w(this.store.CrossServerConfiguration.ServerList,(b,o)=>(i(),$(n,{onSetActiveServer:V=>this.store.setActiveCrossServer(o),onDelete:V=>this.store.deleteCrossServerConfiguration(o),key:o,server:b},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(i(),a("h6",le,[l(r,{t:"Click"}),e[2]||(e[2]=t("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1)),l(r,{t:"to add your server"})])):x("",!0)])])}const ue=v(oe,[["render",de]]),me={name:"signInInput",methods:{GetLocale:p},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return p(this.placeholder)}}},ce=["type","id","name","placeholder"];function he(s,e,m,h,d,f){return u((i(),a("input",{type:m.type,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data[this.id]=r),class:"form-control rounded-3",id:this.id,name:this.id,autocomplete:"on",placeholder:this.getLocaleText,required:""},null,8,ce)),[[E,this.data[this.id]]])}const pe=v(me,[["render",he]]),fe={name:"signInTOTP",methods:{GetLocale:p},props:{data:""},computed:{getLocaleText(){return p("OTP from your authenticator")}}},be=["placeholder"];function ge(s,e,m,h,d,f){return u((i(),a("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:this.getLocaleText,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data.totp=r)},null,8,be)),[[c,this.data.totp]])}const ve=v(fe,[["render",ge]]),xe={name:"signin",components:{SignInTOTP:ve,SignInInput:pe,LocaleText:S,RemoteServerList:ue,Message:R},async setup(){const s=L();let e="dark",m=!1,h;return s.IsElectronApp||await Promise.all([y("/api/getDashboardTheme",{},d=>{e=d.data}),y("/api/isTotpEnabled",{},d=>{m=d.data}),y("/api/getDashboardVersion",{},d=>{h=d.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:m,version:h}},data(){return{data:{username:"",password:"",totp:""},loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(s=>s.show)},applyLocale(s){return p(s)},formValid(){return this.data.username&&this.data.password&&(this.totpEnabled&&this.data.totp||!this.totpEnabled)}},methods:{GetLocale:p,async auth(){this.formValid?(this.loading=!0,await B("/api/authenticate",this.data,s=>{s.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),s.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.store.newMessage("Server",s.message,"danger"),document.querySelectorAll("input[required]").forEach(e=>{e.classList.remove("is-valid"),e.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(s=>{s.value.length===0?(s.classList.remove("is-valid"),s.classList.add("is-invalid")):(s.classList.remove("is-invalid"),s.classList.add("is-valid"))})}}},ye=["data-bs-theme"],_e={class:"login-box m-auto"},$e={class:"m-auto signInContainer",style:{width:"700px"}},ke={class:"mb-0 text-body"},we={class:"form-floating mb-2"},Se=["disabled"],Ce={for:"floatingInput",class:"d-flex"},Te={class:"form-floating mb-2"},Le=["disabled"],Ve={for:"floatingInput",class:"d-flex"},Ie={key:0,class:"form-floating mb-2"},Ee=["disabled"],Me={for:"floatingInput",class:"d-flex"},De=["disabled"],Ae={key:0,class:"d-flex w-100"},Ue={key:1,class:"d-flex w-100 align-items-center"},Be={key:2,class:"d-flex mt-3"},Re={class:"form-check form-switch ms-auto"},Oe=["disabled"],Pe={class:"form-check-label",for:"flexSwitchCheckChecked"},je={class:"text-muted pb-3 d-block w-100 text-center mt-3"},qe={class:"messageCentre text-body position-absolute d-flex"};function He(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServerList"),b=g("Message");return i(),a("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body h-100",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[t("div",_e,[t("div",$e,[t("h4",ke,[l(r,{t:"Welcome to"})]),e[10]||(e[10]=t("span",{class:"dashboardLogo display-3"},[t("strong",null,"WGDashboard")],-1)),this.store.CrossServerConfiguration.Enable?(i(),$(n,{key:1})):(i(),a("form",{key:0,onSubmit:e[3]||(e[3]=o=>{o.preventDefault(),this.auth()}),class:"mt-3"},[t("div",we,[u(t("input",{type:"text",required:"",disabled:d.loading,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data.username=o),name:"username",autocomplete:"username",autofocus:"",class:"form-control rounded-3",id:"username",placeholder:"Username"},null,8,Se),[[c,this.data.username]]),t("label",Ce,[e[5]||(e[5]=t("i",{class:"bi bi-person-circle me-2"},null,-1)),l(r,{t:"Username"})])]),t("div",Te,[u(t("input",{type:"password",required:"",disabled:d.loading,autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=o=>this.data.password=o),class:"form-control rounded-3",id:"password",placeholder:"Password"},null,8,Le),[[c,this.data.password]]),t("label",Ve,[e[6]||(e[6]=t("i",{class:"bi bi-key-fill me-2"},null,-1)),l(r,{t:"Password"})])]),this.totpEnabled?(i(),a("div",Ie,[u(t("input",{type:"text",id:"totp",required:"",disabled:d.loading,placeholder:"totp","onUpdate:modelValue":e[2]||(e[2]=o=>this.data.totp=o),class:"form-control rounded-3",maxlength:"6",inputmode:"numeric",autocomplete:"one-time-code"},null,8,Ee),[[c,this.data.totp]]),t("label",Me,[e[7]||(e[7]=t("i",{class:"bi bi-lock-fill me-2"},null,-1)),l(r,{t:"OTP from your authenticator"})])])):x("",!0),t("button",{class:"btn btn-lg btn-dark ms-auto mt-5 w-100 d-flex btn-brand signInBtn rounded-3",disabled:this.loading||!this.formValid,ref:"signInBtn"},[this.loading?(i(),a("span",Ue,[l(r,{t:"Signing In..."}),e[9]||(e[9]=t("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},null,-1))])):(i(),a("span",Ae,[l(r,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,De)],32)),this.store.IsElectronApp?x("",!0):(i(),a("div",Be,[t("div",Re,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=o=>this.store.CrossServerConfiguration.Enable=o),disabled:d.loading,class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,8,Oe),[[M,this.store.CrossServerConfiguration.Enable]]),t("label",Pe,[l(r,{t:"Access Remote Server"})])])]))])]),t("small",je,[D(" WGDashboard "+T(this.version)+" | Developed with ❤️ by ",1),e[11]||(e[11]=t("a",{href:"https://github.com/donaldzou",target:"_blank"},[t("strong",null,"Donald Zou")],-1))]),t("div",qe,[l(U,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:A(()=>[(i(!0),a(k,null,w(f.getMessages.slice().reverse(),o=>(i(),$(b,{message:o,key:o.id},null,8,["message"]))),128))]),_:1})])],8,ye)}const We=v(xe,[["render",He],["__scopeId","data-v-80e20da4"]]);export{We as default}; +import{_ as v,G as p,A as I,c as a,a as t,t as T,n as C,m as u,y as c,b as l,h as g,d as x,F as k,i as w,f as i,D as L,j as $,a1 as E,v as M,e as D,w as A,T as U,z as B,g as y}from"./index-BimuIV8Z.js";import{M as R}from"./message-B6STwPS6.js";import{d as _}from"./dayjs.min-CkODZHdU.js";import{L as S}from"./localeText-D0Ve6fTw.js";const O={name:"RemoteServer",components:{LocaleText:S},props:{server:Object},data(){return{active:!1,startTime:void 0,endTime:void 0,errorMsg:"",refreshing:!1}},methods:{addHeaders(){this.server.headers||(this.server.headers={}),this.server.headers[I().toString()]={key:"",value:""}},async handshake(){this.active=!1,this.server.host&&this.server.apiKey&&(this.refreshing=!0,this.startTime=void 0,this.endTime=void 0,this.startTime=_(),await fetch(`${this.server.host}/api/handshake`,{headers:this.getHeaders,method:"GET",signal:AbortSignal.timeout(5e3)}).then(s=>{if(s.status===200)return s.json();throw new Error(s.statusText)}).then(()=>{this.endTime=_(),this.active=!0}).catch(s=>{this.active=!1,this.errorMsg=s}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:this.getHeaders,body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(s=>s.json()).then(s=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${_().subtract(this.startTime).millisecond()}ms`:this.refreshing?p("Pinging..."):this.errorMsg?this.errorMsg:"N/A"},getHeaders(){let s={"Content-Type":"application/json","wg-dashboard-apikey":this.server.apiKey};if(this.server.headers)for(let e of Object.values(this.server.headers))e.key&&e.value&&!Object.keys(s).includes(e.key)&&(s[e.key]=e.value);return s}}},P={class:"card rounded-3"},j={class:"gap-2 d-flex align-items-center"},q={key:0,class:"spin ms-auto text-white"},H={class:"card-body"},G={class:"d-flex gap-2 w-100 remoteServerContainer flex-column"},N={class:"d-flex gap-3 align-items-center flex-grow-1"},K={class:"d-flex gap-3 align-items-center flex-grow-1"},z={class:"d-flex gap-2 button-group"},W={class:"card rounded-3"},F={class:"card-body d-flex gap-2 flex-column"},J={class:"d-flex gap-2"},Z={class:"flex-grow-1"},Q=["onUpdate:modelValue"],X={class:"flex-grow-1"},Y=["onUpdate:modelValue"],ee=["onClick"];function te(s,e,m,h,d,f){const r=g("LocaleText");return i(),a("div",P,[t("div",{class:C(["card-header",[this.active?"text-bg-success":"text-bg-danger"]])},[t("div",j,[e[12]||(e[12]=t("i",{class:"bi bi-person-walking"},null,-1)),t("small",null,T(this.getHandshakeTime),1),this.refreshing?(i(),a("div",q,e[10]||(e[10]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)]))):(i(),a("a",{key:1,role:"button",onClick:e[0]||(e[0]=n=>this.handshake()),class:"text-white text-decoration-none ms-auto disabled"},e[11]||(e[11]=[t("i",{class:"bi bi-arrow-clockwise me"},null,-1)])))])],2),t("div",H,[t("div",G,[t("div",N,[e[13]||(e[13]=t("small",null,[t("i",{class:"bi bi-hdd-rack-fill"})],-1)),u(t("input",{class:"form-control form-control-sm rounded-3",onBlur:e[1]||(e[1]=n=>this.handshake()),"onUpdate:modelValue":e[2]||(e[2]=n=>this.server.host=n),type:"url"},null,544),[[c,this.server.host]])]),t("div",K,[e[14]||(e[14]=t("i",{class:"bi bi-key-fill"},null,-1)),u(t("input",{class:"form-control form-control-sm rounded-3 font-monospace",onBlur:e[3]||(e[3]=n=>this.handshake()),"onUpdate:modelValue":e[4]||(e[4]=n=>this.server.apiKey=n),type:"text"},null,544),[[c,this.server.apiKey]])]),t("div",z,[t("button",{style:{flex:"1 0 0"},onClick:e[5]||(e[5]=n=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3"},[e[15]||(e[15]=t("i",{class:"bi bi-trash me-2"},null,-1)),l(r,{t:"Delete"})]),t("button",{style:{flex:"1 0 0"},onClick:e[6]||(e[6]=n=>this.connect()),class:C([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3"])},[e[16]||(e[16]=t("i",{class:"bi bi-arrow-right-circle me-2"},null,-1)),l(r,{t:"Connect"})],2)]),t("div",W,[t("div",F,[t("button",{style:{flex:"1 0 0"},onClick:e[7]||(e[7]=n=>f.addHeaders()),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3"},[e[17]||(e[17]=t("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(r,{t:"Headers"})]),this.server.headers?(i(!0),a(k,{key:0},w(this.server.headers,(n,b)=>(i(),a("div",J,[t("div",Z,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[8]||(e[8]=o=>this.handshake()),"onUpdate:modelValue":o=>n.key=o,placeholder:"Key"},null,40,Q),[[c,n.key]])]),t("div",X,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[9]||(e[9]=o=>this.handshake()),"onUpdate:modelValue":o=>n.value=o,placeholder:"Value"},null,40,Y),[[c,n.value]])]),t("button",{type:"button",onClick:o=>delete this.server.headers[b],class:"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"},e[18]||(e[18]=[t("i",{class:"bi bi-trash-fill"},null,-1)]),8,ee)]))),256)):x("",!0)])])])])])}const se=v(O,[["render",te],["__scopeId","data-v-87b9c3d8"]]),oe={name:"RemoteServerList",setup(){return{store:L()}},components:{LocaleText:S,RemoteServer:se}},re={class:"w-100 mt-3"},ie={class:"d-flex align-items-center mb-3"},ne={class:"mb-0"},ae={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},le={key:0,class:"text-muted m-auto"};function de(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServer");return i(),a("div",re,[t("div",ie,[t("h5",ne,[l(r,{t:"Server List"})]),t("button",{onClick:e[0]||(e[0]=b=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[e[1]||(e[1]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(r,{t:"Server"})])]),t("div",ae,[(i(!0),a(k,null,w(this.store.CrossServerConfiguration.ServerList,(b,o)=>(i(),$(n,{onSetActiveServer:V=>this.store.setActiveCrossServer(o),onDelete:V=>this.store.deleteCrossServerConfiguration(o),key:o,server:b},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(i(),a("h6",le,[l(r,{t:"Click"}),e[2]||(e[2]=t("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1)),l(r,{t:"to add your server"})])):x("",!0)])])}const ue=v(oe,[["render",de]]),me={name:"signInInput",methods:{GetLocale:p},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return p(this.placeholder)}}},ce=["type","id","name","placeholder"];function he(s,e,m,h,d,f){return u((i(),a("input",{type:m.type,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data[this.id]=r),class:"form-control rounded-3",id:this.id,name:this.id,autocomplete:"on",placeholder:this.getLocaleText,required:""},null,8,ce)),[[E,this.data[this.id]]])}const pe=v(me,[["render",he]]),fe={name:"signInTOTP",methods:{GetLocale:p},props:{data:""},computed:{getLocaleText(){return p("OTP from your authenticator")}}},be=["placeholder"];function ge(s,e,m,h,d,f){return u((i(),a("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:this.getLocaleText,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data.totp=r)},null,8,be)),[[c,this.data.totp]])}const ve=v(fe,[["render",ge]]),xe={name:"signin",components:{SignInTOTP:ve,SignInInput:pe,LocaleText:S,RemoteServerList:ue,Message:R},async setup(){const s=L();let e="dark",m=!1,h;return s.IsElectronApp||await Promise.all([y("/api/getDashboardTheme",{},d=>{e=d.data}),y("/api/isTotpEnabled",{},d=>{m=d.data}),y("/api/getDashboardVersion",{},d=>{h=d.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:m,version:h}},data(){return{data:{username:"",password:"",totp:""},loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(s=>s.show)},applyLocale(s){return p(s)},formValid(){return this.data.username&&this.data.password&&(this.totpEnabled&&this.data.totp||!this.totpEnabled)}},methods:{GetLocale:p,async auth(){this.formValid?(this.loading=!0,await B("/api/authenticate",this.data,s=>{s.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),s.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.store.newMessage("Server",s.message,"danger"),document.querySelectorAll("input[required]").forEach(e=>{e.classList.remove("is-valid"),e.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(s=>{s.value.length===0?(s.classList.remove("is-valid"),s.classList.add("is-invalid")):(s.classList.remove("is-invalid"),s.classList.add("is-valid"))})}}},ye=["data-bs-theme"],_e={class:"login-box m-auto"},$e={class:"m-auto signInContainer",style:{width:"700px"}},ke={class:"mb-0 text-body"},we={class:"form-floating mb-2"},Se=["disabled"],Ce={for:"floatingInput",class:"d-flex"},Te={class:"form-floating mb-2"},Le=["disabled"],Ve={for:"floatingInput",class:"d-flex"},Ie={key:0,class:"form-floating mb-2"},Ee=["disabled"],Me={for:"floatingInput",class:"d-flex"},De=["disabled"],Ae={key:0,class:"d-flex w-100"},Ue={key:1,class:"d-flex w-100 align-items-center"},Be={key:2,class:"d-flex mt-3"},Re={class:"form-check form-switch ms-auto"},Oe=["disabled"],Pe={class:"form-check-label",for:"flexSwitchCheckChecked"},je={class:"text-muted pb-3 d-block w-100 text-center mt-3"},qe={class:"messageCentre text-body position-absolute d-flex"};function He(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServerList"),b=g("Message");return i(),a("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body h-100",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[t("div",_e,[t("div",$e,[t("h4",ke,[l(r,{t:"Welcome to"})]),e[10]||(e[10]=t("span",{class:"dashboardLogo display-3"},[t("strong",null,"WGDashboard")],-1)),this.store.CrossServerConfiguration.Enable?(i(),$(n,{key:1})):(i(),a("form",{key:0,onSubmit:e[3]||(e[3]=o=>{o.preventDefault(),this.auth()}),class:"mt-3"},[t("div",we,[u(t("input",{type:"text",required:"",disabled:d.loading,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data.username=o),name:"username",autocomplete:"username",autofocus:"",class:"form-control rounded-3",id:"username",placeholder:"Username"},null,8,Se),[[c,this.data.username]]),t("label",Ce,[e[5]||(e[5]=t("i",{class:"bi bi-person-circle me-2"},null,-1)),l(r,{t:"Username"})])]),t("div",Te,[u(t("input",{type:"password",required:"",disabled:d.loading,autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=o=>this.data.password=o),class:"form-control rounded-3",id:"password",placeholder:"Password"},null,8,Le),[[c,this.data.password]]),t("label",Ve,[e[6]||(e[6]=t("i",{class:"bi bi-key-fill me-2"},null,-1)),l(r,{t:"Password"})])]),this.totpEnabled?(i(),a("div",Ie,[u(t("input",{type:"text",id:"totp",required:"",disabled:d.loading,placeholder:"totp","onUpdate:modelValue":e[2]||(e[2]=o=>this.data.totp=o),class:"form-control rounded-3",maxlength:"6",inputmode:"numeric",autocomplete:"one-time-code"},null,8,Ee),[[c,this.data.totp]]),t("label",Me,[e[7]||(e[7]=t("i",{class:"bi bi-lock-fill me-2"},null,-1)),l(r,{t:"OTP from your authenticator"})])])):x("",!0),t("button",{class:"btn btn-lg btn-dark ms-auto mt-5 w-100 d-flex btn-brand signInBtn rounded-3",disabled:this.loading||!this.formValid,ref:"signInBtn"},[this.loading?(i(),a("span",Ue,[l(r,{t:"Signing In..."}),e[9]||(e[9]=t("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},null,-1))])):(i(),a("span",Ae,[l(r,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,De)],32)),this.store.IsElectronApp?x("",!0):(i(),a("div",Be,[t("div",Re,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=o=>this.store.CrossServerConfiguration.Enable=o),disabled:d.loading,class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,8,Oe),[[M,this.store.CrossServerConfiguration.Enable]]),t("label",Pe,[l(r,{t:"Access Remote Server"})])])]))])]),t("small",je,[D(" WGDashboard "+T(this.version)+" | Developed with ❤️ by ",1),e[11]||(e[11]=t("a",{href:"https://github.com/donaldzou",target:"_blank"},[t("strong",null,"Donald Zou")],-1))]),t("div",qe,[l(U,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:A(()=>[(i(!0),a(k,null,w(f.getMessages.slice().reverse(),o=>(i(),$(b,{message:o,key:o.id},null,8,["message"]))),128))]),_:1})])],8,ye)}const We=v(xe,[["render",He],["__scopeId","data-v-80e20da4"]]);export{We as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ES0Nq9XH.js b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-CgRpYUbi.js similarity index 88% rename from src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ES0Nq9XH.js rename to src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-CgRpYUbi.js index 3ad2710d..bc494fba 100644 --- a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ES0Nq9XH.js +++ b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-CgRpYUbi.js @@ -1 +1 @@ -import{_ as p,r as b,q as f,c as t,f as r,b as n,w as x,d as v,n as g,s as l,a as c,e as C,t as d,k as w,p as y}from"./index-mH92cJrc.js";import{L as _}from"./localeText-DSmP42vs.js";const k={class:"text-muted me-2"},N={class:"fw-bold"},q={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){y(i=>({"60cb52de":s.value}));const u=e,o=b(!1),s=f(()=>u.square?"40px":"25px");return(i,a)=>(r(),t("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=m=>o.value=!0),onMouseleave:a[1]||(a[1]=m=>o.value=!1),style:l({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[n(w,{name:"zoomReversed"},{default:x(()=>[o.value?(r(),t("div",{key:0,style:l([{"white-space":"nowrap"},{top:s.value}]),class:g(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[c("small",k,[n(_,{t:"Core"}),C(" #"+d(e.core_number+1),1)]),c("small",N,d(e.percentage)+"% ",1)],6)):v("",!0)]),_:1})],36))}},h=p(q,[["__scopeId","data-v-f8963858"]]);export{h as C}; +import{_ as p,r as b,q as f,c as t,f as r,b as n,w as x,d as v,n as g,s as l,a as c,e as C,t as d,k as w,p as y}from"./index-BimuIV8Z.js";import{L as _}from"./localeText-D0Ve6fTw.js";const k={class:"text-muted me-2"},N={class:"fw-bold"},q={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){y(i=>({"60cb52de":s.value}));const u=e,o=b(!1),s=f(()=>u.square?"40px":"25px");return(i,a)=>(r(),t("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=m=>o.value=!0),onMouseleave:a[1]||(a[1]=m=>o.value=!1),style:l({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[n(w,{name:"zoomReversed"},{default:x(()=>[o.value?(r(),t("div",{key:0,style:l([{"white-space":"nowrap"},{top:s.value}]),class:g(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[c("small",k,[n(_,{t:"Core"}),C(" #"+d(e.core_number+1),1)]),c("small",N,d(e.percentage)+"% ",1)],6)):v("",!0)]),_:1})],36))}},h=p(q,[["__scopeId","data-v-f8963858"]]);export{h as C}; diff --git a/src/static/dist/WGDashboardAdmin/assets/systemStatus-jNzJNFlD.js b/src/static/dist/WGDashboardAdmin/assets/systemStatus--DPdeCEb.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/systemStatus-jNzJNFlD.js rename to src/static/dist/WGDashboardAdmin/assets/systemStatus--DPdeCEb.js index c347a7c1..fd7cb4c5 100644 --- a/src/static/dist/WGDashboardAdmin/assets/systemStatus-jNzJNFlD.js +++ b/src/static/dist/WGDashboardAdmin/assets/systemStatus--DPdeCEb.js @@ -1 +1 @@ -import{_ as T,c as l,f as t,a as e,t as u,B as X,q as _,G as x,e as w,d as S,s as b,b as i,u as N,D as Y,r as v,o as Z,x as ee,J as se,g as te,F as g,i as y,j as k,w as L,T as D}from"./index-mH92cJrc.js";import{L as c}from"./localeText-DSmP42vs.js";import{C as ae}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-ES0Nq9XH.js";import{C as V,L as E,B as R,a as j,b as G,c as H,p as W,d as q,e as F,f as z,P as A,i as J,g as M}from"./index-nqiVjQME.js";import{d as oe}from"./dayjs.min-BSByM7MH.js";const le={class:"mb-1 d-flex gap-5"},re={class:"title"},ie={class:"ms-auto"},ne={__name:"process",props:["process","cpu"],setup(a){return(m,p)=>(t(),l("div",le,[e("small",re,[p[0]||(p[0]=e("i",{class:"bi bi-code-square me-2"},null,-1)),e("samp",null,u(a.process.command?a.process.command:a.process.name),1)]),e("small",ie,u(Math.round((a.process.percent+Number.EPSILON)*10)/10)+"% ",1)]))}},O=T(ne,[["__scopeId","data-v-ffe5ad8f"]]),ce={class:"col-sm-6 fadeIn d-flex gap-2 flex-column"},de={class:"d-flex mb-2"},ue={class:"mb-0"},he={class:"mb-0 ms-auto d-flex gap-2"},me={class:"text-info"},pe={class:"text-warning"},_e={class:"progress",role:"progressbar",style:{height:"10px"}},be={class:"card rounded-3"},fe={class:"card-header d-flex align-items-center gap-3"},ve={class:"text-info ms-auto"},ge={class:"text-warning"},ye={class:"card-body"},xe=X({__name:"networkInterface",props:["historicalChartTimestamp","historicalNetworkSpeed","interfaceName","interface"],setup(a){V.register(E,R,j,G,H,W,q,F,z,A,J);const m=a,p=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:h=>`${h.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(h,n)=>`${Math.round(h*1e4)/1e4} MB/s`},grid:{display:!1}}}})),s=_(()=>{let h=[],n=[];return m.historicalNetworkSpeed.bytes_recv&&m.historicalNetworkSpeed.bytes_sent&&(h=[...m.historicalNetworkSpeed.bytes_recv],n=[...m.historicalNetworkSpeed.bytes_sent]),{labels:[...m.historicalChartTimestamp],datasets:[{label:x("Real Time Received Data Usage"),data:h,fill:"origin",borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Real Time Sent Data Usage"),data:n,fill:"origin",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}});return(h,n)=>(t(),l("div",ce,[e("div",null,[e("div",de,[e("h6",ue,[e("samp",null,u(a.interfaceName),1)]),e("h6",he,[e("span",me,[n[0]||(n[0]=e("i",{class:"bi bi-arrow-down"},null,-1)),w(" "+u(Math.round((a.interface.bytes_recv/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)]),e("span",pe,[n[1]||(n[1]=e("i",{class:"bi bi-arrow-up"},null,-1)),w(" "+u(Math.round((a.interface.bytes_sent/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)])])]),e("div",_e,[a.interface.bytes_recv>0?(t(),l("div",{key:0,class:"progress-bar bg-info",style:b({width:`${a.interface.bytes_recv/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0),a.interface.bytes_sent>0?(t(),l("div",{key:1,class:"progress-bar bg-warning",style:b({width:`${a.interface.bytes_sent/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0)])]),e("div",be,[e("div",fe,[e("small",null,[i(c,{t:"Realtime Speed"})]),e("small",ve,[n[2]||(n[2]=e("i",{class:"bi bi-arrow-down-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_recv[a.historicalNetworkSpeed.bytes_recv.length-1])+" MB/s ",1)]),e("small",ge,[n[3]||(n[3]=e("i",{class:"bi bi-arrow-up-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_sent[a.historicalNetworkSpeed.bytes_sent.length-1])+" MB/s ",1)])]),e("div",ye,[i(N(M),{options:p.value,data:s.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])]))}}),we={class:"text-body row g-2 mb-2"},ke={class:"col-sm-6"},Se={class:"card rounded-3 h-100 shadow"},Ce={class:"card-body p-4"},Ne={class:"d-flex flex-column gap-3"},Me={class:"d-flex flex-column gap-3",style:{height:"130px"}},$e={class:"d-flex align-items-center"},Pe={class:"text-muted mb-0"},Ie={class:"ms-auto mb-0"},Ue={key:0},Be={key:1,class:"spinner-border"},Le={class:"progress",role:"progressbar",style:{height:"10px"}},De={class:"d-flex gap-1"},Oe={class:"d-flex align-items-center"},Te={class:"mb-0"},Ve={class:"mb-0 ms-auto text-muted"},Ee={class:"position-relative"},Re={class:"col-sm-6"},je={class:"card rounded-3 h-100 shadow"},Ge={class:"card-body p-4"},He={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column gap-3",style:{height:"130px"}},qe={class:"d-flex align-items-center"},Fe={class:"text-muted"},ze={class:"ms-auto"},Ae={key:0},Je={key:1,class:"spinner-border"},Ke={class:"progress",role:"progressbar",style:{height:"10px"}},Qe={class:"d-flex align-items-center"},Xe={class:"mb-0"},Ye={class:"mb-0 ms-auto"},Ze={class:"progress",role:"progressbar",style:{height:"10px"}},es={class:"d-flex align-items-center"},ss={class:"mb-0"},ts={class:"mb-0 ms-auto text-muted"},as={class:"position-relative"},os={class:"col-sm-12"},ls={class:"card rounded-3 h-100 shadow"},rs={class:"card-body p-4 d-flex gap-3 flex-column"},is={class:"d-flex align-items-center gap-3"},ns={class:"text-muted mb-0"},cs={class:"ms-auto mb-0"},ds={key:0},us={key:1,class:"spinner-border"},hs={key:0,class:"row g-4"},ms={class:"col-sm-12"},ps={class:"card rounded-3 h-100 shadow"},_s={class:"card-body p-4 d-flex gap-3 flex-column"},bs={class:"d-flex align-items-center"},fs={class:"text-muted mb-0"},vs={class:"ms-auto mb-0"},gs={key:0},ys={key:1,class:"spinner-border"},xs={class:"row g-3"},ws={class:"col-sm-6 fadeIn"},ks={class:"d-flex mb-2"},Ss={class:"mb-0"},Cs={class:"mb-0 ms-auto d-flex gap-2"},Ns={class:"text-success"},Ms={class:"progress",role:"progressbar",style:{height:"20px"}},$s={__name:"systemStatus",setup(a){const m=Y(),p=v(!1),s=_(()=>p.value?m.SystemStatus:void 0);let h=null;V.register(E,R,j,G,H,W,q,F,z,A,J),Z(()=>{U(),h=setInterval(()=>{U()},5e3)}),ee(()=>{clearInterval(h)});const n=v([]),$=v([]),P=v([]),I=v([]),f=se({}),U=async()=>{await te("/api/systemStatus",{},d=>{n.value.push(oe().format("HH:mm:ss A")),m.SystemStatus=d.data,$.value.push(d.data.CPU.cpu_percent),P.value.push(d.data.Memory.VirtualMemory.percent),I.value.push(d.data.Memory.SwapMemory.percent);for(let o of Object.keys(d.data.NetworkInterfaces))Object.keys(f).includes(o)||(f[o]={bytes_recv:[],bytes_sent:[]}),f[o].bytes_recv.push(d.data.NetworkInterfaces[o].realtime.recv),f[o].bytes_sent.push(d.data.NetworkInterfaces[o].realtime.sent);p.value=!0})},B=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:d=>`${d.formattedValue}%`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(d,o)=>`${d}%`},grid:{display:!1}}}})),K=_(()=>({labels:[...n.value],datasets:[{label:x("CPU Usage"),data:[...$.value],fill:"start",backgroundColor:"#0d6efd90",borderColor:"#0d6efd",tension:0,pointRadius:2,borderWidth:1}]})),Q=_(()=>({labels:[...n.value],datasets:[{label:x("Memory Usage"),data:[...P.value],fill:1,borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Swap Memory Usage"),data:[...I.value],fill:"start",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}));return(d,o)=>(t(),l("div",we,[e("div",ke,[e("div",Se,[e("div",Ce,[e("div",Ne,[e("div",Me,[e("div",$e,[e("h3",Pe,[o[0]||(o[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),i(c,{t:"CPU"})]),e("h3",Ie,[s.value?(t(),l("span",Ue,u(s.value.CPU.cpu_percent)+"% ",1)):(t(),l("span",Be))])]),e("div",Le,[e("div",{class:"progress-bar",style:b({width:`${s.value?.CPU.cpu_percent}%`})},null,4)]),e("div",De,[(t(!0),l(g,null,y(s.value?.CPU.cpu_percent_per_cpu,(r,C)=>(t(),k(ae,{square:!0,key:C,align:C+1>Math.round(s.value?.CPU.cpu_percent_per_cpu.length/2),core_number:C,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),i(N(M),{options:B.value,data:K.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",Oe,[e("h5",Te,[i(c,{t:"Processes"})]),e("h6",Ve,[e("small",null,[i(c,{t:"CPU Usage"})])])]),o[1]||(o[1]=e("hr",{class:"my-1"},null,-1)),e("div",Ee,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.cpu_top_10,r=>(t(),k(O,{key:r.pid,cpu:!0,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",Re,[e("div",je,[e("div",Ge,[e("div",He,[e("div",We,[e("div",qe,[e("h3",Fe,[o[2]||(o[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),i(c,{t:"Memory"})]),e("h3",ze,[s.value?(t(),l("span",Ae,u(s.value?.Memory.VirtualMemory.percent)+"% ",1)):(t(),l("span",Je))])]),e("div",Ke,[e("div",{class:"progress-bar bg-info",style:b({width:`${s.value?.Memory.VirtualMemory.percent}%`})},null,4)]),e("div",Qe,[e("h6",Xe,[i(c,{t:"Swap Memory"})]),e("h6",Ye,u(s.value?.Memory.SwapMemory.percent)+"%",1)]),e("div",Ze,[e("div",{class:"progress-bar bg-info-subtle",style:b({width:`${s.value?.Memory.SwapMemory.percent}%`})},null,4)])]),i(N(M),{options:B.value,data:Q.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",es,[e("h5",ss,[i(c,{t:"Processes"})]),e("h6",ts,[e("small",null,[i(c,{t:"Memory Usage"})])])]),o[3]||(o[3]=e("hr",{class:"my-1"},null,-1)),e("div",as,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.memory_top_10,r=>(t(),k(O,{key:r.pid,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",os,[e("div",ls,[e("div",rs,[e("div",is,[e("h3",ns,[o[4]||(o[4]=e("i",{class:"bi bi-ethernet me-2"},null,-1)),i(c,{t:"Network"})]),e("h3",cs,[s.value?(t(),l("span",ds,[i(c,{t:Object.keys(s.value.NetworkInterfaces).length+" Interface"+(Object.keys(s.value.NetworkInterfaces).length>1?"s":"")},null,8,["t"])])):(t(),l("span",us))])]),o[5]||(o[5]=e("div",null,null,-1)),s.value?(t(),l("div",hs,[(t(!0),l(g,null,y(Object.keys(s.value.NetworkInterfaces).sort(),r=>(t(),k(xe,{interface:s.value.NetworkInterfaces[r],interfaceName:r,historicalChartTimestamp:n.value,historicalNetworkSpeed:f[r],key:r},null,8,["interface","interfaceName","historicalChartTimestamp","historicalNetworkSpeed"]))),128))])):S("",!0)])])]),e("div",ms,[e("div",ps,[e("div",_s,[e("div",bs,[e("h3",fs,[o[6]||(o[6]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),i(c,{t:"Storage"})]),e("h3",vs,[s.value?(t(),l("span",gs,[i(c,{t:s.value.Disks.length+" Partition"+(s.value.Disks.length>1?"s":"")},null,8,["t"])])):(t(),l("span",ys))])]),e("div",xs,[s.value?(t(!0),l(g,{key:0},y(s.value.Disks,r=>(t(),l("div",ws,[e("div",ks,[e("h6",Ss,[e("samp",null,u(r.mountPoint),1)]),e("h6",Cs,[e("span",Ns,[i(c,{t:Math.round((r.used/1024e6+Number.EPSILON)*100)/100+" / "+Math.round((r.total/1024e6+Number.EPSILON)*100)/100+" GB Used"},null,8,["t"])])])]),e("div",Ms,[e("div",{class:"progress-bar bg-success",style:b({width:`${r.percent}%`})},u(r.percent)+"% ",5)])]))),256)):S("",!0)])])])])]))}},Ds=T($s,[["__scopeId","data-v-d762a6a8"]]);export{Ds as default}; +import{_ as T,c as l,f as t,a as e,t as u,B as X,q as _,G as x,e as w,d as S,s as b,b as i,u as N,D as Y,r as v,o as Z,x as ee,J as se,g as te,F as g,i as y,j as k,w as L,T as D}from"./index-BimuIV8Z.js";import{L as c}from"./localeText-D0Ve6fTw.js";import{C as ae}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-CgRpYUbi.js";import{C as V,L as E,B as R,a as j,b as G,c as H,p as W,d as q,e as F,f as z,P as A,i as J,g as M}from"./index-CMd-xOr8.js";import{d as oe}from"./dayjs.min-CkODZHdU.js";const le={class:"mb-1 d-flex gap-5"},re={class:"title"},ie={class:"ms-auto"},ne={__name:"process",props:["process","cpu"],setup(a){return(m,p)=>(t(),l("div",le,[e("small",re,[p[0]||(p[0]=e("i",{class:"bi bi-code-square me-2"},null,-1)),e("samp",null,u(a.process.command?a.process.command:a.process.name),1)]),e("small",ie,u(Math.round((a.process.percent+Number.EPSILON)*10)/10)+"% ",1)]))}},O=T(ne,[["__scopeId","data-v-ffe5ad8f"]]),ce={class:"col-sm-6 fadeIn d-flex gap-2 flex-column"},de={class:"d-flex mb-2"},ue={class:"mb-0"},he={class:"mb-0 ms-auto d-flex gap-2"},me={class:"text-info"},pe={class:"text-warning"},_e={class:"progress",role:"progressbar",style:{height:"10px"}},be={class:"card rounded-3"},fe={class:"card-header d-flex align-items-center gap-3"},ve={class:"text-info ms-auto"},ge={class:"text-warning"},ye={class:"card-body"},xe=X({__name:"networkInterface",props:["historicalChartTimestamp","historicalNetworkSpeed","interfaceName","interface"],setup(a){V.register(E,R,j,G,H,W,q,F,z,A,J);const m=a,p=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:h=>`${h.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(h,n)=>`${Math.round(h*1e4)/1e4} MB/s`},grid:{display:!1}}}})),s=_(()=>{let h=[],n=[];return m.historicalNetworkSpeed.bytes_recv&&m.historicalNetworkSpeed.bytes_sent&&(h=[...m.historicalNetworkSpeed.bytes_recv],n=[...m.historicalNetworkSpeed.bytes_sent]),{labels:[...m.historicalChartTimestamp],datasets:[{label:x("Real Time Received Data Usage"),data:h,fill:"origin",borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Real Time Sent Data Usage"),data:n,fill:"origin",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}});return(h,n)=>(t(),l("div",ce,[e("div",null,[e("div",de,[e("h6",ue,[e("samp",null,u(a.interfaceName),1)]),e("h6",he,[e("span",me,[n[0]||(n[0]=e("i",{class:"bi bi-arrow-down"},null,-1)),w(" "+u(Math.round((a.interface.bytes_recv/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)]),e("span",pe,[n[1]||(n[1]=e("i",{class:"bi bi-arrow-up"},null,-1)),w(" "+u(Math.round((a.interface.bytes_sent/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)])])]),e("div",_e,[a.interface.bytes_recv>0?(t(),l("div",{key:0,class:"progress-bar bg-info",style:b({width:`${a.interface.bytes_recv/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0),a.interface.bytes_sent>0?(t(),l("div",{key:1,class:"progress-bar bg-warning",style:b({width:`${a.interface.bytes_sent/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0)])]),e("div",be,[e("div",fe,[e("small",null,[i(c,{t:"Realtime Speed"})]),e("small",ve,[n[2]||(n[2]=e("i",{class:"bi bi-arrow-down-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_recv[a.historicalNetworkSpeed.bytes_recv.length-1])+" MB/s ",1)]),e("small",ge,[n[3]||(n[3]=e("i",{class:"bi bi-arrow-up-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_sent[a.historicalNetworkSpeed.bytes_sent.length-1])+" MB/s ",1)])]),e("div",ye,[i(N(M),{options:p.value,data:s.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])]))}}),we={class:"text-body row g-2 mb-2"},ke={class:"col-sm-6"},Se={class:"card rounded-3 h-100 shadow"},Ce={class:"card-body p-4"},Ne={class:"d-flex flex-column gap-3"},Me={class:"d-flex flex-column gap-3",style:{height:"130px"}},$e={class:"d-flex align-items-center"},Pe={class:"text-muted mb-0"},Ie={class:"ms-auto mb-0"},Ue={key:0},Be={key:1,class:"spinner-border"},Le={class:"progress",role:"progressbar",style:{height:"10px"}},De={class:"d-flex gap-1"},Oe={class:"d-flex align-items-center"},Te={class:"mb-0"},Ve={class:"mb-0 ms-auto text-muted"},Ee={class:"position-relative"},Re={class:"col-sm-6"},je={class:"card rounded-3 h-100 shadow"},Ge={class:"card-body p-4"},He={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column gap-3",style:{height:"130px"}},qe={class:"d-flex align-items-center"},Fe={class:"text-muted"},ze={class:"ms-auto"},Ae={key:0},Je={key:1,class:"spinner-border"},Ke={class:"progress",role:"progressbar",style:{height:"10px"}},Qe={class:"d-flex align-items-center"},Xe={class:"mb-0"},Ye={class:"mb-0 ms-auto"},Ze={class:"progress",role:"progressbar",style:{height:"10px"}},es={class:"d-flex align-items-center"},ss={class:"mb-0"},ts={class:"mb-0 ms-auto text-muted"},as={class:"position-relative"},os={class:"col-sm-12"},ls={class:"card rounded-3 h-100 shadow"},rs={class:"card-body p-4 d-flex gap-3 flex-column"},is={class:"d-flex align-items-center gap-3"},ns={class:"text-muted mb-0"},cs={class:"ms-auto mb-0"},ds={key:0},us={key:1,class:"spinner-border"},hs={key:0,class:"row g-4"},ms={class:"col-sm-12"},ps={class:"card rounded-3 h-100 shadow"},_s={class:"card-body p-4 d-flex gap-3 flex-column"},bs={class:"d-flex align-items-center"},fs={class:"text-muted mb-0"},vs={class:"ms-auto mb-0"},gs={key:0},ys={key:1,class:"spinner-border"},xs={class:"row g-3"},ws={class:"col-sm-6 fadeIn"},ks={class:"d-flex mb-2"},Ss={class:"mb-0"},Cs={class:"mb-0 ms-auto d-flex gap-2"},Ns={class:"text-success"},Ms={class:"progress",role:"progressbar",style:{height:"20px"}},$s={__name:"systemStatus",setup(a){const m=Y(),p=v(!1),s=_(()=>p.value?m.SystemStatus:void 0);let h=null;V.register(E,R,j,G,H,W,q,F,z,A,J),Z(()=>{U(),h=setInterval(()=>{U()},5e3)}),ee(()=>{clearInterval(h)});const n=v([]),$=v([]),P=v([]),I=v([]),f=se({}),U=async()=>{await te("/api/systemStatus",{},d=>{n.value.push(oe().format("HH:mm:ss A")),m.SystemStatus=d.data,$.value.push(d.data.CPU.cpu_percent),P.value.push(d.data.Memory.VirtualMemory.percent),I.value.push(d.data.Memory.SwapMemory.percent);for(let o of Object.keys(d.data.NetworkInterfaces))Object.keys(f).includes(o)||(f[o]={bytes_recv:[],bytes_sent:[]}),f[o].bytes_recv.push(d.data.NetworkInterfaces[o].realtime.recv),f[o].bytes_sent.push(d.data.NetworkInterfaces[o].realtime.sent);p.value=!0})},B=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:d=>`${d.formattedValue}%`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(d,o)=>`${d}%`},grid:{display:!1}}}})),K=_(()=>({labels:[...n.value],datasets:[{label:x("CPU Usage"),data:[...$.value],fill:"start",backgroundColor:"#0d6efd90",borderColor:"#0d6efd",tension:0,pointRadius:2,borderWidth:1}]})),Q=_(()=>({labels:[...n.value],datasets:[{label:x("Memory Usage"),data:[...P.value],fill:1,borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Swap Memory Usage"),data:[...I.value],fill:"start",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}));return(d,o)=>(t(),l("div",we,[e("div",ke,[e("div",Se,[e("div",Ce,[e("div",Ne,[e("div",Me,[e("div",$e,[e("h3",Pe,[o[0]||(o[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),i(c,{t:"CPU"})]),e("h3",Ie,[s.value?(t(),l("span",Ue,u(s.value.CPU.cpu_percent)+"% ",1)):(t(),l("span",Be))])]),e("div",Le,[e("div",{class:"progress-bar",style:b({width:`${s.value?.CPU.cpu_percent}%`})},null,4)]),e("div",De,[(t(!0),l(g,null,y(s.value?.CPU.cpu_percent_per_cpu,(r,C)=>(t(),k(ae,{square:!0,key:C,align:C+1>Math.round(s.value?.CPU.cpu_percent_per_cpu.length/2),core_number:C,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),i(N(M),{options:B.value,data:K.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",Oe,[e("h5",Te,[i(c,{t:"Processes"})]),e("h6",Ve,[e("small",null,[i(c,{t:"CPU Usage"})])])]),o[1]||(o[1]=e("hr",{class:"my-1"},null,-1)),e("div",Ee,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.cpu_top_10,r=>(t(),k(O,{key:r.pid,cpu:!0,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",Re,[e("div",je,[e("div",Ge,[e("div",He,[e("div",We,[e("div",qe,[e("h3",Fe,[o[2]||(o[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),i(c,{t:"Memory"})]),e("h3",ze,[s.value?(t(),l("span",Ae,u(s.value?.Memory.VirtualMemory.percent)+"% ",1)):(t(),l("span",Je))])]),e("div",Ke,[e("div",{class:"progress-bar bg-info",style:b({width:`${s.value?.Memory.VirtualMemory.percent}%`})},null,4)]),e("div",Qe,[e("h6",Xe,[i(c,{t:"Swap Memory"})]),e("h6",Ye,u(s.value?.Memory.SwapMemory.percent)+"%",1)]),e("div",Ze,[e("div",{class:"progress-bar bg-info-subtle",style:b({width:`${s.value?.Memory.SwapMemory.percent}%`})},null,4)])]),i(N(M),{options:B.value,data:Q.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",es,[e("h5",ss,[i(c,{t:"Processes"})]),e("h6",ts,[e("small",null,[i(c,{t:"Memory Usage"})])])]),o[3]||(o[3]=e("hr",{class:"my-1"},null,-1)),e("div",as,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.memory_top_10,r=>(t(),k(O,{key:r.pid,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",os,[e("div",ls,[e("div",rs,[e("div",is,[e("h3",ns,[o[4]||(o[4]=e("i",{class:"bi bi-ethernet me-2"},null,-1)),i(c,{t:"Network"})]),e("h3",cs,[s.value?(t(),l("span",ds,[i(c,{t:Object.keys(s.value.NetworkInterfaces).length+" Interface"+(Object.keys(s.value.NetworkInterfaces).length>1?"s":"")},null,8,["t"])])):(t(),l("span",us))])]),o[5]||(o[5]=e("div",null,null,-1)),s.value?(t(),l("div",hs,[(t(!0),l(g,null,y(Object.keys(s.value.NetworkInterfaces).sort(),r=>(t(),k(xe,{interface:s.value.NetworkInterfaces[r],interfaceName:r,historicalChartTimestamp:n.value,historicalNetworkSpeed:f[r],key:r},null,8,["interface","interfaceName","historicalChartTimestamp","historicalNetworkSpeed"]))),128))])):S("",!0)])])]),e("div",ms,[e("div",ps,[e("div",_s,[e("div",bs,[e("h3",fs,[o[6]||(o[6]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),i(c,{t:"Storage"})]),e("h3",vs,[s.value?(t(),l("span",gs,[i(c,{t:s.value.Disks.length+" Partition"+(s.value.Disks.length>1?"s":"")},null,8,["t"])])):(t(),l("span",ys))])]),e("div",xs,[s.value?(t(!0),l(g,{key:0},y(s.value.Disks,r=>(t(),l("div",ws,[e("div",ks,[e("h6",Ss,[e("samp",null,u(r.mountPoint),1)]),e("h6",Cs,[e("span",Ns,[i(c,{t:Math.round((r.used/1024e6+Number.EPSILON)*100)/100+" / "+Math.round((r.total/1024e6+Number.EPSILON)*100)/100+" GB Used"},null,8,["t"])])])]),e("div",Ms,[e("div",{class:"progress-bar bg-success",style:b({width:`${r.percent}%`})},u(r.percent)+"% ",5)])]))),256)):S("",!0)])])])])]))}},Ds=T($s,[["__scopeId","data-v-d762a6a8"]]);export{Ds as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/totp-Bom_Rztd.js b/src/static/dist/WGDashboardAdmin/assets/totp-B7gZYtYa.js similarity index 94% rename from src/static/dist/WGDashboardAdmin/assets/totp-Bom_Rztd.js rename to src/static/dist/WGDashboardAdmin/assets/totp-B7gZYtYa.js index ca28d740..8f39d9e7 100644 --- a/src/static/dist/WGDashboardAdmin/assets/totp-Bom_Rztd.js +++ b/src/static/dist/WGDashboardAdmin/assets/totp-B7gZYtYa.js @@ -1 +1 @@ -import{_ as h,c as m,a as t,b as i,h as d,t as p,m as f,y as _,j as r,w as c,z as b,D as v,g,f as n}from"./index-mH92cJrc.js";import{Q as x}from"./browser-B8eugmTx.js";import{L as y}from"./localeText-DSmP42vs.js";import"./galois-field-CkUIqpA6.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=v();let e="";return await g("/api/Welcome_GetTotpLink",{},a=>{a.status&&(e=a.data)}),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?b("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],L={class:"m-auto text-body",style:{width:"500px"}},w={class:"d-flex flex-column"},C={class:"dashboardLogo display-4"},M={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},D={for:"totp",class:"mb-2"},R={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],A={class:"invalid-feedback"},E={class:"valid-feedback"},F={class:"d-flex gap-3 mt-5 flex-column"};function Q(s,e,a,G,N,W){const o=d("LocaleText"),l=d("RouterLink");return n(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",L,[t("div",w,[t("div",null,[t("h1",C,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",M,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,p(this.l),1)],8,B)]),t("label",D,[t("small",R,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[f(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[_,this.totp]]),t("div",A,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",E,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",F,[this.verified?(n(),r(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:c(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1,__:[3]})):(n(),r(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:c(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1,__:[2]}))])])])],8,k)}const H=h(T,[["render",Q]]);export{H as default}; +import{_ as h,c as m,a as t,b as i,h as d,t as p,m as f,y as _,j as r,w as c,z as b,D as v,g,f as n}from"./index-BimuIV8Z.js";import{Q as x}from"./browser-DqvcZvnx.js";import{L as y}from"./localeText-D0Ve6fTw.js";import"./galois-field-CkUIqpA6.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=v();let e="";return await g("/api/Welcome_GetTotpLink",{},a=>{a.status&&(e=a.data)}),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?b("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],L={class:"m-auto text-body",style:{width:"500px"}},w={class:"d-flex flex-column"},C={class:"dashboardLogo display-4"},M={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},D={for:"totp",class:"mb-2"},R={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],A={class:"invalid-feedback"},E={class:"valid-feedback"},F={class:"d-flex gap-3 mt-5 flex-column"};function Q(s,e,a,G,N,W){const o=d("LocaleText"),l=d("RouterLink");return n(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",L,[t("div",w,[t("div",null,[t("h1",C,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",M,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,p(this.l),1)],8,B)]),t("label",D,[t("small",R,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[f(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[_,this.totp]]),t("div",A,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",E,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",F,[this.verified?(n(),r(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:c(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1,__:[3]})):(n(),r(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:c(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1,__:[2]}))])])])],8,k)}const H=h(T,[["render",Q]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/traceroute-D9mlT_ah.css b/src/static/dist/WGDashboardAdmin/assets/traceroute-D9mlT_ah.css new file mode 100644 index 00000000..268a1abf --- /dev/null +++ b/src/static/dist/WGDashboardAdmin/assets/traceroute-D9mlT_ah.css @@ -0,0 +1 @@ +.pingPlaceholder[data-v-125b538b]{width:100%;height:40px}.ping-move[data-v-125b538b],.ping-enter-active[data-v-125b538b],.ping-leave-active[data-v-125b538b]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-125b538b]{position:absolute;width:100%}.ping-enter-from[data-v-125b538b],.ping-leave-to[data-v-125b538b]{opacity:0;filter:blur(3px)}.ping-leave-active[data-v-125b538b]{position:absolute}table th[data-v-125b538b],table td[data-v-125b538b]{padding:.5rem}.table[data-v-125b538b]>:not(caption)>*>*{background-color:transparent!important} diff --git a/src/static/dist/WGDashboardAdmin/assets/traceroute-D0BywLrP.js b/src/static/dist/WGDashboardAdmin/assets/traceroute-DzVtw1iM.js similarity index 78% rename from src/static/dist/WGDashboardAdmin/assets/traceroute-D0BywLrP.js rename to src/static/dist/WGDashboardAdmin/assets/traceroute-DzVtw1iM.js index 1c802252..742994cc 100644 --- a/src/static/dist/WGDashboardAdmin/assets/traceroute-D0BywLrP.js +++ b/src/static/dist/WGDashboardAdmin/assets/traceroute-DzVtw1iM.js @@ -1 +1 @@ -import{_ as h,c as o,a as t,b as n,h as r,m as g,y as b,E as y,w as c,k as u,g as f,W as x,f as l,e as v,F as m,i as _,s as k,n as T,t as i}from"./index-mH92cJrc.js";import{O as A}from"./osmap-DlmBiBAF.js";import{L as w}from"./localeText-DSmP42vs.js";import"./Vector-C8V_x6Dm.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:x()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,f("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},L={class:"d-flex gap-2 mb-3 flex-column"},C={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},O=["disabled"],V=["disabled"],B={key:0,class:"d-block"},E={key:1,class:"d-block"},I={class:"position-relative"},N={key:"pingPlaceholder"},z={key:1},D={key:"table",class:"w-100 mt-2"},F={class:"table table-sm rounded-3 w-100"},G={scope:"col"},H={scope:"col"},K={scope:"col"},W={scope:"col"},U={scope:"col"},j={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=r("LocaleText"),p=r("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",L,[t("div",C,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),g(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=y(e=>this.execute(),["enter"])),type:"text"},null,40,O),[[b,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(u,{name:"slide"},{default:c(()=>[this.tracing?(l(),o("span",E,s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(l(),o("span",B,s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ")])))]),_:1})],8,V)]),t("div",I,[n(u,{name:"ping"},{default:c(()=>[this.tracerouteResult?(l(),o("div",z,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",D,[t("table",F,[t("thead",null,[t("tr",null,[t("th",G,[n(a,{t:"Hop"})]),t("th",H,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",U,[n(a,{t:"Max RTT (ms)"})]),t("th",j,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(m,null,_(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",N,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(m,null,_(5,e=>t("div",{class:T(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:k({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const at=h(R,[["render",Q],["__scopeId","data-v-3e75b4d4"]]);export{at as default}; +import{_ as h,c as o,a as t,b as n,h as r,m as g,y as b,E as y,w as c,k as u,g as f,W as x,f as l,e as v,F as m,i as _,s as k,n as T,t as i}from"./index-BimuIV8Z.js";import{O as A}from"./osmap-BF5g68HQ.js";import{L as w}from"./localeText-D0Ve6fTw.js";import"./Vector-C8V_x6Dm.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:x()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,f("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},L={class:"d-flex gap-2 mb-3 flex-column"},C={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},O=["disabled"],V=["disabled"],B={key:0,class:"d-block"},E={key:1,class:"d-block"},I={class:"position-relative"},N={key:"pingPlaceholder"},z={key:1},D={key:"table",class:"w-100 mt-2"},F={class:"table table-sm rounded-3 w-100"},G={scope:"col"},H={scope:"col"},K={scope:"col"},W={scope:"col"},U={scope:"col"},j={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=r("LocaleText"),p=r("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",L,[t("div",C,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),g(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=y(e=>this.execute(),["enter"])),type:"text"},null,40,O),[[b,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(u,{name:"slide"},{default:c(()=>[this.tracing?(l(),o("span",E,s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(l(),o("span",B,s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ")])))]),_:1})],8,V)]),t("div",I,[n(u,{name:"ping"},{default:c(()=>[this.tracerouteResult?(l(),o("div",z,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",D,[t("table",F,[t("thead",null,[t("tr",null,[t("th",G,[n(a,{t:"Hop"})]),t("th",H,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",U,[n(a,{t:"Max RTT (ms)"})]),t("th",j,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(m,null,_(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo&&e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",N,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(m,null,_(5,e=>t("div",{class:T(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:k({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const at=h(R,[["render",Q],["__scopeId","data-v-125b538b"]]);export{at as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/traceroute-cPX-1ydq.css b/src/static/dist/WGDashboardAdmin/assets/traceroute-cPX-1ydq.css deleted file mode 100644 index 3bd31604..00000000 --- a/src/static/dist/WGDashboardAdmin/assets/traceroute-cPX-1ydq.css +++ /dev/null @@ -1 +0,0 @@ -.pingPlaceholder[data-v-3e75b4d4]{width:100%;height:40px}.ping-move[data-v-3e75b4d4],.ping-enter-active[data-v-3e75b4d4],.ping-leave-active[data-v-3e75b4d4]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-3e75b4d4]{position:absolute;width:100%}.ping-enter-from[data-v-3e75b4d4],.ping-leave-to[data-v-3e75b4d4]{opacity:0;filter:blur(3px)}.ping-leave-active[data-v-3e75b4d4]{position:absolute}table th[data-v-3e75b4d4],table td[data-v-3e75b4d4]{padding:.5rem}.table[data-v-3e75b4d4]>:not(caption)>*>*{background-color:transparent!important} diff --git a/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-DXRta4gJ.js b/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-VDLvxrT_.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/vue-datepicker-DXRta4gJ.js rename to src/static/dist/WGDashboardAdmin/assets/vue-datepicker-VDLvxrT_.js index 6ce2e453..c3586bdb 100644 --- a/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-DXRta4gJ.js +++ b/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-VDLvxrT_.js @@ -1 +1 @@ -import{B as tt,a8 as Kt,r as K,a9 as ha,o as at,a0 as mt,Y as ia,H as yt,q as j,c as z,f as T,b as vt,j as Oe,aa as ot,i as Fe,w as De,ab as ie,ac as Ze,ad as it,u as i,ae as Je,af as Yn,d as G,k as da,l as Na,ag as Ur,n as xe,ah as Qr,J as ka,V as jr,ai as Cn,a as ge,a5 as ga,F as ke,s as pt,t as lt,O as Gr,aj as Kr,e as Rt,M as Xr,N as Zr,ak as Jr,m as Aa,al as Ya,E as el}from"./index-mH92cJrc.js";const Jn=6048e5,tl=864e5,al=6e4,er=36e5,nl=1e3,Rn=Symbol.for("constructDateFrom");function Se(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Rn in e?e[Rn](t):e instanceof Date?new e.constructor(t):new Date(t)}function pe(e,t){return Se(t||e,e)}function ft(e,t,n){const a=pe(e,n?.in);return isNaN(t)?Se(n?.in||e,NaN):(t&&a.setDate(a.getDate()+t),a)}function bt(e,t,n){const a=pe(e,n?.in);if(isNaN(t))return Se(e,NaN);if(!t)return a;const r=a.getDate(),o=Se(e,a.getTime());o.setMonth(a.getMonth()+t+1,0);const s=o.getDate();return r>=s?o:(a.setFullYear(o.getFullYear(),o.getMonth(),r),a)}function tr(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:c=0,minutes:d=0,seconds:P=0}=t,v=pe(e,n?.in),m=r||a?bt(v,r+a*12):v,p=s||o?ft(m,s+o*7):m,x=d+c*60,R=(P+x*60)*1e3;return Se(e,+p+R)}function rl(e,t,n){return Se(e,+pe(e)+t)}function ll(e,t,n){return rl(e,t*er)}let ol={};function Xt(){return ol}function _t(e,t){const n=Xt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=pe(e,t?.in),o=r.getDay(),s=(o=o.getTime()?a+1:n.getTime()>=c.getTime()?a:a-1}function Ca(e){const t=pe(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Da(e,...t){const n=Se.bind(null,t.find(a=>typeof a=="object"));return t.map(n)}function Sn(e,t){const n=pe(e,t?.in);return n.setHours(0,0,0,0),n}function nr(e,t,n){const[a,r]=Da(n?.in,e,t),o=Sn(a),s=Sn(r),c=+o-Ca(o),d=+s-Ca(s);return Math.round((c-d)/tl)}function sl(e,t){const n=ar(e,t),a=Se(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),na(a)}function ul(e,t,n){return bt(e,t*3,n)}function mn(e,t,n){return bt(e,t*12,n)}function Nn(e,t){const n=+pe(e)-+pe(t);return n<0?-1:n>0?1:n}function rr(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function pa(e){return!(!rr(e)&&typeof e!="number"||isNaN(+pe(e)))}function In(e,t){const n=pe(e,t?.in);return Math.trunc(n.getMonth()/3)+1}function il(e,t,n){const[a,r]=Da(n?.in,e,t);return a.getFullYear()-r.getFullYear()}function dl(e,t,n){const[a,r]=Da(n?.in,e,t),o=Nn(a,r),s=Math.abs(il(a,r));a.setFullYear(1584),r.setFullYear(1584);const c=Nn(a,r)===-o,d=o*(s-+c);return d===0?0:d}function lr(e,t){const[n,a]=Da(e,t.start,t.end);return{start:n,end:a}}function or(e,t){const{start:n,end:a}=lr(t?.in,e);let r=+n>+a;const o=r?+n:+a,s=r?a:n;s.setHours(0,0,0,0);let c=1;const d=[];for(;+s<=o;)d.push(Se(n,s)),s.setDate(s.getDate()+c),s.setHours(0,0,0,0);return r?d.reverse():d}function Ut(e,t){const n=pe(e,t?.in),a=n.getMonth(),r=a-a%3;return n.setMonth(r,1),n.setHours(0,0,0,0),n}function cl(e,t){const{start:n,end:a}=lr(t?.in,e);let r=+n>+a;const o=r?+Ut(n):+Ut(a);let s=Ut(r?a:n),c=1;const d=[];for(;+s<=o;)d.push(Se(n,s)),s=ul(s,c);return r?d.reverse():d}function vl(e,t){const n=pe(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function sr(e,t){const n=pe(e,t?.in),a=n.getFullYear();return n.setFullYear(a+1,0,0),n.setHours(23,59,59,999),n}function wa(e,t){const n=pe(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function ur(e,t){const n=Xt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=pe(e,t?.in),o=r.getDay(),s=(o{let a;const r=ml[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function Qa(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const pl={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},yl={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},hl={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},gl={date:Qa({formats:pl,defaultWidth:"full"}),time:Qa({formats:yl,defaultWidth:"full"}),dateTime:Qa({formats:hl,defaultWidth:"full"})},wl={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},bl=(e,t,n,a)=>wl[e];function va(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,c=n?.width?String(n.width):s;r=e.formattingValues[c]||e.formattingValues[s]}else{const s=e.defaultWidth,c=n?.width?String(n.width):e.defaultWidth;r=e.values[c]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return r[o]}}const _l={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},kl={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Dl={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},xl={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Ml={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Pl={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Tl=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Ol={ordinalNumber:Tl,era:va({values:_l,defaultWidth:"wide"}),quarter:va({values:kl,defaultWidth:"wide",argumentCallback:e=>e-1}),month:va({values:Dl,defaultWidth:"wide"}),day:va({values:xl,defaultWidth:"wide"}),dayPeriod:va({values:Ml,defaultWidth:"wide",formattingValues:Pl,defaultFormattingWidth:"wide"})};function ma(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;const s=o[0],c=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(c)?Al(c,m=>m.test(s)):$l(c,m=>m.test(s));let P;P=e.valueCallback?e.valueCallback(d):d,P=n.valueCallback?n.valueCallback(P):P;const v=t.slice(s.length);return{value:P,rest:v}}}function $l(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Al(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const c=t.slice(r.length);return{value:s,rest:c}}}const Cl=/^(\d+)(th|st|nd|rd)?/i,Rl=/\d+/i,Sl={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Nl={any:[/^b/i,/^(a|c)/i]},Il={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},El={any:[/1/i,/2/i,/3/i,/4/i]},Fl={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Bl={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Ll={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Hl={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Vl={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Wl={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},zl={ordinalNumber:Yl({matchPattern:Cl,parsePattern:Rl,valueCallback:e=>parseInt(e,10)}),era:ma({matchPatterns:Sl,defaultMatchWidth:"wide",parsePatterns:Nl,defaultParseWidth:"any"}),quarter:ma({matchPatterns:Il,defaultMatchWidth:"wide",parsePatterns:El,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ma({matchPatterns:Fl,defaultMatchWidth:"wide",parsePatterns:Bl,defaultParseWidth:"any"}),day:ma({matchPatterns:Ll,defaultMatchWidth:"wide",parsePatterns:Hl,defaultParseWidth:"any"}),dayPeriod:ma({matchPatterns:Vl,defaultMatchWidth:"any",parsePatterns:Wl,defaultParseWidth:"any"})},ir={code:"en-US",formatDistance:fl,formatLong:gl,formatRelative:bl,localize:Ol,match:zl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function ql(e,t){const n=pe(e,t?.in);return nr(n,wa(n))+1}function fn(e,t){const n=pe(e,t?.in),a=+na(n)-+sl(n);return Math.round(a/Jn)+1}function pn(e,t){const n=pe(e,t?.in),a=n.getFullYear(),r=Xt(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=Se(t?.in||e,0);s.setFullYear(a+1,0,o),s.setHours(0,0,0,0);const c=_t(s,t),d=Se(t?.in||e,0);d.setFullYear(a,0,o),d.setHours(0,0,0,0);const P=_t(d,t);return+n>=+c?a+1:+n>=+P?a:a-1}function Ul(e,t){const n=Xt(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=pn(e,t),o=Se(t?.in||e,0);return o.setFullYear(r,0,a),o.setHours(0,0,0,0),_t(o,t)}function yn(e,t){const n=pe(e,t?.in),a=+_t(n,t)-+Ul(n,t);return Math.round(a/Jn)+1}function Re(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const It={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return Re(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Re(n+1,2)},d(e,t){return Re(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Re(e.getHours()%12||12,t.length)},H(e,t){return Re(e.getHours(),t.length)},m(e,t){return Re(e.getMinutes(),t.length)},s(e,t){return Re(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return Re(r,t.length)}},Zt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Fn={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});case"GGGG":default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return It.y(e,t)},Y:function(e,t,n,a){const r=pn(e,a),o=r>0?r:1-r;if(t==="YY"){const s=o%100;return Re(s,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Re(o,t.length)},R:function(e,t){const n=ar(e);return Re(n,t.length)},u:function(e,t){const n=e.getFullYear();return Re(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return Re(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return Re(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return It.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return Re(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=yn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):Re(r,t.length)},I:function(e,t,n){const a=fn(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):Re(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):It.d(e,t)},D:function(e,t,n){const a=ql(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):Re(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});case"EEEE":default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Re(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});case"eeee":default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Re(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});case"cccc":default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return Re(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});case"iiii":default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Zt.noon:a===0?r=Zt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Zt.evening:a>=12?r=Zt.afternoon:a>=4?r=Zt.morning:r=Zt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return It.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):It.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):Re(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):Re(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):It.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):It.s(e,t)},S:function(e,t){return It.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return Ln(a);case"XXXX":case"XX":return qt(a);case"XXXXX":case"XXX":default:return qt(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return Ln(a);case"xxxx":case"xx":return qt(a);case"xxxxx":case"xxx":default:return qt(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Bn(a,":");case"OOOO":default:return"GMT"+qt(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Bn(a,":");case"zzzz":default:return"GMT"+qt(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return Re(a,t.length)},T:function(e,t,n){return Re(+e,t.length)}};function Bn(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),o=a%60;return o===0?n+String(r):n+String(r)+t+Re(o,2)}function Ln(e,t){return e%60===0?(e>0?"-":"+")+Re(Math.abs(e)/60,2):qt(e,t)}function qt(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Re(Math.trunc(a/60),2),o=Re(a%60,2);return n+r+t+o}const Hn=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},dr=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},Ql=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return Hn(e,t);let o;switch(a){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",Hn(a,t)).replace("{{time}}",dr(r,t))},ln={p:dr,P:Ql},jl=/^D+$/,Gl=/^Y+$/,Kl=["D","DD","YY","YYYY"];function cr(e){return jl.test(e)}function vr(e){return Gl.test(e)}function on(e,t,n){const a=Xl(e,t,n);if(console.warn(a),Kl.includes(e))throw new RangeError(a)}function Xl(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Zl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Jl=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,eo=/^'([^]*?)'?$/,to=/''/g,ao=/[a-zA-Z]/;function $t(e,t,n){const a=Xt(),r=n?.locale??a.locale??ir,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,c=pe(e,n?.in);if(!pa(c))throw new RangeError("Invalid time value");let d=t.match(Jl).map(v=>{const m=v[0];if(m==="p"||m==="P"){const p=ln[m];return p(v,r.formatLong)}return v}).join("").match(Zl).map(v=>{if(v==="''")return{isToken:!1,value:"'"};const m=v[0];if(m==="'")return{isToken:!1,value:no(v)};if(Fn[m])return{isToken:!0,value:v};if(m.match(ao))throw new RangeError("Format string contains an unescaped latin alphabet character `"+m+"`");return{isToken:!1,value:v}});r.localize.preprocessor&&(d=r.localize.preprocessor(c,d));const P={firstWeekContainsDate:o,weekStartsOn:s,locale:r};return d.map(v=>{if(!v.isToken)return v.value;const m=v.value;(!n?.useAdditionalWeekYearTokens&&vr(m)||!n?.useAdditionalDayOfYearTokens&&cr(m))&&on(m,t,String(e));const p=Fn[m[0]];return p(c,m,r.localize,P)}).join("")}function no(e){const t=e.match(eo);return t?t[1].replace(to,"'"):e}function ro(e,t){return pe(e,t?.in).getDay()}function lo(e,t){const n=pe(e,t?.in),a=n.getFullYear(),r=n.getMonth(),o=Se(n,0);return o.setFullYear(a,r+1,0),o.setHours(0,0,0,0),o.getDate()}function oo(){return Object.assign({},Xt())}function St(e,t){return pe(e,t?.in).getHours()}function so(e,t){const n=pe(e,t?.in).getDay();return n===0?7:n}function Ht(e,t){return pe(e,t?.in).getMinutes()}function Pe(e,t){return pe(e,t?.in).getMonth()}function ra(e){return pe(e).getSeconds()}function he(e,t){return pe(e,t?.in).getFullYear()}function Gt(e,t){return+pe(e)>+pe(t)}function la(e,t){return+pe(e)<+pe(t)}function ta(e,t){return+pe(e)==+pe(t)}function uo(e,t){const n=io(t)?new t(0):Se(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function io(e){return typeof e=="function"&&e.prototype?.constructor===e}const co=10;class mr{subPriority=0;validate(t,n){return!0}}class vo extends mr{constructor(t,n,a,r,o){super(),this.value=t,this.validateValue=n,this.setValue=a,this.priority=r,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,a){return this.setValue(t,n,this.value,a)}}class mo extends mr{priority=co;subPriority=-1;constructor(t,n){super(),this.context=t||(a=>Se(n,a))}set(t,n){return n.timestampIsSet?t:Se(t,uo(t,this.context))}}class Ae{run(t,n,a,r){const o=this.parse(t,n,a,r);return o?{setter:new vo(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,a){return!0}}class fo extends Ae{priority=140;parse(t,n,a){switch(n){case"G":case"GG":case"GGG":return a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"});case"GGGGG":return a.era(t,{width:"narrow"});case"GGGG":default:return a.era(t,{width:"wide"})||a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"})}}set(t,n,a){return n.era=a,t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const Ue={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},Pt={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Qe(e,t){return e&&{value:t(e.value),rest:e.rest}}function Le(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function Tt(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const a=n[1]==="+"?1:-1,r=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,s=n[5]?parseInt(n[5],10):0;return{value:a*(r*er+o*al+s*nl),rest:t.slice(n[0].length)}}function fr(e){return Le(Ue.anyDigitsSigned,e)}function Ve(e,t){switch(e){case 1:return Le(Ue.singleDigit,t);case 2:return Le(Ue.twoDigits,t);case 3:return Le(Ue.threeDigits,t);case 4:return Le(Ue.fourDigits,t);default:return Le(new RegExp("^\\d{1,"+e+"}"),t)}}function Ra(e,t){switch(e){case 1:return Le(Ue.singleDigitSigned,t);case 2:return Le(Ue.twoDigitsSigned,t);case 3:return Le(Ue.threeDigitsSigned,t);case 4:return Le(Ue.fourDigitsSigned,t);default:return Le(new RegExp("^-?\\d{1,"+e+"}"),t)}}function hn(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function pr(e,t){const n=t>0,a=n?t:1-t;let r;if(a<=50)r=e||100;else{const o=a+50,s=Math.trunc(o/100)*100,c=e>=o%100;r=e+s-(c?100:0)}return n?r:1-r}function yr(e){return e%400===0||e%4===0&&e%100!==0}class po extends Ae{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="yy"});switch(n){case"y":return Qe(Ve(4,t),r);case"yo":return Qe(a.ordinalNumber(t,{unit:"year"}),r);default:return Qe(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a){const r=t.getFullYear();if(a.isTwoDigitYear){const s=pr(a.year,r);return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}const o=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(o,0,1),t.setHours(0,0,0,0),t}}class yo extends Ae{priority=130;parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="YY"});switch(n){case"Y":return Qe(Ve(4,t),r);case"Yo":return Qe(a.ordinalNumber(t,{unit:"year"}),r);default:return Qe(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a,r){const o=pn(t,r);if(a.isTwoDigitYear){const c=pr(a.year,o);return t.setFullYear(c,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),_t(t,r)}const s=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(s,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),_t(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ho extends Ae{priority=130;parse(t,n){return Ra(n==="R"?4:n.length,t)}set(t,n,a){const r=Se(t,0);return r.setFullYear(a,0,4),r.setHours(0,0,0,0),na(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class go extends Ae{priority=130;parse(t,n){return Ra(n==="u"?4:n.length,t)}set(t,n,a){return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class wo extends Ae{priority=120;parse(t,n,a){switch(n){case"Q":case"QQ":return Ve(n.length,t);case"Qo":return a.ordinalNumber(t,{unit:"quarter"});case"QQQ":return a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(t,{width:"wide",context:"formatting"})||a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class bo extends Ae{priority=120;parse(t,n,a){switch(n){case"q":case"qq":return Ve(n.length,t);case"qo":return a.ordinalNumber(t,{unit:"quarter"});case"qqq":return a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(t,{width:"wide",context:"standalone"})||a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class _o extends Ae{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"M":return Qe(Le(Ue.month,t),r);case"MM":return Qe(Ve(2,t),r);case"Mo":return Qe(a.ordinalNumber(t,{unit:"month"}),r);case"MMM":return a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(t,{width:"wide",context:"formatting"})||a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}}class ko extends Ae{priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"L":return Qe(Le(Ue.month,t),r);case"LL":return Qe(Ve(2,t),r);case"Lo":return Qe(a.ordinalNumber(t,{unit:"month"}),r);case"LLL":return a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(t,{width:"wide",context:"standalone"})||a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function Do(e,t,n){const a=pe(e,n?.in),r=yn(a,n)-t;return a.setDate(a.getDate()-r*7),pe(a,n?.in)}class xo extends Ae{priority=100;parse(t,n,a){switch(n){case"w":return Le(Ue.week,t);case"wo":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a,r){return _t(Do(t,a,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function Mo(e,t,n){const a=pe(e,n?.in),r=fn(a,n)-t;return a.setDate(a.getDate()-r*7),a}class Po extends Ae{priority=100;parse(t,n,a){switch(n){case"I":return Le(Ue.week,t);case"Io":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a){return na(Mo(t,a))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const To=[31,28,31,30,31,30,31,31,30,31,30,31],Oo=[31,29,31,30,31,30,31,31,30,31,30,31];class $o extends Ae{priority=90;subPriority=1;parse(t,n,a){switch(n){case"d":return Le(Ue.date,t);case"do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear(),r=yr(a),o=t.getMonth();return r?n>=1&&n<=Oo[o]:n>=1&&n<=To[o]}set(t,n,a){return t.setDate(a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class Ao extends Ae{priority=90;subpriority=1;parse(t,n,a){switch(n){case"D":case"DD":return Le(Ue.dayOfYear,t);case"Do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear();return yr(a)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,a){return t.setMonth(0,a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function gn(e,t,n){const a=Xt(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,o=pe(e,n?.in),s=o.getDay(),d=(t%7+7)%7,P=7-r,v=t<0||t>6?t-(s+P)%7:(d+P)%7-(s+P)%7;return ft(o,v,n)}class Yo extends Ae{priority=90;parse(t,n,a){switch(n){case"E":case"EE":case"EEE":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=gn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class Co extends Ae{priority=90;parse(t,n,a,r){const o=s=>{const c=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+c};switch(n){case"e":case"ee":return Qe(Ve(n.length,t),o);case"eo":return Qe(a.ordinalNumber(t,{unit:"day"}),o);case"eee":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeeee":return a.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=gn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class Ro extends Ae{priority=90;parse(t,n,a,r){const o=s=>{const c=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+c};switch(n){case"c":case"cc":return Qe(Ve(n.length,t),o);case"co":return Qe(a.ordinalNumber(t,{unit:"day"}),o);case"ccc":return a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"ccccc":return a.day(t,{width:"narrow",context:"standalone"});case"cccccc":return a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(t,{width:"wide",context:"standalone"})||a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=gn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function So(e,t,n){const a=pe(e,n?.in),r=so(a,n),o=t-r;return ft(a,o,n)}class No extends Ae{priority=90;parse(t,n,a){const r=o=>o===0?7:o;switch(n){case"i":case"ii":return Ve(n.length,t);case"io":return a.ordinalNumber(t,{unit:"day"});case"iii":return Qe(a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return Qe(a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return Qe(a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiii":default:return Qe(a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,n){return n>=1&&n<=7}set(t,n,a){return t=So(t,a),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class Io extends Ae{priority=80;parse(t,n,a){switch(n){case"a":case"aa":case"aaa":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(hn(a),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class Eo extends Ae{priority=80;parse(t,n,a){switch(n){case"b":case"bb":case"bbb":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(hn(a),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class Fo extends Ae{priority=80;parse(t,n,a){switch(n){case"B":case"BB":case"BBB":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(hn(a),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class Bo extends Ae{priority=70;parse(t,n,a){switch(n){case"h":return Le(Ue.hour12h,t);case"ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,a){const r=t.getHours()>=12;return r&&a<12?t.setHours(a+12,0,0,0):!r&&a===12?t.setHours(0,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class Lo extends Ae{priority=70;parse(t,n,a){switch(n){case"H":return Le(Ue.hour23h,t);case"Ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,a){return t.setHours(a,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class Ho extends Ae{priority=70;parse(t,n,a){switch(n){case"K":return Le(Ue.hour11h,t);case"Ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.getHours()>=12&&a<12?t.setHours(a+12,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class Vo extends Ae{priority=70;parse(t,n,a){switch(n){case"k":return Le(Ue.hour24h,t);case"ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,a){const r=a<=24?a%24:a;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class Wo extends Ae{priority=60;parse(t,n,a){switch(n){case"m":return Le(Ue.minute,t);case"mo":return a.ordinalNumber(t,{unit:"minute"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setMinutes(a,0,0),t}incompatibleTokens=["t","T"]}class zo extends Ae{priority=50;parse(t,n,a){switch(n){case"s":return Le(Ue.second,t);case"so":return a.ordinalNumber(t,{unit:"second"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setSeconds(a,0),t}incompatibleTokens=["t","T"]}class qo extends Ae{priority=30;parse(t,n){const a=r=>Math.trunc(r*Math.pow(10,-n.length+3));return Qe(Ve(n.length,t),a)}set(t,n,a){return t.setMilliseconds(a),t}incompatibleTokens=["t","T"]}class Uo extends Ae{priority=10;parse(t,n){switch(n){case"X":return Tt(Pt.basicOptionalMinutes,t);case"XX":return Tt(Pt.basic,t);case"XXXX":return Tt(Pt.basicOptionalSeconds,t);case"XXXXX":return Tt(Pt.extendedOptionalSeconds,t);case"XXX":default:return Tt(Pt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Se(t,t.getTime()-Ca(t)-a)}incompatibleTokens=["t","T","x"]}class Qo extends Ae{priority=10;parse(t,n){switch(n){case"x":return Tt(Pt.basicOptionalMinutes,t);case"xx":return Tt(Pt.basic,t);case"xxxx":return Tt(Pt.basicOptionalSeconds,t);case"xxxxx":return Tt(Pt.extendedOptionalSeconds,t);case"xxx":default:return Tt(Pt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Se(t,t.getTime()-Ca(t)-a)}incompatibleTokens=["t","T","X"]}class jo extends Ae{priority=40;parse(t){return fr(t)}set(t,n,a){return[Se(t,a*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class Go extends Ae{priority=20;parse(t){return fr(t)}set(t,n,a){return[Se(t,a),{timestampIsSet:!0}]}incompatibleTokens="*"}const Ko={G:new fo,y:new po,Y:new yo,R:new ho,u:new go,Q:new wo,q:new bo,M:new _o,L:new ko,w:new xo,I:new Po,d:new $o,D:new Ao,E:new Yo,e:new Co,c:new Ro,i:new No,a:new Io,b:new Eo,B:new Fo,h:new Bo,H:new Lo,K:new Ho,k:new Vo,m:new Wo,s:new zo,S:new qo,X:new Uo,x:new Qo,t:new jo,T:new Go},Xo=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Zo=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Jo=/^'([^]*?)'?$/,es=/''/g,ts=/\S/,as=/[a-zA-Z]/;function sn(e,t,n,a){const r=()=>Se(a?.in||n,NaN),o=oo(),s=a?.locale??o.locale??ir,c=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(!t)return e?r():pe(n,a?.in);const P={firstWeekContainsDate:c,weekStartsOn:d,locale:s},v=[new mo(a?.in,n)],m=t.match(Zo).map(M=>{const b=M[0];if(b in ln){const S=ln[b];return S(M,s.formatLong)}return M}).join("").match(Xo),p=[];for(let M of m){!a?.useAdditionalWeekYearTokens&&vr(M)&&on(M,t,e),!a?.useAdditionalDayOfYearTokens&&cr(M)&&on(M,t,e);const b=M[0],S=Ko[b];if(S){const{incompatibleTokens:C}=S;if(Array.isArray(C)){const U=p.find(Y=>C.includes(Y.token)||Y.token===b);if(U)throw new RangeError(`The format string mustn't contain \`${U.fullToken}\` and \`${M}\` at the same time`)}else if(S.incompatibleTokens==="*"&&p.length>0)throw new RangeError(`The format string mustn't contain \`${M}\` and any other token at the same time`);p.push({token:b,fullToken:M});const L=S.run(e,M,s.match,P);if(!L)return r();v.push(L.setter),e=L.rest}else{if(b.match(as))throw new RangeError("Format string contains an unescaped latin alphabet character `"+b+"`");if(M==="''"?M="'":b==="'"&&(M=ns(M)),e.indexOf(M)===0)e=e.slice(M.length);else return r()}}if(e.length>0&&ts.test(e))return r();const x=v.map(M=>M.priority).sort((M,b)=>b-M).filter((M,b,S)=>S.indexOf(M)===b).map(M=>v.filter(b=>b.priority===M).sort((b,S)=>S.subPriority-b.subPriority)).map(M=>M[0]);let A=pe(n,a?.in);if(isNaN(+A))return r();const R={};for(const M of x){if(!M.validate(A,P))return r();const b=M.set(A,R,P);Array.isArray(b)?(A=b[0],Object.assign(R,b[1])):A=b}return A}function ns(e){return e.match(Jo)[1].replace(es,"'")}function Vn(e,t,n){const[a,r]=Da(n?.in,e,t);return+Ut(a)==+Ut(r)}function hr(e,t,n){return ft(e,-t,n)}function gr(e,t,n){const a=pe(e,n?.in),r=a.getFullYear(),o=a.getDate(),s=Se(e,0);s.setFullYear(r,t,15),s.setHours(0,0,0,0);const c=lo(s);return a.setMonth(t,Math.min(o,c)),a}function Ne(e,t,n){let a=pe(e,n?.in);return isNaN(+a)?Se(e,NaN):(t.year!=null&&a.setFullYear(t.year),t.month!=null&&(a=gr(a,t.month)),t.date!=null&&a.setDate(t.date),t.hours!=null&&a.setHours(t.hours),t.minutes!=null&&a.setMinutes(t.minutes),t.seconds!=null&&a.setSeconds(t.seconds),t.milliseconds!=null&&a.setMilliseconds(t.milliseconds),a)}function rs(e,t,n){const a=pe(e,n?.in);return a.setHours(t),a}function wr(e,t,n){const a=pe(e,n?.in);return a.setMilliseconds(t),a}function ls(e,t,n){const a=pe(e,n?.in);return a.setMinutes(t),a}function br(e,t,n){const a=pe(e,n?.in);return a.setSeconds(t),a}function Ot(e,t,n){const a=pe(e,n?.in);return isNaN(+a)?Se(e,NaN):(a.setFullYear(t),a)}function oa(e,t,n){return bt(e,-t,n)}function os(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:c=0,minutes:d=0,seconds:P=0}=t,v=oa(e,r+a*12,n),m=hr(v,s+o*7,n),p=d+c*60,A=(P+p*60)*1e3;return Se(e,+m-A)}function _r(e,t,n){return mn(e,-t,n)}function ca(){const e=Kr();return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img",...e},[ge("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),ge("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),ge("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),ge("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}ca.compatConfig={MODE:3};function kr(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),ge("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}kr.compatConfig={MODE:3};function wn(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}wn.compatConfig={MODE:3};function bn(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}bn.compatConfig={MODE:3};function _n(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),ge("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}_n.compatConfig={MODE:3};function kn(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}kn.compatConfig={MODE:3};function Dn(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}Dn.compatConfig={MODE:3};const dt=(e,t)=>t?new Date(e.toLocaleString("en-US",{timeZone:t})):new Date(e),xn=(e,t,n)=>un(e,t,n)||q(),ss=(e,t,n)=>{const a=t.dateInTz?dt(new Date(e),t.dateInTz):q(e);return n?et(a,!0):a},un=(e,t,n)=>{if(!e)return null;const a=n?et(q(e),!0):q(e);return t?t.exactMatch?ss(e,t,n):dt(a,t.timezone):a},us=e=>{const t=new Date(e.getFullYear(),0,1).getTimezoneOffset();return e.getTimezoneOffset(){if(!e)return 0;const n=new Date,a=new Date(n.toLocaleString("en-US",{timeZone:"UTC"})),r=new Date(n.toLocaleString("en-US",{timeZone:e})),o=(us(t??r)?r:t??r).getTimezoneOffset()/60;return(+a-+r)/(1e3*60*60)-o};var ht=(e=>(e.month="month",e.year="year",e))(ht||{}),gt=(e=>(e.top="top",e.bottom="bottom",e))(gt||{}),Qt=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(Qt||{}),rt=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(rt||{});const ds=["timestamp","date","iso"];var st=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(st||{}),Ee=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))(Ee||{}),aa=(e=>(e.MONTH_AND_YEAR="MM-yyyy",e.YEAR="yyyy",e.DATE="dd-MM-yyyy",e))(aa||{});function Wn(e){return t=>{const n=new Intl.DateTimeFormat(e,{weekday:"short",timeZone:"UTC"}).format(new Date(`2017-01-0${t}T00:00:00+00:00`));return e==="ar"?n.slice(2,5):n.slice(0,2)}}function cs(e){return t=>$t(dt(new Date(`2017-01-0${t}T00:00:00+00:00`),"UTC"),"EEEEEE",{locale:e})}const vs=(e,t,n)=>{const a=[1,2,3,4,5,6,7];let r;if(e!==null)try{r=a.map(cs(e))}catch{r=a.map(Wn(t))}else r=a.map(Wn(t));const o=r.slice(0,n),s=r.slice(n+1,r.length);return[r[n]].concat(...s).concat(...o)},Mn=(e,t,n)=>{const a=[];for(let r=+e[0];r<=+e[1];r++)a.push({value:+r,text:Pr(r,t)});return n?a.reverse():a},Dr=(e,t,n)=>{const a=[1,2,3,4,5,6,7,8,9,10,11,12].map(o=>{const s=o<10?`0${o}`:o;return new Date(`2017-${s}-01T00:00:00+00:00`)});if(e!==null)try{const o=n==="long"?"LLLL":"LLL";return a.map((s,c)=>{const d=$t(dt(s,"UTC"),o,{locale:e});return{text:d.charAt(0).toUpperCase()+d.substring(1),value:c}})}catch{}const r=new Intl.DateTimeFormat(t,{month:n,timeZone:"UTC"});return a.map((o,s)=>{const c=r.format(o);return{text:c.charAt(0).toUpperCase()+c.substring(1),value:s}})},ms=e=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][e],je=e=>{const t=i(e);return t!=null&&t.$el?t?.$el:t},fs=e=>({type:"dot",...e??{}}),xr=e=>Array.isArray(e)?!!e[0]&&!!e[1]:!1,Pn={prop:e=>`"${e}" prop must be enabled!`,dateArr:e=>`You need to use array as "model-value" binding in order to support "${e}"`},Xe=e=>e,zn=e=>e===0?e:!e||isNaN(+e)?null:+e,qn=e=>e===null,Mr=e=>{if(e)return[...e.querySelectorAll("input, button, select, textarea, a[href]")][0]},ps=e=>{const t=[],n=a=>a.filter(r=>r);for(let a=0;a{const a=n!=null,r=t!=null;if(!a&&!r)return!1;const o=+n,s=+t;return a&&r?+e>o||+eo:r?+eps(e).map(n=>n.map(a=>{const{active:r,disabled:o,isBetween:s,highlighted:c}=t(a);return{...a,active:r,disabled:o,className:{dp__overlay_cell_active:r,dp__overlay_cell:!r,dp__overlay_cell_disabled:o,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:o&&r,dp__cell_in_between:s,"dp--highlighted":c}}})),Bt=(e,t,n=!1)=>{e&&t.allowStopPropagation&&(n&&e.stopImmediatePropagation(),e.stopPropagation())},ys=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", ");function hs(e,t){let n=[...document.querySelectorAll(ys())];n=n.filter(r=>!e.contains(r)||r.hasAttribute("data-datepicker-instance"));const a=n.indexOf(e);if(a>=0&&(t?a-1>=0:a+1<=n.length))return n[a+(t?-1:1)]}const dn=(e,t)=>e?.querySelector(`[data-dp-element="${t}"]`),Pr=(e,t)=>new Intl.NumberFormat(t,{useGrouping:!1,style:"decimal"}).format(e),Tn=(e,t)=>$t(e,t??aa.DATE),ja=e=>Array.isArray(e),Sa=(e,t,n)=>t.get(Tn(e,n)),gs=(e,t)=>e?t?t instanceof Map?!!Sa(e,t):t(q(e)):!1:!0,ut=(e,t,n=!1,a)=>{if(e.key===Ee.enter||e.key===Ee.space)return n&&e.preventDefault(),t();if(a)return a(e)},ws=()=>"ontouchstart"in window||navigator.maxTouchPoints>0,Tr=(e,t)=>e?aa.MONTH_AND_YEAR:t?aa.YEAR:aa.DATE,Or=e=>e<10?`0${e}`:e,Un=(e,t,n,a,r,o)=>{const s=sn(e,t.slice(0,e.length),new Date,{locale:o});return pa(s)&&rr(s)?a||r?s:Ne(s,{hours:+n.hours,minutes:+n?.minutes,seconds:+n?.seconds,milliseconds:0}):null},bs=(e,t,n,a,r,o)=>{const s=Array.isArray(n)?n[0]:n;if(typeof t=="string")return Un(e,t,s,a,r,o);if(Array.isArray(t)){let c=null;for(const d of t)if(c=Un(e,d,s,a,r,o),c)break;return c}return typeof t=="function"?t(e):null},q=e=>e?new Date(e):new Date,_s=(e,t,n)=>{if(t){const r=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0"),s=e.getHours().toString().padStart(2,"0"),c=e.getMinutes().toString().padStart(2,"0"),d=n?e.getSeconds().toString().padStart(2,"0"):"00";return`${e.getFullYear()}-${r}-${o}T${s}:${c}:${d}.000Z`}const a=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds());return new Date(a).toISOString()},et=(e,t)=>{const n=q(JSON.parse(JSON.stringify(e))),a=Ne(n,{hours:0,minutes:0,seconds:0,milliseconds:0});return t?vl(a):a},Lt=(e,t,n,a)=>{let r=e?q(e):q();return(t||t===0)&&(r=rs(r,+t)),(n||n===0)&&(r=ls(r,+n)),(a||a===0)&&(r=br(r,+a)),wr(r,0)},He=(e,t)=>!e||!t?!1:la(et(e),et(t)),Te=(e,t)=>!e||!t?!1:ta(et(e),et(t)),qe=(e,t)=>!e||!t?!1:Gt(et(e),et(t)),_a=(e,t,n)=>e!=null&&e[0]&&e!=null&&e[1]?qe(n,e[0])&&He(n,e[1]):e!=null&&e[0]&&t?qe(n,e[0])&&He(n,t)||He(n,e[0])&&qe(n,t):!1,wt=e=>{const t=Ne(new Date(e),{date:1});return et(t)},Ga=(e,t,n)=>t&&(n||n===0)?Object.fromEntries(["hours","minutes","seconds"].map(a=>a===t?[a,n]:[a,isNaN(+e[a])?void 0:+e[a]])):{hours:isNaN(+e.hours)?void 0:+e.hours,minutes:isNaN(+e.minutes)?void 0:+e.minutes,seconds:isNaN(+e.seconds)?void 0:+e.seconds},jt=e=>({hours:St(e),minutes:Ht(e),seconds:ra(e)}),$r=(e,t)=>{if(t){const n=he(q(t));if(n>e)return 12;if(n===e)return Pe(q(t))}},Ar=(e,t)=>{if(t){const n=he(q(t));return n{if(e)return he(q(e))},Yr=(e,t)=>{const n=qe(e,t)?t:e,a=qe(t,e)?t:e;return or({start:n,end:a})},ks=e=>{const t=bt(e,1);return{month:Pe(t),year:he(t)}},Yt=(e,t)=>{const n=_t(e,{weekStartsOn:+t}),a=ur(e,{weekStartsOn:+t});return[n,a]},Cr=(e,t)=>{const n={hours:St(q()),minutes:Ht(q()),seconds:t?ra(q()):0};return Object.assign(n,e)},Ft=(e,t,n)=>[Ne(q(e),{date:1}),Ne(q(),{month:t,year:n,date:1})],Ct=(e,t,n)=>{let a=e?q(e):q();return(t||t===0)&&(a=gr(a,t)),n&&(a=Ot(a,n)),a},Rr=(e,t,n,a,r)=>{if(!a||r&&!t||!r&&!n)return!1;const o=r?bt(e,1):oa(e,1),s=[Pe(o),he(o)];return r?!xs(...s,t):!Ds(...s,n)},Ds=(e,t,n)=>He(...Ft(n,e,t))||Te(...Ft(n,e,t)),xs=(e,t,n)=>qe(...Ft(n,e,t))||Te(...Ft(n,e,t)),Sr=(e,t,n,a,r,o,s)=>{if(typeof t=="function"&&!s)return t(e);const c=n?{locale:n}:void 0;return Array.isArray(e)?`${$t(e[0],o,c)}${r&&!e[1]?"":a}${e[1]?$t(e[1],o,c):""}`:$t(e,o,c)},Jt=e=>{if(e)return null;throw new Error(Pn.prop("partial-range"))},Oa=(e,t)=>{if(t)return e();throw new Error(Pn.prop("range"))},cn=e=>Array.isArray(e)?pa(e[0])&&(e[1]?pa(e[1]):!0):e?pa(e):!1,Ms=(e,t)=>Ne(t??q(),{hours:+e.hours||0,minutes:+e.minutes||0,seconds:+e.seconds||0}),Ka=(e,t,n,a)=>{if(!e)return!0;if(a){const r=n==="max"?la(e,t):Gt(e,t),o={seconds:0,milliseconds:0};return r||ta(Ne(e,o),Ne(t,o))}return n==="max"?e.getTime()<=t.getTime():e.getTime()>=t.getTime()},Xa=(e,t,n)=>e?Ms(e,t):q(n??t),Qn=(e,t,n,a,r)=>{if(Array.isArray(a)){const s=Xa(e,a[0],t),c=Xa(e,a[1],t);return Ka(a[0],s,n,!!t)&&Ka(a[1],c,n,!!t)&&r}const o=Xa(e,a,t);return Ka(a,o,n,!!t)&&r},Za=e=>Ne(q(),jt(e)),Ps=(e,t,n)=>{if(e instanceof Map){const a=`${Or(n+1)}-${t}`;return e.size?e.has(a):!1}return typeof e=="function"?e(et(Ne(q(),{month:n,year:t}),!0)):!1},Ts=(e,t,n)=>{if(e instanceof Map){const a=`${Or(n+1)}-${t}`;return e.size?e.has(a):!0}return!0},Nr=(e,t,n)=>typeof e=="function"?e({month:t,year:n}):!!e.months.find(a=>a.month===t&&a.year===n),On=(e,t)=>typeof e=="function"?e(t):e.years.includes(t),vn=e=>`dp-${$t(e,"yyyy-MM-dd")}`,jn=(e,t)=>{const n=hr(et(t),e),a=ft(et(t),e);return{before:n,after:a}},fa=ka({menuFocused:!1,shiftKeyInMenu:!1}),Ir=()=>{const e=n=>{fa.menuFocused=n},t=n=>{fa.shiftKeyInMenu!==n&&(fa.shiftKeyInMenu=n)};return{control:j(()=>({shiftKeyInMenu:fa.shiftKeyInMenu,menuFocused:fa.menuFocused})),setMenuFocused:e,setShiftKey:t}},Ie=ka({monthYear:[],calendar:[],time:[],actionRow:[],selectionGrid:[],timePicker:{0:[],1:[]},monthPicker:[]}),Ja=K(null),$a=K(!1),en=K(!1),tn=K(!1),an=K(!1),nt=K(0),ze=K(0),Vt=()=>{const e=j(()=>$a.value?[...Ie.selectionGrid,Ie.actionRow].filter(m=>m.length):en.value?[...Ie.timePicker[0],...Ie.timePicker[1],an.value?[]:[Ja.value],Ie.actionRow].filter(m=>m.length):tn.value?[...Ie.monthPicker,Ie.actionRow]:[Ie.monthYear,...Ie.calendar,Ie.time,Ie.actionRow].filter(m=>m.length)),t=m=>{nt.value=m?nt.value+1:nt.value-1;let p=null;e.value[ze.value]&&(p=e.value[ze.value][nt.value]),!p&&e.value[ze.value+(m?1:-1)]?(ze.value=ze.value+(m?1:-1),nt.value=m?0:e.value[ze.value].length-1):p||(nt.value=m?nt.value-1:nt.value+1)},n=m=>{ze.value===0&&!m||ze.value===e.value.length&&m||(ze.value=m?ze.value+1:ze.value-1,e.value[ze.value]?e.value[ze.value]&&!e.value[ze.value][nt.value]&&nt.value!==0&&(nt.value=e.value[ze.value].length-1):ze.value=m?ze.value-1:ze.value+1)},a=m=>{let p=null;e.value[ze.value]&&(p=e.value[ze.value][nt.value]),p?p.focus({preventScroll:!$a.value}):nt.value=m?nt.value-1:nt.value+1},r=()=>{t(!0),a(!0)},o=()=>{t(!1),a(!1)},s=()=>{n(!1),a(!0)},c=()=>{n(!0),a(!0)},d=(m,p)=>{Ie[p]=m},P=(m,p)=>{Ie[p]=m},v=()=>{nt.value=0,ze.value=0};return{buildMatrix:d,buildMultiLevelMatrix:P,setTimePickerBackRef:m=>{Ja.value=m},setSelectionGrid:m=>{$a.value=m,v(),m||(Ie.selectionGrid=[])},setTimePicker:(m,p=!1)=>{en.value=m,an.value=p,v(),m||(Ie.timePicker[0]=[],Ie.timePicker[1]=[])},setTimePickerElements:(m,p=0)=>{Ie.timePicker[p]=m},arrowRight:r,arrowLeft:o,arrowUp:s,arrowDown:c,clearArrowNav:()=>{Ie.monthYear=[],Ie.calendar=[],Ie.time=[],Ie.actionRow=[],Ie.selectionGrid=[],Ie.timePicker[0]=[],Ie.timePicker[1]=[],$a.value=!1,en.value=!1,an.value=!1,tn.value=!1,v(),Ja.value=null},setMonthPicker:m=>{tn.value=m,v()},refSets:Ie}},Gn=e=>({menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down",...e??{}}),Os=e=>({toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:t=>`Increment ${t}`,decrementValue:t=>`Decrement ${t}`,openTpOverlay:t=>`Open ${t} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:t=>`Month picker${t?" overlay":""}`,yearPicker:t=>`Year picker${t?" overlay":""}`,timeOverlay:t=>`${t} overlay`,...e??{}}),Kn=e=>e?typeof e=="boolean"?e?2:0:+e>=2?+e:2:0,$s=e=>{const t=typeof e=="object"&&e,n={static:!0,solo:!1};if(!e)return{...n,count:Kn(!1)};const a=t?e:{},r=t?a.count??!0:e,o=Kn(r);return Object.assign(n,a,{count:o})},As=(e,t,n)=>e||(typeof n=="string"?n:t),Ys=e=>typeof e=="boolean"?e?Gn({}):!1:Gn(e),Cs=e=>{const t={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - ",escClose:!0};return typeof e=="object"?{...t,...e??{},enabled:!0}:{...t,enabled:e}},Rs=e=>({months:[],years:[],times:{hours:[],minutes:[],seconds:[]},...e??{}}),Ss=e=>({showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,...e??{}}),Ns=e=>{const t={input:!1};return typeof e=="object"?{...t,...e??{},enabled:!0}:{enabled:e,...t}},Is=e=>({allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,mobileBreakpoint:600,setDateOnMenuClose:!1,...e??{}}),Es=e=>{const t={dates:Array.isArray(e)?e.map(n=>q(n)):[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}};return typeof e=="function"?e:{...t,...e??{}}},Fs=e=>typeof e=="object"?{type:e?.type??"local",hideOnOffsetDates:e?.hideOnOffsetDates??!1}:{type:e,hideOnOffsetDates:!1},Bs=e=>{const t={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1};return typeof e=="object"?{enabled:!0,...t,...e}:{enabled:e,...t}},Ls=e=>e?typeof e=="string"?{timezone:e,exactMatch:!1,dateInTz:void 0,emitTimezone:void 0,convertModel:!0}:{timezone:e.timezone,exactMatch:e.exactMatch??!1,dateInTz:e.dateInTz??void 0,emitTimezone:e.emitTimezone??void 0,convertModel:e.convertModel??!0}:{timezone:void 0,exactMatch:!1,emitTimezone:void 0},nn=(e,t,n,a)=>new Map(e.map(r=>{const o=xn(r,t,a);return[Tn(o,n),o]})),Hs=(e,t)=>e.length?new Map(e.map(n=>{const a=xn(n.date,t);return[Tn(a,aa.DATE),n]})):null,Vs=e=>{var t;const n=Tr(e.isMonthPicker,e.isYearPicker);return{minDate:un(e.minDate,e.timezone,e.isSpecific),maxDate:un(e.maxDate,e.timezone,e.isSpecific),disabledDates:ja(e.disabledDates)?nn(e.disabledDates,e.timezone,n,e.isSpecific):e.disabledDates,allowedDates:ja(e.allowedDates)?nn(e.allowedDates,e.timezone,n,e.isSpecific):null,highlight:typeof e.highlight=="object"&&ja((t=e.highlight)==null?void 0:t.dates)?nn(e.highlight.dates,e.timezone,n):e.highlight,markers:Hs(e.markers,e.timezone)}},Ws=e=>typeof e=="boolean"?{enabled:e,dragSelect:!0,limit:null}:{enabled:!!e,limit:e.limit?+e.limit:null,dragSelect:e.dragSelect??!0},zs=e=>({...Object.fromEntries(Object.keys(e).map(t=>{const n=t,a=e[n],r=typeof e[n]=="string"?{[a]:!0}:Object.fromEntries(a.map(o=>[o,!0]));return[t,r]}))}),Be=e=>{const t=()=>{const Y=e.enableSeconds?":ss":"",N=e.enableMinutes?":mm":"";return e.is24?`HH${N}${Y}`:`hh${N}${Y} aa`},n=()=>{var Y;return e.format?e.format:e.monthPicker?"MM/yyyy":e.timePicker?t():e.weekPicker?`${((Y=M.value)==null?void 0:Y.type)==="iso"?"II":"ww"}-RR`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":e.enableTimePicker?`MM/dd/yyyy, ${t()}`:"MM/dd/yyyy"},a=Y=>Cr(Y,e.enableSeconds),r=()=>L.value.enabled?e.startTime&&Array.isArray(e.startTime)?[a(e.startTime[0]),a(e.startTime[1])]:null:e.startTime&&!Array.isArray(e.startTime)?a(e.startTime):null,o=j(()=>$s(e.multiCalendars)),s=j(()=>r()),c=j(()=>Os(e.ariaLabels)),d=j(()=>Rs(e.filters)),P=j(()=>Ys(e.transitions)),v=j(()=>Ss(e.actionRow)),m=j(()=>As(e.previewFormat,e.format,n())),p=j(()=>Cs(e.textInput)),x=j(()=>Ns(e.inline)),A=j(()=>Is(e.config)),R=j(()=>Es(e.highlight)),M=j(()=>Fs(e.weekNumbers)),b=j(()=>Ls(e.timezone)),S=j(()=>Ws(e.multiDates)),C=j(()=>Vs({minDate:e.minDate,maxDate:e.maxDate,disabledDates:e.disabledDates,allowedDates:e.allowedDates,highlight:R.value,markers:e.markers,timezone:b.value,isSpecific:e.monthPicker||e.yearPicker||e.quarterPicker,isMonthPicker:e.monthPicker,isYearPicker:e.yearPicker})),L=j(()=>Bs(e.range)),U=j(()=>zs(e.ui));return{defaultedTransitions:P,defaultedMultiCalendars:o,defaultedStartTime:s,defaultedAriaLabels:c,defaultedFilters:d,defaultedActionRow:v,defaultedPreviewFormat:m,defaultedTextInput:p,defaultedInline:x,defaultedConfig:A,defaultedHighlight:R,defaultedWeekNumbers:M,defaultedRange:L,propDates:C,defaultedTz:b,defaultedMultiDates:S,defaultedUI:U,getDefaultPattern:n,getDefaultStartTime:r,handleEventPropagation:Y=>{A.value.allowStopPropagation&&Y.stopPropagation(),A.value.allowPreventDefault&&Y.preventDefault()}}},qs=(e,t,n)=>{const a=K(),{defaultedTextInput:r,defaultedRange:o,defaultedTz:s,defaultedMultiDates:c,getDefaultPattern:d}=Be(t),P=K(""),v=ha(t,"format"),m=ha(t,"formatLocale");yt(a,()=>{typeof t.onInternalModelChange=="function"&&e("internal-model-change",a.value,W(!0))},{deep:!0}),yt(o,(l,_)=>{l.enabled!==_.enabled&&(a.value=null)}),yt(v,()=>{J()});const p=l=>s.value.timezone&&s.value.convertModel?dt(l,s.value.timezone):l,x=l=>{if(s.value.timezone&&s.value.convertModel){const _=is(s.value.timezone,l);return ll(l,_)}return l},A=(l,_,oe=!1)=>Sr(l,t.format,t.formatLocale,r.value.rangeSeparator,t.modelAuto,_??d(),oe),R=l=>l?t.modelType?ee(l):{hours:St(l),minutes:Ht(l),seconds:t.enableSeconds?ra(l):0}:null,M=l=>t.modelType?ee(l):{month:Pe(l),year:he(l)},b=l=>Array.isArray(l)?c.value.enabled?l.map(_=>S(_,Ot(q(),_))):Oa(()=>[Ot(q(),l[0]),l[1]?Ot(q(),l[1]):Jt(o.value.partialRange)],o.value.enabled):Ot(q(),+l),S=(l,_)=>(typeof l=="string"||typeof l=="number")&&t.modelType?E(l):_,C=l=>Array.isArray(l)?[S(l[0],Lt(null,+l[0].hours,+l[0].minutes,l[0].seconds)),S(l[1],Lt(null,+l[1].hours,+l[1].minutes,l[1].seconds))]:S(l,Lt(null,l.hours,l.minutes,l.seconds)),L=l=>{const _=Ne(q(),{date:1});return Array.isArray(l)?c.value.enabled?l.map(oe=>S(oe,Ct(_,+oe.month,+oe.year))):Oa(()=>[S(l[0],Ct(_,+l[0].month,+l[0].year)),S(l[1],l[1]?Ct(_,+l[1].month,+l[1].year):Jt(o.value.partialRange))],o.value.enabled):S(l,Ct(_,+l.month,+l.year))},U=l=>{if(Array.isArray(l))return l.map(_=>E(_));throw new Error(Pn.dateArr("multi-dates"))},Y=l=>{if(Array.isArray(l)&&o.value.enabled){const _=l[0],oe=l[1];return[q(Array.isArray(_)?_[0]:null),Array.isArray(oe)&&oe.length?q(oe[0]):null]}return q(l[0])},N=l=>t.modelAuto?Array.isArray(l)?[E(l[0]),E(l[1])]:t.autoApply?[E(l)]:[E(l),null]:Array.isArray(l)?Oa(()=>l[1]?[E(l[0]),l[1]?E(l[1]):Jt(o.value.partialRange)]:[E(l[0])],o.value.enabled):E(l),re=()=>{Array.isArray(a.value)&&o.value.enabled&&a.value.length===1&&a.value.push(Jt(o.value.partialRange))},V=()=>{const l=a.value;return[ee(l[0]),l[1]?ee(l[1]):Jt(o.value.partialRange)]},I=()=>Array.isArray(a.value)?a.value[1]?V():ee(Xe(a.value[0])):[],se=()=>(a.value||[]).map(l=>ee(l)),ce=(l=!1)=>(l||re(),t.modelAuto?I():c.value.enabled?se():Array.isArray(a.value)?Oa(()=>V(),o.value.enabled):ee(Xe(a.value))),ye=l=>!l||Array.isArray(l)&&!l.length?null:t.timePicker?C(Xe(l)):t.monthPicker?L(Xe(l)):t.yearPicker?b(Xe(l)):c.value.enabled?U(Xe(l)):t.weekPicker?Y(Xe(l)):N(Xe(l)),y=l=>{const _=ye(l);cn(Xe(_))?(a.value=Xe(_),J()):(a.value=null,P.value="")},D=()=>{const l=_=>$t(_,r.value.format);return`${l(a.value[0])} ${r.value.rangeSeparator} ${a.value[1]?l(a.value[1]):""}`},h=()=>n.value&&a.value?Array.isArray(a.value)?D():$t(a.value,r.value.format):A(a.value),H=()=>a.value?c.value.enabled?a.value.map(l=>A(l)).join("; "):r.value.enabled&&typeof r.value.format=="string"?h():A(a.value):"",J=()=>{!t.format||typeof t.format=="string"||r.value.enabled&&typeof r.value.format=="string"?P.value=H():P.value=t.format(a.value)},E=l=>{if(t.utc){const _=new Date(l);return t.utc==="preserve"?new Date(_.getTime()+_.getTimezoneOffset()*6e4):_}return t.modelType?ds.includes(t.modelType)?p(new Date(l)):t.modelType==="format"&&(typeof t.format=="string"||!t.format)?p(sn(l,d(),new Date,{locale:m.value})):p(sn(l,t.modelType,new Date,{locale:m.value})):p(new Date(l))},ee=l=>l?t.utc?_s(l,t.utc==="preserve",t.enableSeconds):t.modelType?t.modelType==="timestamp"?+x(l):t.modelType==="iso"?x(l).toISOString():t.modelType==="format"&&(typeof t.format=="string"||!t.format)?A(x(l)):A(x(l),t.modelType,!0):x(l):"",O=(l,_=!1,oe=!1)=>{if(oe)return l;if(e("update:model-value",l),s.value.emitTimezone&&_){const Ye=Array.isArray(l)?l.map($=>dt(Xe($),s.value.emitTimezone)):dt(Xe(l),s.value.emitTimezone);e("update:model-timezone-value",Ye)}},de=l=>Array.isArray(a.value)?c.value.enabled?a.value.map(_=>l(_)):[l(a.value[0]),a.value[1]?l(a.value[1]):Jt(o.value.partialRange)]:l(Xe(a.value)),f=()=>{if(Array.isArray(a.value)){const l=Yt(a.value[0],t.weekStart),_=a.value[1]?Yt(a.value[1],t.weekStart):[];return[l.map(oe=>q(oe)),_.map(oe=>q(oe))]}return Yt(a.value,t.weekStart).map(l=>q(l))},k=(l,_)=>O(Xe(de(l)),!1,_),F=l=>{const _=f();return l?_:e("update:model-value",f())},W=(l=!1)=>(l||J(),t.monthPicker?k(M,l):t.timePicker?k(R,l):t.yearPicker?k(he,l):t.weekPicker?F(l):O(ce(l),!0,l));return{inputValue:P,internalModelValue:a,checkBeforeEmit:()=>a.value?o.value.enabled?o.value.partialRange?a.value.length>=1:a.value.length===2:!!a.value:!1,parseExternalModelValue:y,formatInputValue:J,emitModelValue:W}},Us=(e,t)=>{const{defaultedFilters:n,propDates:a}=Be(e),{validateMonthYearInRange:r}=Wt(e),o=(v,m)=>{let p=v;return n.value.months.includes(Pe(p))?(p=m?bt(v,1):oa(v,1),o(p,m)):p},s=(v,m)=>{let p=v;return n.value.years.includes(he(p))?(p=m?mn(v,1):_r(v,1),s(p,m)):p},c=(v,m=!1)=>{const p=Ne(q(),{month:e.month,year:e.year});let x=v?bt(p,1):oa(p,1);e.disableYearSelect&&(x=Ot(x,e.year));let A=Pe(x),R=he(x);n.value.months.includes(A)&&(x=o(x,v),A=Pe(x),R=he(x)),n.value.years.includes(R)&&(x=s(x,v),R=he(x)),r(A,R,v,e.preventMinMaxNavigation)&&d(A,R,m)},d=(v,m,p)=>{t("update-month-year",{month:v,year:m,fromNav:p})},P=j(()=>v=>Rr(Ne(q(),{month:e.month,year:e.year}),a.value.maxDate,a.value.minDate,e.preventMinMaxNavigation,v));return{handleMonthYearChange:c,isDisabled:P,updateMonthYear:d}},Ia={multiCalendars:{type:[Boolean,Number,String,Object],default:void 0},modelValue:{type:[String,Date,Array,Object,Number],default:null},modelType:{type:String,default:null},position:{type:String,default:"center"},dark:{type:Boolean,default:!1},format:{type:[String,Function],default:()=>null},autoPosition:{type:[Boolean,String],default:!0},altPosition:{type:Function,default:null},transitions:{type:[Boolean,Object],default:!0},formatLocale:{type:Object,default:null},utc:{type:[Boolean,String],default:!1},ariaLabels:{type:Object,default:()=>({})},offset:{type:[Number,String],default:10},hideNavigation:{type:Array,default:()=>[]},timezone:{type:[String,Object],default:null},vertical:{type:Boolean,default:!1},disableMonthYearSelect:{type:Boolean,default:!1},disableYearSelect:{type:Boolean,default:!1},dayClass:{type:Function,default:null},yearRange:{type:Array,default:()=>[1900,2100]},enableTimePicker:{type:Boolean,default:!0},autoApply:{type:Boolean,default:!1},disabledDates:{type:[Array,Function],default:()=>[]},monthNameFormat:{type:String,default:"short"},startDate:{type:[Date,String],default:null},startTime:{type:[Object,Array],default:null},hideOffsetDates:{type:Boolean,default:!1},noToday:{type:Boolean,default:!1},disabledWeekDays:{type:Array,default:()=>[]},allowedDates:{type:Array,default:null},nowButtonLabel:{type:String,default:"Now"},markers:{type:Array,default:()=>[]},escClose:{type:Boolean,default:!0},spaceConfirm:{type:Boolean,default:!0},monthChangeOnArrows:{type:Boolean,default:!0},presetDates:{type:Array,default:()=>[]},flow:{type:Array,default:()=>[]},partialFlow:{type:Boolean,default:!1},preventMinMaxNavigation:{type:Boolean,default:!1},reverseYears:{type:Boolean,default:!1},weekPicker:{type:Boolean,default:!1},filters:{type:Object,default:()=>({})},arrowNavigation:{type:Boolean,default:!1},highlight:{type:[Function,Object],default:null},teleport:{type:[Boolean,String,Object],default:null},teleportCenter:{type:Boolean,default:!1},locale:{type:String,default:"en-Us"},weekNumName:{type:String,default:"W"},weekStart:{type:[Number,String],default:1},weekNumbers:{type:[String,Function,Object],default:null},monthChangeOnScroll:{type:[Boolean,String],default:!0},dayNames:{type:[Function,Array],default:null},monthPicker:{type:Boolean,default:!1},customProps:{type:Object,default:null},yearPicker:{type:Boolean,default:!1},modelAuto:{type:Boolean,default:!1},selectText:{type:String,default:"Select"},cancelText:{type:String,default:"Cancel"},previewFormat:{type:[String,Function],default:()=>""},multiDates:{type:[Object,Boolean],default:!1},ignoreTimeValidation:{type:Boolean,default:!1},minDate:{type:[Date,String],default:null},maxDate:{type:[Date,String],default:null},minTime:{type:Object,default:null},maxTime:{type:Object,default:null},name:{type:String,default:null},placeholder:{type:String,default:""},hideInputIcon:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},alwaysClearable:{type:Boolean,default:!1},state:{type:Boolean,default:null},required:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},timePicker:{type:Boolean,default:!1},enableSeconds:{type:Boolean,default:!1},is24:{type:Boolean,default:!0},noHoursOverlay:{type:Boolean,default:!1},noMinutesOverlay:{type:Boolean,default:!1},noSecondsOverlay:{type:Boolean,default:!1},hoursGridIncrement:{type:[String,Number],default:1},minutesGridIncrement:{type:[String,Number],default:5},secondsGridIncrement:{type:[String,Number],default:5},hoursIncrement:{type:[Number,String],default:1},minutesIncrement:{type:[Number,String],default:1},secondsIncrement:{type:[Number,String],default:1},range:{type:[Boolean,Object],default:!1},uid:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},inline:{type:[Boolean,Object],default:!1},textInput:{type:[Boolean,Object],default:!1},sixWeeks:{type:[Boolean,String],default:!1},actionRow:{type:Object,default:()=>({})},focusStartDate:{type:Boolean,default:!1},disabledTimes:{type:[Function,Array],default:void 0},timePickerInline:{type:Boolean,default:!1},calendar:{type:Function,default:null},config:{type:Object,default:void 0},quarterPicker:{type:Boolean,default:!1},yearFirst:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},onInternalModelChange:{type:[Function,Object],default:null},enableMinutes:{type:Boolean,default:!0},ui:{type:Object,default:()=>({})}},kt={...Ia,shadow:{type:Boolean,default:!1},flowStep:{type:Number,default:0},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},menuWrapRef:{type:Object,default:null},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1},isMobile:{type:Boolean,default:void 0}},Qs=["title"],js=["disabled"],Gs=tt({compatConfig:{MODE:3},__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{type:Number,default:0},...kt},emits:["close-picker","select-date","select-now","invalid-select"],setup(e,{emit:t}){const n=t,a=e,{defaultedActionRow:r,defaultedPreviewFormat:o,defaultedMultiCalendars:s,defaultedTextInput:c,defaultedInline:d,defaultedRange:P,defaultedMultiDates:v}=Be(a),{isTimeValid:m,isMonthValid:p}=Wt(a),{buildMatrix:x}=Vt(),A=K(null),R=K(null),M=K(!1),b=K({}),S=K(null),C=K(null);at(()=>{a.arrowNavigation&&x([je(A),je(R)],"actionRow"),L(),window.addEventListener("resize",L)}),ia(()=>{window.removeEventListener("resize",L)});const L=()=>{M.value=!1,setTimeout(()=>{var y,D;const h=(y=S.value)==null?void 0:y.getBoundingClientRect(),H=(D=C.value)==null?void 0:D.getBoundingClientRect();h&&H&&(b.value.maxWidth=`${H.width-h.width-20}px`),M.value=!0},0)},U=j(()=>P.value.enabled&&!P.value.partialRange&&a.internalModelValue?a.internalModelValue.length===2:!0),Y=j(()=>!m.value(a.internalModelValue)||!p.value(a.internalModelValue)||!U.value),N=()=>{const y=o.value;return a.timePicker||a.monthPicker,y(Xe(a.internalModelValue))},re=()=>{const y=a.internalModelValue;return s.value.count>0?`${V(y[0])} - ${V(y[1])}`:[V(y[0]),V(y[1])]},V=y=>Sr(y,o.value,a.formatLocale,c.value.rangeSeparator,a.modelAuto,o.value),I=j(()=>!a.internalModelValue||!a.menuMount?"":typeof o.value=="string"?Array.isArray(a.internalModelValue)?a.internalModelValue.length===2&&a.internalModelValue[1]?re():v.value.enabled?a.internalModelValue.map(y=>`${V(y)}`):a.modelAuto?`${V(a.internalModelValue[0])}`:`${V(a.internalModelValue[0])} -`:V(a.internalModelValue):N()),se=()=>v.value.enabled?"; ":" - ",ce=j(()=>Array.isArray(I.value)?I.value.join(se()):I.value),ye=()=>{m.value(a.internalModelValue)&&p.value(a.internalModelValue)&&U.value?n("select-date"):n("invalid-select")};return(y,D)=>(T(),z("div",{ref_key:"actionRowRef",ref:C,class:"dp__action_row"},[y.$slots["action-row"]?ie(y.$slots,"action-row",Ze(Je({key:0},{internalModelValue:y.internalModelValue,disabled:Y.value,selectDate:()=>y.$emit("select-date"),closePicker:()=>y.$emit("close-picker")}))):(T(),z(ke,{key:1},[i(r).showPreview?(T(),z("div",{key:0,class:"dp__selection_preview",title:ce.value,style:pt(b.value)},[y.$slots["action-preview"]&&M.value?ie(y.$slots,"action-preview",{key:0,value:y.internalModelValue}):G("",!0),!y.$slots["action-preview"]&&M.value?(T(),z(ke,{key:1},[Rt(lt(ce.value),1)],64)):G("",!0)],12,Qs)):G("",!0),ge("div",{ref_key:"actionBtnContainer",ref:S,class:"dp__action_buttons","data-dp-element":"action-row"},[y.$slots["action-buttons"]?ie(y.$slots,"action-buttons",{key:0,value:y.internalModelValue}):G("",!0),y.$slots["action-buttons"]?G("",!0):(T(),z(ke,{key:1},[!i(d).enabled&&i(r).showCancel?(T(),z("button",{key:0,ref_key:"cancelButtonRef",ref:A,type:"button",class:"dp__action_button dp__action_cancel",onClick:D[0]||(D[0]=h=>y.$emit("close-picker")),onKeydown:D[1]||(D[1]=h=>i(ut)(h,()=>y.$emit("close-picker")))},lt(y.cancelText),545)):G("",!0),i(r).showNow?(T(),z("button",{key:1,type:"button",class:"dp__action_button dp__action_cancel",onClick:D[2]||(D[2]=h=>y.$emit("select-now")),onKeydown:D[3]||(D[3]=h=>i(ut)(h,()=>y.$emit("select-now")))},lt(y.nowButtonLabel),33)):G("",!0),i(r).showSelect?(T(),z("button",{key:2,ref_key:"selectButtonRef",ref:R,type:"button",class:"dp__action_button dp__action_select",disabled:Y.value,"data-test-id":"select-button",onKeydown:D[4]||(D[4]=h=>i(ut)(h,()=>ye())),onClick:ye},lt(y.selectText),41,js)):G("",!0)],64))],512)],64))],512))}}),Ks=["role","aria-label","tabindex"],Xs={class:"dp__selection_grid_header"},Zs=["aria-selected","aria-disabled","data-test-id","onClick","onKeydown","onMouseover"],Js=["aria-label"],xa=tt({__name:"SelectionOverlay",props:{items:{},type:{},isLast:{type:Boolean},arrowNavigation:{type:Boolean},skipButtonRef:{type:Boolean},headerRefs:{},hideNavigation:{},escClose:{type:Boolean},useRelative:{type:Boolean},height:{},textInput:{type:[Boolean,Object]},config:{},noOverlayFocus:{type:Boolean},focusValue:{},menuWrapRef:{},ariaLabels:{},overlayLabel:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{expose:t,emit:n}){const{setSelectionGrid:a,buildMultiLevelMatrix:r,setMonthPicker:o}=Vt(),s=n,c=e,{defaultedAriaLabels:d,defaultedTextInput:P,defaultedConfig:v,handleEventPropagation:m}=Be(c),{hideNavigationButtons:p}=Ba(),x=K(!1),A=K(null),R=K(null),M=K([]),b=K(),S=K(null),C=K(0),L=K(null);Jr(()=>{A.value=null}),at(()=>{mt().then(()=>ce()),c.noOverlayFocus||Y(),U(!0)}),ia(()=>U(!1));const U=f=>{var k;c.arrowNavigation&&((k=c.headerRefs)!=null&&k.length?o(f):a(f))},Y=()=>{var f;const k=je(R);k&&(P.value.enabled||(A.value?(f=A.value)==null||f.focus({preventScroll:!0}):k.focus({preventScroll:!0})),x.value=k.clientHeight({dp__overlay:!0,"dp--overlay-absolute":!c.useRelative,"dp--overlay-relative":c.useRelative})),re=j(()=>c.useRelative?{height:`${c.height}px`,width:"var(--dp-menu-min-width)"}:void 0),V=j(()=>({dp__overlay_col:!0})),I=j(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:x.value,dp__button_bottom:c.isLast})),se=j(()=>{var f,k;return{dp__overlay_container:!0,dp__container_flex:((f=c.items)==null?void 0:f.length)<=6,dp__container_block:((k=c.items)==null?void 0:k.length)>6}});yt(()=>c.items,()=>ce(!1),{deep:!0});const ce=(f=!0)=>{mt().then(()=>{const k=je(A),F=je(R),W=je(S),l=je(L),_=W?W.getBoundingClientRect().height:0;F&&(F.getBoundingClientRect().height?C.value=F.getBoundingClientRect().height-_:C.value=v.value.modeHeight-_),k&&l&&f&&(l.scrollTop=k.offsetTop-l.offsetTop-(C.value/2-k.getBoundingClientRect().height)-_)})},ye=f=>{f.disabled||s("selected",f.value)},y=()=>{s("toggle"),s("reset-flow")},D=f=>{c.escClose&&(y(),m(f))},h=(f,k,F,W)=>{f&&((k.active||k.value===c.focusValue)&&(A.value=f),c.arrowNavigation&&(Array.isArray(M.value[F])?M.value[F][W]=f:M.value[F]=[f],H()))},H=()=>{var f,k;const F=(f=c.headerRefs)!=null&&f.length?[c.headerRefs].concat(M.value):M.value.concat([c.skipButtonRef?[]:[S.value]]);r(Xe(F),(k=c.headerRefs)!=null&&k.length?"monthPicker":"selectionGrid")},J=f=>{c.arrowNavigation||Bt(f,v.value,!0)},E=f=>{b.value=f,s("hover-value",f)},ee=()=>{if(y(),!c.isLast){const f=dn(c.menuWrapRef??null,"action-row");if(f){const k=Mr(f);k?.focus()}}},O=f=>{switch(f.key){case Ee.esc:return D(f);case Ee.arrowLeft:return J(f);case Ee.arrowRight:return J(f);case Ee.arrowUp:return J(f);case Ee.arrowDown:return J(f);default:return}},de=f=>{if(f.key===Ee.enter)return y();if(f.key===Ee.tab)return ee()};return t({focusGrid:Y}),(f,k)=>{var F;return T(),z("div",{ref_key:"gridWrapRef",ref:R,class:xe(N.value),style:pt(re.value),role:f.useRelative?void 0:"dialog","aria-label":f.overlayLabel,tabindex:f.useRelative?void 0:"0",onKeydown:O,onClick:k[0]||(k[0]=ga(()=>{},["prevent"]))},[ge("div",{ref_key:"containerRef",ref:L,class:xe(se.value),style:pt({"--dp-overlay-height":`${C.value}px`}),role:"grid"},[ge("div",Xs,[ie(f.$slots,"header")]),f.$slots.overlay?ie(f.$slots,"overlay",{key:0}):(T(!0),z(ke,{key:1},Fe(f.items,(W,l)=>(T(),z("div",{key:l,class:xe(["dp__overlay_row",{dp__flex_row:f.items.length>=3}]),role:"row"},[(T(!0),z(ke,null,Fe(W,(_,oe)=>(T(),z("div",{key:_.value,ref_for:!0,ref:Ye=>h(Ye,_,l,oe),role:"gridcell",class:xe(V.value),"aria-selected":_.active||void 0,"aria-disabled":_.disabled||void 0,tabindex:"0","data-test-id":_.text,onClick:ga(Ye=>ye(_),["prevent"]),onKeydown:Ye=>i(ut)(Ye,()=>ye(_),!0),onMouseover:Ye=>E(_.value)},[ge("div",{class:xe(_.className)},[f.$slots.item?ie(f.$slots,"item",{key:0,item:_}):G("",!0),f.$slots.item?G("",!0):(T(),z(ke,{key:1},[Rt(lt(_.text),1)],64))],2)],42,Zs))),128))],2))),128))],6),f.$slots["button-icon"]?Aa((T(),z("button",{key:0,ref_key:"toggleButton",ref:S,type:"button","aria-label":(F=i(d))==null?void 0:F.toggleOverlay,class:xe(I.value),tabindex:"0",onClick:y,onKeydown:de},[ie(f.$slots,"button-icon")],42,Js)),[[Ya,!i(p)(f.hideNavigation,f.type)]]):G("",!0)],46,Ks)}}}),eu=["data-dp-mobile"],Ea=tt({__name:"InstanceWrap",props:{multiCalendars:{},stretch:{type:Boolean},collapse:{type:Boolean},isMobile:{type:Boolean}},setup(e){const t=e,n=j(()=>t.multiCalendars>0?[...Array(t.multiCalendars).keys()]:[0]),a=j(()=>({dp__instance_calendar:t.multiCalendars>0}));return(r,o)=>(T(),z("div",{class:xe({dp__menu_inner:!r.stretch,"dp--menu--inner-stretched":r.stretch,dp__flex_display:r.multiCalendars>0,"dp--flex-display-collapsed":r.collapse}),"data-dp-mobile":r.isMobile},[(T(!0),z(ke,null,Fe(n.value,(s,c)=>(T(),z("div",{key:s,class:xe(a.value)},[ie(r.$slots,"default",{instance:s,index:c})],2))),128))],10,eu))}}),tu=["data-dp-element","aria-label","aria-disabled"],ya=tt({compatConfig:{MODE:3},__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const n=t,a=K(null);return at(()=>n("set-ref",a)),(r,o)=>(T(),z("button",{ref_key:"elRef",ref:a,type:"button","data-dp-element":r.elName,class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":r.ariaLabel,"aria-disabled":r.disabled||void 0,onClick:o[0]||(o[0]=s=>r.$emit("activate")),onKeydown:o[1]||(o[1]=s=>i(ut)(s,()=>r.$emit("activate"),!0))},[ge("span",{class:xe(["dp__inner_nav",{dp__inner_nav_disabled:r.disabled}])},[ie(r.$slots,"default")],2)],40,tu))}}),au=["aria-label","data-test-id"],Er=tt({__name:"YearModePicker",props:{...kt,showYearPicker:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},instance:{type:Number,default:0},year:{type:Number,default:0},isDisabled:{type:Function,default:()=>!1}},emits:["toggle-year-picker","year-select","handle-year"],setup(e,{emit:t}){const n=t,a=e,{showRightIcon:r,showLeftIcon:o}=Ba(),{defaultedConfig:s,defaultedMultiCalendars:c,defaultedAriaLabels:d,defaultedTransitions:P,defaultedUI:v}=Be(a),{showTransition:m,transitionName:p}=Ma(P),x=K(!1),A=(b=!1,S)=>{x.value=!x.value,n("toggle-year-picker",{flow:b,show:S})},R=b=>{x.value=!1,n("year-select",b)},M=(b=!1)=>{n("handle-year",b)};return(b,S)=>{var C,L,U,Y,N;return T(),z(ke,null,[ge("div",{class:xe(["dp--year-mode-picker",{"dp--hidden-el":x.value}])},[i(o)(i(c),e.instance)?(T(),Oe(ya,{key:0,ref:"mpPrevIconRef","aria-label":(C=i(d))==null?void 0:C.prevYear,disabled:e.isDisabled(!1),class:xe((L=i(v))==null?void 0:L.navBtnPrev),onActivate:S[0]||(S[0]=re=>M(!1))},{default:De(()=>[b.$slots["arrow-left"]?ie(b.$slots,"arrow-left",{key:0}):G("",!0),b.$slots["arrow-left"]?G("",!0):(T(),Oe(i(wn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):G("",!0),ge("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${(U=i(d))==null?void 0:U.openYearsOverlay}`,"data-test-id":`year-mode-btn-${e.instance}`,onClick:S[1]||(S[1]=()=>A(!1)),onKeydown:S[2]||(S[2]=el(()=>A(!1),["enter"]))},[b.$slots.year?ie(b.$slots,"year",{key:0,year:e.year}):G("",!0),b.$slots.year?G("",!0):(T(),z(ke,{key:1},[Rt(lt(e.year),1)],64))],40,au),i(r)(i(c),e.instance)?(T(),Oe(ya,{key:1,ref:"mpNextIconRef","aria-label":(Y=i(d))==null?void 0:Y.nextYear,disabled:e.isDisabled(!0),class:xe((N=i(v))==null?void 0:N.navBtnNext),onActivate:S[3]||(S[3]=re=>M(!0))},{default:De(()=>[b.$slots["arrow-right"]?ie(b.$slots,"arrow-right",{key:0}):G("",!0),b.$slots["arrow-right"]?G("",!0):(T(),Oe(i(bn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):G("",!0)],2),vt(da,{name:i(p)(e.showYearPicker),css:i(m)},{default:De(()=>{var re,V;return[e.showYearPicker?(T(),Oe(xa,{key:0,items:e.items,"text-input":b.textInput,"esc-close":b.escClose,config:b.config,"is-last":b.autoApply&&!i(s).keepActionRow,"hide-navigation":b.hideNavigation,"aria-labels":b.ariaLabels,"overlay-label":(V=(re=i(d))==null?void 0:re.yearPicker)==null?void 0:V.call(re,!0),type:"year",onToggle:A,onSelected:S[4]||(S[4]=I=>R(I))},ot({"button-icon":De(()=>[b.$slots["calendar-icon"]?ie(b.$slots,"calendar-icon",{key:0}):G("",!0),b.$slots["calendar-icon"]?G("",!0):(T(),Oe(i(ca),{key:1}))]),_:2},[b.$slots["year-overlay-value"]?{name:"item",fn:De(({item:I})=>[ie(b.$slots,"year-overlay-value",{text:I.text,value:I.value})]),key:"0"}:void 0]),1032,["items","text-input","esc-close","config","is-last","hide-navigation","aria-labels","overlay-label"])):G("",!0)]}),_:3},8,["name","css"])],64)}}}),$n=(e,t,n)=>{if(t.value&&Array.isArray(t.value))if(t.value.some(a=>Te(e,a))){const a=t.value.filter(r=>!Te(r,e));t.value=a.length?a:null}else(n&&+n>t.value.length||!n)&&t.value.push(e);else t.value=[e]},An=(e,t,n)=>{let a=e.value?e.value.slice():[];return a.length===2&&a[1]!==null&&(a=[]),a.length?(He(t,a[0])?a.unshift(t):a[1]=t,n("range-end",t)):(a=[t],n("range-start",t)),a},Fa=(e,t,n,a)=>{e&&(e[0]&&e[1]&&n&&t("auto-apply"),e[0]&&!e[1]&&a&&n&&t("auto-apply"))},Fr=e=>{Array.isArray(e.value)&&e.value.length<=2&&e.range?e.modelValue.value=e.value.map(t=>dt(q(t),e.timezone)):Array.isArray(e.value)||(e.modelValue.value=dt(q(e.value),e.timezone))},Br=(e,t,n,a)=>Array.isArray(t.value)&&(t.value.length===2||t.value.length===1&&a.value.partialRange)?a.value.fixedStart&&(qe(e,t.value[0])||Te(e,t.value[0]))?[t.value[0],e]:a.value.fixedEnd&&(He(e,t.value[1])||Te(e,t.value[1]))?[e,t.value[1]]:(n("invalid-fixed-range",e),t.value):[],Lr=({multiCalendars:e,range:t,highlight:n,propDates:a,calendars:r,modelValue:o,props:s,filters:c,year:d,month:P,emit:v})=>{const m=j(()=>Mn(s.yearRange,s.locale,s.reverseYears)),p=K([!1]),x=j(()=>(I,se)=>{const ce=Ne(wt(new Date),{month:P.value(I),year:d.value(I)}),ye=se?sr(ce):wa(ce);return Rr(ye,a.value.maxDate,a.value.minDate,s.preventMinMaxNavigation,se)}),A=()=>Array.isArray(o.value)&&e.value.solo&&o.value[1],R=()=>{for(let I=0;I{if(!I)return R();const se=Ne(q(),r.value[I]);return r.value[0].year=he(_r(se,e.value.count-1)),R()},b=(I,se)=>{const ce=dl(se,I);return t.value.showLastInRange&&ce>1?se:I},S=I=>s.focusStartDate||e.value.solo?I[0]:I[1]?b(I[0],I[1]):I[0],C=()=>{if(o.value){const I=Array.isArray(o.value)?S(o.value):o.value;r.value[0]={month:Pe(I),year:he(I)}}},L=()=>{C(),e.value.count&&R()};yt(o,(I,se)=>{s.isTextInputDate&&JSON.stringify(I??{})!==JSON.stringify(se??{})&&L()}),at(()=>{L()});const U=(I,se)=>{r.value[se].year=I,v("update-month-year",{instance:se,year:I,month:r.value[se].month}),e.value.count&&!e.value.solo&&M(se)},Y=j(()=>I=>sa(m.value,se=>{var ce;const ye=d.value(I)===se.value,y=ba(se.value,ua(a.value.minDate),ua(a.value.maxDate))||((ce=c.value.years)==null?void 0:ce.includes(d.value(I))),D=On(n.value,se.value);return{active:ye,disabled:y,highlighted:D}})),N=(I,se)=>{U(I,se),V(se)},re=(I,se=!1)=>{if(!x.value(I,se)){const ce=se?d.value(I)+1:d.value(I)-1;U(ce,I)}},V=(I,se=!1,ce)=>{se||v("reset-flow"),ce!==void 0?p.value[I]=ce:p.value[I]=!p.value[I],p.value[I]?v("overlay-toggle",{open:!0,overlay:rt.year}):(v("overlay-closed"),v("overlay-toggle",{open:!1,overlay:rt.year}))};return{isDisabled:x,groupedYears:Y,showYearPicker:p,selectYear:U,toggleYearPicker:V,handleYearSelect:N,handleYear:re}},nu=(e,t)=>{const{defaultedMultiCalendars:n,defaultedAriaLabels:a,defaultedTransitions:r,defaultedConfig:o,defaultedRange:s,defaultedHighlight:c,propDates:d,defaultedTz:P,defaultedFilters:v,defaultedMultiDates:m}=Be(e),p=()=>{e.isTextInputDate&&L(he(q(e.startDate)),0)},{modelValue:x,year:A,month:R,calendars:M}=Pa(e,t,p),b=j(()=>Dr(e.formatLocale,e.locale,e.monthNameFormat)),S=K(null),{checkMinMaxRange:C}=Wt(e),{selectYear:L,groupedYears:U,showYearPicker:Y,toggleYearPicker:N,handleYearSelect:re,handleYear:V,isDisabled:I}=Lr({modelValue:x,multiCalendars:n,range:s,highlight:c,calendars:M,year:A,propDates:d,month:R,filters:v,props:e,emit:t});at(()=>{e.startDate&&(x.value&&e.focusStartDate||!x.value)&&L(he(q(e.startDate)),0)});const se=k=>k?{month:Pe(k),year:he(k)}:{month:null,year:null},ce=()=>x.value?Array.isArray(x.value)?x.value.map(k=>se(k)):se(x.value):se(),ye=(k,F)=>{const W=M.value[k],l=ce();return Array.isArray(l)?l.some(_=>_.year===W?.year&&_.month===F):W?.year===l.year&&F===l.month},y=(k,F,W)=>{var l,_;const oe=ce();return Array.isArray(oe)?A.value(F)===((l=oe[W])==null?void 0:l.year)&&k===((_=oe[W])==null?void 0:_.month):!1},D=(k,F)=>{if(s.value.enabled){const W=ce();if(Array.isArray(x.value)&&Array.isArray(W)){const l=y(k,F,0)||y(k,F,1),_=Ct(wt(q()),k,A.value(F));return _a(x.value,S.value,_)&&!l}return!1}return!1},h=j(()=>k=>sa(b.value,F=>{var W;const l=ye(k,F.value),_=ba(F.value,$r(A.value(k),d.value.minDate),Ar(A.value(k),d.value.maxDate))||Ps(d.value.disabledDates,A.value(k),F.value)||((W=v.value.months)==null?void 0:W.includes(F.value))||!Ts(d.value.allowedDates,A.value(k),F.value),oe=D(F.value,k),Ye=Nr(c.value,F.value,A.value(k));return{active:l,disabled:_,isBetween:oe,highlighted:Ye}})),H=(k,F)=>Ct(wt(q()),k,A.value(F)),J=(k,F)=>{const W=x.value?x.value:wt(new Date);x.value=Ct(W,k,A.value(F)),t("auto-apply"),t("update-flow-step")},E=(k,F)=>{const W=H(k,F);s.value.fixedEnd||s.value.fixedStart?x.value=Br(W,x,t,s):x.value?C(W,x.value)&&(x.value=An(x,H(k,F),t)):x.value=[H(k,F)],mt().then(()=>{Fa(x.value,t,e.autoApply,e.modelAuto)})},ee=(k,F)=>{$n(H(k,F),x,m.value.limit),t("auto-apply",!0)},O=(k,F)=>(M.value[F].month=k,f(F,M.value[F].year,k),m.value.enabled?ee(k,F):s.value.enabled?E(k,F):J(k,F)),de=(k,F)=>{L(k,F),f(F,k,null)},f=(k,F,W)=>{let l=W;if(!l&&l!==0){const _=ce();l=Array.isArray(_)?_[k].month:_.month}t("update-month-year",{instance:k,year:F,month:l})};return{groupedMonths:h,groupedYears:U,year:A,isDisabled:I,defaultedMultiCalendars:n,defaultedAriaLabels:a,defaultedTransitions:r,defaultedConfig:o,showYearPicker:Y,modelValue:x,presetDate:(k,F)=>{Fr({value:k,modelValue:x,range:s.value.enabled,timezone:F?void 0:P.value.timezone}),t("auto-apply")},setHoverDate:(k,F)=>{S.value=H(k,F)},selectMonth:O,selectYear:de,toggleYearPicker:N,handleYearSelect:re,handleYear:V,getModelMonthYear:ce}},ru=tt({compatConfig:{MODE:3},__name:"MonthPicker",props:{...kt},emits:["update:internal-model-value","overlay-closed","reset-flow","range-start","range-end","auto-apply","update-month-year","update-flow-step","mount","invalid-fixed-range","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=Kt(),o=ct(r,"yearMode"),s=e;at(()=>{s.shadow||a("mount",null)});const{groupedMonths:c,groupedYears:d,year:P,isDisabled:v,defaultedMultiCalendars:m,defaultedConfig:p,showYearPicker:x,modelValue:A,presetDate:R,setHoverDate:M,selectMonth:b,selectYear:S,toggleYearPicker:C,handleYearSelect:L,handleYear:U,getModelMonthYear:Y}=nu(s,a);return t({getSidebarProps:()=>({modelValue:A,year:P,getModelMonthYear:Y,selectMonth:b,selectYear:S,handleYear:U}),presetDate:R,toggleYearPicker:N=>C(0,N)}),(N,re)=>(T(),Oe(Ea,{"multi-calendars":i(m).count,collapse:N.collapse,stretch:"","is-mobile":N.isMobile},{default:De(({instance:V})=>[N.$slots["top-extra"]?ie(N.$slots,"top-extra",{key:0,value:N.internalModelValue}):G("",!0),N.$slots["month-year"]?ie(N.$slots,"month-year",Ze(Je({key:1},{year:i(P),months:i(c)(V),years:i(d)(V),selectMonth:i(b),selectYear:i(S),instance:V}))):(T(),Oe(xa,{key:2,items:i(c)(V),"arrow-navigation":N.arrowNavigation,"is-last":N.autoApply&&!i(p).keepActionRow,"esc-close":N.escClose,height:i(p).modeHeight,config:N.config,"no-overlay-focus":!!(N.noOverlayFocus||N.textInput),"use-relative":"",type:"month",onSelected:I=>i(b)(I,V),onHoverValue:I=>i(M)(I,V)},ot({header:De(()=>[vt(Er,Je(N.$props,{items:i(d)(V),instance:V,"show-year-picker":i(x)[V],year:i(P)(V),"is-disabled":I=>i(v)(V,I),onHandleYear:I=>i(U)(V,I),onYearSelect:I=>i(L)(I,V),onToggleYearPicker:I=>i(C)(V,I?.flow,I?.show)}),ot({_:2},[Fe(i(o),(I,se)=>({name:I,fn:De(ce=>[ie(N.$slots,I,Ze(it(ce)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[N.$slots["month-overlay-value"]?{name:"item",fn:De(({item:I})=>[ie(N.$slots,"month-overlay-value",{text:I.text,value:I.value})]),key:"0"}:void 0]),1032,["items","arrow-navigation","is-last","esc-close","height","config","no-overlay-focus","onSelected","onHoverValue"]))]),_:3},8,["multi-calendars","collapse","is-mobile"]))}}),lu=(e,t)=>{const n=()=>{e.isTextInputDate&&(v.value=he(q(e.startDate)))},{modelValue:a}=Pa(e,t,n),r=K(null),{defaultedHighlight:o,defaultedMultiDates:s,defaultedFilters:c,defaultedRange:d,propDates:P}=Be(e),v=K();at(()=>{e.startDate&&(a.value&&e.focusStartDate||!a.value)&&(v.value=he(q(e.startDate)))});const m=b=>Array.isArray(a.value)?a.value.some(S=>he(S)===b):a.value?he(a.value)===b:!1,p=b=>d.value.enabled&&Array.isArray(a.value)?_a(a.value,r.value,M(b)):!1,x=b=>P.value.allowedDates instanceof Map?P.value.allowedDates.size?P.value.allowedDates.has(`${b}`):!1:!0,A=b=>P.value.disabledDates instanceof Map?P.value.disabledDates.size?P.value.disabledDates.has(`${b}`):!1:!0,R=j(()=>sa(Mn(e.yearRange,e.locale,e.reverseYears),b=>{const S=m(b.value),C=ba(b.value,ua(P.value.minDate),ua(P.value.maxDate))||c.value.years.includes(b.value)||!x(b.value)||A(b.value),L=p(b.value)&&!S,U=On(o.value,b.value);return{active:S,disabled:C,isBetween:L,highlighted:U}})),M=b=>Ot(wt(wa(new Date)),b);return{groupedYears:R,modelValue:a,focusYear:v,setHoverValue:b=>{r.value=Ot(wt(new Date),b)},selectYear:b=>{var S;if(t("update-month-year",{instance:0,year:b}),s.value.enabled)return a.value?Array.isArray(a.value)&&(((S=a.value)==null?void 0:S.map(C=>he(C))).includes(b)?a.value=a.value.filter(C=>he(C)!==b):a.value.push(Ot(et(q()),b))):a.value=[Ot(et(wa(q())),b)],t("auto-apply",!0);d.value.enabled?(a.value=An(a,M(b),t),mt().then(()=>{Fa(a.value,t,e.autoApply,e.modelAuto)})):(a.value=M(b),t("auto-apply"))}}},ou=tt({compatConfig:{MODE:3},__name:"YearPicker",props:{...kt},emits:["update:internal-model-value","reset-flow","range-start","range-end","auto-apply","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,{groupedYears:o,modelValue:s,focusYear:c,selectYear:d,setHoverValue:P}=lu(r,a),{defaultedConfig:v}=Be(r);return t({getSidebarProps:()=>({modelValue:s,selectYear:d})}),(m,p)=>(T(),z("div",null,[m.$slots["top-extra"]?ie(m.$slots,"top-extra",{key:0,value:m.internalModelValue}):G("",!0),m.$slots["month-year"]?ie(m.$slots,"month-year",Ze(Je({key:1},{years:i(o),selectYear:i(d)}))):(T(),Oe(xa,{key:2,items:i(o),"is-last":m.autoApply&&!i(v).keepActionRow,height:i(v).modeHeight,config:m.config,"no-overlay-focus":!!(m.noOverlayFocus||m.textInput),"focus-value":i(c),type:"year","use-relative":"",onSelected:i(d),onHoverValue:i(P)},ot({_:2},[m.$slots["year-overlay-value"]?{name:"item",fn:De(({item:x})=>[ie(m.$slots,"year-overlay-value",{text:x.text,value:x.value})]),key:"0"}:void 0]),1032,["items","is-last","height","config","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),su={key:0,class:"dp__time_input"},uu=["data-compact","data-collapsed"],iu=["data-test-id","aria-label","onKeydown","onClick","onMousedown"],du=["aria-label","disabled","data-test-id","onKeydown","onClick"],cu=["data-test-id","aria-label","onKeydown","onClick","onMousedown"],vu={key:0},mu=["aria-label","data-compact"],fu=tt({compatConfig:{MODE:3},__name:"TimeInput",props:{hours:{type:Number,default:0},minutes:{type:Number,default:0},seconds:{type:Number,default:0},closeTimePickerBtn:{type:Object,default:null},order:{type:Number,default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...kt},emits:["set-hours","set-minutes","update:hours","update:minutes","update:seconds","reset-flow","mounted","overlay-closed","overlay-opened","am-pm-change"],setup(e,{expose:t,emit:n}){const a=n,r=e,{setTimePickerElements:o,setTimePickerBackRef:s}=Vt(),{defaultedAriaLabels:c,defaultedTransitions:d,defaultedFilters:P,defaultedConfig:v,defaultedRange:m,defaultedMultiCalendars:p}=Be(r),{transitionName:x,showTransition:A}=Ma(d),R=ka({hours:!1,minutes:!1,seconds:!1}),M=K("AM"),b=K(null),S=K([]),C=K(),L=K(!1);at(()=>{a("mounted")});const U=u=>Ne(new Date,{hours:u.hours,minutes:u.minutes,seconds:r.enableSeconds?u.seconds:0,milliseconds:0}),Y=j(()=>u=>E(u,r[u])||re(u,r[u])),N=j(()=>({hours:r.hours,minutes:r.minutes,seconds:r.seconds})),re=(u,Z)=>m.value.enabled&&!m.value.disableTimeRangeValidation?!r.validateTime(u,Z):!1,V=(u,Z)=>{if(m.value.enabled&&!m.value.disableTimeRangeValidation){const ae=Z?+r[`${u}Increment`]:-+r[`${u}Increment`],ne=r[u]+ae;return!r.validateTime(u,ne)}return!1},I=j(()=>u=>!k(+r[u]+ +r[`${u}Increment`],u)||V(u,!0)),se=j(()=>u=>!k(+r[u]-+r[`${u}Increment`],u)||V(u,!1)),ce=(u,Z)=>tr(Ne(q(),u),Z),ye=(u,Z)=>os(Ne(q(),u),Z),y=j(()=>({dp__time_col:!0,dp__time_col_block:!r.timePickerInline,dp__time_col_reg_block:!r.enableSeconds&&r.is24&&!r.timePickerInline,dp__time_col_reg_inline:!r.enableSeconds&&r.is24&&r.timePickerInline,dp__time_col_reg_with_button:!r.enableSeconds&&!r.is24,dp__time_col_sec:r.enableSeconds&&r.is24,dp__time_col_sec_with_button:r.enableSeconds&&!r.is24})),D=j(()=>r.timePickerInline&&m.value.enabled&&!p.value.count),h=j(()=>{const u=[{type:"hours"}];return r.enableMinutes&&u.push({type:"",separator:!0},{type:"minutes"}),r.enableSeconds&&u.push({type:"",separator:!0},{type:"seconds"}),u}),H=j(()=>h.value.filter(u=>!u.separator)),J=j(()=>u=>{if(u==="hours"){const Z=Ye(+r.hours);return{text:Z<10?`0${Z}`:`${Z}`,value:Z}}return{text:r[u]<10?`0${r[u]}`:`${r[u]}`,value:r[u]}}),E=(u,Z)=>{var ae;if(!r.disabledTimesConfig)return!1;const ne=r.disabledTimesConfig(r.order,u==="hours"?Z:void 0);return ne[u]?!!((ae=ne[u])!=null&&ae.includes(Z)):!0},ee=(u,Z)=>Z!=="hours"||M.value==="AM"?u:u+12,O=u=>{const Z=r.is24?24:12,ae=u==="hours"?Z:60,ne=+r[`${u}GridIncrement`],Me=u==="hours"&&!r.is24?ne:0,be=[];for(let Ce=Me;Ce({active:!1,disabled:P.value.times[u].includes(Ce.value)||!k(Ce.value,u)||E(u,Ce.value)||re(u,Ce.value)}))},de=u=>u>=0?u:59,f=u=>u>=0?u:23,k=(u,Z)=>{const ae=r.minTime?U(Ga(r.minTime)):null,ne=r.maxTime?U(Ga(r.maxTime)):null,Me=U(Ga(N.value,Z,Z==="minutes"||Z==="seconds"?de(u):f(u)));return ae&&ne?(la(Me,ne)||ta(Me,ne))&&(Gt(Me,ae)||ta(Me,ae)):ae?Gt(Me,ae)||ta(Me,ae):ne?la(Me,ne)||ta(Me,ne):!0},F=u=>r[`no${u[0].toUpperCase()+u.slice(1)}Overlay`],W=u=>{F(u)||(R[u]=!R[u],R[u]?(L.value=!0,a("overlay-opened",u)):(L.value=!1,a("overlay-closed",u)))},l=u=>u==="hours"?St:u==="minutes"?Ht:ra,_=()=>{C.value&&clearTimeout(C.value)},oe=(u,Z=!0,ae)=>{const ne=Z?ce:ye,Me=Z?+r[`${u}Increment`]:-+r[`${u}Increment`];k(+r[u]+Me,u)&&a(`update:${u}`,l(u)(ne({[u]:+r[u]},{[u]:+r[`${u}Increment`]}))),!(ae!=null&&ae.keyboard)&&v.value.timeArrowHoldThreshold&&(C.value=setTimeout(()=>{oe(u,Z)},v.value.timeArrowHoldThreshold))},Ye=u=>r.is24?u:(u>=12?M.value="PM":M.value="AM",ms(u)),$=()=>{M.value==="PM"?(M.value="AM",a("update:hours",r.hours-12)):(M.value="PM",a("update:hours",r.hours+12)),a("am-pm-change",M.value)},we=u=>{R[u]=!0},Q=(u,Z,ae)=>{if(u&&r.arrowNavigation){Array.isArray(S.value[Z])?S.value[Z][ae]=u:S.value[Z]=[u];const ne=S.value.reduce((Me,be)=>be.map((Ce,We)=>[...Me[We]||[],be[We]]),[]);s(r.closeTimePickerBtn),b.value&&(ne[1]=ne[1].concat(b.value)),o(ne,r.order)}},te=(u,Z)=>(W(u),a(`update:${u}`,Z));return t({openChildCmp:we}),(u,Z)=>{var ae;return u.disabled?G("",!0):(T(),z("div",su,[(T(!0),z(ke,null,Fe(h.value,(ne,Me)=>{var be,Ce,We;return T(),z("div",{key:Me,class:xe(y.value),"data-compact":D.value&&!u.enableSeconds,"data-collapsed":D.value&&u.enableSeconds},[ne.separator?(T(),z(ke,{key:0},[L.value?G("",!0):(T(),z(ke,{key:0},[Rt(":")],64))],64)):(T(),z(ke,{key:1},[ge("button",{ref_for:!0,ref:g=>Q(g,Me,0),type:"button",class:xe({dp__btn:!0,dp__inc_dec_button:!u.timePickerInline,dp__inc_dec_button_inline:u.timePickerInline,dp__tp_inline_btn_top:u.timePickerInline,dp__inc_dec_button_disabled:I.value(ne.type),"dp--hidden-el":L.value}),"data-test-id":`${ne.type}-time-inc-btn-${r.order}`,"aria-label":(be=i(c))==null?void 0:be.incrementValue(ne.type),tabindex:"0",onKeydown:g=>i(ut)(g,()=>oe(ne.type,!0,{keyboard:!0}),!0),onClick:g=>i(v).timeArrowHoldThreshold?void 0:oe(ne.type,!0),onMousedown:g=>i(v).timeArrowHoldThreshold?oe(ne.type,!0):void 0,onMouseup:_},[r.timePickerInline?(T(),z(ke,{key:1},[u.$slots["tp-inline-arrow-up"]?ie(u.$slots,"tp-inline-arrow-up",{key:0}):(T(),z(ke,{key:1},[Z[2]||(Z[2]=ge("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),Z[3]||(Z[3]=ge("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))],64))],64)):(T(),z(ke,{key:0},[u.$slots["arrow-up"]?ie(u.$slots,"arrow-up",{key:0}):G("",!0),u.$slots["arrow-up"]?G("",!0):(T(),Oe(i(kn),{key:1}))],64))],42,iu),ge("button",{ref_for:!0,ref:g=>Q(g,Me,1),type:"button","aria-label":`${J.value(ne.type).text}-${(Ce=i(c))==null?void 0:Ce.openTpOverlay(ne.type)}`,class:xe({dp__time_display:!0,dp__time_display_block:!u.timePickerInline,dp__time_display_inline:u.timePickerInline,"dp--time-invalid":Y.value(ne.type),"dp--time-overlay-btn":!Y.value(ne.type),"dp--hidden-el":L.value}),disabled:F(ne.type),tabindex:"0","data-test-id":`${ne.type}-toggle-overlay-btn-${r.order}`,onKeydown:g=>i(ut)(g,()=>W(ne.type),!0),onClick:g=>W(ne.type)},[u.$slots[ne.type]?ie(u.$slots,ne.type,{key:0,text:J.value(ne.type).text,value:J.value(ne.type).value}):G("",!0),u.$slots[ne.type]?G("",!0):(T(),z(ke,{key:1},[Rt(lt(J.value(ne.type).text),1)],64))],42,du),ge("button",{ref_for:!0,ref:g=>Q(g,Me,2),type:"button",class:xe({dp__btn:!0,dp__inc_dec_button:!u.timePickerInline,dp__inc_dec_button_inline:u.timePickerInline,dp__tp_inline_btn_bottom:u.timePickerInline,dp__inc_dec_button_disabled:se.value(ne.type),"dp--hidden-el":L.value}),"data-test-id":`${ne.type}-time-dec-btn-${r.order}`,"aria-label":(We=i(c))==null?void 0:We.decrementValue(ne.type),tabindex:"0",onKeydown:g=>i(ut)(g,()=>oe(ne.type,!1,{keyboard:!0}),!0),onClick:g=>i(v).timeArrowHoldThreshold?void 0:oe(ne.type,!1),onMousedown:g=>i(v).timeArrowHoldThreshold?oe(ne.type,!1):void 0,onMouseup:_},[r.timePickerInline?(T(),z(ke,{key:1},[u.$slots["tp-inline-arrow-down"]?ie(u.$slots,"tp-inline-arrow-down",{key:0}):(T(),z(ke,{key:1},[Z[4]||(Z[4]=ge("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),Z[5]||(Z[5]=ge("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))],64))],64)):(T(),z(ke,{key:0},[u.$slots["arrow-down"]?ie(u.$slots,"arrow-down",{key:0}):G("",!0),u.$slots["arrow-down"]?G("",!0):(T(),Oe(i(Dn),{key:1}))],64))],42,cu)],64))],10,uu)}),128)),u.is24?G("",!0):(T(),z("div",vu,[u.$slots["am-pm-button"]?ie(u.$slots,"am-pm-button",{key:0,toggle:$,value:M.value}):G("",!0),u.$slots["am-pm-button"]?G("",!0):(T(),z("button",{key:1,ref_key:"amPmButton",ref:b,type:"button",class:"dp__pm_am_button",role:"button","aria-label":(ae=i(c))==null?void 0:ae.amPmButton,tabindex:"0","data-compact":D.value,onClick:$,onKeydown:Z[0]||(Z[0]=ne=>i(ut)(ne,()=>$(),!0))},lt(M.value),41,mu))])),(T(!0),z(ke,null,Fe(H.value,(ne,Me)=>(T(),Oe(da,{key:Me,name:i(x)(R[ne.type]),css:i(A)},{default:De(()=>{var be,Ce;return[R[ne.type]?(T(),Oe(xa,{key:0,items:O(ne.type),"is-last":u.autoApply&&!i(v).keepActionRow,"esc-close":u.escClose,type:ne.type,"text-input":u.textInput,config:u.config,"arrow-navigation":u.arrowNavigation,"aria-labels":u.ariaLabels,"overlay-label":(Ce=(be=i(c)).timeOverlay)==null?void 0:Ce.call(be,ne.type),onSelected:We=>te(ne.type,We),onToggle:We=>W(ne.type),onResetFlow:Z[1]||(Z[1]=We=>u.$emit("reset-flow"))},ot({"button-icon":De(()=>[u.$slots["clock-icon"]?ie(u.$slots,"clock-icon",{key:0}):G("",!0),u.$slots["clock-icon"]?G("",!0):(T(),Oe(Na(u.timePickerInline?i(ca):i(_n)),{key:1}))]),_:2},[u.$slots[`${ne.type}-overlay-value`]?{name:"item",fn:De(({item:We})=>[ie(u.$slots,`${ne.type}-overlay-value`,{text:We.text,value:We.value})]),key:"0"}:void 0,u.$slots[`${ne.type}-overlay-header`]?{name:"header",fn:De(()=>[ie(u.$slots,`${ne.type}-overlay-header`,{toggle:()=>W(ne.type)})]),key:"1"}:void 0]),1032,["items","is-last","esc-close","type","text-input","config","arrow-navigation","aria-labels","overlay-label","onSelected","onToggle"])):G("",!0)]}),_:2},1032,["name","css"]))),128))]))}}}),pu=["data-dp-mobile"],yu=["aria-label","tabindex"],hu=["role","aria-label","tabindex"],gu=["aria-label"],Hr=tt({compatConfig:{MODE:3},__name:"TimePicker",props:{hours:{type:[Number,Array],default:0},minutes:{type:[Number,Array],default:0},seconds:{type:[Number,Array],default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...kt},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow","overlay-opened","overlay-closed","am-pm-change"],setup(e,{expose:t,emit:n}){const a=n,r=e,{buildMatrix:o,setTimePicker:s}=Vt(),c=Kt(),{defaultedTransitions:d,defaultedAriaLabels:P,defaultedTextInput:v,defaultedConfig:m,defaultedRange:p}=Be(r),{transitionName:x,showTransition:A}=Ma(d),{hideNavigationButtons:R}=Ba(),M=K(null),b=K(null),S=K([]),C=K(null),L=K(!1);at(()=>{a("mount"),!r.timePicker&&r.arrowNavigation?o([je(M.value)],"time"):s(!0,r.timePicker)});const U=j(()=>p.value.enabled&&r.modelAuto?xr(r.internalModelValue):!0),Y=K(!1),N=E=>({hours:Array.isArray(r.hours)?r.hours[E]:r.hours,minutes:Array.isArray(r.minutes)?r.minutes[E]:r.minutes,seconds:Array.isArray(r.seconds)?r.seconds[E]:r.seconds}),re=j(()=>{const E=[];if(p.value.enabled)for(let ee=0;ee<2;ee++)E.push(N(ee));else E.push(N(0));return E}),V=(E,ee=!1,O="")=>{ee||a("reset-flow"),Y.value=E,a(E?"overlay-opened":"overlay-closed",rt.time),r.arrowNavigation&&s(E),mt(()=>{O!==""&&S.value[0]&&S.value[0].openChildCmp(O)})},I=j(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:r.autoApply&&!m.value.keepActionRow})),se=ct(c,"timePicker"),ce=(E,ee,O)=>p.value.enabled?ee===0?[E,re.value[1][O]]:[re.value[0][O],E]:E,ye=E=>{a("update:hours",E)},y=E=>{a("update:minutes",E)},D=E=>{a("update:seconds",E)},h=()=>{if(C.value&&!v.value.enabled&&!r.noOverlayFocus){const E=Mr(C.value);E&&E.focus({preventScroll:!0})}},H=E=>{L.value=!1,a("overlay-closed",E)},J=E=>{L.value=!0,a("overlay-opened",E)};return t({toggleTimePicker:V}),(E,ee)=>{var O;return T(),z("div",{class:"dp--tp-wrap","data-dp-mobile":E.isMobile},[!E.timePicker&&!E.timePickerInline?Aa((T(),z("button",{key:0,ref_key:"openTimePickerBtn",ref:M,type:"button",class:xe({...I.value,"dp--hidden-el":Y.value}),"aria-label":(O=i(P))==null?void 0:O.openTimePicker,tabindex:E.noOverlayFocus?void 0:0,"data-test-id":"open-time-picker-btn",onKeydown:ee[0]||(ee[0]=de=>i(ut)(de,()=>V(!0))),onClick:ee[1]||(ee[1]=de=>V(!0))},[E.$slots["clock-icon"]?ie(E.$slots,"clock-icon",{key:0}):G("",!0),E.$slots["clock-icon"]?G("",!0):(T(),Oe(i(_n),{key:1}))],42,yu)),[[Ya,!i(R)(E.hideNavigation,"time")]]):G("",!0),vt(da,{name:i(x)(Y.value),css:i(A)&&!E.timePickerInline},{default:De(()=>{var de,f;return[Y.value||E.timePicker||E.timePickerInline?(T(),z("div",{key:0,ref_key:"overlayRef",ref:C,role:E.timePickerInline?void 0:"dialog",class:xe({dp__overlay:!E.timePickerInline,"dp--overlay-absolute":!r.timePicker&&!E.timePickerInline,"dp--overlay-relative":r.timePicker}),style:pt(E.timePicker?{height:`${i(m).modeHeight}px`}:void 0),"aria-label":(de=i(P))==null?void 0:de.timePicker,tabindex:E.timePickerInline?void 0:0},[ge("div",{class:xe(E.timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[E.$slots["time-picker-overlay"]?ie(E.$slots,"time-picker-overlay",{key:0,hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:ye,setMinutes:y,setSeconds:D}):G("",!0),E.$slots["time-picker-overlay"]?G("",!0):(T(),z("div",{key:1,class:xe(E.timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(T(!0),z(ke,null,Fe(re.value,(k,F)=>Aa((T(),Oe(fu,Je({key:F,ref_for:!0},{...E.$props,order:F,hours:k.hours,minutes:k.minutes,seconds:k.seconds,closeTimePickerBtn:b.value,disabledTimesConfig:e.disabledTimesConfig,disabled:F===0?i(p).fixedStart:i(p).fixedEnd},{ref_for:!0,ref_key:"timeInputRefs",ref:S,"validate-time":(W,l)=>e.validateTime(W,ce(l,F,W)),"onUpdate:hours":W=>ye(ce(W,F,"hours")),"onUpdate:minutes":W=>y(ce(W,F,"minutes")),"onUpdate:seconds":W=>D(ce(W,F,"seconds")),onMounted:h,onOverlayClosed:H,onOverlayOpened:J,onAmPmChange:ee[2]||(ee[2]=W=>E.$emit("am-pm-change",W))}),ot({_:2},[Fe(i(se),(W,l)=>({name:W,fn:De(_=>[ie(E.$slots,W,Je({ref_for:!0},_))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[Ya,F===0?!0:U.value]])),128))],2)),!E.timePicker&&!E.timePickerInline?Aa((T(),z("button",{key:2,ref_key:"closeTimePickerBtn",ref:b,type:"button",class:xe({...I.value,"dp--hidden-el":L.value}),"aria-label":(f=i(P))==null?void 0:f.closeTimePicker,tabindex:"0",onKeydown:ee[3]||(ee[3]=k=>i(ut)(k,()=>V(!1))),onClick:ee[4]||(ee[4]=k=>V(!1))},[E.$slots["calendar-icon"]?ie(E.$slots,"calendar-icon",{key:0}):G("",!0),E.$slots["calendar-icon"]?G("",!0):(T(),Oe(i(ca),{key:1}))],42,gu)),[[Ya,!i(R)(E.hideNavigation,"time")]]):G("",!0)],2)],14,hu)):G("",!0)]}),_:3},8,["name","css"])],8,pu)}}}),Vr=(e,t,n,a)=>{const{defaultedRange:r}=Be(e),o=(C,L)=>Array.isArray(t[C])?t[C][L]:t[C],s=C=>e.enableSeconds?Array.isArray(t.seconds)?t.seconds[C]:t.seconds:0,c=(C,L)=>C?L!==void 0?Lt(C,o("hours",L),o("minutes",L),s(L)):Lt(C,t.hours,t.minutes,s()):br(q(),s(L)),d=(C,L)=>{t[C]=L},P=j(()=>e.modelAuto&&r.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:r.value.enabled),v=(C,L)=>{const U=Object.fromEntries(Object.keys(t).map(Y=>Y===C?[Y,L]:[Y,t[Y]].slice()));if(P.value&&!r.value.disableTimeRangeValidation){const Y=re=>n.value?Lt(n.value[re],U.hours[re],U.minutes[re],U.seconds[re]):null,N=re=>wr(n.value[re],0);return!(Te(Y(0),Y(1))&&(Gt(Y(0),N(1))||la(Y(1),N(0))))}return!0},m=(C,L)=>{v(C,L)&&(d(C,L),a&&a())},p=C=>{m("hours",C)},x=C=>{m("minutes",C)},A=C=>{m("seconds",C)},R=(C,L,U,Y)=>{L&&p(C),!L&&!U&&x(C),U&&A(C),n.value&&Y(n.value)},M=C=>{if(C){const L=Array.isArray(C),U=L?[+C[0].hours,+C[1].hours]:+C.hours,Y=L?[+C[0].minutes,+C[1].minutes]:+C.minutes,N=L?[+C[0].seconds,+C[1].seconds]:+C.seconds;d("hours",U),d("minutes",Y),e.enableSeconds&&d("seconds",N)}},b=(C,L)=>{const U={hours:Array.isArray(t.hours)?t.hours[C]:t.hours,disabledArr:[]};return(L||L===0)&&(U.hours=L),Array.isArray(e.disabledTimes)&&(U.disabledArr=r.value.enabled&&Array.isArray(e.disabledTimes[C])?e.disabledTimes[C]:e.disabledTimes),U},S=j(()=>(C,L)=>{var U;if(Array.isArray(e.disabledTimes)){const{disabledArr:Y,hours:N}=b(C,L),re=Y.filter(V=>+V.hours===N);return((U=re[0])==null?void 0:U.minutes)==="*"?{hours:[N],minutes:void 0,seconds:void 0}:{hours:[],minutes:re?.map(V=>+V.minutes)??[],seconds:re?.map(V=>V.seconds?+V.seconds:void 0)??[]}}return{hours:[],minutes:[],seconds:[]}});return{setTime:d,updateHours:p,updateMinutes:x,updateSeconds:A,getSetDateTime:c,updateTimeValues:R,getSecondsValue:s,assignStartTime:M,validateTime:v,disabledTimesConfig:S}},wu=(e,t)=>{const n=()=>{e.isTextInputDate&&L()},{modelValue:a,time:r}=Pa(e,t,n),{defaultedStartTime:o,defaultedRange:s,defaultedTz:c}=Be(e),{updateTimeValues:d,getSetDateTime:P,setTime:v,assignStartTime:m,disabledTimesConfig:p,validateTime:x}=Vr(e,r,a,A);function A(){t("update-flow-step")}const R=Y=>{const{hours:N,minutes:re,seconds:V}=Y;return{hours:+N,minutes:+re,seconds:V?+V:0}},M=()=>{if(e.startTime){if(Array.isArray(e.startTime)){const N=R(e.startTime[0]),re=R(e.startTime[1]);return[Ne(q(),N),Ne(q(),re)]}const Y=R(e.startTime);return Ne(q(),Y)}return s.value.enabled?[null,null]:null},b=()=>{if(s.value.enabled){const[Y,N]=M();a.value=[dt(P(Y,0),c.value.timezone),dt(P(N,1),c.value.timezone)]}else a.value=dt(P(M()),c.value.timezone)},S=Y=>Array.isArray(Y)?[jt(q(Y[0])),jt(q(Y[1]))]:[jt(Y??q())],C=(Y,N,re)=>{v("hours",Y),v("minutes",N),v("seconds",e.enableSeconds?re:0)},L=()=>{const[Y,N]=S(a.value);return s.value.enabled?C([Y.hours,N.hours],[Y.minutes,N.minutes],[Y.seconds,N.seconds]):C(Y.hours,Y.minutes,Y.seconds)};at(()=>{if(!e.shadow)return m(o.value),a.value?L():b()});const U=()=>{Array.isArray(a.value)?a.value=a.value.map((Y,N)=>Y&&P(Y,N)):a.value=P(a.value),t("time-update")};return{modelValue:a,time:r,disabledTimesConfig:p,updateTime:(Y,N=!0,re=!1)=>{d(Y,N,re,U)},validateTime:x}},bu=tt({compatConfig:{MODE:3},__name:"TimePickerSolo",props:{...kt},emits:["update:internal-model-value","time-update","am-pm-change","mount","reset-flow","update-flow-step","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Kt(),s=ct(o,"timePicker"),c=K(null),{time:d,modelValue:P,disabledTimesConfig:v,updateTime:m,validateTime:p}=wu(r,a);return at(()=>{r.shadow||a("mount",null)}),t({getSidebarProps:()=>({modelValue:P,time:d,updateTime:m}),toggleTimePicker:(x,A=!1,R="")=>{var M;(M=c.value)==null||M.toggleTimePicker(x,A,R)}}),(x,A)=>(T(),Oe(Ea,{"multi-calendars":0,stretch:"","is-mobile":x.isMobile},{default:De(()=>[vt(Hr,Je({ref_key:"tpRef",ref:c},x.$props,{hours:i(d).hours,minutes:i(d).minutes,seconds:i(d).seconds,"internal-model-value":x.internalModelValue,"disabled-times-config":i(v),"validate-time":i(p),"onUpdate:hours":A[0]||(A[0]=R=>i(m)(R)),"onUpdate:minutes":A[1]||(A[1]=R=>i(m)(R,!1)),"onUpdate:seconds":A[2]||(A[2]=R=>i(m)(R,!1,!0)),onAmPmChange:A[3]||(A[3]=R=>x.$emit("am-pm-change",R)),onResetFlow:A[4]||(A[4]=R=>x.$emit("reset-flow")),onOverlayClosed:A[5]||(A[5]=R=>x.$emit("overlay-toggle",{open:!1,overlay:R})),onOverlayOpened:A[6]||(A[6]=R=>x.$emit("overlay-toggle",{open:!0,overlay:R}))}),ot({_:2},[Fe(i(s),(R,M)=>({name:R,fn:De(b=>[ie(x.$slots,R,Ze(it(b)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"])]),_:3},8,["is-mobile"]))}}),_u={class:"dp--header-wrap"},ku={key:0,class:"dp__month_year_wrap"},Du={key:0},xu={class:"dp__month_year_wrap"},Mu=["data-dp-element","aria-label","data-test-id","onClick","onKeydown"],Pu=tt({compatConfig:{MODE:3},__name:"DpHeader",props:{month:{type:Number,default:0},year:{type:Number,default:0},instance:{type:Number,default:0},years:{type:Array,default:()=>[]},months:{type:Array,default:()=>[]},...kt},emits:["update-month-year","mount","reset-flow","overlay-closed","overlay-opened"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaultedTransitions:o,defaultedAriaLabels:s,defaultedMultiCalendars:c,defaultedFilters:d,defaultedConfig:P,defaultedHighlight:v,propDates:m,defaultedUI:p}=Be(r),{transitionName:x,showTransition:A}=Ma(o),{buildMatrix:R}=Vt(),{handleMonthYearChange:M,isDisabled:b,updateMonthYear:S}=Us(r,a),{showLeftIcon:C,showRightIcon:L}=Ba(),U=K(!1),Y=K(!1),N=K(!1),re=K([null,null,null,null]);at(()=>{a("mount")});const V=f=>({get:()=>r[f],set:k=>{const F=f===ht.month?ht.year:ht.month;a("update-month-year",{[f]:k,[F]:r[F]}),f===ht.month?H(!0):J(!0)}}),I=j(V(ht.month)),se=j(V(ht.year)),ce=j(()=>f=>({month:r.month,year:r.year,items:f===ht.month?r.months:r.years,instance:r.instance,updateMonthYear:S,toggle:f===ht.month?H:J})),ye=j(()=>r.months.find(k=>k.value===r.month)||{text:"",value:0}),y=j(()=>sa(r.months,f=>{const k=r.month===f.value,F=ba(f.value,$r(r.year,m.value.minDate),Ar(r.year,m.value.maxDate))||d.value.months.includes(f.value),W=Nr(v.value,f.value,r.year);return{active:k,disabled:F,highlighted:W}})),D=j(()=>sa(r.years,f=>{const k=r.year===f.value,F=ba(f.value,ua(m.value.minDate),ua(m.value.maxDate))||d.value.years.includes(f.value),W=On(v.value,f.value);return{active:k,disabled:F,highlighted:W}})),h=(f,k,F)=>{F!==void 0?f.value=F:f.value=!f.value,f.value?(N.value=!0,a("overlay-opened",k)):(N.value=!1,a("overlay-closed",k))},H=(f=!1,k)=>{E(f),h(U,rt.month,k)},J=(f=!1,k)=>{E(f),h(Y,rt.year,k)},E=f=>{f||a("reset-flow")},ee=(f,k)=>{r.arrowNavigation&&(re.value[k]=je(f),R(re.value,"monthYear"))},O=j(()=>{var f,k,F,W,l,_;return[{type:ht.month,index:1,toggle:H,modelValue:I.value,updateModelValue:oe=>I.value=oe,text:ye.value.text,showSelectionGrid:U.value,items:y.value,ariaLabel:(f=s.value)==null?void 0:f.openMonthsOverlay,overlayLabel:((F=(k=s.value).monthPicker)==null?void 0:F.call(k,!0))??void 0},{type:ht.year,index:2,toggle:J,modelValue:se.value,updateModelValue:oe=>se.value=oe,text:Pr(r.year,r.locale),showSelectionGrid:Y.value,items:D.value,ariaLabel:(W=s.value)==null?void 0:W.openYearsOverlay,overlayLabel:((_=(l=s.value).yearPicker)==null?void 0:_.call(l,!0))??void 0}]}),de=j(()=>r.disableYearSelect?[O.value[0]]:r.yearFirst?[...O.value].reverse():O.value);return t({toggleMonthPicker:H,toggleYearPicker:J,handleMonthYearChange:M}),(f,k)=>{var F,W,l,_,oe,Ye;return T(),z("div",_u,[f.$slots["month-year"]?(T(),z("div",ku,[ie(f.$slots,"month-year",Ze(it({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:i(S),handleMonthYearChange:i(M),instance:e.instance,isDisabled:i(b)})))])):(T(),z(ke,{key:1},[f.$slots["top-extra"]?(T(),z("div",Du,[ie(f.$slots,"top-extra",{value:f.internalModelValue})])):G("",!0),ge("div",xu,[i(C)(i(c),e.instance)&&!f.vertical?(T(),Oe(ya,{key:0,"aria-label":(F=i(s))==null?void 0:F.prevMonth,disabled:i(b)(!1),class:xe((W=i(p))==null?void 0:W.navBtnPrev),"el-name":"action-prev",onActivate:k[0]||(k[0]=$=>i(M)(!1,!0)),onSetRef:k[1]||(k[1]=$=>ee($,0))},{default:De(()=>[f.$slots["arrow-left"]?ie(f.$slots,"arrow-left",{key:0}):G("",!0),f.$slots["arrow-left"]?G("",!0):(T(),Oe(i(wn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):G("",!0),ge("div",{class:xe(["dp__month_year_wrap",{dp__year_disable_select:f.disableYearSelect}])},[(T(!0),z(ke,null,Fe(de.value,($,we)=>(T(),z(ke,{key:$.type},[ge("button",{ref_for:!0,ref:Q=>ee(Q,we+1),type:"button","data-dp-element":`overlay-${$.type}`,class:xe(["dp__btn dp__month_year_select",{"dp--hidden-el":N.value}]),"aria-label":`${$.text}-${$.ariaLabel}`,"data-test-id":`${$.type}-toggle-overlay-${e.instance}`,onClick:$.toggle,onKeydown:Q=>i(ut)(Q,()=>$.toggle(),!0)},[f.$slots[$.type]?ie(f.$slots,$.type,{key:0,text:$.text,value:r[$.type]}):G("",!0),f.$slots[$.type]?G("",!0):(T(),z(ke,{key:1},[Rt(lt($.text),1)],64))],42,Mu),vt(da,{name:i(x)($.showSelectionGrid),css:i(A)},{default:De(()=>[$.showSelectionGrid?(T(),Oe(xa,{key:0,items:$.items,"arrow-navigation":f.arrowNavigation,"hide-navigation":f.hideNavigation,"is-last":f.autoApply&&!i(P).keepActionRow,"skip-button-ref":!1,config:f.config,type:$.type,"header-refs":[],"esc-close":f.escClose,"menu-wrap-ref":f.menuWrapRef,"text-input":f.textInput,"aria-labels":f.ariaLabels,"overlay-label":$.overlayLabel,onSelected:$.updateModelValue,onToggle:$.toggle},ot({"button-icon":De(()=>[f.$slots["calendar-icon"]?ie(f.$slots,"calendar-icon",{key:0}):G("",!0),f.$slots["calendar-icon"]?G("",!0):(T(),Oe(i(ca),{key:1}))]),_:2},[f.$slots[`${$.type}-overlay-value`]?{name:"item",fn:De(({item:Q})=>[ie(f.$slots,`${$.type}-overlay-value`,{text:Q.text,value:Q.value})]),key:"0"}:void 0,f.$slots[`${$.type}-overlay`]?{name:"overlay",fn:De(()=>[ie(f.$slots,`${$.type}-overlay`,Je({ref_for:!0},ce.value($.type)))]),key:"1"}:void 0,f.$slots[`${$.type}-overlay-header`]?{name:"header",fn:De(()=>[ie(f.$slots,`${$.type}-overlay-header`,{toggle:$.toggle})]),key:"2"}:void 0]),1032,["items","arrow-navigation","hide-navigation","is-last","config","type","esc-close","menu-wrap-ref","text-input","aria-labels","overlay-label","onSelected","onToggle"])):G("",!0)]),_:2},1032,["name","css"])],64))),128))],2),i(C)(i(c),e.instance)&&f.vertical?(T(),Oe(ya,{key:1,"aria-label":(l=i(s))==null?void 0:l.prevMonth,"el-name":"action-prev",disabled:i(b)(!1),class:xe((_=i(p))==null?void 0:_.navBtnPrev),onActivate:k[2]||(k[2]=$=>i(M)(!1,!0))},{default:De(()=>[f.$slots["arrow-up"]?ie(f.$slots,"arrow-up",{key:0}):G("",!0),f.$slots["arrow-up"]?G("",!0):(T(),Oe(i(kn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):G("",!0),i(L)(i(c),e.instance)?(T(),Oe(ya,{key:2,ref:"rightIcon","el-name":"action-next",disabled:i(b)(!0),"aria-label":(oe=i(s))==null?void 0:oe.nextMonth,class:xe((Ye=i(p))==null?void 0:Ye.navBtnNext),onActivate:k[3]||(k[3]=$=>i(M)(!0,!0)),onSetRef:k[4]||(k[4]=$=>ee($,f.disableYearSelect?2:3))},{default:De(()=>[f.$slots[f.vertical?"arrow-down":"arrow-right"]?ie(f.$slots,f.vertical?"arrow-down":"arrow-right",{key:0}):G("",!0),f.$slots[f.vertical?"arrow-down":"arrow-right"]?G("",!0):(T(),Oe(Na(f.vertical?i(Dn):i(bn)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):G("",!0)])],64))])}}}),Tu={class:"dp__calendar_header",role:"row"},Ou={key:0,class:"dp__calendar_header_item",role:"gridcell"},$u=["aria-label"],Au={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},Yu={class:"dp__cell_inner"},Cu=["id","aria-pressed","aria-disabled","aria-label","tabindex","data-test-id","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],Ru=tt({compatConfig:{MODE:3},__name:"DpCalendar",props:{mappedDates:{type:Array,default:()=>[]},instance:{type:Number,default:0},month:{type:Number,default:0},year:{type:Number,default:0},...kt},emits:["select-date","set-hover-date","handle-scroll","mount","handle-swipe","handle-space","tooltip-open","tooltip-close"],setup(e,{expose:t,emit:n}){const a=n,r=e,{buildMultiLevelMatrix:o}=Vt(),{defaultedTransitions:s,defaultedConfig:c,defaultedAriaLabels:d,defaultedMultiCalendars:P,defaultedWeekNumbers:v,defaultedMultiDates:m,defaultedUI:p}=Be(r),x=K(null),A=K({bottom:"",left:"",transform:""}),R=K([]),M=K(null),b=K(!0),S=K(""),C=K({startX:0,endX:0,startY:0,endY:0}),L=K([]),U=K({left:"50%"}),Y=K(!1),N=j(()=>r.calendar?r.calendar(r.mappedDates):r.mappedDates),re=j(()=>r.dayNames?Array.isArray(r.dayNames)?r.dayNames:r.dayNames(r.locale,+r.weekStart):vs(r.formatLocale,r.locale,+r.weekStart));at(()=>{a("mount",{cmp:"calendar",refs:R}),c.value.noSwipe||M.value&&(M.value.addEventListener("touchstart",ee,{passive:!1}),M.value.addEventListener("touchend",O,{passive:!1}),M.value.addEventListener("touchmove",de,{passive:!1})),r.monthChangeOnScroll&&M.value&&M.value.addEventListener("wheel",F,{passive:!1})}),ia(()=>{c.value.noSwipe||M.value&&(M.value.removeEventListener("touchstart",ee),M.value.removeEventListener("touchend",O),M.value.removeEventListener("touchmove",de)),r.monthChangeOnScroll&&M.value&&M.value.removeEventListener("wheel",F)});const V=$=>$?r.vertical?"vNext":"next":r.vertical?"vPrevious":"previous",I=($,we)=>{if(r.transitions){const Q=et(Ct(q(),r.month,r.year));S.value=qe(et(Ct(q(),$,we)),Q)?s.value[V(!0)]:s.value[V(!1)],b.value=!1,mt(()=>{b.value=!0})}},se=j(()=>({...p.value.calendar??{}})),ce=j(()=>$=>{const we=fs($);return{dp__marker_dot:we.type==="dot",dp__marker_line:we.type==="line"}}),ye=j(()=>$=>Te($,x.value)),y=j(()=>({dp__calendar:!0,dp__calendar_next:P.value.count>0&&r.instance!==0})),D=j(()=>$=>r.hideOffsetDates?$.current:!0),h=async($,we)=>{const{width:Q,height:te}=$.getBoundingClientRect();x.value=we.value;let u={left:`${Q/2}px`},Z=-50;if(await mt(),L.value[0]){const{left:ae,width:ne}=L.value[0].getBoundingClientRect();ae<0&&(u={left:"0"},Z=0,U.value.left=`${Q/2}px`),window.innerWidth{var te,u,Z;const ae=je(R.value[we][Q]);ae&&((te=$.marker)!=null&&te.customPosition&&(Z=(u=$.marker)==null?void 0:u.tooltip)!=null&&Z.length?A.value=$.marker.customPosition(ae):await h(ae,$),a("tooltip-open",$.marker))},J=async($,we,Q)=>{var te,u;if(Y.value&&m.value.enabled&&m.value.dragSelect)return a("select-date",$);if(a("set-hover-date",$),(u=(te=$.marker)==null?void 0:te.tooltip)!=null&&u.length){if(r.hideOffsetDates&&!$.current)return;await H($,we,Q)}},E=$=>{x.value&&(x.value=null,A.value=JSON.parse(JSON.stringify({bottom:"",left:"",transform:""})),a("tooltip-close",$.marker))},ee=$=>{C.value.startX=$.changedTouches[0].screenX,C.value.startY=$.changedTouches[0].screenY},O=$=>{C.value.endX=$.changedTouches[0].screenX,C.value.endY=$.changedTouches[0].screenY,f()},de=$=>{r.vertical&&!r.inline&&$.preventDefault()},f=()=>{const $=r.vertical?"Y":"X";Math.abs(C.value[`start${$}`]-C.value[`end${$}`])>10&&a("handle-swipe",C.value[`start${$}`]>C.value[`end${$}`]?"right":"left")},k=($,we,Q)=>{$&&(Array.isArray(R.value[we])?R.value[we][Q]=$:R.value[we]=[$]),r.arrowNavigation&&o(R.value,"calendar")},F=$=>{r.monthChangeOnScroll&&($.preventDefault(),a("handle-scroll",$))},W=$=>v.value.type==="local"?yn($.value,{weekStartsOn:+r.weekStart}):v.value.type==="iso"?fn($.value):typeof v.value.type=="function"?v.value.type($.value):"",l=$=>{const we=$[0];return v.value.hideOnOffsetDates?$.some(Q=>Q.current)?W(we):"":W(we)},_=($,we,Q=!0)=>{!Q&&ws()||(!m.value.enabled||c.value.allowPreventDefault)&&(Bt($,c.value),a("select-date",we))},oe=$=>{Bt($,c.value)},Ye=$=>{m.value.enabled&&m.value.dragSelect?(Y.value=!0,a("select-date",$)):m.value.enabled&&a("select-date",$)};return t({triggerTransition:I}),($,we)=>(T(),z("div",{class:xe(y.value)},[ge("div",{ref_key:"calendarWrapRef",ref:M,class:xe(se.value),role:"grid"},[ge("div",Tu,[$.weekNumbers?(T(),z("div",Ou,lt($.weekNumName),1)):G("",!0),(T(!0),z(ke,null,Fe(re.value,(Q,te)=>{var u,Z;return T(),z("div",{key:te,class:"dp__calendar_header_item",role:"gridcell","data-test-id":"calendar-header","aria-label":(Z=(u=i(d))==null?void 0:u.weekDay)==null?void 0:Z.call(u,te)},[$.$slots["calendar-header"]?ie($.$slots,"calendar-header",{key:0,day:Q,index:te}):G("",!0),$.$slots["calendar-header"]?G("",!0):(T(),z(ke,{key:1},[Rt(lt(Q),1)],64))],8,$u)}),128))]),we[2]||(we[2]=ge("div",{class:"dp__calendar_header_separator"},null,-1)),vt(da,{name:S.value,css:!!$.transitions},{default:De(()=>[b.value?(T(),z("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:we[1]||(we[1]=Q=>Y.value=!1)},[(T(!0),z(ke,null,Fe(N.value,(Q,te)=>(T(),z("div",{key:te,class:"dp__calendar_row",role:"row"},[$.weekNumbers?(T(),z("div",Au,[ge("div",Yu,lt(l(Q.days)),1)])):G("",!0),(T(!0),z(ke,null,Fe(Q.days,(u,Z)=>{var ae,ne,Me;return T(),z("div",{id:i(vn)(u.value),ref_for:!0,ref:be=>k(be,te,Z),key:Z+te,role:"gridcell",class:"dp__calendar_item","aria-pressed":(u.classData.dp__active_date||u.classData.dp__range_start||u.classData.dp__range_start)??void 0,"aria-disabled":u.classData.dp__cell_disabled||void 0,"aria-label":(ne=(ae=i(d))==null?void 0:ae.day)==null?void 0:ne.call(ae,u),tabindex:!u.current&&$.hideOffsetDates?void 0:0,"data-test-id":i(vn)(u.value),onClick:ga(be=>_(be,u),["prevent"]),onTouchend:be=>_(be,u,!1),onKeydown:be=>i(ut)(be,()=>$.$emit("select-date",u)),onMouseenter:be=>J(u,te,Z),onMouseleave:be=>E(u),onMousedown:be=>Ye(u),onMouseup:we[0]||(we[0]=be=>Y.value=!1)},[ge("div",{class:xe(["dp__cell_inner",u.classData])},[$.$slots.day&&D.value(u)?ie($.$slots,"day",{key:0,day:+u.text,date:u.value}):G("",!0),$.$slots.day?G("",!0):(T(),z(ke,{key:1},[Rt(lt(u.text),1)],64)),u.marker&&D.value(u)?(T(),z(ke,{key:2},[$.$slots.marker?ie($.$slots,"marker",{key:0,marker:u.marker,day:+u.text,date:u.value}):(T(),z("div",{key:1,class:xe(ce.value(u.marker)),style:pt(u.marker.color?{backgroundColor:u.marker.color}:{})},null,6))],64)):G("",!0),ye.value(u.value)?(T(),z("div",{key:3,ref_for:!0,ref_key:"activeTooltip",ref:L,class:"dp__marker_tooltip",style:pt(A.value)},[(Me=u.marker)!=null&&Me.tooltip?(T(),z("div",{key:0,class:"dp__tooltip_content",onClick:oe},[(T(!0),z(ke,null,Fe(u.marker.tooltip,(be,Ce)=>(T(),z("div",{key:Ce,class:"dp__tooltip_text"},[$.$slots["marker-tooltip"]?ie($.$slots,"marker-tooltip",{key:0,tooltip:be,day:u.value}):G("",!0),$.$slots["marker-tooltip"]?G("",!0):(T(),z(ke,{key:1},[ge("div",{class:"dp__tooltip_mark",style:pt(be.color?{backgroundColor:be.color}:{})},null,4),ge("div",null,lt(be.text),1)],64))]))),128)),ge("div",{class:"dp__arrow_bottom_tp",style:pt(U.value)},null,4)])):G("",!0)],4)):G("",!0)],2)],40,Cu)}),128))]))),128))],32)):G("",!0)]),_:3},8,["name","css"])],2)],2))}}),Xn=e=>Array.isArray(e),Su=(e,t,n,a)=>{const r=K([]),o=K(new Date),s=K(),c=()=>O(e.isTextInputDate),{modelValue:d,calendars:P,time:v,today:m}=Pa(e,t,c),{defaultedMultiCalendars:p,defaultedStartTime:x,defaultedRange:A,defaultedConfig:R,defaultedTz:M,propDates:b,defaultedMultiDates:S}=Be(e),{validateMonthYearInRange:C,isDisabled:L,isDateRangeAllowed:U,checkMinMaxRange:Y}=Wt(e),{updateTimeValues:N,getSetDateTime:re,setTime:V,assignStartTime:I,validateTime:se,disabledTimesConfig:ce}=Vr(e,v,d,a),ye=j(()=>w=>P.value[w]?P.value[w].month:0),y=j(()=>w=>P.value[w]?P.value[w].year:0),D=w=>!R.value.keepViewOnOffsetClick||w?!0:!s.value,h=(w,X,fe,_e=!1)=>{var B,ue;D(_e)&&(P.value[w]||(P.value[w]={month:0,year:0}),P.value[w].month=qn(X)?(B=P.value[w])==null?void 0:B.month:X,P.value[w].year=qn(fe)?(ue=P.value[w])==null?void 0:ue.year:fe)},H=()=>{e.autoApply&&t("select-date")},J=()=>{x.value&&I(x.value)};at(()=>{e.shadow||(d.value||(we(),J()),O(!0),e.focusStartDate&&e.startDate&&we())});const E=j(()=>{var w;return(w=e.flow)!=null&&w.length&&!e.partialFlow?e.flowStep===e.flow.length:!0}),ee=()=>{e.autoApply&&E.value&&t("auto-apply",e.partialFlow?e.flowStep!==e.flow.length:!1)},O=(w=!1)=>{if(d.value)return Array.isArray(d.value)?(r.value=d.value,_(w)):k(d.value,w);if(p.value.count&&w&&!e.startDate)return f(q(),w)},de=()=>Array.isArray(d.value)&&A.value.enabled?Pe(d.value[0])===Pe(d.value[1]??d.value[0]):!1,f=(w=new Date,X=!1)=>{if((!p.value.count||!p.value.static||X)&&h(0,Pe(w),he(w)),p.value.count&&(!d.value||de()||!p.value.solo)&&(!p.value.solo||X))for(let fe=1;fe{f(w),V("hours",St(w)),V("minutes",Ht(w)),V("seconds",ra(w)),p.value.count&&X&&$()},F=w=>{if(p.value.count){if(p.value.solo)return 0;const X=Pe(w[0]),fe=Pe(w[1]);return Math.abs(fe-X){w[1]&&A.value.showLastInRange?f(w[F(w)],X):f(w[0],X);const fe=(_e,B)=>[_e(w[0]),w[1]?_e(w[1]):v[B][1]];V("hours",fe(St,"hours")),V("minutes",fe(Ht,"minutes")),V("seconds",fe(ra,"seconds"))},l=(w,X)=>{if((A.value.enabled||e.weekPicker)&&!S.value.enabled)return W(w,X);if(S.value.enabled&&X){const fe=w[w.length-1];return k(fe,X)}},_=w=>{const X=d.value;l(X,w),p.value.count&&p.value.solo&&$()},oe=(w,X)=>{const fe=Ne(q(),{month:ye.value(X),year:y.value(X)}),_e=w<0?bt(fe,1):oa(fe,1);C(Pe(_e),he(_e),w<0,e.preventMinMaxNavigation)&&(h(X,Pe(_e),he(_e)),t("update-month-year",{instance:X,month:Pe(_e),year:he(_e)}),p.value.count&&!p.value.solo&&Ye(X),n())},Ye=w=>{for(let X=w-1;X>=0;X--){const fe=oa(Ne(q(),{month:ye.value(X+1),year:y.value(X+1)}),1);h(X,Pe(fe),he(fe))}for(let X=w+1;X<=p.value.count-1;X++){const fe=bt(Ne(q(),{month:ye.value(X-1),year:y.value(X-1)}),1);h(X,Pe(fe),he(fe))}},$=()=>{if(Array.isArray(d.value)&&d.value.length===2){const w=q(q(d.value[1]?d.value[1]:bt(d.value[0],1))),[X,fe]=[Pe(d.value[0]),he(d.value[0])],[_e,B]=[Pe(d.value[1]),he(d.value[1])];(X!==_e||X===_e&&fe!==B)&&p.value.solo&&h(1,Pe(w),he(w))}else d.value&&!Array.isArray(d.value)&&(h(0,Pe(d.value),he(d.value)),f(q()))},we=()=>{e.startDate&&(h(0,Pe(q(e.startDate)),he(q(e.startDate))),p.value.count&&Ye(0))},Q=(w,X)=>{if(e.monthChangeOnScroll){const fe=new Date().getTime()-o.value.getTime(),_e=Math.abs(w.deltaY);let B=500;_e>1&&(B=100),_e>100&&(B=0),fe>B&&(o.value=new Date,oe(e.monthChangeOnScroll!=="inverse"?-w.deltaY:w.deltaY,X))}},te=(w,X,fe=!1)=>{e.monthChangeOnArrows&&e.vertical===fe&&u(w,X)},u=(w,X)=>{oe(w==="right"?-1:1,X)},Z=w=>{if(b.value.markers)return Sa(w.value,b.value.markers)},ae=(w,X)=>{switch(e.sixWeeks===!0?"append":e.sixWeeks){case"prepend":return[!0,!1];case"center":return[w==0,!0];case"fair":return[w==0||X>w,!0];case"append":return[!1,!1];default:return[!1,!1]}},ne=(w,X,fe,_e)=>{if(e.sixWeeks&&w.length<6){const B=6-w.length,ue=(X.getDay()+7-_e)%7,me=6-(fe.getDay()+7-_e)%7,[At,Mt]=ae(ue,me);for(let zt=1;zt<=B;zt++)if(Mt?!!(zt%2)==At:At){const Nt=w[0].days[0],Ua=Me(ft(Nt.value,-7),Pe(X));w.unshift({days:Ua})}else{const Nt=w[w.length-1],Ua=Nt.days[Nt.days.length-1],qr=Me(ft(Ua.value,1),Pe(X));w.push({days:qr})}}return w},Me=(w,X)=>{const fe=q(w),_e=[];for(let B=0;B<7;B++){const ue=ft(fe,B),me=Pe(ue)!==X;_e.push({text:e.hideOffsetDates&&me?"":ue.getDate(),value:ue,current:!me,classData:{}})}return _e},be=(w,X)=>{const fe=[],_e=new Date(X,w),B=new Date(X,w+1,0),ue=e.weekStart,me=_t(_e,{weekStartsOn:ue}),At=Mt=>{const zt=Me(Mt,w);if(fe.push({days:zt}),!fe[fe.length-1].days.some(Nt=>Te(et(Nt.value),et(B)))){const Nt=ft(Mt,7);At(Nt)}};return At(me),ne(fe,_e,B,ue)},Ce=w=>{const X=Lt(q(w.value),v.hours,v.minutes,ve());t("date-update",X),S.value.enabled?$n(X,d,S.value.limit):d.value=X,a(),mt().then(()=>{ee()})},We=w=>A.value.noDisabledRange?Yr(r.value[0],w).some(X=>L(X)):!1,g=()=>{r.value=d.value?d.value.slice():[],r.value.length===2&&!(A.value.fixedStart||A.value.fixedEnd)&&(r.value=[])},le=(w,X)=>{const fe=[q(w.value),ft(q(w.value),+A.value.autoRange)];U(fe)?(X&&$e(w.value),r.value=fe):t("invalid-date",w.value)},$e=w=>{const X=Pe(q(w)),fe=he(q(w));if(h(0,X,fe),p.value.count>0)for(let _e=1;_e{if(We(w.value)||!Y(w.value,d.value,A.value.fixedStart?0:1))return t("invalid-date",w.value);r.value=Br(q(w.value),d,t,A)},Dt=(w,X)=>{if(g(),A.value.autoRange)return le(w,X);if(A.value.fixedStart||A.value.fixedEnd)return Ge(w);r.value[0]?Y(q(w.value),d.value)&&!We(w.value)?He(q(w.value),q(r.value[0]))?(r.value.unshift(q(w.value)),t("range-end",r.value[0])):(r.value[1]=q(w.value),t("range-end",r.value[1])):(e.autoApply&&t("auto-apply-invalid",w.value),t("invalid-date",w.value)):(r.value[0]=q(w.value),t("range-start",r.value[0]))},ve=(w=!0)=>e.enableSeconds?Array.isArray(v.seconds)?w?v.seconds[0]:v.seconds[1]:v.seconds:0,Ke=w=>{r.value[w]=Lt(r.value[w],v.hours[w],v.minutes[w],ve(w!==1))},xt=()=>{var w,X;r.value[0]&&r.value[1]&&+((w=r.value)==null?void 0:w[0])>+((X=r.value)==null?void 0:X[1])&&(r.value.reverse(),t("range-start",r.value[0]),t("range-end",r.value[1]))},La=()=>{r.value.length&&(r.value[0]&&!r.value[1]?Ke(0):(Ke(0),Ke(1),a()),xt(),d.value=r.value.slice(),Fa(r.value,t,e.autoApply,e.modelAuto))},Ta=(w,X=!1)=>{if(L(w.value)||!w.current&&e.hideOffsetDates)return t("invalid-date",w.value);if(s.value=JSON.parse(JSON.stringify(w)),!A.value.enabled)return Ce(w);Xn(v.hours)&&Xn(v.minutes)&&!S.value.enabled&&(Dt(w,X),La())},Ha=(w,X)=>{var fe;h(w,X.month,X.year,!0),p.value.count&&!p.value.solo&&Ye(w),t("update-month-year",{instance:w,month:X.month,year:X.year}),n(p.value.solo?w:void 0);const _e=(fe=e.flow)!=null&&fe.length?e.flow[e.flowStep]:void 0;!X.fromNav&&(_e===rt.month||_e===rt.year)&&a()},Va=(w,X)=>{Fr({value:w,modelValue:d,range:A.value.enabled,timezone:X?void 0:M.value.timezone}),H(),e.multiCalendars&&mt().then(()=>O(!0))},Wa=()=>{const w=xn(q(),M.value);!A.value.enabled&&!S.value.enabled?d.value=w:d.value&&Array.isArray(d.value)&&d.value[0]?S.value.enabled?d.value=[...d.value,w]:d.value=He(w,d.value[0])?[w,d.value[0]]:[d.value[0],w]:d.value=[w],H()},za=()=>{if(Array.isArray(d.value))if(S.value.enabled){const w=qa();d.value[d.value.length-1]=re(w)}else d.value=d.value.map((w,X)=>w&&re(w,X));else d.value=re(d.value);t("time-update")},qa=()=>Array.isArray(d.value)&&d.value.length?d.value[d.value.length-1]:null;return{calendars:P,modelValue:d,month:ye,year:y,time:v,disabledTimesConfig:ce,today:m,validateTime:se,getCalendarDays:be,getMarker:Z,handleScroll:Q,handleSwipe:u,handleArrow:te,selectDate:Ta,updateMonthYear:Ha,presetDate:Va,selectCurrentDate:Wa,updateTime:(w,X=!0,fe=!1)=>{N(w,X,fe,za)},assignMonthAndYear:f,setStartTime:J}},Nu={key:0},Iu=tt({__name:"DatePicker",props:{...kt},emits:["tooltip-open","tooltip-close","mount","update:internal-model-value","update-flow-step","reset-flow","auto-apply","focus-menu","select-date","range-start","range-end","invalid-fixed-range","time-update","am-pm-change","time-picker-open","time-picker-close","recalculate-position","update-month-year","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,{calendars:o,month:s,year:c,modelValue:d,time:P,disabledTimesConfig:v,today:m,validateTime:p,getCalendarDays:x,getMarker:A,handleArrow:R,handleScroll:M,handleSwipe:b,selectDate:S,updateMonthYear:C,presetDate:L,selectCurrentDate:U,updateTime:Y,assignMonthAndYear:N,setStartTime:re}=Su(r,a,de,f),V=Kt(),{setHoverDate:I,getDayClassData:se,clearHoverDate:ce}=Ju(d,r),{defaultedMultiCalendars:ye}=Be(r),y=K([]),D=K([]),h=K(null),H=ct(V,"calendar"),J=ct(V,"monthYear"),E=ct(V,"timePicker"),ee=Q=>{r.shadow||a("mount",Q)};yt(o,()=>{r.shadow||setTimeout(()=>{a("recalculate-position")},0)},{deep:!0}),yt(ye,(Q,te)=>{Q.count-te.count>0&&N()},{deep:!0});const O=j(()=>Q=>x(s.value(Q),c.value(Q)).map(te=>({...te,days:te.days.map(u=>(u.marker=A(u),u.classData=se(u),u))})));function de(Q){var te;Q||Q===0?(te=D.value[Q])==null||te.triggerTransition(s.value(Q),c.value(Q)):D.value.forEach((u,Z)=>u.triggerTransition(s.value(Z),c.value(Z)))}function f(){a("update-flow-step")}const k=(Q,te=!1)=>{S(Q,te),r.spaceConfirm&&a("select-date")},F=(Q,te,u=0)=>{var Z;(Z=y.value[u])==null||Z.toggleMonthPicker(Q,te)},W=(Q,te,u=0)=>{var Z;(Z=y.value[u])==null||Z.toggleYearPicker(Q,te)},l=(Q,te,u)=>{var Z;(Z=h.value)==null||Z.toggleTimePicker(Q,te,u)},_=(Q,te)=>{var u;if(!r.range){const Z=d.value?d.value:m,ae=te?new Date(te):Z,ne=Q?_t(ae,{weekStartsOn:1}):ur(ae,{weekStartsOn:1});S({value:ne,current:Pe(ae)===s.value(0),text:"",classData:{}}),(u=document.getElementById(vn(ne)))==null||u.focus()}},oe=Q=>{var te;(te=y.value[0])==null||te.handleMonthYearChange(Q,!0)},Ye=Q=>{C(0,{month:s.value(0),year:c.value(0)+(Q?1:-1),fromNav:!0})},$=(Q,te)=>{Q===rt.time&&a(`time-picker-${te?"open":"close"}`),a("overlay-toggle",{open:te,overlay:Q})},we=Q=>{a("overlay-toggle",{open:!1,overlay:Q}),a("focus-menu")};return t({clearHoverDate:ce,presetDate:L,selectCurrentDate:U,toggleMonthPicker:F,toggleYearPicker:W,toggleTimePicker:l,handleArrow:R,updateMonthYear:C,getSidebarProps:()=>({modelValue:d,month:s,year:c,time:P,updateTime:Y,updateMonthYear:C,selectDate:S,presetDate:L}),changeMonth:oe,changeYear:Ye,selectWeekDate:_,setStartTime:re}),(Q,te)=>(T(),z(ke,null,[vt(Ea,{"multi-calendars":i(ye).count,collapse:Q.collapse,"is-mobile":Q.isMobile},{default:De(({instance:u,index:Z})=>[Q.disableMonthYearSelect?G("",!0):(T(),Oe(Pu,Je({key:0,ref:ae=>{ae&&(y.value[Z]=ae)},months:i(Dr)(Q.formatLocale,Q.locale,Q.monthNameFormat),years:i(Mn)(Q.yearRange,Q.locale,Q.reverseYears),month:i(s)(u),year:i(c)(u),instance:u},Q.$props,{onMount:te[0]||(te[0]=ae=>ee(i(Qt).header)),onResetFlow:te[1]||(te[1]=ae=>Q.$emit("reset-flow")),onUpdateMonthYear:ae=>i(C)(u,ae),onOverlayClosed:we,onOverlayOpened:te[2]||(te[2]=ae=>Q.$emit("overlay-toggle",{open:!0,overlay:ae}))}),ot({_:2},[Fe(i(J),(ae,ne)=>({name:ae,fn:De(Me=>[ie(Q.$slots,ae,Ze(it(Me)))])}))]),1040,["months","years","month","year","instance","onUpdateMonthYear"])),vt(Ru,Je({ref:ae=>{ae&&(D.value[Z]=ae)},"mapped-dates":O.value(u),month:i(s)(u),year:i(c)(u),instance:u},Q.$props,{onSelectDate:ae=>i(S)(ae,u!==1),onHandleSpace:ae=>k(ae,u!==1),onSetHoverDate:te[3]||(te[3]=ae=>i(I)(ae)),onHandleScroll:ae=>i(M)(ae,u),onHandleSwipe:ae=>i(b)(ae,u),onMount:te[4]||(te[4]=ae=>ee(i(Qt).calendar)),onResetFlow:te[5]||(te[5]=ae=>Q.$emit("reset-flow")),onTooltipOpen:te[6]||(te[6]=ae=>Q.$emit("tooltip-open",ae)),onTooltipClose:te[7]||(te[7]=ae=>Q.$emit("tooltip-close",ae))}),ot({_:2},[Fe(i(H),(ae,ne)=>({name:ae,fn:De(Me=>[ie(Q.$slots,ae,Ze(it({...Me})))])}))]),1040,["mapped-dates","month","year","instance","onSelectDate","onHandleSpace","onHandleScroll","onHandleSwipe"])]),_:3},8,["multi-calendars","collapse","is-mobile"]),Q.enableTimePicker?(T(),z("div",Nu,[Q.$slots["time-picker"]?ie(Q.$slots,"time-picker",Ze(Je({key:0},{time:i(P),updateTime:i(Y)}))):(T(),Oe(Hr,Je({key:1,ref_key:"timePickerRef",ref:h},Q.$props,{hours:i(P).hours,minutes:i(P).minutes,seconds:i(P).seconds,"internal-model-value":Q.internalModelValue,"disabled-times-config":i(v),"validate-time":i(p),onMount:te[8]||(te[8]=u=>ee(i(Qt).timePicker)),"onUpdate:hours":te[9]||(te[9]=u=>i(Y)(u)),"onUpdate:minutes":te[10]||(te[10]=u=>i(Y)(u,!1)),"onUpdate:seconds":te[11]||(te[11]=u=>i(Y)(u,!1,!0)),onResetFlow:te[12]||(te[12]=u=>Q.$emit("reset-flow")),onOverlayClosed:te[13]||(te[13]=u=>$(u,!1)),onOverlayOpened:te[14]||(te[14]=u=>$(u,!0)),onAmPmChange:te[15]||(te[15]=u=>Q.$emit("am-pm-change",u))}),ot({_:2},[Fe(i(E),(u,Z)=>({name:u,fn:De(ae=>[ie(Q.$slots,u,Ze(it(ae)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"]))])):G("",!0)],64))}}),Eu=(e,t)=>{const n=K(),{defaultedMultiCalendars:a,defaultedConfig:r,defaultedHighlight:o,defaultedRange:s,propDates:c,defaultedFilters:d,defaultedMultiDates:P}=Be(e),{modelValue:v,year:m,month:p,calendars:x}=Pa(e,t),{isDisabled:A}=Wt(e),{selectYear:R,groupedYears:M,showYearPicker:b,isDisabled:S,toggleYearPicker:C,handleYearSelect:L,handleYear:U}=Lr({modelValue:v,multiCalendars:a,range:s,highlight:o,calendars:x,propDates:c,month:p,year:m,filters:d,props:e,emit:t}),Y=(D,h)=>[D,h].map(H=>$t(H,"MMMM",{locale:e.formatLocale})).join("-"),N=j(()=>D=>v.value?Array.isArray(v.value)?v.value.some(h=>Vn(D,h)):Vn(v.value,D):!1),re=D=>{if(s.value.enabled){if(Array.isArray(v.value)){const h=Te(D,v.value[0])||Te(D,v.value[1]);return _a(v.value,n.value,D)&&!h}return!1}return!1},V=(D,h)=>D.quarter===In(h)&&D.year===he(h),I=D=>typeof o.value=="function"?o.value({quarter:In(D),year:he(D)}):!!o.value.quarters.find(h=>V(h,D)),se=j(()=>D=>{const h=Ne(new Date,{year:m.value(D)});return cl({start:wa(h),end:sr(h)}).map(H=>{const J=Ut(H),E=En(H),ee=A(H),O=re(J),de=I(J);return{text:Y(J,E),value:J,active:N.value(J),highlighted:de,disabled:ee,isBetween:O}})}),ce=D=>{$n(D,v,P.value.limit),t("auto-apply",!0)},ye=D=>{v.value=An(v,D,t),Fa(v.value,t,e.autoApply,e.modelAuto)},y=D=>{v.value=D,t("auto-apply")};return{defaultedConfig:r,defaultedMultiCalendars:a,groupedYears:M,year:m,isDisabled:S,quarters:se,showYearPicker:b,modelValue:v,setHoverDate:D=>{n.value=D},selectYear:R,selectQuarter:(D,h,H)=>{if(!H)return x.value[h].month=Pe(En(D)),P.value.enabled?ce(D):s.value.enabled?ye(D):y(D)},toggleYearPicker:C,handleYearSelect:L,handleYear:U}},Fu={class:"dp--quarter-items"},Bu=["data-test-id","disabled","onClick","onMouseover"],Lu=tt({compatConfig:{MODE:3},__name:"QuarterPicker",props:{...kt},emits:["update:internal-model-value","reset-flow","overlay-closed","auto-apply","range-start","range-end","overlay-toggle","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Kt(),s=ct(o,"yearMode"),{defaultedMultiCalendars:c,defaultedConfig:d,groupedYears:P,year:v,isDisabled:m,quarters:p,modelValue:x,showYearPicker:A,setHoverDate:R,selectQuarter:M,toggleYearPicker:b,handleYearSelect:S,handleYear:C}=Eu(r,a);return t({getSidebarProps:()=>({modelValue:x,year:v,selectQuarter:M,handleYearSelect:S,handleYear:C})}),(L,U)=>(T(),Oe(Ea,{"multi-calendars":i(c).count,collapse:L.collapse,stretch:"","is-mobile":L.isMobile},{default:De(({instance:Y})=>[ge("div",{class:"dp-quarter-picker-wrap",style:pt({minHeight:`${i(d).modeHeight}px`})},[L.$slots["top-extra"]?ie(L.$slots,"top-extra",{key:0,value:L.internalModelValue}):G("",!0),ge("div",null,[vt(Er,Je(L.$props,{items:i(P)(Y),instance:Y,"show-year-picker":i(A)[Y],year:i(v)(Y),"is-disabled":N=>i(m)(Y,N),onHandleYear:N=>i(C)(Y,N),onYearSelect:N=>i(S)(N,Y),onToggleYearPicker:N=>i(b)(Y,N?.flow,N?.show)}),ot({_:2},[Fe(i(s),(N,re)=>({name:N,fn:De(V=>[ie(L.$slots,N,Ze(it(V)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),ge("div",Fu,[(T(!0),z(ke,null,Fe(i(p)(Y),(N,re)=>(T(),z("div",{key:re},[ge("button",{type:"button",class:xe(["dp--qr-btn",{"dp--qr-btn-active":N.active,"dp--qr-btn-between":N.isBetween,"dp--qr-btn-disabled":N.disabled,"dp--highlighted":N.highlighted}]),"data-test-id":N.value,disabled:N.disabled,onClick:V=>i(M)(N.value,Y,N.disabled),onMouseover:V=>i(R)(N.value)},[L.$slots.quarter?ie(L.$slots,"quarter",{key:0,value:N.value,text:N.text}):(T(),z(ke,{key:1},[Rt(lt(N.text),1)],64))],42,Bu)]))),128))])],4)]),_:3},8,["multi-calendars","collapse","is-mobile"]))}}),Wr=(e,t)=>{const n=K(0);at(()=>{a(),window.addEventListener("resize",a,{passive:!0})}),ia(()=>{window.removeEventListener("resize",a)});const a=()=>{n.value=window.document.documentElement.clientWidth};return{isMobile:j(()=>n.value<=e.value.mobileBreakpoint&&!t?!0:void 0)}},Hu=["id","tabindex","role","aria-label"],Vu={key:0,class:"dp--menu-load-container"},Wu={key:1,class:"dp--menu-header"},zu=["data-dp-mobile"],qu={key:0,class:"dp__sidebar_left"},Uu=["data-dp-mobile"],Qu=["data-test-id","data-dp-mobile","onClick","onKeydown"],ju={key:2,class:"dp__sidebar_right"},Gu={key:3,class:"dp__action_extra"},Zn=tt({compatConfig:{MODE:3},__name:"DatepickerMenu",props:{...Ia,shadow:{type:Boolean,default:!1},openOnTop:{type:Boolean,default:!1},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},emits:["close-picker","select-date","auto-apply","time-update","flow-step","update-month-year","invalid-select","update:internal-model-value","recalculate-position","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","auto-apply-invalid","date-update","invalid-date","overlay-toggle","menu-blur"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=K(null),s=j(()=>{const{openOnTop:g,...le}=r;return{...le,isMobile:M.value,flowStep:ye.value,menuWrapRef:o.value}}),{setMenuFocused:c,setShiftKey:d,control:P}=Ir(),v=Kt(),{defaultedTextInput:m,defaultedInline:p,defaultedConfig:x,defaultedUI:A,handleEventPropagation:R}=Be(r),{isMobile:M}=Wr(x,r.shadow),b=K(null),S=K(0),C=K(null),L=K(!1),U=K(null),Y=K(!1),N=g=>{Y.value=!0,x.value.allowPreventDefault&&g.preventDefault(),Bt(g,x.value,!0)};at(()=>{if(!r.shadow){L.value=!0,re(),window.addEventListener("resize",re);const g=je(o);g&&!m.value.enabled&&!p.value.enabled&&(c(!0),ee()),g&&(g.addEventListener("pointerdown",N),g.addEventListener("mousedown",N))}document.addEventListener("mousedown",We)}),ia(()=>{window.removeEventListener("resize",re),document.removeEventListener("mousedown",We);const g=je(o);g&&(g.removeEventListener("pointerdown",N),g.removeEventListener("mousedown",N))});const re=()=>{const g=je(C);g&&(S.value=g.getBoundingClientRect().width)},{arrowRight:V,arrowLeft:I,arrowDown:se,arrowUp:ce}=Vt(),{flowStep:ye,updateFlowStep:y,childMount:D,resetFlow:h,handleFlow:H}=ei(r,a,U),J=j(()=>r.monthPicker?ru:r.yearPicker?ou:r.timePicker?bu:r.quarterPicker?Lu:Iu),E=j(()=>{var g;if(x.value.arrowLeft)return x.value.arrowLeft;const le=(g=o.value)==null?void 0:g.getBoundingClientRect(),$e=r.getInputRect();return $e?.width=(le?.right??0)&&$e?.width{const g=je(o);g&&g.focus({preventScroll:!0})},O=j(()=>{var g;return((g=U.value)==null?void 0:g.getSidebarProps())||{}}),de=()=>{r.openOnTop&&a("recalculate-position")},f=ct(v,"action"),k=j(()=>r.monthPicker||r.yearPicker?ct(v,"monthYear"):r.timePicker?ct(v,"timePicker"):ct(v,"shared")),F=j(()=>r.openOnTop?"dp__arrow_bottom":"dp__arrow_top"),W=j(()=>({dp__menu_disabled:r.disabled,dp__menu_readonly:r.readonly,"dp-menu-loading":r.loading})),l=j(()=>({dp__menu:!0,dp__menu_index:!p.value.enabled,dp__relative:p.value.enabled,...A.value.menu??{}})),_=g=>{Bt(g,x.value,!0)},oe=g=>{r.escClose&&(a("close-picker"),R(g))},Ye=g=>{if(r.arrowNavigation){if(g===st.up)return ce();if(g===st.down)return se();if(g===st.left)return I();if(g===st.right)return V()}else g===st.left||g===st.up?u("handleArrow",st.left,0,g===st.up):u("handleArrow",st.right,0,g===st.down)},$=g=>{d(g.shiftKey),!r.disableMonthYearSelect&&g.code===Ee.tab&&g.target.classList.contains("dp__menu")&&P.value.shiftKeyInMenu&&(g.preventDefault(),Bt(g,x.value,!0),a("close-picker"))},we=()=>{ee(),a("time-picker-close")},Q=g=>{var le,$e,Ge;(le=U.value)==null||le.toggleTimePicker(!1,!1),($e=U.value)==null||$e.toggleMonthPicker(!1,!1,g),(Ge=U.value)==null||Ge.toggleYearPicker(!1,!1,g)},te=(g,le=0)=>{var $e,Ge,Dt;return g==="month"?($e=U.value)==null?void 0:$e.toggleMonthPicker(!1,!0,le):g==="year"?(Ge=U.value)==null?void 0:Ge.toggleYearPicker(!1,!0,le):g==="time"?(Dt=U.value)==null?void 0:Dt.toggleTimePicker(!0,!1):Q(le)},u=(g,...le)=>{var $e,Ge;($e=U.value)!=null&&$e[g]&&((Ge=U.value)==null||Ge[g](...le))},Z=()=>{u("selectCurrentDate")},ae=(g,le)=>{u("presetDate",Gr(g),le)},ne=()=>{u("clearHoverDate")},Me=(g,le)=>{u("updateMonthYear",g,le)},be=(g,le)=>{g.preventDefault(),Ye(le)},Ce=g=>{var le,$e,Ge;if($(g),g.key===Ee.home||g.key===Ee.end)return u("selectWeekDate",g.key===Ee.home,g.target.getAttribute("id"));switch((g.key===Ee.pageUp||g.key===Ee.pageDown)&&(g.shiftKey?(u("changeYear",g.key===Ee.pageUp),(le=dn(o.value,"overlay-year"))==null||le.focus()):(u("changeMonth",g.key===Ee.pageUp),($e=dn(o.value,g.key===Ee.pageUp?"action-prev":"action-next"))==null||$e.focus()),g.target.getAttribute("id")&&((Ge=o.value)==null||Ge.focus({preventScroll:!0}))),g.key){case Ee.esc:return oe(g);case Ee.arrowLeft:return be(g,st.left);case Ee.arrowRight:return be(g,st.right);case Ee.arrowUp:return be(g,st.up);case Ee.arrowDown:return be(g,st.down);default:return}},We=g=>{var le;p.value.enabled&&!p.value.input&&!((le=o.value)!=null&&le.contains(g.target))&&Y.value&&(Y.value=!1,a("menu-blur"))};return t({updateMonthYear:Me,switchView:te,handleFlow:H,onValueCleared:()=>{var g,le;(le=(g=U.value)==null?void 0:g.setStartTime)==null||le.call(g)}}),(g,le)=>{var $e,Ge,Dt;return T(),z("div",{id:g.uid?`dp-menu-${g.uid}`:void 0,ref_key:"dpMenuRef",ref:o,tabindex:i(p).enabled?void 0:"0",role:i(p).enabled?void 0:"dialog","aria-label":($e=g.ariaLabels)==null?void 0:$e.menu,class:xe(l.value),style:pt({"--dp-arrow-left":E.value}),onMouseleave:ne,onClick:_,onKeydown:Ce},[(g.disabled||g.readonly)&&i(p).enabled||g.loading?(T(),z("div",{key:0,class:xe(W.value)},[g.loading?(T(),z("div",Vu,le[19]||(le[19]=[ge("span",{class:"dp--menu-loader"},null,-1)]))):G("",!0)],2)):G("",!0),g.$slots["menu-header"]?(T(),z("div",Wu,[ie(g.$slots,"menu-header")])):G("",!0),!i(p).enabled&&!g.teleportCenter?(T(),z("div",{key:2,class:xe(F.value)},null,2)):G("",!0),ge("div",{ref_key:"innerMenuRef",ref:C,class:xe({dp__menu_content_wrapper:((Ge=g.presetDates)==null?void 0:Ge.length)||!!g.$slots["left-sidebar"]||!!g.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(((Dt=g.presetDates)==null?void 0:Dt.length)||!!g.$slots["left-sidebar"]||!!g.$slots["right-sidebar"])}),"data-dp-mobile":i(M),style:pt({"--dp-menu-width":`${S.value}px`})},[g.$slots["left-sidebar"]?(T(),z("div",qu,[ie(g.$slots,"left-sidebar",Ze(it(O.value)))])):G("",!0),g.presetDates.length?(T(),z("div",{key:1,class:xe({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0}),"data-dp-mobile":i(M)},[(T(!0),z(ke,null,Fe(g.presetDates,(ve,Ke)=>(T(),z(ke,{key:Ke},[ve.slot?ie(g.$slots,ve.slot,{key:0,presetDate:ae,label:ve.label,value:ve.value}):(T(),z("button",{key:1,type:"button",style:pt(ve.style||{}),class:xe(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test-id":ve.testId??void 0,"data-dp-mobile":i(M),onClick:ga(xt=>ae(ve.value,ve.noTz),["prevent"]),onKeydown:xt=>i(ut)(xt,()=>ae(ve.value,ve.noTz),!0)},lt(ve.label),47,Qu))],64))),128))],10,Uu)):G("",!0),ge("div",{ref_key:"calendarWrapperRef",ref:b,class:"dp__instance_calendar",role:"document"},[(T(),Oe(Na(J.value),Je({ref_key:"dynCmpRef",ref:U},s.value,{"flow-step":i(ye),onMount:i(D),onUpdateFlowStep:i(y),onResetFlow:i(h),onFocusMenu:ee,onSelectDate:le[0]||(le[0]=ve=>g.$emit("select-date")),onDateUpdate:le[1]||(le[1]=ve=>g.$emit("date-update",ve)),onTooltipOpen:le[2]||(le[2]=ve=>g.$emit("tooltip-open",ve)),onTooltipClose:le[3]||(le[3]=ve=>g.$emit("tooltip-close",ve)),onAutoApply:le[4]||(le[4]=ve=>g.$emit("auto-apply",ve)),onRangeStart:le[5]||(le[5]=ve=>g.$emit("range-start",ve)),onRangeEnd:le[6]||(le[6]=ve=>g.$emit("range-end",ve)),onInvalidFixedRange:le[7]||(le[7]=ve=>g.$emit("invalid-fixed-range",ve)),onTimeUpdate:le[8]||(le[8]=ve=>g.$emit("time-update")),onAmPmChange:le[9]||(le[9]=ve=>g.$emit("am-pm-change",ve)),onTimePickerOpen:le[10]||(le[10]=ve=>g.$emit("time-picker-open",ve)),onTimePickerClose:we,onRecalculatePosition:de,onUpdateMonthYear:le[11]||(le[11]=ve=>g.$emit("update-month-year",ve)),onAutoApplyInvalid:le[12]||(le[12]=ve=>g.$emit("auto-apply-invalid",ve)),onInvalidDate:le[13]||(le[13]=ve=>g.$emit("invalid-date",ve)),onOverlayToggle:le[14]||(le[14]=ve=>g.$emit("overlay-toggle",ve)),"onUpdate:internalModelValue":le[15]||(le[15]=ve=>g.$emit("update:internal-model-value",ve))}),ot({_:2},[Fe(k.value,(ve,Ke)=>({name:ve,fn:De(xt=>[ie(g.$slots,ve,Ze(it({...xt})))])}))]),1040,["flow-step","onMount","onUpdateFlowStep","onResetFlow"]))],512),g.$slots["right-sidebar"]?(T(),z("div",ju,[ie(g.$slots,"right-sidebar",Ze(it(O.value)))])):G("",!0),g.$slots["action-extra"]?(T(),z("div",Gu,[g.$slots["action-extra"]?ie(g.$slots,"action-extra",{key:0,selectCurrentDate:Z}):G("",!0)])):G("",!0)],14,zu),!g.autoApply||i(x).keepActionRow?(T(),Oe(Gs,Je({key:3,"menu-mount":L.value},s.value,{"calendar-width":S.value,onClosePicker:le[16]||(le[16]=ve=>g.$emit("close-picker")),onSelectDate:le[17]||(le[17]=ve=>g.$emit("select-date")),onInvalidSelect:le[18]||(le[18]=ve=>g.$emit("invalid-select")),onSelectNow:Z}),ot({_:2},[Fe(i(f),(ve,Ke)=>({name:ve,fn:De(xt=>[ie(g.$slots,ve,Ze(it({...xt})))])}))]),1040,["menu-mount","calendar-width"])):G("",!0)],46,Hu)}}});var ea=(e=>(e.center="center",e.left="left",e.right="right",e))(ea||{});const Ku=({menuRef:e,menuRefInner:t,inputRef:n,pickerWrapperRef:a,inline:r,emit:o,props:s,slots:c})=>{const{defaultedConfig:d}=Be(s),P=K({}),v=K(!1),m=K({top:"0",left:"0"}),p=K(!1),x=ha(s,"teleportCenter");yt(x,()=>{m.value=JSON.parse(JSON.stringify({})),U()});const A=h=>{if(s.teleport){const H=h.getBoundingClientRect();return{left:H.left+window.scrollX,top:H.top+window.scrollY}}return{top:0,left:0}},R=(h,H)=>{m.value.left=`${h+H-P.value.width}px`},M=h=>{m.value.left=`${h}px`},b=(h,H)=>{s.position===ea.left&&M(h),s.position===ea.right&&R(h,H),s.position===ea.center&&(m.value.left=`${h+H/2-P.value.width/2}px`)},S=h=>{const{width:H,height:J}=h.getBoundingClientRect(),{top:E,left:ee}=A(h);return{top:+E,left:+ee,width:H,height:J}},C=()=>{m.value.left="50%",m.value.top="50%",m.value.transform="translate(-50%, -50%)",m.value.position="fixed",delete m.value.opacity},L=()=>{const h=je(n);m.value=s.altPosition(h)},U=(h=!0)=>{var H;if(!r.value.enabled){if(x.value)return C();if(s.altPosition!==null)return L();if(h){const J=s.teleport?(H=t.value)==null?void 0:H.$el:e.value;J&&(P.value=J.getBoundingClientRect()),o("recalculate-position")}return ce()}},Y=({inputEl:h,left:H,width:J})=>{window.screen.width>768&&!v.value&&b(H,J),V(h)},N=h=>{const{top:H,left:J,height:E,width:ee}=S(h);m.value.top=`${E+H+ +s.offset}px`,p.value=!1,v.value||(m.value.left=`${J+ee/2-P.value.width/2}px`),Y({inputEl:h,left:J,width:ee})},re=h=>{const{top:H,left:J,width:E}=S(h);m.value.top=`${H-+s.offset-P.value.height}px`,p.value=!0,Y({inputEl:h,left:J,width:E})},V=h=>{if(s.autoPosition){const{left:H,width:J}=S(h),{left:E,right:ee}=P.value;if(!v.value){if(Math.abs(E)!==Math.abs(ee)){if(E<=0)return v.value=!0,M(H);if(ee>=document.documentElement.clientWidth)return v.value=!0,R(H,J)}return b(H,J)}}},I=()=>{const h=je(n);if(h){if(s.autoPosition===gt.top)return gt.top;if(s.autoPosition===gt.bottom)return gt.bottom;const{height:H}=P.value,{top:J,height:E}=h.getBoundingClientRect(),ee=window.innerHeight-J-E,O=J;return H<=ee?gt.bottom:H>ee&&H<=O?gt.top:ee>=O?gt.bottom:gt.top}return gt.bottom},se=h=>I()===gt.bottom?N(h):re(h),ce=()=>{const h=je(n);if(h)return s.autoPosition?se(h):N(h)},ye=function(h){if(h){const H=h.scrollHeight>h.clientHeight,J=window.getComputedStyle(h).overflowY.indexOf("hidden")!==-1;return H&&!J}return!0},y=function(h){return!h||h===document.body||h.nodeType===Node.DOCUMENT_FRAGMENT_NODE?window:ye(h)?h:y(h.assignedSlot&&d.value.shadowDom?h.assignedSlot.parentNode:h.parentNode)},D=h=>{if(h)switch(s.position){case ea.left:return{left:0,transform:"translateX(0)"};case ea.right:return{left:`${h.width}px`,transform:"translateX(-100%)"};default:return{left:`${h.width/2}px`,transform:"translateX(-50%)"}}return{}};return{openOnTop:p,menuStyle:m,xCorrect:v,setMenuPosition:U,getScrollableParent:y,shadowRender:(h,H,J)=>{var E,ee,O;const de=document.createElement("div"),f=(E=je(n))==null?void 0:E.getBoundingClientRect();de.setAttribute("id","dp--temp-container");const k=(ee=a.value)!=null&&ee.clientWidth?a.value:document.body;k.append(de);const F=D(f),W=d.value.shadowDom?Object.keys(c).filter(_=>["right-sidebar","left-sidebar","top-extra","action-extra"].includes(_)):Object.keys(c),l=jr(H,{...J,shadow:!0,style:{opacity:0,position:"absolute",...F}},Object.fromEntries(W.map(_=>[_,c[_]])));h!=null&&(l.appContext=h.appContext),Cn(l,de),P.value=(O=l.el)==null?void 0:O.getBoundingClientRect(),Cn(null,de),k.removeChild(de)}}},Et=[{name:"clock-icon",use:["time","calendar","shared"]},{name:"arrow-left",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-right",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-up",use:["time","calendar","month-year","shared"]},{name:"arrow-down",use:["time","calendar","month-year","shared"]},{name:"calendar-icon",use:["month-year","time","calendar","shared","year-mode"]},{name:"day",use:["calendar","shared"]},{name:"month-overlay-value",use:["calendar","month-year","shared"]},{name:"year-overlay-value",use:["calendar","month-year","shared","year-mode"]},{name:"year-overlay",use:["month-year","shared"]},{name:"month-overlay",use:["month-year","shared"]},{name:"month-overlay-header",use:["month-year","shared"]},{name:"year-overlay-header",use:["month-year","shared"]},{name:"hours-overlay-value",use:["calendar","time","shared"]},{name:"hours-overlay-header",use:["calendar","time","shared"]},{name:"minutes-overlay-value",use:["calendar","time","shared"]},{name:"minutes-overlay-header",use:["calendar","time","shared"]},{name:"seconds-overlay-value",use:["calendar","time","shared"]},{name:"seconds-overlay-header",use:["calendar","time","shared"]},{name:"hours",use:["calendar","time","shared"]},{name:"minutes",use:["calendar","time","shared"]},{name:"month",use:["calendar","month-year","shared"]},{name:"year",use:["calendar","month-year","shared","year-mode"]},{name:"action-buttons",use:["action"]},{name:"action-preview",use:["action"]},{name:"calendar-header",use:["calendar","shared"]},{name:"marker-tooltip",use:["calendar","shared"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["calendar","time","shared"]},{name:"am-pm-button",use:["calendar","time","shared"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["month-year","shared"]},{name:"time-picker",use:["menu","shared"]},{name:"action-row",use:["action"]},{name:"marker",use:["calendar","shared"]},{name:"quarter",use:["shared"]},{name:"top-extra",use:["shared","month-year"]},{name:"tp-inline-arrow-up",use:["shared","time"]},{name:"tp-inline-arrow-down",use:["shared","time"]},{name:"menu-header",use:["menu"]}],Xu=[{name:"trigger"},{name:"input-icon"},{name:"clear-icon"},{name:"dp-input"}],Zu={all:()=>Et,monthYear:()=>Et.filter(e=>e.use.includes("month-year")),input:()=>Xu,timePicker:()=>Et.filter(e=>e.use.includes("time")),action:()=>Et.filter(e=>e.use.includes("action")),calendar:()=>Et.filter(e=>e.use.includes("calendar")),menu:()=>Et.filter(e=>e.use.includes("menu")),shared:()=>Et.filter(e=>e.use.includes("shared")),yearMode:()=>Et.filter(e=>e.use.includes("year-mode"))},ct=(e,t,n)=>{const a=[];return Zu[t]().forEach(r=>{e[r.name]&&a.push(r.name)}),n!=null&&n.length&&n.forEach(r=>{r.slot&&a.push(r.slot)}),a},Ma=e=>{const t=j(()=>a=>e.value?a?e.value.open:e.value.close:""),n=j(()=>a=>e.value?a?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},Pa=(e,t,n)=>{const{defaultedRange:a,defaultedTz:r}=Be(e),o=q(dt(q(),r.value.timezone)),s=K([{month:Pe(o),year:he(o)}]),c=p=>{const x={hours:St(o),minutes:Ht(o),seconds:0};return a.value.enabled?[x[p],x[p]]:x[p]},d=ka({hours:c("hours"),minutes:c("minutes"),seconds:c("seconds")});yt(a,(p,x)=>{p.enabled!==x.enabled&&(d.hours=c("hours"),d.minutes=c("minutes"),d.seconds=c("seconds"))},{deep:!0});const P=j({get:()=>e.internalModelValue,set:p=>{!e.readonly&&!e.disabled&&t("update:internal-model-value",p)}}),v=j(()=>p=>s.value[p]?s.value[p].month:0),m=j(()=>p=>s.value[p]?s.value[p].year:0);return yt(P,(p,x)=>{n&&JSON.stringify(p??{})!==JSON.stringify(x??{})&&n()},{deep:!0}),{calendars:s,time:d,modelValue:P,month:v,year:m,today:o}},Ju=(e,t)=>{const{defaultedMultiCalendars:n,defaultedMultiDates:a,defaultedUI:r,defaultedHighlight:o,defaultedTz:s,propDates:c,defaultedRange:d}=Be(t),{isDisabled:P}=Wt(t),v=K(null),m=K(dt(new Date,s.value.timezone)),p=l=>{!l.current&&t.hideOffsetDates||(v.value=l.value)},x=()=>{v.value=null},A=l=>Array.isArray(e.value)&&d.value.enabled&&e.value[0]&&v.value?l?qe(v.value,e.value[0]):He(v.value,e.value[0]):!0,R=(l,_)=>{const oe=()=>e.value?_?e.value[0]||null:e.value[1]:null,Ye=e.value&&Array.isArray(e.value)?oe():null;return Te(q(l.value),Ye)},M=l=>{const _=Array.isArray(e.value)?e.value[0]:null;return l?!He(v.value??null,_):!0},b=(l,_=!0)=>(d.value.enabled||t.weekPicker)&&Array.isArray(e.value)&&e.value.length===2?t.hideOffsetDates&&!l.current?!1:Te(q(l.value),e.value[_?0:1]):d.value.enabled?R(l,_)&&M(_)||Te(l.value,Array.isArray(e.value)?e.value[0]:null)&&A(_):!1,S=(l,_)=>{if(Array.isArray(e.value)&&e.value[0]&&e.value.length===1){const oe=Te(l.value,v.value);return _?qe(e.value[0],l.value)&&oe:He(e.value[0],l.value)&&oe}return!1},C=l=>!e.value||t.hideOffsetDates&&!l.current?!1:d.value.enabled?t.modelAuto&&Array.isArray(e.value)?Te(l.value,e.value[0]?e.value[0]:m.value):!1:a.value.enabled&&Array.isArray(e.value)?e.value.some(_=>Te(_,l.value)):Te(l.value,e.value?e.value:m.value),L=l=>{if(d.value.autoRange||t.weekPicker){if(v.value){if(t.hideOffsetDates&&!l.current)return!1;const _=ft(v.value,+d.value.autoRange),oe=Yt(q(v.value),t.weekStart);return t.weekPicker?Te(oe[1],q(l.value)):Te(_,q(l.value))}return!1}return!1},U=l=>{if(d.value.autoRange||t.weekPicker){if(v.value){const _=ft(v.value,+d.value.autoRange);if(t.hideOffsetDates&&!l.current)return!1;const oe=Yt(q(v.value),t.weekStart);return t.weekPicker?qe(l.value,oe[0])&&He(l.value,oe[1]):qe(l.value,v.value)&&He(l.value,_)}return!1}return!1},Y=l=>{if(d.value.autoRange||t.weekPicker){if(v.value){if(t.hideOffsetDates&&!l.current)return!1;const _=Yt(q(v.value),t.weekStart);return t.weekPicker?Te(_[0],l.value):Te(v.value,l.value)}return!1}return!1},N=l=>_a(e.value,v.value,l.value),re=()=>t.modelAuto&&Array.isArray(t.internalModelValue)?!!t.internalModelValue[0]:!1,V=()=>t.modelAuto?xr(t.internalModelValue):!0,I=l=>{if(t.weekPicker)return!1;const _=d.value.enabled?!b(l)&&!b(l,!1):!0;return!P(l.value)&&!C(l)&&!(!l.current&&t.hideOffsetDates)&&_},se=l=>d.value.enabled?t.modelAuto?re()&&C(l):!1:C(l),ce=l=>o.value?gs(l.value,c.value.highlight):!1,ye=l=>{const _=P(l.value);return _&&(typeof o.value=="function"?!o.value(l.value,_):!o.value.options.highlightDisabled)},y=l=>{var _;return typeof o.value=="function"?o.value(l.value):(_=o.value.weekdays)==null?void 0:_.includes(l.value.getDay())},D=l=>(d.value.enabled||t.weekPicker)&&(!(n.value.count>0)||l.current)&&V()&&!(!l.current&&t.hideOffsetDates)&&!C(l)?N(l):!1,h=l=>{if(Array.isArray(e.value)&&e.value.length===1){const{before:_,after:oe}=jn(+d.value.maxRange,e.value[0]);return la(l.value,_)||Gt(l.value,oe)}return!1},H=l=>{if(Array.isArray(e.value)&&e.value.length===1){const{before:_,after:oe}=jn(+d.value.minRange,e.value[0]);return _a([_,oe],e.value[0],l.value)}return!1},J=l=>d.value.enabled&&(d.value.maxRange||d.value.minRange)?d.value.maxRange&&d.value.minRange?h(l)||H(l):d.value.maxRange?h(l):H(l):!1,E=l=>{const{isRangeStart:_,isRangeEnd:oe}=f(l),Ye=d.value.enabled?_||oe:!1;return{dp__cell_offset:!l.current,dp__pointer:!t.disabled&&!(!l.current&&t.hideOffsetDates)&&!P(l.value)&&!J(l),dp__cell_disabled:P(l.value)||J(l),dp__cell_highlight:!ye(l)&&(ce(l)||y(l))&&!se(l)&&!Ye&&!Y(l)&&!(D(l)&&t.weekPicker)&&!oe,dp__cell_highlight_active:!ye(l)&&(ce(l)||y(l))&&se(l),dp__today:!t.noToday&&Te(l.value,m.value)&&l.current,"dp--past":He(l.value,m.value),"dp--future":qe(l.value,m.value)}},ee=l=>({dp__active_date:se(l),dp__date_hover:I(l)}),O=l=>{if(e.value&&!Array.isArray(e.value)){const _=Yt(e.value,t.weekStart);return{...F(l),dp__range_start:Te(_[0],l.value),dp__range_end:Te(_[1],l.value),dp__range_between_week:qe(l.value,_[0])&&He(l.value,_[1])}}return{...F(l)}},de=l=>{if(e.value&&Array.isArray(e.value)){const _=Yt(e.value[0],t.weekStart),oe=e.value[1]?Yt(e.value[1],t.weekStart):[];return{...F(l),dp__range_start:Te(_[0],l.value)||Te(oe[0],l.value),dp__range_end:Te(_[1],l.value)||Te(oe[1],l.value),dp__range_between_week:qe(l.value,_[0])&&He(l.value,_[1])||qe(l.value,oe[0])&&He(l.value,oe[1]),dp__range_between:qe(l.value,_[1])&&He(l.value,oe[0])}}return{...F(l)}},f=l=>{const _=n.value.count>0?l.current&&b(l)&&V():b(l)&&V(),oe=n.value.count>0?l.current&&b(l,!1)&&V():b(l,!1)&&V();return{isRangeStart:_,isRangeEnd:oe}},k=l=>{const{isRangeStart:_,isRangeEnd:oe}=f(l);return{dp__range_start:_,dp__range_end:oe,dp__range_between:D(l),dp__date_hover:Te(l.value,v.value)&&!_&&!oe&&!t.weekPicker,dp__date_hover_start:S(l,!0),dp__date_hover_end:S(l,!1)}},F=l=>({...k(l),dp__cell_auto_range:U(l),dp__cell_auto_range_start:Y(l),dp__cell_auto_range_end:L(l)}),W=l=>d.value.enabled?d.value.autoRange?F(l):t.modelAuto?{...ee(l),...k(l)}:t.weekPicker?de(l):k(l):t.weekPicker?O(l):ee(l);return{setHoverDate:p,clearHoverDate:x,getDayClassData:l=>t.hideOffsetDates&&!l.current?{}:{...E(l),...W(l),[t.dayClass?t.dayClass(l.value,t.internalModelValue):""]:!0,...r.value.calendarCell??{}}}},Wt=e=>{const{defaultedFilters:t,defaultedRange:n,propDates:a,defaultedMultiDates:r}=Be(e),o=y=>a.value.disabledDates?typeof a.value.disabledDates=="function"?a.value.disabledDates(q(y)):!!Sa(y,a.value.disabledDates):!1,s=y=>a.value.maxDate?e.yearPicker?he(y)>he(a.value.maxDate):qe(y,a.value.maxDate):!1,c=y=>a.value.minDate?e.yearPicker?he(y){const D=s(y),h=c(y),H=o(y),J=t.value.months.map(f=>+f).includes(Pe(y)),E=e.disabledWeekDays.length?e.disabledWeekDays.some(f=>+f===ro(y)):!1,ee=x(y),O=he(y),de=O<+e.yearRange[0]||O>+e.yearRange[1];return!(D||h||H||J||de||E||ee)},P=(y,D)=>He(...Ft(a.value.minDate,y,D))||Te(...Ft(a.value.minDate,y,D)),v=(y,D)=>qe(...Ft(a.value.maxDate,y,D))||Te(...Ft(a.value.maxDate,y,D)),m=(y,D,h)=>{let H=!1;return a.value.maxDate&&h&&v(y,D)&&(H=!0),a.value.minDate&&!h&&P(y,D)&&(H=!0),H},p=(y,D,h,H)=>{let J=!1;return H&&(a.value.minDate||a.value.maxDate)?a.value.minDate&&a.value.maxDate?J=m(y,D,h):(a.value.minDate&&P(y,D)||a.value.maxDate&&v(y,D))&&(J=!0):J=!0,J},x=y=>Array.isArray(a.value.allowedDates)&&!a.value.allowedDates.length?!0:a.value.allowedDates?!Sa(y,a.value.allowedDates,Tr(e.monthPicker,e.yearPicker)):!1,A=y=>!d(y),R=y=>n.value.noDisabledRange?!or({start:y[0],end:y[1]}).some(D=>A(D)):!0,M=y=>{if(y){const D=he(y);return D>=+e.yearRange[0]&&D<=e.yearRange[1]}return!0},b=(y,D)=>!!(Array.isArray(y)&&y[D]&&(n.value.maxRange||n.value.minRange)&&M(y[D])),S=(y,D,h=0)=>{if(b(D,h)&&M(y)){const H=nr(y,D[h]),J=Yr(D[h],y),E=J.length===1?0:J.filter(O=>A(O)).length,ee=Math.abs(H)-(n.value.minMaxRawRange?0:E);if(n.value.minRange&&n.value.maxRange)return ee>=+n.value.minRange&&ee<=+n.value.maxRange;if(n.value.minRange)return ee>=+n.value.minRange;if(n.value.maxRange)return ee<=+n.value.maxRange}return!0},C=()=>!e.enableTimePicker||e.monthPicker||e.yearPicker||e.ignoreTimeValidation,L=y=>Array.isArray(y)?[y[0]?Za(y[0]):null,y[1]?Za(y[1]):null]:Za(y),U=(y,D,h)=>y.find(H=>+H.hours===St(D)&&H.minutes==="*"?!0:+H.minutes===Ht(D)&&+H.hours===St(D))&&h,Y=(y,D,h)=>{const[H,J]=y,[E,ee]=D;return!U(H,E,h)&&!U(J,ee,h)&&h},N=(y,D)=>{const h=Array.isArray(D)?D:[D];return Array.isArray(e.disabledTimes)?Array.isArray(e.disabledTimes[0])?Y(e.disabledTimes,h,y):!h.some(H=>U(e.disabledTimes,H,y)):y},re=(y,D)=>{const h=Array.isArray(D)?[jt(D[0]),D[1]?jt(D[1]):void 0]:jt(D),H=!e.disabledTimes(h);return y&&H},V=(y,D)=>e.disabledTimes?Array.isArray(e.disabledTimes)?N(D,y):re(D,y):D,I=y=>{let D=!0;if(!y||C())return!0;const h=!a.value.minDate&&!a.value.maxDate?L(y):y;return(e.maxTime||a.value.maxDate)&&(D=Qn(e.maxTime,a.value.maxDate,"max",Xe(h),D)),(e.minTime||a.value.minDate)&&(D=Qn(e.minTime,a.value.minDate,"min",Xe(h),D)),V(y,D)},se=y=>{if(!e.monthPicker)return!0;let D=!0;const h=q(wt(y));if(a.value.minDate&&a.value.maxDate){const H=q(wt(a.value.minDate)),J=q(wt(a.value.maxDate));return qe(h,H)&&He(h,J)||Te(h,H)||Te(h,J)}if(a.value.minDate){const H=q(wt(a.value.minDate));D=qe(h,H)||Te(h,H)}if(a.value.maxDate){const H=q(wt(a.value.maxDate));D=He(h,H)||Te(h,H)}return D},ce=j(()=>y=>!e.enableTimePicker||e.ignoreTimeValidation?!0:I(y)),ye=j(()=>y=>e.monthPicker?Array.isArray(y)&&(n.value.enabled||r.value.enabled)?!y.filter(D=>!se(D)).length:se(y):!0);return{isDisabled:A,validateDate:d,validateMonthYearInRange:p,isDateRangeAllowed:R,checkMinMaxRange:S,isValidTime:I,isTimeValid:ce,isMonthValid:ye}},Ba=()=>{const e=j(()=>(a,r)=>a?.includes(r)),t=j(()=>(a,r)=>a.count?a.solo?!0:r===0:!0),n=j(()=>(a,r)=>a.count?a.solo?!0:r===a.count-1:!0);return{hideNavigationButtons:e,showLeftIcon:t,showRightIcon:n}},ei=(e,t,n)=>{const a=K(0),r=ka({[Qt.timePicker]:!e.enableTimePicker||e.timePicker||e.monthPicker,[Qt.calendar]:!1,[Qt.header]:!1}),o=j(()=>e.monthPicker||e.timePicker),s=m=>{var p;if((p=e.flow)!=null&&p.length){if(!m&&o.value)return v();r[m]=!0,Object.keys(r).filter(x=>!r[x]).length||v()}},c=()=>{var m,p;(m=e.flow)!=null&&m.length&&a.value!==-1&&(a.value+=1,t("flow-step",a.value),v()),((p=e.flow)==null?void 0:p.length)===a.value&&mt().then(()=>d())},d=()=>{a.value=-1},P=(m,p,...x)=>{var A,R;e.flow[a.value]===m&&n.value&&((R=(A=n.value)[p])==null||R.call(A,...x))},v=(m=0)=>{m&&(a.value+=m),P(rt.month,"toggleMonthPicker",!0),P(rt.year,"toggleYearPicker",!0),P(rt.calendar,"toggleTimePicker",!1,!0),P(rt.time,"toggleTimePicker",!0,!0);const p=e.flow[a.value];(p===rt.hours||p===rt.minutes||p===rt.seconds)&&P(p,"toggleTimePicker",!0,!0,p)};return{childMount:s,updateFlowStep:c,resetFlow:d,handleFlow:v,flowStep:a}},ti={key:1,class:"dp__input_wrap"},ai=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-label","aria-disabled","aria-invalid"],ni={key:2,class:"dp--clear-btn"},ri=["aria-label"],li=tt({compatConfig:{MODE:3},__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1},inputValue:{type:String,default:""},...Ia},emits:["clear","open","update:input-value","set-input-date","close","select-date","set-empty-date","toggle","focus-prev","focus","blur","real-blur","text-input"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaultedTextInput:o,defaultedAriaLabels:s,defaultedInline:c,defaultedConfig:d,defaultedRange:P,defaultedMultiDates:v,defaultedUI:m,getDefaultPattern:p,getDefaultStartTime:x}=Be(r),{checkMinMaxRange:A}=Wt(r),R=K(),M=K(null),b=K(!1),S=K(!1),C=j(()=>({dp__pointer:!r.disabled&&!r.readonly&&!o.value.enabled,dp__disabled:r.disabled,dp__input_readonly:!o.value.enabled,dp__input:!0,dp__input_icon_pad:!r.hideInputIcon,dp__input_valid:typeof r.state=="boolean"?r.state:!1,dp__input_invalid:typeof r.state=="boolean"?!r.state:!1,dp__input_focus:b.value||r.isMenuOpen,dp__input_reg:!o.value.enabled,...m.value.input??{}})),L=()=>{a("set-input-date",null),r.clearable&&r.autoApply&&(a("set-empty-date"),R.value=null)},U=O=>{const de=x();return bs(O,o.value.format??p(),de??Cr({},r.enableSeconds),r.inputValue,S.value,r.formatLocale)},Y=O=>{const{rangeSeparator:de}=o.value,[f,k]=O.split(`${de}`);if(f){const F=U(f.trim()),W=k?U(k.trim()):void 0;if(Gt(F,W))return;const l=F&&W?[F,W]:[F];A(W,l,0)&&(R.value=F?l:null)}},N=()=>{S.value=!0},re=O=>{if(P.value.enabled)Y(O);else if(v.value.enabled){const de=O.split(";");R.value=de.map(f=>U(f.trim())).filter(f=>f)}else R.value=U(O)},V=O=>{var de;const f=typeof O=="string"?O:(de=O.target)==null?void 0:de.value;f!==""?(o.value.openMenu&&!r.isMenuOpen&&a("open"),re(f),a("set-input-date",R.value)):L(),S.value=!1,a("update:input-value",f),a("text-input",O,R.value)},I=O=>{o.value.enabled?(re(O.target.value),o.value.enterSubmit&&cn(R.value)&&r.inputValue!==""?(a("set-input-date",R.value,!0),R.value=null):o.value.enterSubmit&&r.inputValue===""&&(R.value=null,a("clear"))):ye(O)},se=(O,de)=>{o.value.enabled&&o.value.tabSubmit&&!de&&re(O.target.value),o.value.tabSubmit&&cn(R.value)&&r.inputValue!==""?(a("set-input-date",R.value,!0,!0),R.value=null):o.value.tabSubmit&&r.inputValue===""&&(R.value=null,a("clear",!0))},ce=()=>{b.value=!0,a("focus"),mt().then(()=>{var O;o.value.enabled&&o.value.selectOnFocus&&((O=M.value)==null||O.select())})},ye=O=>{if(Bt(O,d.value,!0),o.value.enabled&&o.value.openMenu&&!c.value.input){if(o.value.openMenu==="open"&&!r.isMenuOpen)return a("open");if(o.value.openMenu==="toggle")return a("toggle")}else o.value.enabled||a("toggle")},y=()=>{a("real-blur"),b.value=!1,(!r.isMenuOpen||c.value.enabled&&c.value.input)&&a("blur"),r.autoApply&&o.value.enabled&&R.value&&!r.isMenuOpen&&(a("set-input-date",R.value),a("select-date"),R.value=null)},D=O=>{Bt(O,d.value,!0),a("clear")},h=()=>{a("close")},H=O=>{if(O.key==="Tab"&&se(O),O.key==="Enter"&&I(O),O.key==="Escape"&&o.value.escClose&&h(),!o.value.enabled){if(O.code==="Tab")return;O.preventDefault()}},J=()=>{var O;(O=M.value)==null||O.focus({preventScroll:!0})},E=O=>{R.value=O},ee=O=>{O.key===Ee.tab&&se(O,!0)};return t({focusInput:J,setParsedDate:E}),(O,de)=>{var f,k,F;return T(),z("div",{onClick:ye},[O.$slots.trigger&&!O.$slots["dp-input"]&&!i(c).enabled?ie(O.$slots,"trigger",{key:0}):G("",!0),!O.$slots.trigger&&(!i(c).enabled||i(c).input)?(T(),z("div",ti,[O.$slots["dp-input"]&&!O.$slots.trigger&&(!i(c).enabled||i(c).enabled&&i(c).input)?ie(O.$slots,"dp-input",{key:0,value:e.inputValue,isMenuOpen:e.isMenuOpen,onInput:V,onEnter:I,onTab:se,onClear:D,onBlur:y,onKeypress:H,onPaste:N,onFocus:ce,openMenu:()=>O.$emit("open"),closeMenu:()=>O.$emit("close"),toggleMenu:()=>O.$emit("toggle")}):G("",!0),O.$slots["dp-input"]?G("",!0):(T(),z("input",{key:1,id:O.uid?`dp-input-${O.uid}`:void 0,ref_key:"inputRef",ref:M,"data-test-id":"dp-input",name:O.name,class:xe(C.value),inputmode:i(o).enabled?"text":"none",placeholder:O.placeholder,disabled:O.disabled,readonly:O.readonly,required:O.required,value:e.inputValue,autocomplete:O.autocomplete,"aria-label":(f=i(s))==null?void 0:f.input,"aria-disabled":O.disabled||void 0,"aria-invalid":O.state===!1?!0:void 0,onInput:V,onBlur:y,onFocus:ce,onKeypress:H,onKeydown:de[0]||(de[0]=W=>H(W)),onPaste:N},null,42,ai)),ge("div",{onClick:de[3]||(de[3]=W=>a("toggle"))},[O.$slots["input-icon"]&&!O.hideInputIcon?(T(),z("span",{key:0,class:"dp__input_icon",onClick:de[1]||(de[1]=W=>a("toggle"))},[ie(O.$slots,"input-icon")])):G("",!0),!O.$slots["input-icon"]&&!O.hideInputIcon&&!O.$slots["dp-input"]?(T(),Oe(i(ca),{key:1,"aria-label":(k=i(s))==null?void 0:k.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:de[2]||(de[2]=W=>a("toggle"))},null,8,["aria-label"])):G("",!0)]),O.$slots["clear-icon"]&&(O.alwaysClearable||e.inputValue&&O.clearable&&!O.disabled&&!O.readonly)?(T(),z("span",ni,[ie(O.$slots,"clear-icon",{clear:D})])):G("",!0),!O.$slots["clear-icon"]&&(O.alwaysClearable||O.clearable&&e.inputValue&&!O.disabled&&!O.readonly)?(T(),z("button",{key:3,"aria-label":(F=i(s))==null?void 0:F.clearInput,class:"dp--clear-btn",type:"button",onKeydown:de[4]||(de[4]=W=>i(ut)(W,()=>D(W),!0,ee)),onClick:de[5]||(de[5]=ga(W=>D(W),["prevent"]))},[vt(i(kr),{class:"dp__input_icons","data-test-id":"clear-icon"})],40,ri)):G("",!0)])):G("",!0)])}}}),oi=typeof window<"u"?window:void 0,rn=()=>{},si=e=>Xr()?(Zr(e),!0):!1,ui=(e,t,n,a)=>{if(!e)return rn;let r=rn;const o=yt(()=>i(e),c=>{r(),c&&(c.removeEventListener(t,n),c.addEventListener(t,n,a),r=()=>{c.removeEventListener(t,n,a),r=rn})},{immediate:!0,flush:"post"}),s=()=>{o(),r()};return si(s),s},ii=(e,t,n,a={})=>{const{window:r=oi,event:o="pointerdown"}=a;return r?ui(r,o,s=>{const c=je(e),d=je(t);!c||!d||c===s.target||s.composedPath().includes(c)||s.composedPath().includes(d)||n(s)},{passive:!0}):void 0},di=["data-dp-mobile"],ci=tt({compatConfig:{MODE:3},__name:"VueDatePicker",props:{...Ia},emits:["update:model-value","update:model-timezone-value","text-submit","closed","cleared","open","focus","blur","internal-model-change","recalculate-position","flow-step","update-month-year","invalid-select","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","date-update","invalid-date","overlay-toggle","text-input"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Kt(),s=K(!1),c=ha(r,"modelValue"),d=ha(r,"timezone"),P=K(null),v=K(null),m=K(null),p=K(!1),x=K(null),A=K(!1),R=K(!1),M=K(!1),b=K(!1),{setMenuFocused:S,setShiftKey:C}=Ir(),{clearArrowNav:L}=Vt(),{validateDate:U,isValidTime:Y}=Wt(r),{defaultedTransitions:N,defaultedTextInput:re,defaultedInline:V,defaultedConfig:I,defaultedRange:se,defaultedMultiDates:ce}=Be(r),{menuTransition:ye,showTransition:y}=Ma(N),{isMobile:D}=Wr(I),h=Qr();at(()=>{l(r.modelValue),mt().then(()=>{if(!V.value.enabled){const B=f(x.value);B?.addEventListener("scroll",ae),window?.addEventListener("resize",ne)}}),V.value.enabled&&(s.value=!0),window?.addEventListener("keyup",Me),window?.addEventListener("keydown",be)}),ia(()=>{if(!V.value.enabled){const B=f(x.value);B?.removeEventListener("scroll",ae),window?.removeEventListener("resize",ne)}window?.removeEventListener("keyup",Me),window?.removeEventListener("keydown",be)});const H=ct(o,"all",r.presetDates),J=ct(o,"input");yt([c,d],()=>{l(c.value)},{deep:!0});const{openOnTop:E,menuStyle:ee,xCorrect:O,setMenuPosition:de,getScrollableParent:f,shadowRender:k}=Ku({menuRef:P,menuRefInner:v,inputRef:m,pickerWrapperRef:x,inline:V,emit:a,props:r,slots:o}),{inputValue:F,internalModelValue:W,parseExternalModelValue:l,emitModelValue:_,formatInputValue:oe,checkBeforeEmit:Ye}=qs(a,r,p),$=j(()=>({dp__main:!0,dp__theme_dark:r.dark,dp__theme_light:!r.dark,dp__flex_display:V.value.enabled,"dp--flex-display-collapsed":M.value,dp__flex_display_with_input:V.value.input})),we=j(()=>r.dark?"dp__theme_dark":"dp__theme_light"),Q=j(()=>r.teleport?{to:typeof r.teleport=="boolean"?"body":r.teleport,disabled:!r.teleport||V.value.enabled}:{}),te=j(()=>({class:"dp__outer_menu_wrap"})),u=j(()=>V.value.enabled&&(r.timePicker||r.monthPicker||r.yearPicker||r.quarterPicker)),Z=()=>{var B,ue;return((ue=(B=m.value)==null?void 0:B.$el)==null?void 0:ue.getBoundingClientRect())??{width:0,left:0,right:0}},ae=()=>{s.value&&(I.value.closeOnScroll?Ke():de())},ne=()=>{var B;s.value&&de();const ue=((B=v.value)==null?void 0:B.$el.getBoundingClientRect().width)??0;M.value=document.body.offsetWidth<=ue},Me=B=>{B.key==="Tab"&&!V.value.enabled&&!r.teleport&&I.value.tabOutClosesMenu&&(x.value.contains(document.activeElement)||Ke()),R.value=B.shiftKey},be=B=>{R.value=B.shiftKey},Ce=()=>{!r.disabled&&!r.readonly&&(k(h,Zn,r),de(!1),s.value=!0,s.value&&a("open"),s.value||ve(),l(r.modelValue))},We=()=>{var B,ue;F.value="",ve(),(B=v.value)==null||B.onValueCleared(),(ue=m.value)==null||ue.setParsedDate(null),a("update:model-value",null),a("update:model-timezone-value",null),a("cleared"),I.value.closeOnClearValue&&Ke()},g=()=>{const B=W.value;return!B||!Array.isArray(B)&&U(B)?!0:Array.isArray(B)?ce.value.enabled||B.length===2&&U(B[0])&&U(B[1])?!0:se.value.partialRange&&!r.timePicker?U(B[0]):!1:!1},le=()=>{Ye()&&g()?(_(),Ke()):a("invalid-select",W.value)},$e=B=>{Ge(),_(),I.value.closeOnAutoApply&&!B&&Ke()},Ge=()=>{m.value&&re.value.enabled&&m.value.setParsedDate(W.value)},Dt=(B=!1)=>{r.autoApply&&Y(W.value)&&g()&&(se.value.enabled&&Array.isArray(W.value)?(se.value.partialRange||W.value.length===2)&&$e(B):$e(B))},ve=()=>{re.value.enabled||(W.value=null)},Ke=(B=!1)=>{var ue,me;B&&W.value&&I.value.setDateOnMenuClose&&le(),V.value.enabled||(s.value&&(s.value=!1,O.value=!1,S(!1),C(!1),L(),a("closed"),F.value&&l(c.value)),ve(),a("blur"),(me=(ue=v.value)==null?void 0:ue.$el)==null||me.remove())},xt=(B,ue,me=!1)=>{if(!B){W.value=null;return}const At=Array.isArray(B)?!B.some(zt=>!U(zt)):U(B),Mt=Y(B);At&&Mt?(b.value=!0,W.value=B,ue?(A.value=me,le(),a("text-submit")):r.autoApply&&Dt(),mt().then(()=>{b.value=!1})):a("invalid-date",B)},La=()=>{r.autoApply&&Y(W.value)&&_(),Ge()},Ta=()=>s.value?Ke():Ce(),Ha=B=>{W.value=B},Va=()=>{re.value.enabled&&(p.value=!0,oe()),a("focus")},Wa=()=>{if(re.value.enabled&&(p.value=!1,l(r.modelValue),A.value)){const B=hs(x.value,R.value);B?.focus()}a("blur")},za=B=>{v.value&&v.value.updateMonthYear(0,{month:zn(B.month),year:zn(B.year)})},qa=B=>{l(B??r.modelValue)},w=(B,ue)=>{var me;(me=v.value)==null||me.switchView(B,ue)},X=(B,ue)=>I.value.onClickOutside?I.value.onClickOutside(B,ue):Ke(!0),fe=(B=0)=>{var ue;(ue=v.value)==null||ue.handleFlow(B)},_e=()=>P;return ii(P,m,B=>X(g,B)),t({closeMenu:Ke,selectDate:le,clearValue:We,openMenu:Ce,onScroll:ae,formatInputValue:oe,updateInternalModelValue:Ha,setMonthYear:za,parseModel:qa,switchView:w,toggleMenu:Ta,handleFlow:fe,getDpWrapMenuRef:_e}),(B,ue)=>(T(),z("div",{ref_key:"pickerWrapperRef",ref:x,class:xe($.value),"data-datepicker-instance":"","data-dp-mobile":i(D)},[vt(li,Je({ref_key:"inputRef",ref:m,"input-value":i(F),"onUpdate:inputValue":ue[0]||(ue[0]=me=>Yn(F)?F.value=me:null),"is-menu-open":s.value},B.$props,{onClear:We,onOpen:Ce,onSetInputDate:xt,onSetEmptyDate:i(_),onSelectDate:le,onToggle:Ta,onClose:Ke,onFocus:Va,onBlur:Wa,onRealBlur:ue[1]||(ue[1]=me=>p.value=!1),onTextInput:ue[2]||(ue[2]=me=>B.$emit("text-input",me))}),ot({_:2},[Fe(i(J),(me,At)=>({name:me,fn:De(Mt=>[ie(B.$slots,me,Ze(it(Mt)))])}))]),1040,["input-value","is-menu-open","onSetEmptyDate"]),(T(),Oe(Na(B.teleport?Ur:"div"),Ze(it(Q.value)),{default:De(()=>[vt(da,{name:i(ye)(i(E)),css:i(y)&&!i(V).enabled},{default:De(()=>[s.value?(T(),z("div",Je({key:0,ref_key:"dpWrapMenuRef",ref:P},te.value,{class:{"dp--menu-wrapper":!i(V).enabled},style:i(V).enabled?void 0:i(ee)}),[vt(Zn,Je({ref_key:"dpMenuRef",ref:v},B.$props,{"internal-model-value":i(W),"onUpdate:internalModelValue":ue[3]||(ue[3]=me=>Yn(W)?W.value=me:null),class:{[we.value]:!0,"dp--menu-wrapper":B.teleport},"open-on-top":i(E),"no-overlay-focus":u.value,collapse:M.value,"get-input-rect":Z,"is-text-input-date":b.value,onClosePicker:Ke,onSelectDate:le,onAutoApply:Dt,onTimeUpdate:La,onFlowStep:ue[4]||(ue[4]=me=>B.$emit("flow-step",me)),onUpdateMonthYear:ue[5]||(ue[5]=me=>B.$emit("update-month-year",me)),onInvalidSelect:ue[6]||(ue[6]=me=>B.$emit("invalid-select",i(W))),onAutoApplyInvalid:ue[7]||(ue[7]=me=>B.$emit("invalid-select",me)),onInvalidFixedRange:ue[8]||(ue[8]=me=>B.$emit("invalid-fixed-range",me)),onRecalculatePosition:i(de),onTooltipOpen:ue[9]||(ue[9]=me=>B.$emit("tooltip-open",me)),onTooltipClose:ue[10]||(ue[10]=me=>B.$emit("tooltip-close",me)),onTimePickerOpen:ue[11]||(ue[11]=me=>B.$emit("time-picker-open",me)),onTimePickerClose:ue[12]||(ue[12]=me=>B.$emit("time-picker-close",me)),onAmPmChange:ue[13]||(ue[13]=me=>B.$emit("am-pm-change",me)),onRangeStart:ue[14]||(ue[14]=me=>B.$emit("range-start",me)),onRangeEnd:ue[15]||(ue[15]=me=>B.$emit("range-end",me)),onDateUpdate:ue[16]||(ue[16]=me=>B.$emit("date-update",me)),onInvalidDate:ue[17]||(ue[17]=me=>B.$emit("invalid-date",me)),onOverlayToggle:ue[18]||(ue[18]=me=>B.$emit("overlay-toggle",me)),onMenuBlur:ue[19]||(ue[19]=me=>B.$emit("blur"))}),ot({_:2},[Fe(i(H),(me,At)=>({name:me,fn:De(Mt=>[ie(B.$slots,me,Ze(it({...Mt})))])}))]),1040,["internal-model-value","class","open-on-top","no-overlay-focus","collapse","is-text-input-date","onRecalculatePosition"])],16)):G("",!0)]),_:3},8,["name","css"])]),_:3},16))],10,di))}}),zr=(()=>{const e=ci;return e.install=t=>{t.component("Vue3DatePicker",e)},e})(),vi=Object.freeze(Object.defineProperty({__proto__:null,default:zr},Symbol.toStringTag,{value:"Module"}));Object.entries(vi).forEach(([e,t])=>{e!=="default"&&(zr[e]=t)});export{zr as Q}; +import{B as tt,a8 as Kt,r as K,a9 as ha,o as at,a0 as mt,Y as ia,H as yt,q as j,c as z,f as T,b as vt,j as Oe,aa as ot,i as Fe,w as De,ab as ie,ac as Ze,ad as it,u as i,ae as Je,af as Yn,d as G,k as da,l as Na,ag as Ur,n as xe,ah as Qr,J as ka,V as jr,ai as Cn,a as ge,a5 as ga,F as ke,s as pt,t as lt,O as Gr,aj as Kr,e as Rt,M as Xr,N as Zr,ak as Jr,m as Aa,al as Ya,E as el}from"./index-BimuIV8Z.js";const Jn=6048e5,tl=864e5,al=6e4,er=36e5,nl=1e3,Rn=Symbol.for("constructDateFrom");function Se(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Rn in e?e[Rn](t):e instanceof Date?new e.constructor(t):new Date(t)}function pe(e,t){return Se(t||e,e)}function ft(e,t,n){const a=pe(e,n?.in);return isNaN(t)?Se(n?.in||e,NaN):(t&&a.setDate(a.getDate()+t),a)}function bt(e,t,n){const a=pe(e,n?.in);if(isNaN(t))return Se(e,NaN);if(!t)return a;const r=a.getDate(),o=Se(e,a.getTime());o.setMonth(a.getMonth()+t+1,0);const s=o.getDate();return r>=s?o:(a.setFullYear(o.getFullYear(),o.getMonth(),r),a)}function tr(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:c=0,minutes:d=0,seconds:P=0}=t,v=pe(e,n?.in),m=r||a?bt(v,r+a*12):v,p=s||o?ft(m,s+o*7):m,x=d+c*60,R=(P+x*60)*1e3;return Se(e,+p+R)}function rl(e,t,n){return Se(e,+pe(e)+t)}function ll(e,t,n){return rl(e,t*er)}let ol={};function Xt(){return ol}function _t(e,t){const n=Xt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=pe(e,t?.in),o=r.getDay(),s=(o=o.getTime()?a+1:n.getTime()>=c.getTime()?a:a-1}function Ca(e){const t=pe(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Da(e,...t){const n=Se.bind(null,t.find(a=>typeof a=="object"));return t.map(n)}function Sn(e,t){const n=pe(e,t?.in);return n.setHours(0,0,0,0),n}function nr(e,t,n){const[a,r]=Da(n?.in,e,t),o=Sn(a),s=Sn(r),c=+o-Ca(o),d=+s-Ca(s);return Math.round((c-d)/tl)}function sl(e,t){const n=ar(e,t),a=Se(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),na(a)}function ul(e,t,n){return bt(e,t*3,n)}function mn(e,t,n){return bt(e,t*12,n)}function Nn(e,t){const n=+pe(e)-+pe(t);return n<0?-1:n>0?1:n}function rr(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function pa(e){return!(!rr(e)&&typeof e!="number"||isNaN(+pe(e)))}function In(e,t){const n=pe(e,t?.in);return Math.trunc(n.getMonth()/3)+1}function il(e,t,n){const[a,r]=Da(n?.in,e,t);return a.getFullYear()-r.getFullYear()}function dl(e,t,n){const[a,r]=Da(n?.in,e,t),o=Nn(a,r),s=Math.abs(il(a,r));a.setFullYear(1584),r.setFullYear(1584);const c=Nn(a,r)===-o,d=o*(s-+c);return d===0?0:d}function lr(e,t){const[n,a]=Da(e,t.start,t.end);return{start:n,end:a}}function or(e,t){const{start:n,end:a}=lr(t?.in,e);let r=+n>+a;const o=r?+n:+a,s=r?a:n;s.setHours(0,0,0,0);let c=1;const d=[];for(;+s<=o;)d.push(Se(n,s)),s.setDate(s.getDate()+c),s.setHours(0,0,0,0);return r?d.reverse():d}function Ut(e,t){const n=pe(e,t?.in),a=n.getMonth(),r=a-a%3;return n.setMonth(r,1),n.setHours(0,0,0,0),n}function cl(e,t){const{start:n,end:a}=lr(t?.in,e);let r=+n>+a;const o=r?+Ut(n):+Ut(a);let s=Ut(r?a:n),c=1;const d=[];for(;+s<=o;)d.push(Se(n,s)),s=ul(s,c);return r?d.reverse():d}function vl(e,t){const n=pe(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function sr(e,t){const n=pe(e,t?.in),a=n.getFullYear();return n.setFullYear(a+1,0,0),n.setHours(23,59,59,999),n}function wa(e,t){const n=pe(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function ur(e,t){const n=Xt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=pe(e,t?.in),o=r.getDay(),s=(o{let a;const r=ml[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function Qa(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const pl={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},yl={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},hl={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},gl={date:Qa({formats:pl,defaultWidth:"full"}),time:Qa({formats:yl,defaultWidth:"full"}),dateTime:Qa({formats:hl,defaultWidth:"full"})},wl={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},bl=(e,t,n,a)=>wl[e];function va(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,c=n?.width?String(n.width):s;r=e.formattingValues[c]||e.formattingValues[s]}else{const s=e.defaultWidth,c=n?.width?String(n.width):e.defaultWidth;r=e.values[c]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return r[o]}}const _l={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},kl={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Dl={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},xl={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Ml={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Pl={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Tl=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Ol={ordinalNumber:Tl,era:va({values:_l,defaultWidth:"wide"}),quarter:va({values:kl,defaultWidth:"wide",argumentCallback:e=>e-1}),month:va({values:Dl,defaultWidth:"wide"}),day:va({values:xl,defaultWidth:"wide"}),dayPeriod:va({values:Ml,defaultWidth:"wide",formattingValues:Pl,defaultFormattingWidth:"wide"})};function ma(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;const s=o[0],c=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(c)?Al(c,m=>m.test(s)):$l(c,m=>m.test(s));let P;P=e.valueCallback?e.valueCallback(d):d,P=n.valueCallback?n.valueCallback(P):P;const v=t.slice(s.length);return{value:P,rest:v}}}function $l(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Al(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const c=t.slice(r.length);return{value:s,rest:c}}}const Cl=/^(\d+)(th|st|nd|rd)?/i,Rl=/\d+/i,Sl={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Nl={any:[/^b/i,/^(a|c)/i]},Il={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},El={any:[/1/i,/2/i,/3/i,/4/i]},Fl={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Bl={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Ll={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Hl={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Vl={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Wl={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},zl={ordinalNumber:Yl({matchPattern:Cl,parsePattern:Rl,valueCallback:e=>parseInt(e,10)}),era:ma({matchPatterns:Sl,defaultMatchWidth:"wide",parsePatterns:Nl,defaultParseWidth:"any"}),quarter:ma({matchPatterns:Il,defaultMatchWidth:"wide",parsePatterns:El,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ma({matchPatterns:Fl,defaultMatchWidth:"wide",parsePatterns:Bl,defaultParseWidth:"any"}),day:ma({matchPatterns:Ll,defaultMatchWidth:"wide",parsePatterns:Hl,defaultParseWidth:"any"}),dayPeriod:ma({matchPatterns:Vl,defaultMatchWidth:"any",parsePatterns:Wl,defaultParseWidth:"any"})},ir={code:"en-US",formatDistance:fl,formatLong:gl,formatRelative:bl,localize:Ol,match:zl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function ql(e,t){const n=pe(e,t?.in);return nr(n,wa(n))+1}function fn(e,t){const n=pe(e,t?.in),a=+na(n)-+sl(n);return Math.round(a/Jn)+1}function pn(e,t){const n=pe(e,t?.in),a=n.getFullYear(),r=Xt(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=Se(t?.in||e,0);s.setFullYear(a+1,0,o),s.setHours(0,0,0,0);const c=_t(s,t),d=Se(t?.in||e,0);d.setFullYear(a,0,o),d.setHours(0,0,0,0);const P=_t(d,t);return+n>=+c?a+1:+n>=+P?a:a-1}function Ul(e,t){const n=Xt(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=pn(e,t),o=Se(t?.in||e,0);return o.setFullYear(r,0,a),o.setHours(0,0,0,0),_t(o,t)}function yn(e,t){const n=pe(e,t?.in),a=+_t(n,t)-+Ul(n,t);return Math.round(a/Jn)+1}function Re(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const It={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return Re(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Re(n+1,2)},d(e,t){return Re(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Re(e.getHours()%12||12,t.length)},H(e,t){return Re(e.getHours(),t.length)},m(e,t){return Re(e.getMinutes(),t.length)},s(e,t){return Re(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return Re(r,t.length)}},Zt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Fn={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});case"GGGG":default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return It.y(e,t)},Y:function(e,t,n,a){const r=pn(e,a),o=r>0?r:1-r;if(t==="YY"){const s=o%100;return Re(s,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Re(o,t.length)},R:function(e,t){const n=ar(e);return Re(n,t.length)},u:function(e,t){const n=e.getFullYear();return Re(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return Re(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return Re(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return It.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return Re(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=yn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):Re(r,t.length)},I:function(e,t,n){const a=fn(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):Re(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):It.d(e,t)},D:function(e,t,n){const a=ql(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):Re(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});case"EEEE":default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Re(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});case"eeee":default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Re(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});case"cccc":default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return Re(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});case"iiii":default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Zt.noon:a===0?r=Zt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Zt.evening:a>=12?r=Zt.afternoon:a>=4?r=Zt.morning:r=Zt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return It.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):It.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):Re(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):Re(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):It.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):It.s(e,t)},S:function(e,t){return It.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return Ln(a);case"XXXX":case"XX":return qt(a);case"XXXXX":case"XXX":default:return qt(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return Ln(a);case"xxxx":case"xx":return qt(a);case"xxxxx":case"xxx":default:return qt(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Bn(a,":");case"OOOO":default:return"GMT"+qt(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Bn(a,":");case"zzzz":default:return"GMT"+qt(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return Re(a,t.length)},T:function(e,t,n){return Re(+e,t.length)}};function Bn(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),o=a%60;return o===0?n+String(r):n+String(r)+t+Re(o,2)}function Ln(e,t){return e%60===0?(e>0?"-":"+")+Re(Math.abs(e)/60,2):qt(e,t)}function qt(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Re(Math.trunc(a/60),2),o=Re(a%60,2);return n+r+t+o}const Hn=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},dr=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},Ql=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return Hn(e,t);let o;switch(a){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",Hn(a,t)).replace("{{time}}",dr(r,t))},ln={p:dr,P:Ql},jl=/^D+$/,Gl=/^Y+$/,Kl=["D","DD","YY","YYYY"];function cr(e){return jl.test(e)}function vr(e){return Gl.test(e)}function on(e,t,n){const a=Xl(e,t,n);if(console.warn(a),Kl.includes(e))throw new RangeError(a)}function Xl(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Zl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Jl=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,eo=/^'([^]*?)'?$/,to=/''/g,ao=/[a-zA-Z]/;function $t(e,t,n){const a=Xt(),r=n?.locale??a.locale??ir,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,c=pe(e,n?.in);if(!pa(c))throw new RangeError("Invalid time value");let d=t.match(Jl).map(v=>{const m=v[0];if(m==="p"||m==="P"){const p=ln[m];return p(v,r.formatLong)}return v}).join("").match(Zl).map(v=>{if(v==="''")return{isToken:!1,value:"'"};const m=v[0];if(m==="'")return{isToken:!1,value:no(v)};if(Fn[m])return{isToken:!0,value:v};if(m.match(ao))throw new RangeError("Format string contains an unescaped latin alphabet character `"+m+"`");return{isToken:!1,value:v}});r.localize.preprocessor&&(d=r.localize.preprocessor(c,d));const P={firstWeekContainsDate:o,weekStartsOn:s,locale:r};return d.map(v=>{if(!v.isToken)return v.value;const m=v.value;(!n?.useAdditionalWeekYearTokens&&vr(m)||!n?.useAdditionalDayOfYearTokens&&cr(m))&&on(m,t,String(e));const p=Fn[m[0]];return p(c,m,r.localize,P)}).join("")}function no(e){const t=e.match(eo);return t?t[1].replace(to,"'"):e}function ro(e,t){return pe(e,t?.in).getDay()}function lo(e,t){const n=pe(e,t?.in),a=n.getFullYear(),r=n.getMonth(),o=Se(n,0);return o.setFullYear(a,r+1,0),o.setHours(0,0,0,0),o.getDate()}function oo(){return Object.assign({},Xt())}function St(e,t){return pe(e,t?.in).getHours()}function so(e,t){const n=pe(e,t?.in).getDay();return n===0?7:n}function Ht(e,t){return pe(e,t?.in).getMinutes()}function Pe(e,t){return pe(e,t?.in).getMonth()}function ra(e){return pe(e).getSeconds()}function he(e,t){return pe(e,t?.in).getFullYear()}function Gt(e,t){return+pe(e)>+pe(t)}function la(e,t){return+pe(e)<+pe(t)}function ta(e,t){return+pe(e)==+pe(t)}function uo(e,t){const n=io(t)?new t(0):Se(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function io(e){return typeof e=="function"&&e.prototype?.constructor===e}const co=10;class mr{subPriority=0;validate(t,n){return!0}}class vo extends mr{constructor(t,n,a,r,o){super(),this.value=t,this.validateValue=n,this.setValue=a,this.priority=r,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,a){return this.setValue(t,n,this.value,a)}}class mo extends mr{priority=co;subPriority=-1;constructor(t,n){super(),this.context=t||(a=>Se(n,a))}set(t,n){return n.timestampIsSet?t:Se(t,uo(t,this.context))}}class Ae{run(t,n,a,r){const o=this.parse(t,n,a,r);return o?{setter:new vo(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,a){return!0}}class fo extends Ae{priority=140;parse(t,n,a){switch(n){case"G":case"GG":case"GGG":return a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"});case"GGGGG":return a.era(t,{width:"narrow"});case"GGGG":default:return a.era(t,{width:"wide"})||a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"})}}set(t,n,a){return n.era=a,t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const Ue={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},Pt={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Qe(e,t){return e&&{value:t(e.value),rest:e.rest}}function Le(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function Tt(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const a=n[1]==="+"?1:-1,r=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,s=n[5]?parseInt(n[5],10):0;return{value:a*(r*er+o*al+s*nl),rest:t.slice(n[0].length)}}function fr(e){return Le(Ue.anyDigitsSigned,e)}function Ve(e,t){switch(e){case 1:return Le(Ue.singleDigit,t);case 2:return Le(Ue.twoDigits,t);case 3:return Le(Ue.threeDigits,t);case 4:return Le(Ue.fourDigits,t);default:return Le(new RegExp("^\\d{1,"+e+"}"),t)}}function Ra(e,t){switch(e){case 1:return Le(Ue.singleDigitSigned,t);case 2:return Le(Ue.twoDigitsSigned,t);case 3:return Le(Ue.threeDigitsSigned,t);case 4:return Le(Ue.fourDigitsSigned,t);default:return Le(new RegExp("^-?\\d{1,"+e+"}"),t)}}function hn(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function pr(e,t){const n=t>0,a=n?t:1-t;let r;if(a<=50)r=e||100;else{const o=a+50,s=Math.trunc(o/100)*100,c=e>=o%100;r=e+s-(c?100:0)}return n?r:1-r}function yr(e){return e%400===0||e%4===0&&e%100!==0}class po extends Ae{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="yy"});switch(n){case"y":return Qe(Ve(4,t),r);case"yo":return Qe(a.ordinalNumber(t,{unit:"year"}),r);default:return Qe(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a){const r=t.getFullYear();if(a.isTwoDigitYear){const s=pr(a.year,r);return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}const o=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(o,0,1),t.setHours(0,0,0,0),t}}class yo extends Ae{priority=130;parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="YY"});switch(n){case"Y":return Qe(Ve(4,t),r);case"Yo":return Qe(a.ordinalNumber(t,{unit:"year"}),r);default:return Qe(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a,r){const o=pn(t,r);if(a.isTwoDigitYear){const c=pr(a.year,o);return t.setFullYear(c,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),_t(t,r)}const s=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(s,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),_t(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ho extends Ae{priority=130;parse(t,n){return Ra(n==="R"?4:n.length,t)}set(t,n,a){const r=Se(t,0);return r.setFullYear(a,0,4),r.setHours(0,0,0,0),na(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class go extends Ae{priority=130;parse(t,n){return Ra(n==="u"?4:n.length,t)}set(t,n,a){return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class wo extends Ae{priority=120;parse(t,n,a){switch(n){case"Q":case"QQ":return Ve(n.length,t);case"Qo":return a.ordinalNumber(t,{unit:"quarter"});case"QQQ":return a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(t,{width:"wide",context:"formatting"})||a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class bo extends Ae{priority=120;parse(t,n,a){switch(n){case"q":case"qq":return Ve(n.length,t);case"qo":return a.ordinalNumber(t,{unit:"quarter"});case"qqq":return a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(t,{width:"wide",context:"standalone"})||a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class _o extends Ae{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"M":return Qe(Le(Ue.month,t),r);case"MM":return Qe(Ve(2,t),r);case"Mo":return Qe(a.ordinalNumber(t,{unit:"month"}),r);case"MMM":return a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(t,{width:"wide",context:"formatting"})||a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}}class ko extends Ae{priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"L":return Qe(Le(Ue.month,t),r);case"LL":return Qe(Ve(2,t),r);case"Lo":return Qe(a.ordinalNumber(t,{unit:"month"}),r);case"LLL":return a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(t,{width:"wide",context:"standalone"})||a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function Do(e,t,n){const a=pe(e,n?.in),r=yn(a,n)-t;return a.setDate(a.getDate()-r*7),pe(a,n?.in)}class xo extends Ae{priority=100;parse(t,n,a){switch(n){case"w":return Le(Ue.week,t);case"wo":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a,r){return _t(Do(t,a,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function Mo(e,t,n){const a=pe(e,n?.in),r=fn(a,n)-t;return a.setDate(a.getDate()-r*7),a}class Po extends Ae{priority=100;parse(t,n,a){switch(n){case"I":return Le(Ue.week,t);case"Io":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a){return na(Mo(t,a))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const To=[31,28,31,30,31,30,31,31,30,31,30,31],Oo=[31,29,31,30,31,30,31,31,30,31,30,31];class $o extends Ae{priority=90;subPriority=1;parse(t,n,a){switch(n){case"d":return Le(Ue.date,t);case"do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear(),r=yr(a),o=t.getMonth();return r?n>=1&&n<=Oo[o]:n>=1&&n<=To[o]}set(t,n,a){return t.setDate(a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class Ao extends Ae{priority=90;subpriority=1;parse(t,n,a){switch(n){case"D":case"DD":return Le(Ue.dayOfYear,t);case"Do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear();return yr(a)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,a){return t.setMonth(0,a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function gn(e,t,n){const a=Xt(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,o=pe(e,n?.in),s=o.getDay(),d=(t%7+7)%7,P=7-r,v=t<0||t>6?t-(s+P)%7:(d+P)%7-(s+P)%7;return ft(o,v,n)}class Yo extends Ae{priority=90;parse(t,n,a){switch(n){case"E":case"EE":case"EEE":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=gn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class Co extends Ae{priority=90;parse(t,n,a,r){const o=s=>{const c=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+c};switch(n){case"e":case"ee":return Qe(Ve(n.length,t),o);case"eo":return Qe(a.ordinalNumber(t,{unit:"day"}),o);case"eee":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeeee":return a.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=gn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class Ro extends Ae{priority=90;parse(t,n,a,r){const o=s=>{const c=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+c};switch(n){case"c":case"cc":return Qe(Ve(n.length,t),o);case"co":return Qe(a.ordinalNumber(t,{unit:"day"}),o);case"ccc":return a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"ccccc":return a.day(t,{width:"narrow",context:"standalone"});case"cccccc":return a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(t,{width:"wide",context:"standalone"})||a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=gn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function So(e,t,n){const a=pe(e,n?.in),r=so(a,n),o=t-r;return ft(a,o,n)}class No extends Ae{priority=90;parse(t,n,a){const r=o=>o===0?7:o;switch(n){case"i":case"ii":return Ve(n.length,t);case"io":return a.ordinalNumber(t,{unit:"day"});case"iii":return Qe(a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return Qe(a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return Qe(a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiii":default:return Qe(a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,n){return n>=1&&n<=7}set(t,n,a){return t=So(t,a),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class Io extends Ae{priority=80;parse(t,n,a){switch(n){case"a":case"aa":case"aaa":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(hn(a),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class Eo extends Ae{priority=80;parse(t,n,a){switch(n){case"b":case"bb":case"bbb":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(hn(a),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class Fo extends Ae{priority=80;parse(t,n,a){switch(n){case"B":case"BB":case"BBB":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(hn(a),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class Bo extends Ae{priority=70;parse(t,n,a){switch(n){case"h":return Le(Ue.hour12h,t);case"ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,a){const r=t.getHours()>=12;return r&&a<12?t.setHours(a+12,0,0,0):!r&&a===12?t.setHours(0,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class Lo extends Ae{priority=70;parse(t,n,a){switch(n){case"H":return Le(Ue.hour23h,t);case"Ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,a){return t.setHours(a,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class Ho extends Ae{priority=70;parse(t,n,a){switch(n){case"K":return Le(Ue.hour11h,t);case"Ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.getHours()>=12&&a<12?t.setHours(a+12,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class Vo extends Ae{priority=70;parse(t,n,a){switch(n){case"k":return Le(Ue.hour24h,t);case"ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,a){const r=a<=24?a%24:a;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class Wo extends Ae{priority=60;parse(t,n,a){switch(n){case"m":return Le(Ue.minute,t);case"mo":return a.ordinalNumber(t,{unit:"minute"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setMinutes(a,0,0),t}incompatibleTokens=["t","T"]}class zo extends Ae{priority=50;parse(t,n,a){switch(n){case"s":return Le(Ue.second,t);case"so":return a.ordinalNumber(t,{unit:"second"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setSeconds(a,0),t}incompatibleTokens=["t","T"]}class qo extends Ae{priority=30;parse(t,n){const a=r=>Math.trunc(r*Math.pow(10,-n.length+3));return Qe(Ve(n.length,t),a)}set(t,n,a){return t.setMilliseconds(a),t}incompatibleTokens=["t","T"]}class Uo extends Ae{priority=10;parse(t,n){switch(n){case"X":return Tt(Pt.basicOptionalMinutes,t);case"XX":return Tt(Pt.basic,t);case"XXXX":return Tt(Pt.basicOptionalSeconds,t);case"XXXXX":return Tt(Pt.extendedOptionalSeconds,t);case"XXX":default:return Tt(Pt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Se(t,t.getTime()-Ca(t)-a)}incompatibleTokens=["t","T","x"]}class Qo extends Ae{priority=10;parse(t,n){switch(n){case"x":return Tt(Pt.basicOptionalMinutes,t);case"xx":return Tt(Pt.basic,t);case"xxxx":return Tt(Pt.basicOptionalSeconds,t);case"xxxxx":return Tt(Pt.extendedOptionalSeconds,t);case"xxx":default:return Tt(Pt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Se(t,t.getTime()-Ca(t)-a)}incompatibleTokens=["t","T","X"]}class jo extends Ae{priority=40;parse(t){return fr(t)}set(t,n,a){return[Se(t,a*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class Go extends Ae{priority=20;parse(t){return fr(t)}set(t,n,a){return[Se(t,a),{timestampIsSet:!0}]}incompatibleTokens="*"}const Ko={G:new fo,y:new po,Y:new yo,R:new ho,u:new go,Q:new wo,q:new bo,M:new _o,L:new ko,w:new xo,I:new Po,d:new $o,D:new Ao,E:new Yo,e:new Co,c:new Ro,i:new No,a:new Io,b:new Eo,B:new Fo,h:new Bo,H:new Lo,K:new Ho,k:new Vo,m:new Wo,s:new zo,S:new qo,X:new Uo,x:new Qo,t:new jo,T:new Go},Xo=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Zo=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Jo=/^'([^]*?)'?$/,es=/''/g,ts=/\S/,as=/[a-zA-Z]/;function sn(e,t,n,a){const r=()=>Se(a?.in||n,NaN),o=oo(),s=a?.locale??o.locale??ir,c=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(!t)return e?r():pe(n,a?.in);const P={firstWeekContainsDate:c,weekStartsOn:d,locale:s},v=[new mo(a?.in,n)],m=t.match(Zo).map(M=>{const b=M[0];if(b in ln){const S=ln[b];return S(M,s.formatLong)}return M}).join("").match(Xo),p=[];for(let M of m){!a?.useAdditionalWeekYearTokens&&vr(M)&&on(M,t,e),!a?.useAdditionalDayOfYearTokens&&cr(M)&&on(M,t,e);const b=M[0],S=Ko[b];if(S){const{incompatibleTokens:C}=S;if(Array.isArray(C)){const U=p.find(Y=>C.includes(Y.token)||Y.token===b);if(U)throw new RangeError(`The format string mustn't contain \`${U.fullToken}\` and \`${M}\` at the same time`)}else if(S.incompatibleTokens==="*"&&p.length>0)throw new RangeError(`The format string mustn't contain \`${M}\` and any other token at the same time`);p.push({token:b,fullToken:M});const L=S.run(e,M,s.match,P);if(!L)return r();v.push(L.setter),e=L.rest}else{if(b.match(as))throw new RangeError("Format string contains an unescaped latin alphabet character `"+b+"`");if(M==="''"?M="'":b==="'"&&(M=ns(M)),e.indexOf(M)===0)e=e.slice(M.length);else return r()}}if(e.length>0&&ts.test(e))return r();const x=v.map(M=>M.priority).sort((M,b)=>b-M).filter((M,b,S)=>S.indexOf(M)===b).map(M=>v.filter(b=>b.priority===M).sort((b,S)=>S.subPriority-b.subPriority)).map(M=>M[0]);let A=pe(n,a?.in);if(isNaN(+A))return r();const R={};for(const M of x){if(!M.validate(A,P))return r();const b=M.set(A,R,P);Array.isArray(b)?(A=b[0],Object.assign(R,b[1])):A=b}return A}function ns(e){return e.match(Jo)[1].replace(es,"'")}function Vn(e,t,n){const[a,r]=Da(n?.in,e,t);return+Ut(a)==+Ut(r)}function hr(e,t,n){return ft(e,-t,n)}function gr(e,t,n){const a=pe(e,n?.in),r=a.getFullYear(),o=a.getDate(),s=Se(e,0);s.setFullYear(r,t,15),s.setHours(0,0,0,0);const c=lo(s);return a.setMonth(t,Math.min(o,c)),a}function Ne(e,t,n){let a=pe(e,n?.in);return isNaN(+a)?Se(e,NaN):(t.year!=null&&a.setFullYear(t.year),t.month!=null&&(a=gr(a,t.month)),t.date!=null&&a.setDate(t.date),t.hours!=null&&a.setHours(t.hours),t.minutes!=null&&a.setMinutes(t.minutes),t.seconds!=null&&a.setSeconds(t.seconds),t.milliseconds!=null&&a.setMilliseconds(t.milliseconds),a)}function rs(e,t,n){const a=pe(e,n?.in);return a.setHours(t),a}function wr(e,t,n){const a=pe(e,n?.in);return a.setMilliseconds(t),a}function ls(e,t,n){const a=pe(e,n?.in);return a.setMinutes(t),a}function br(e,t,n){const a=pe(e,n?.in);return a.setSeconds(t),a}function Ot(e,t,n){const a=pe(e,n?.in);return isNaN(+a)?Se(e,NaN):(a.setFullYear(t),a)}function oa(e,t,n){return bt(e,-t,n)}function os(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:c=0,minutes:d=0,seconds:P=0}=t,v=oa(e,r+a*12,n),m=hr(v,s+o*7,n),p=d+c*60,A=(P+p*60)*1e3;return Se(e,+m-A)}function _r(e,t,n){return mn(e,-t,n)}function ca(){const e=Kr();return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img",...e},[ge("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),ge("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),ge("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),ge("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}ca.compatConfig={MODE:3};function kr(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),ge("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}kr.compatConfig={MODE:3};function wn(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}wn.compatConfig={MODE:3};function bn(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}bn.compatConfig={MODE:3};function _n(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),ge("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}_n.compatConfig={MODE:3};function kn(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}kn.compatConfig={MODE:3};function Dn(){return T(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ge("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}Dn.compatConfig={MODE:3};const dt=(e,t)=>t?new Date(e.toLocaleString("en-US",{timeZone:t})):new Date(e),xn=(e,t,n)=>un(e,t,n)||q(),ss=(e,t,n)=>{const a=t.dateInTz?dt(new Date(e),t.dateInTz):q(e);return n?et(a,!0):a},un=(e,t,n)=>{if(!e)return null;const a=n?et(q(e),!0):q(e);return t?t.exactMatch?ss(e,t,n):dt(a,t.timezone):a},us=e=>{const t=new Date(e.getFullYear(),0,1).getTimezoneOffset();return e.getTimezoneOffset(){if(!e)return 0;const n=new Date,a=new Date(n.toLocaleString("en-US",{timeZone:"UTC"})),r=new Date(n.toLocaleString("en-US",{timeZone:e})),o=(us(t??r)?r:t??r).getTimezoneOffset()/60;return(+a-+r)/(1e3*60*60)-o};var ht=(e=>(e.month="month",e.year="year",e))(ht||{}),gt=(e=>(e.top="top",e.bottom="bottom",e))(gt||{}),Qt=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(Qt||{}),rt=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(rt||{});const ds=["timestamp","date","iso"];var st=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(st||{}),Ee=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))(Ee||{}),aa=(e=>(e.MONTH_AND_YEAR="MM-yyyy",e.YEAR="yyyy",e.DATE="dd-MM-yyyy",e))(aa||{});function Wn(e){return t=>{const n=new Intl.DateTimeFormat(e,{weekday:"short",timeZone:"UTC"}).format(new Date(`2017-01-0${t}T00:00:00+00:00`));return e==="ar"?n.slice(2,5):n.slice(0,2)}}function cs(e){return t=>$t(dt(new Date(`2017-01-0${t}T00:00:00+00:00`),"UTC"),"EEEEEE",{locale:e})}const vs=(e,t,n)=>{const a=[1,2,3,4,5,6,7];let r;if(e!==null)try{r=a.map(cs(e))}catch{r=a.map(Wn(t))}else r=a.map(Wn(t));const o=r.slice(0,n),s=r.slice(n+1,r.length);return[r[n]].concat(...s).concat(...o)},Mn=(e,t,n)=>{const a=[];for(let r=+e[0];r<=+e[1];r++)a.push({value:+r,text:Pr(r,t)});return n?a.reverse():a},Dr=(e,t,n)=>{const a=[1,2,3,4,5,6,7,8,9,10,11,12].map(o=>{const s=o<10?`0${o}`:o;return new Date(`2017-${s}-01T00:00:00+00:00`)});if(e!==null)try{const o=n==="long"?"LLLL":"LLL";return a.map((s,c)=>{const d=$t(dt(s,"UTC"),o,{locale:e});return{text:d.charAt(0).toUpperCase()+d.substring(1),value:c}})}catch{}const r=new Intl.DateTimeFormat(t,{month:n,timeZone:"UTC"});return a.map((o,s)=>{const c=r.format(o);return{text:c.charAt(0).toUpperCase()+c.substring(1),value:s}})},ms=e=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][e],je=e=>{const t=i(e);return t!=null&&t.$el?t?.$el:t},fs=e=>({type:"dot",...e??{}}),xr=e=>Array.isArray(e)?!!e[0]&&!!e[1]:!1,Pn={prop:e=>`"${e}" prop must be enabled!`,dateArr:e=>`You need to use array as "model-value" binding in order to support "${e}"`},Xe=e=>e,zn=e=>e===0?e:!e||isNaN(+e)?null:+e,qn=e=>e===null,Mr=e=>{if(e)return[...e.querySelectorAll("input, button, select, textarea, a[href]")][0]},ps=e=>{const t=[],n=a=>a.filter(r=>r);for(let a=0;a{const a=n!=null,r=t!=null;if(!a&&!r)return!1;const o=+n,s=+t;return a&&r?+e>o||+eo:r?+eps(e).map(n=>n.map(a=>{const{active:r,disabled:o,isBetween:s,highlighted:c}=t(a);return{...a,active:r,disabled:o,className:{dp__overlay_cell_active:r,dp__overlay_cell:!r,dp__overlay_cell_disabled:o,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:o&&r,dp__cell_in_between:s,"dp--highlighted":c}}})),Bt=(e,t,n=!1)=>{e&&t.allowStopPropagation&&(n&&e.stopImmediatePropagation(),e.stopPropagation())},ys=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", ");function hs(e,t){let n=[...document.querySelectorAll(ys())];n=n.filter(r=>!e.contains(r)||r.hasAttribute("data-datepicker-instance"));const a=n.indexOf(e);if(a>=0&&(t?a-1>=0:a+1<=n.length))return n[a+(t?-1:1)]}const dn=(e,t)=>e?.querySelector(`[data-dp-element="${t}"]`),Pr=(e,t)=>new Intl.NumberFormat(t,{useGrouping:!1,style:"decimal"}).format(e),Tn=(e,t)=>$t(e,t??aa.DATE),ja=e=>Array.isArray(e),Sa=(e,t,n)=>t.get(Tn(e,n)),gs=(e,t)=>e?t?t instanceof Map?!!Sa(e,t):t(q(e)):!1:!0,ut=(e,t,n=!1,a)=>{if(e.key===Ee.enter||e.key===Ee.space)return n&&e.preventDefault(),t();if(a)return a(e)},ws=()=>"ontouchstart"in window||navigator.maxTouchPoints>0,Tr=(e,t)=>e?aa.MONTH_AND_YEAR:t?aa.YEAR:aa.DATE,Or=e=>e<10?`0${e}`:e,Un=(e,t,n,a,r,o)=>{const s=sn(e,t.slice(0,e.length),new Date,{locale:o});return pa(s)&&rr(s)?a||r?s:Ne(s,{hours:+n.hours,minutes:+n?.minutes,seconds:+n?.seconds,milliseconds:0}):null},bs=(e,t,n,a,r,o)=>{const s=Array.isArray(n)?n[0]:n;if(typeof t=="string")return Un(e,t,s,a,r,o);if(Array.isArray(t)){let c=null;for(const d of t)if(c=Un(e,d,s,a,r,o),c)break;return c}return typeof t=="function"?t(e):null},q=e=>e?new Date(e):new Date,_s=(e,t,n)=>{if(t){const r=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0"),s=e.getHours().toString().padStart(2,"0"),c=e.getMinutes().toString().padStart(2,"0"),d=n?e.getSeconds().toString().padStart(2,"0"):"00";return`${e.getFullYear()}-${r}-${o}T${s}:${c}:${d}.000Z`}const a=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds());return new Date(a).toISOString()},et=(e,t)=>{const n=q(JSON.parse(JSON.stringify(e))),a=Ne(n,{hours:0,minutes:0,seconds:0,milliseconds:0});return t?vl(a):a},Lt=(e,t,n,a)=>{let r=e?q(e):q();return(t||t===0)&&(r=rs(r,+t)),(n||n===0)&&(r=ls(r,+n)),(a||a===0)&&(r=br(r,+a)),wr(r,0)},He=(e,t)=>!e||!t?!1:la(et(e),et(t)),Te=(e,t)=>!e||!t?!1:ta(et(e),et(t)),qe=(e,t)=>!e||!t?!1:Gt(et(e),et(t)),_a=(e,t,n)=>e!=null&&e[0]&&e!=null&&e[1]?qe(n,e[0])&&He(n,e[1]):e!=null&&e[0]&&t?qe(n,e[0])&&He(n,t)||He(n,e[0])&&qe(n,t):!1,wt=e=>{const t=Ne(new Date(e),{date:1});return et(t)},Ga=(e,t,n)=>t&&(n||n===0)?Object.fromEntries(["hours","minutes","seconds"].map(a=>a===t?[a,n]:[a,isNaN(+e[a])?void 0:+e[a]])):{hours:isNaN(+e.hours)?void 0:+e.hours,minutes:isNaN(+e.minutes)?void 0:+e.minutes,seconds:isNaN(+e.seconds)?void 0:+e.seconds},jt=e=>({hours:St(e),minutes:Ht(e),seconds:ra(e)}),$r=(e,t)=>{if(t){const n=he(q(t));if(n>e)return 12;if(n===e)return Pe(q(t))}},Ar=(e,t)=>{if(t){const n=he(q(t));return n{if(e)return he(q(e))},Yr=(e,t)=>{const n=qe(e,t)?t:e,a=qe(t,e)?t:e;return or({start:n,end:a})},ks=e=>{const t=bt(e,1);return{month:Pe(t),year:he(t)}},Yt=(e,t)=>{const n=_t(e,{weekStartsOn:+t}),a=ur(e,{weekStartsOn:+t});return[n,a]},Cr=(e,t)=>{const n={hours:St(q()),minutes:Ht(q()),seconds:t?ra(q()):0};return Object.assign(n,e)},Ft=(e,t,n)=>[Ne(q(e),{date:1}),Ne(q(),{month:t,year:n,date:1})],Ct=(e,t,n)=>{let a=e?q(e):q();return(t||t===0)&&(a=gr(a,t)),n&&(a=Ot(a,n)),a},Rr=(e,t,n,a,r)=>{if(!a||r&&!t||!r&&!n)return!1;const o=r?bt(e,1):oa(e,1),s=[Pe(o),he(o)];return r?!xs(...s,t):!Ds(...s,n)},Ds=(e,t,n)=>He(...Ft(n,e,t))||Te(...Ft(n,e,t)),xs=(e,t,n)=>qe(...Ft(n,e,t))||Te(...Ft(n,e,t)),Sr=(e,t,n,a,r,o,s)=>{if(typeof t=="function"&&!s)return t(e);const c=n?{locale:n}:void 0;return Array.isArray(e)?`${$t(e[0],o,c)}${r&&!e[1]?"":a}${e[1]?$t(e[1],o,c):""}`:$t(e,o,c)},Jt=e=>{if(e)return null;throw new Error(Pn.prop("partial-range"))},Oa=(e,t)=>{if(t)return e();throw new Error(Pn.prop("range"))},cn=e=>Array.isArray(e)?pa(e[0])&&(e[1]?pa(e[1]):!0):e?pa(e):!1,Ms=(e,t)=>Ne(t??q(),{hours:+e.hours||0,minutes:+e.minutes||0,seconds:+e.seconds||0}),Ka=(e,t,n,a)=>{if(!e)return!0;if(a){const r=n==="max"?la(e,t):Gt(e,t),o={seconds:0,milliseconds:0};return r||ta(Ne(e,o),Ne(t,o))}return n==="max"?e.getTime()<=t.getTime():e.getTime()>=t.getTime()},Xa=(e,t,n)=>e?Ms(e,t):q(n??t),Qn=(e,t,n,a,r)=>{if(Array.isArray(a)){const s=Xa(e,a[0],t),c=Xa(e,a[1],t);return Ka(a[0],s,n,!!t)&&Ka(a[1],c,n,!!t)&&r}const o=Xa(e,a,t);return Ka(a,o,n,!!t)&&r},Za=e=>Ne(q(),jt(e)),Ps=(e,t,n)=>{if(e instanceof Map){const a=`${Or(n+1)}-${t}`;return e.size?e.has(a):!1}return typeof e=="function"?e(et(Ne(q(),{month:n,year:t}),!0)):!1},Ts=(e,t,n)=>{if(e instanceof Map){const a=`${Or(n+1)}-${t}`;return e.size?e.has(a):!0}return!0},Nr=(e,t,n)=>typeof e=="function"?e({month:t,year:n}):!!e.months.find(a=>a.month===t&&a.year===n),On=(e,t)=>typeof e=="function"?e(t):e.years.includes(t),vn=e=>`dp-${$t(e,"yyyy-MM-dd")}`,jn=(e,t)=>{const n=hr(et(t),e),a=ft(et(t),e);return{before:n,after:a}},fa=ka({menuFocused:!1,shiftKeyInMenu:!1}),Ir=()=>{const e=n=>{fa.menuFocused=n},t=n=>{fa.shiftKeyInMenu!==n&&(fa.shiftKeyInMenu=n)};return{control:j(()=>({shiftKeyInMenu:fa.shiftKeyInMenu,menuFocused:fa.menuFocused})),setMenuFocused:e,setShiftKey:t}},Ie=ka({monthYear:[],calendar:[],time:[],actionRow:[],selectionGrid:[],timePicker:{0:[],1:[]},monthPicker:[]}),Ja=K(null),$a=K(!1),en=K(!1),tn=K(!1),an=K(!1),nt=K(0),ze=K(0),Vt=()=>{const e=j(()=>$a.value?[...Ie.selectionGrid,Ie.actionRow].filter(m=>m.length):en.value?[...Ie.timePicker[0],...Ie.timePicker[1],an.value?[]:[Ja.value],Ie.actionRow].filter(m=>m.length):tn.value?[...Ie.monthPicker,Ie.actionRow]:[Ie.monthYear,...Ie.calendar,Ie.time,Ie.actionRow].filter(m=>m.length)),t=m=>{nt.value=m?nt.value+1:nt.value-1;let p=null;e.value[ze.value]&&(p=e.value[ze.value][nt.value]),!p&&e.value[ze.value+(m?1:-1)]?(ze.value=ze.value+(m?1:-1),nt.value=m?0:e.value[ze.value].length-1):p||(nt.value=m?nt.value-1:nt.value+1)},n=m=>{ze.value===0&&!m||ze.value===e.value.length&&m||(ze.value=m?ze.value+1:ze.value-1,e.value[ze.value]?e.value[ze.value]&&!e.value[ze.value][nt.value]&&nt.value!==0&&(nt.value=e.value[ze.value].length-1):ze.value=m?ze.value-1:ze.value+1)},a=m=>{let p=null;e.value[ze.value]&&(p=e.value[ze.value][nt.value]),p?p.focus({preventScroll:!$a.value}):nt.value=m?nt.value-1:nt.value+1},r=()=>{t(!0),a(!0)},o=()=>{t(!1),a(!1)},s=()=>{n(!1),a(!0)},c=()=>{n(!0),a(!0)},d=(m,p)=>{Ie[p]=m},P=(m,p)=>{Ie[p]=m},v=()=>{nt.value=0,ze.value=0};return{buildMatrix:d,buildMultiLevelMatrix:P,setTimePickerBackRef:m=>{Ja.value=m},setSelectionGrid:m=>{$a.value=m,v(),m||(Ie.selectionGrid=[])},setTimePicker:(m,p=!1)=>{en.value=m,an.value=p,v(),m||(Ie.timePicker[0]=[],Ie.timePicker[1]=[])},setTimePickerElements:(m,p=0)=>{Ie.timePicker[p]=m},arrowRight:r,arrowLeft:o,arrowUp:s,arrowDown:c,clearArrowNav:()=>{Ie.monthYear=[],Ie.calendar=[],Ie.time=[],Ie.actionRow=[],Ie.selectionGrid=[],Ie.timePicker[0]=[],Ie.timePicker[1]=[],$a.value=!1,en.value=!1,an.value=!1,tn.value=!1,v(),Ja.value=null},setMonthPicker:m=>{tn.value=m,v()},refSets:Ie}},Gn=e=>({menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down",...e??{}}),Os=e=>({toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:t=>`Increment ${t}`,decrementValue:t=>`Decrement ${t}`,openTpOverlay:t=>`Open ${t} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:t=>`Month picker${t?" overlay":""}`,yearPicker:t=>`Year picker${t?" overlay":""}`,timeOverlay:t=>`${t} overlay`,...e??{}}),Kn=e=>e?typeof e=="boolean"?e?2:0:+e>=2?+e:2:0,$s=e=>{const t=typeof e=="object"&&e,n={static:!0,solo:!1};if(!e)return{...n,count:Kn(!1)};const a=t?e:{},r=t?a.count??!0:e,o=Kn(r);return Object.assign(n,a,{count:o})},As=(e,t,n)=>e||(typeof n=="string"?n:t),Ys=e=>typeof e=="boolean"?e?Gn({}):!1:Gn(e),Cs=e=>{const t={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - ",escClose:!0};return typeof e=="object"?{...t,...e??{},enabled:!0}:{...t,enabled:e}},Rs=e=>({months:[],years:[],times:{hours:[],minutes:[],seconds:[]},...e??{}}),Ss=e=>({showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,...e??{}}),Ns=e=>{const t={input:!1};return typeof e=="object"?{...t,...e??{},enabled:!0}:{enabled:e,...t}},Is=e=>({allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,mobileBreakpoint:600,setDateOnMenuClose:!1,...e??{}}),Es=e=>{const t={dates:Array.isArray(e)?e.map(n=>q(n)):[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}};return typeof e=="function"?e:{...t,...e??{}}},Fs=e=>typeof e=="object"?{type:e?.type??"local",hideOnOffsetDates:e?.hideOnOffsetDates??!1}:{type:e,hideOnOffsetDates:!1},Bs=e=>{const t={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1};return typeof e=="object"?{enabled:!0,...t,...e}:{enabled:e,...t}},Ls=e=>e?typeof e=="string"?{timezone:e,exactMatch:!1,dateInTz:void 0,emitTimezone:void 0,convertModel:!0}:{timezone:e.timezone,exactMatch:e.exactMatch??!1,dateInTz:e.dateInTz??void 0,emitTimezone:e.emitTimezone??void 0,convertModel:e.convertModel??!0}:{timezone:void 0,exactMatch:!1,emitTimezone:void 0},nn=(e,t,n,a)=>new Map(e.map(r=>{const o=xn(r,t,a);return[Tn(o,n),o]})),Hs=(e,t)=>e.length?new Map(e.map(n=>{const a=xn(n.date,t);return[Tn(a,aa.DATE),n]})):null,Vs=e=>{var t;const n=Tr(e.isMonthPicker,e.isYearPicker);return{minDate:un(e.minDate,e.timezone,e.isSpecific),maxDate:un(e.maxDate,e.timezone,e.isSpecific),disabledDates:ja(e.disabledDates)?nn(e.disabledDates,e.timezone,n,e.isSpecific):e.disabledDates,allowedDates:ja(e.allowedDates)?nn(e.allowedDates,e.timezone,n,e.isSpecific):null,highlight:typeof e.highlight=="object"&&ja((t=e.highlight)==null?void 0:t.dates)?nn(e.highlight.dates,e.timezone,n):e.highlight,markers:Hs(e.markers,e.timezone)}},Ws=e=>typeof e=="boolean"?{enabled:e,dragSelect:!0,limit:null}:{enabled:!!e,limit:e.limit?+e.limit:null,dragSelect:e.dragSelect??!0},zs=e=>({...Object.fromEntries(Object.keys(e).map(t=>{const n=t,a=e[n],r=typeof e[n]=="string"?{[a]:!0}:Object.fromEntries(a.map(o=>[o,!0]));return[t,r]}))}),Be=e=>{const t=()=>{const Y=e.enableSeconds?":ss":"",N=e.enableMinutes?":mm":"";return e.is24?`HH${N}${Y}`:`hh${N}${Y} aa`},n=()=>{var Y;return e.format?e.format:e.monthPicker?"MM/yyyy":e.timePicker?t():e.weekPicker?`${((Y=M.value)==null?void 0:Y.type)==="iso"?"II":"ww"}-RR`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":e.enableTimePicker?`MM/dd/yyyy, ${t()}`:"MM/dd/yyyy"},a=Y=>Cr(Y,e.enableSeconds),r=()=>L.value.enabled?e.startTime&&Array.isArray(e.startTime)?[a(e.startTime[0]),a(e.startTime[1])]:null:e.startTime&&!Array.isArray(e.startTime)?a(e.startTime):null,o=j(()=>$s(e.multiCalendars)),s=j(()=>r()),c=j(()=>Os(e.ariaLabels)),d=j(()=>Rs(e.filters)),P=j(()=>Ys(e.transitions)),v=j(()=>Ss(e.actionRow)),m=j(()=>As(e.previewFormat,e.format,n())),p=j(()=>Cs(e.textInput)),x=j(()=>Ns(e.inline)),A=j(()=>Is(e.config)),R=j(()=>Es(e.highlight)),M=j(()=>Fs(e.weekNumbers)),b=j(()=>Ls(e.timezone)),S=j(()=>Ws(e.multiDates)),C=j(()=>Vs({minDate:e.minDate,maxDate:e.maxDate,disabledDates:e.disabledDates,allowedDates:e.allowedDates,highlight:R.value,markers:e.markers,timezone:b.value,isSpecific:e.monthPicker||e.yearPicker||e.quarterPicker,isMonthPicker:e.monthPicker,isYearPicker:e.yearPicker})),L=j(()=>Bs(e.range)),U=j(()=>zs(e.ui));return{defaultedTransitions:P,defaultedMultiCalendars:o,defaultedStartTime:s,defaultedAriaLabels:c,defaultedFilters:d,defaultedActionRow:v,defaultedPreviewFormat:m,defaultedTextInput:p,defaultedInline:x,defaultedConfig:A,defaultedHighlight:R,defaultedWeekNumbers:M,defaultedRange:L,propDates:C,defaultedTz:b,defaultedMultiDates:S,defaultedUI:U,getDefaultPattern:n,getDefaultStartTime:r,handleEventPropagation:Y=>{A.value.allowStopPropagation&&Y.stopPropagation(),A.value.allowPreventDefault&&Y.preventDefault()}}},qs=(e,t,n)=>{const a=K(),{defaultedTextInput:r,defaultedRange:o,defaultedTz:s,defaultedMultiDates:c,getDefaultPattern:d}=Be(t),P=K(""),v=ha(t,"format"),m=ha(t,"formatLocale");yt(a,()=>{typeof t.onInternalModelChange=="function"&&e("internal-model-change",a.value,W(!0))},{deep:!0}),yt(o,(l,_)=>{l.enabled!==_.enabled&&(a.value=null)}),yt(v,()=>{J()});const p=l=>s.value.timezone&&s.value.convertModel?dt(l,s.value.timezone):l,x=l=>{if(s.value.timezone&&s.value.convertModel){const _=is(s.value.timezone,l);return ll(l,_)}return l},A=(l,_,oe=!1)=>Sr(l,t.format,t.formatLocale,r.value.rangeSeparator,t.modelAuto,_??d(),oe),R=l=>l?t.modelType?ee(l):{hours:St(l),minutes:Ht(l),seconds:t.enableSeconds?ra(l):0}:null,M=l=>t.modelType?ee(l):{month:Pe(l),year:he(l)},b=l=>Array.isArray(l)?c.value.enabled?l.map(_=>S(_,Ot(q(),_))):Oa(()=>[Ot(q(),l[0]),l[1]?Ot(q(),l[1]):Jt(o.value.partialRange)],o.value.enabled):Ot(q(),+l),S=(l,_)=>(typeof l=="string"||typeof l=="number")&&t.modelType?E(l):_,C=l=>Array.isArray(l)?[S(l[0],Lt(null,+l[0].hours,+l[0].minutes,l[0].seconds)),S(l[1],Lt(null,+l[1].hours,+l[1].minutes,l[1].seconds))]:S(l,Lt(null,l.hours,l.minutes,l.seconds)),L=l=>{const _=Ne(q(),{date:1});return Array.isArray(l)?c.value.enabled?l.map(oe=>S(oe,Ct(_,+oe.month,+oe.year))):Oa(()=>[S(l[0],Ct(_,+l[0].month,+l[0].year)),S(l[1],l[1]?Ct(_,+l[1].month,+l[1].year):Jt(o.value.partialRange))],o.value.enabled):S(l,Ct(_,+l.month,+l.year))},U=l=>{if(Array.isArray(l))return l.map(_=>E(_));throw new Error(Pn.dateArr("multi-dates"))},Y=l=>{if(Array.isArray(l)&&o.value.enabled){const _=l[0],oe=l[1];return[q(Array.isArray(_)?_[0]:null),Array.isArray(oe)&&oe.length?q(oe[0]):null]}return q(l[0])},N=l=>t.modelAuto?Array.isArray(l)?[E(l[0]),E(l[1])]:t.autoApply?[E(l)]:[E(l),null]:Array.isArray(l)?Oa(()=>l[1]?[E(l[0]),l[1]?E(l[1]):Jt(o.value.partialRange)]:[E(l[0])],o.value.enabled):E(l),re=()=>{Array.isArray(a.value)&&o.value.enabled&&a.value.length===1&&a.value.push(Jt(o.value.partialRange))},V=()=>{const l=a.value;return[ee(l[0]),l[1]?ee(l[1]):Jt(o.value.partialRange)]},I=()=>Array.isArray(a.value)?a.value[1]?V():ee(Xe(a.value[0])):[],se=()=>(a.value||[]).map(l=>ee(l)),ce=(l=!1)=>(l||re(),t.modelAuto?I():c.value.enabled?se():Array.isArray(a.value)?Oa(()=>V(),o.value.enabled):ee(Xe(a.value))),ye=l=>!l||Array.isArray(l)&&!l.length?null:t.timePicker?C(Xe(l)):t.monthPicker?L(Xe(l)):t.yearPicker?b(Xe(l)):c.value.enabled?U(Xe(l)):t.weekPicker?Y(Xe(l)):N(Xe(l)),y=l=>{const _=ye(l);cn(Xe(_))?(a.value=Xe(_),J()):(a.value=null,P.value="")},D=()=>{const l=_=>$t(_,r.value.format);return`${l(a.value[0])} ${r.value.rangeSeparator} ${a.value[1]?l(a.value[1]):""}`},h=()=>n.value&&a.value?Array.isArray(a.value)?D():$t(a.value,r.value.format):A(a.value),H=()=>a.value?c.value.enabled?a.value.map(l=>A(l)).join("; "):r.value.enabled&&typeof r.value.format=="string"?h():A(a.value):"",J=()=>{!t.format||typeof t.format=="string"||r.value.enabled&&typeof r.value.format=="string"?P.value=H():P.value=t.format(a.value)},E=l=>{if(t.utc){const _=new Date(l);return t.utc==="preserve"?new Date(_.getTime()+_.getTimezoneOffset()*6e4):_}return t.modelType?ds.includes(t.modelType)?p(new Date(l)):t.modelType==="format"&&(typeof t.format=="string"||!t.format)?p(sn(l,d(),new Date,{locale:m.value})):p(sn(l,t.modelType,new Date,{locale:m.value})):p(new Date(l))},ee=l=>l?t.utc?_s(l,t.utc==="preserve",t.enableSeconds):t.modelType?t.modelType==="timestamp"?+x(l):t.modelType==="iso"?x(l).toISOString():t.modelType==="format"&&(typeof t.format=="string"||!t.format)?A(x(l)):A(x(l),t.modelType,!0):x(l):"",O=(l,_=!1,oe=!1)=>{if(oe)return l;if(e("update:model-value",l),s.value.emitTimezone&&_){const Ye=Array.isArray(l)?l.map($=>dt(Xe($),s.value.emitTimezone)):dt(Xe(l),s.value.emitTimezone);e("update:model-timezone-value",Ye)}},de=l=>Array.isArray(a.value)?c.value.enabled?a.value.map(_=>l(_)):[l(a.value[0]),a.value[1]?l(a.value[1]):Jt(o.value.partialRange)]:l(Xe(a.value)),f=()=>{if(Array.isArray(a.value)){const l=Yt(a.value[0],t.weekStart),_=a.value[1]?Yt(a.value[1],t.weekStart):[];return[l.map(oe=>q(oe)),_.map(oe=>q(oe))]}return Yt(a.value,t.weekStart).map(l=>q(l))},k=(l,_)=>O(Xe(de(l)),!1,_),F=l=>{const _=f();return l?_:e("update:model-value",f())},W=(l=!1)=>(l||J(),t.monthPicker?k(M,l):t.timePicker?k(R,l):t.yearPicker?k(he,l):t.weekPicker?F(l):O(ce(l),!0,l));return{inputValue:P,internalModelValue:a,checkBeforeEmit:()=>a.value?o.value.enabled?o.value.partialRange?a.value.length>=1:a.value.length===2:!!a.value:!1,parseExternalModelValue:y,formatInputValue:J,emitModelValue:W}},Us=(e,t)=>{const{defaultedFilters:n,propDates:a}=Be(e),{validateMonthYearInRange:r}=Wt(e),o=(v,m)=>{let p=v;return n.value.months.includes(Pe(p))?(p=m?bt(v,1):oa(v,1),o(p,m)):p},s=(v,m)=>{let p=v;return n.value.years.includes(he(p))?(p=m?mn(v,1):_r(v,1),s(p,m)):p},c=(v,m=!1)=>{const p=Ne(q(),{month:e.month,year:e.year});let x=v?bt(p,1):oa(p,1);e.disableYearSelect&&(x=Ot(x,e.year));let A=Pe(x),R=he(x);n.value.months.includes(A)&&(x=o(x,v),A=Pe(x),R=he(x)),n.value.years.includes(R)&&(x=s(x,v),R=he(x)),r(A,R,v,e.preventMinMaxNavigation)&&d(A,R,m)},d=(v,m,p)=>{t("update-month-year",{month:v,year:m,fromNav:p})},P=j(()=>v=>Rr(Ne(q(),{month:e.month,year:e.year}),a.value.maxDate,a.value.minDate,e.preventMinMaxNavigation,v));return{handleMonthYearChange:c,isDisabled:P,updateMonthYear:d}},Ia={multiCalendars:{type:[Boolean,Number,String,Object],default:void 0},modelValue:{type:[String,Date,Array,Object,Number],default:null},modelType:{type:String,default:null},position:{type:String,default:"center"},dark:{type:Boolean,default:!1},format:{type:[String,Function],default:()=>null},autoPosition:{type:[Boolean,String],default:!0},altPosition:{type:Function,default:null},transitions:{type:[Boolean,Object],default:!0},formatLocale:{type:Object,default:null},utc:{type:[Boolean,String],default:!1},ariaLabels:{type:Object,default:()=>({})},offset:{type:[Number,String],default:10},hideNavigation:{type:Array,default:()=>[]},timezone:{type:[String,Object],default:null},vertical:{type:Boolean,default:!1},disableMonthYearSelect:{type:Boolean,default:!1},disableYearSelect:{type:Boolean,default:!1},dayClass:{type:Function,default:null},yearRange:{type:Array,default:()=>[1900,2100]},enableTimePicker:{type:Boolean,default:!0},autoApply:{type:Boolean,default:!1},disabledDates:{type:[Array,Function],default:()=>[]},monthNameFormat:{type:String,default:"short"},startDate:{type:[Date,String],default:null},startTime:{type:[Object,Array],default:null},hideOffsetDates:{type:Boolean,default:!1},noToday:{type:Boolean,default:!1},disabledWeekDays:{type:Array,default:()=>[]},allowedDates:{type:Array,default:null},nowButtonLabel:{type:String,default:"Now"},markers:{type:Array,default:()=>[]},escClose:{type:Boolean,default:!0},spaceConfirm:{type:Boolean,default:!0},monthChangeOnArrows:{type:Boolean,default:!0},presetDates:{type:Array,default:()=>[]},flow:{type:Array,default:()=>[]},partialFlow:{type:Boolean,default:!1},preventMinMaxNavigation:{type:Boolean,default:!1},reverseYears:{type:Boolean,default:!1},weekPicker:{type:Boolean,default:!1},filters:{type:Object,default:()=>({})},arrowNavigation:{type:Boolean,default:!1},highlight:{type:[Function,Object],default:null},teleport:{type:[Boolean,String,Object],default:null},teleportCenter:{type:Boolean,default:!1},locale:{type:String,default:"en-Us"},weekNumName:{type:String,default:"W"},weekStart:{type:[Number,String],default:1},weekNumbers:{type:[String,Function,Object],default:null},monthChangeOnScroll:{type:[Boolean,String],default:!0},dayNames:{type:[Function,Array],default:null},monthPicker:{type:Boolean,default:!1},customProps:{type:Object,default:null},yearPicker:{type:Boolean,default:!1},modelAuto:{type:Boolean,default:!1},selectText:{type:String,default:"Select"},cancelText:{type:String,default:"Cancel"},previewFormat:{type:[String,Function],default:()=>""},multiDates:{type:[Object,Boolean],default:!1},ignoreTimeValidation:{type:Boolean,default:!1},minDate:{type:[Date,String],default:null},maxDate:{type:[Date,String],default:null},minTime:{type:Object,default:null},maxTime:{type:Object,default:null},name:{type:String,default:null},placeholder:{type:String,default:""},hideInputIcon:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},alwaysClearable:{type:Boolean,default:!1},state:{type:Boolean,default:null},required:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},timePicker:{type:Boolean,default:!1},enableSeconds:{type:Boolean,default:!1},is24:{type:Boolean,default:!0},noHoursOverlay:{type:Boolean,default:!1},noMinutesOverlay:{type:Boolean,default:!1},noSecondsOverlay:{type:Boolean,default:!1},hoursGridIncrement:{type:[String,Number],default:1},minutesGridIncrement:{type:[String,Number],default:5},secondsGridIncrement:{type:[String,Number],default:5},hoursIncrement:{type:[Number,String],default:1},minutesIncrement:{type:[Number,String],default:1},secondsIncrement:{type:[Number,String],default:1},range:{type:[Boolean,Object],default:!1},uid:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},inline:{type:[Boolean,Object],default:!1},textInput:{type:[Boolean,Object],default:!1},sixWeeks:{type:[Boolean,String],default:!1},actionRow:{type:Object,default:()=>({})},focusStartDate:{type:Boolean,default:!1},disabledTimes:{type:[Function,Array],default:void 0},timePickerInline:{type:Boolean,default:!1},calendar:{type:Function,default:null},config:{type:Object,default:void 0},quarterPicker:{type:Boolean,default:!1},yearFirst:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},onInternalModelChange:{type:[Function,Object],default:null},enableMinutes:{type:Boolean,default:!0},ui:{type:Object,default:()=>({})}},kt={...Ia,shadow:{type:Boolean,default:!1},flowStep:{type:Number,default:0},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},menuWrapRef:{type:Object,default:null},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1},isMobile:{type:Boolean,default:void 0}},Qs=["title"],js=["disabled"],Gs=tt({compatConfig:{MODE:3},__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{type:Number,default:0},...kt},emits:["close-picker","select-date","select-now","invalid-select"],setup(e,{emit:t}){const n=t,a=e,{defaultedActionRow:r,defaultedPreviewFormat:o,defaultedMultiCalendars:s,defaultedTextInput:c,defaultedInline:d,defaultedRange:P,defaultedMultiDates:v}=Be(a),{isTimeValid:m,isMonthValid:p}=Wt(a),{buildMatrix:x}=Vt(),A=K(null),R=K(null),M=K(!1),b=K({}),S=K(null),C=K(null);at(()=>{a.arrowNavigation&&x([je(A),je(R)],"actionRow"),L(),window.addEventListener("resize",L)}),ia(()=>{window.removeEventListener("resize",L)});const L=()=>{M.value=!1,setTimeout(()=>{var y,D;const h=(y=S.value)==null?void 0:y.getBoundingClientRect(),H=(D=C.value)==null?void 0:D.getBoundingClientRect();h&&H&&(b.value.maxWidth=`${H.width-h.width-20}px`),M.value=!0},0)},U=j(()=>P.value.enabled&&!P.value.partialRange&&a.internalModelValue?a.internalModelValue.length===2:!0),Y=j(()=>!m.value(a.internalModelValue)||!p.value(a.internalModelValue)||!U.value),N=()=>{const y=o.value;return a.timePicker||a.monthPicker,y(Xe(a.internalModelValue))},re=()=>{const y=a.internalModelValue;return s.value.count>0?`${V(y[0])} - ${V(y[1])}`:[V(y[0]),V(y[1])]},V=y=>Sr(y,o.value,a.formatLocale,c.value.rangeSeparator,a.modelAuto,o.value),I=j(()=>!a.internalModelValue||!a.menuMount?"":typeof o.value=="string"?Array.isArray(a.internalModelValue)?a.internalModelValue.length===2&&a.internalModelValue[1]?re():v.value.enabled?a.internalModelValue.map(y=>`${V(y)}`):a.modelAuto?`${V(a.internalModelValue[0])}`:`${V(a.internalModelValue[0])} -`:V(a.internalModelValue):N()),se=()=>v.value.enabled?"; ":" - ",ce=j(()=>Array.isArray(I.value)?I.value.join(se()):I.value),ye=()=>{m.value(a.internalModelValue)&&p.value(a.internalModelValue)&&U.value?n("select-date"):n("invalid-select")};return(y,D)=>(T(),z("div",{ref_key:"actionRowRef",ref:C,class:"dp__action_row"},[y.$slots["action-row"]?ie(y.$slots,"action-row",Ze(Je({key:0},{internalModelValue:y.internalModelValue,disabled:Y.value,selectDate:()=>y.$emit("select-date"),closePicker:()=>y.$emit("close-picker")}))):(T(),z(ke,{key:1},[i(r).showPreview?(T(),z("div",{key:0,class:"dp__selection_preview",title:ce.value,style:pt(b.value)},[y.$slots["action-preview"]&&M.value?ie(y.$slots,"action-preview",{key:0,value:y.internalModelValue}):G("",!0),!y.$slots["action-preview"]&&M.value?(T(),z(ke,{key:1},[Rt(lt(ce.value),1)],64)):G("",!0)],12,Qs)):G("",!0),ge("div",{ref_key:"actionBtnContainer",ref:S,class:"dp__action_buttons","data-dp-element":"action-row"},[y.$slots["action-buttons"]?ie(y.$slots,"action-buttons",{key:0,value:y.internalModelValue}):G("",!0),y.$slots["action-buttons"]?G("",!0):(T(),z(ke,{key:1},[!i(d).enabled&&i(r).showCancel?(T(),z("button",{key:0,ref_key:"cancelButtonRef",ref:A,type:"button",class:"dp__action_button dp__action_cancel",onClick:D[0]||(D[0]=h=>y.$emit("close-picker")),onKeydown:D[1]||(D[1]=h=>i(ut)(h,()=>y.$emit("close-picker")))},lt(y.cancelText),545)):G("",!0),i(r).showNow?(T(),z("button",{key:1,type:"button",class:"dp__action_button dp__action_cancel",onClick:D[2]||(D[2]=h=>y.$emit("select-now")),onKeydown:D[3]||(D[3]=h=>i(ut)(h,()=>y.$emit("select-now")))},lt(y.nowButtonLabel),33)):G("",!0),i(r).showSelect?(T(),z("button",{key:2,ref_key:"selectButtonRef",ref:R,type:"button",class:"dp__action_button dp__action_select",disabled:Y.value,"data-test-id":"select-button",onKeydown:D[4]||(D[4]=h=>i(ut)(h,()=>ye())),onClick:ye},lt(y.selectText),41,js)):G("",!0)],64))],512)],64))],512))}}),Ks=["role","aria-label","tabindex"],Xs={class:"dp__selection_grid_header"},Zs=["aria-selected","aria-disabled","data-test-id","onClick","onKeydown","onMouseover"],Js=["aria-label"],xa=tt({__name:"SelectionOverlay",props:{items:{},type:{},isLast:{type:Boolean},arrowNavigation:{type:Boolean},skipButtonRef:{type:Boolean},headerRefs:{},hideNavigation:{},escClose:{type:Boolean},useRelative:{type:Boolean},height:{},textInput:{type:[Boolean,Object]},config:{},noOverlayFocus:{type:Boolean},focusValue:{},menuWrapRef:{},ariaLabels:{},overlayLabel:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{expose:t,emit:n}){const{setSelectionGrid:a,buildMultiLevelMatrix:r,setMonthPicker:o}=Vt(),s=n,c=e,{defaultedAriaLabels:d,defaultedTextInput:P,defaultedConfig:v,handleEventPropagation:m}=Be(c),{hideNavigationButtons:p}=Ba(),x=K(!1),A=K(null),R=K(null),M=K([]),b=K(),S=K(null),C=K(0),L=K(null);Jr(()=>{A.value=null}),at(()=>{mt().then(()=>ce()),c.noOverlayFocus||Y(),U(!0)}),ia(()=>U(!1));const U=f=>{var k;c.arrowNavigation&&((k=c.headerRefs)!=null&&k.length?o(f):a(f))},Y=()=>{var f;const k=je(R);k&&(P.value.enabled||(A.value?(f=A.value)==null||f.focus({preventScroll:!0}):k.focus({preventScroll:!0})),x.value=k.clientHeight({dp__overlay:!0,"dp--overlay-absolute":!c.useRelative,"dp--overlay-relative":c.useRelative})),re=j(()=>c.useRelative?{height:`${c.height}px`,width:"var(--dp-menu-min-width)"}:void 0),V=j(()=>({dp__overlay_col:!0})),I=j(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:x.value,dp__button_bottom:c.isLast})),se=j(()=>{var f,k;return{dp__overlay_container:!0,dp__container_flex:((f=c.items)==null?void 0:f.length)<=6,dp__container_block:((k=c.items)==null?void 0:k.length)>6}});yt(()=>c.items,()=>ce(!1),{deep:!0});const ce=(f=!0)=>{mt().then(()=>{const k=je(A),F=je(R),W=je(S),l=je(L),_=W?W.getBoundingClientRect().height:0;F&&(F.getBoundingClientRect().height?C.value=F.getBoundingClientRect().height-_:C.value=v.value.modeHeight-_),k&&l&&f&&(l.scrollTop=k.offsetTop-l.offsetTop-(C.value/2-k.getBoundingClientRect().height)-_)})},ye=f=>{f.disabled||s("selected",f.value)},y=()=>{s("toggle"),s("reset-flow")},D=f=>{c.escClose&&(y(),m(f))},h=(f,k,F,W)=>{f&&((k.active||k.value===c.focusValue)&&(A.value=f),c.arrowNavigation&&(Array.isArray(M.value[F])?M.value[F][W]=f:M.value[F]=[f],H()))},H=()=>{var f,k;const F=(f=c.headerRefs)!=null&&f.length?[c.headerRefs].concat(M.value):M.value.concat([c.skipButtonRef?[]:[S.value]]);r(Xe(F),(k=c.headerRefs)!=null&&k.length?"monthPicker":"selectionGrid")},J=f=>{c.arrowNavigation||Bt(f,v.value,!0)},E=f=>{b.value=f,s("hover-value",f)},ee=()=>{if(y(),!c.isLast){const f=dn(c.menuWrapRef??null,"action-row");if(f){const k=Mr(f);k?.focus()}}},O=f=>{switch(f.key){case Ee.esc:return D(f);case Ee.arrowLeft:return J(f);case Ee.arrowRight:return J(f);case Ee.arrowUp:return J(f);case Ee.arrowDown:return J(f);default:return}},de=f=>{if(f.key===Ee.enter)return y();if(f.key===Ee.tab)return ee()};return t({focusGrid:Y}),(f,k)=>{var F;return T(),z("div",{ref_key:"gridWrapRef",ref:R,class:xe(N.value),style:pt(re.value),role:f.useRelative?void 0:"dialog","aria-label":f.overlayLabel,tabindex:f.useRelative?void 0:"0",onKeydown:O,onClick:k[0]||(k[0]=ga(()=>{},["prevent"]))},[ge("div",{ref_key:"containerRef",ref:L,class:xe(se.value),style:pt({"--dp-overlay-height":`${C.value}px`}),role:"grid"},[ge("div",Xs,[ie(f.$slots,"header")]),f.$slots.overlay?ie(f.$slots,"overlay",{key:0}):(T(!0),z(ke,{key:1},Fe(f.items,(W,l)=>(T(),z("div",{key:l,class:xe(["dp__overlay_row",{dp__flex_row:f.items.length>=3}]),role:"row"},[(T(!0),z(ke,null,Fe(W,(_,oe)=>(T(),z("div",{key:_.value,ref_for:!0,ref:Ye=>h(Ye,_,l,oe),role:"gridcell",class:xe(V.value),"aria-selected":_.active||void 0,"aria-disabled":_.disabled||void 0,tabindex:"0","data-test-id":_.text,onClick:ga(Ye=>ye(_),["prevent"]),onKeydown:Ye=>i(ut)(Ye,()=>ye(_),!0),onMouseover:Ye=>E(_.value)},[ge("div",{class:xe(_.className)},[f.$slots.item?ie(f.$slots,"item",{key:0,item:_}):G("",!0),f.$slots.item?G("",!0):(T(),z(ke,{key:1},[Rt(lt(_.text),1)],64))],2)],42,Zs))),128))],2))),128))],6),f.$slots["button-icon"]?Aa((T(),z("button",{key:0,ref_key:"toggleButton",ref:S,type:"button","aria-label":(F=i(d))==null?void 0:F.toggleOverlay,class:xe(I.value),tabindex:"0",onClick:y,onKeydown:de},[ie(f.$slots,"button-icon")],42,Js)),[[Ya,!i(p)(f.hideNavigation,f.type)]]):G("",!0)],46,Ks)}}}),eu=["data-dp-mobile"],Ea=tt({__name:"InstanceWrap",props:{multiCalendars:{},stretch:{type:Boolean},collapse:{type:Boolean},isMobile:{type:Boolean}},setup(e){const t=e,n=j(()=>t.multiCalendars>0?[...Array(t.multiCalendars).keys()]:[0]),a=j(()=>({dp__instance_calendar:t.multiCalendars>0}));return(r,o)=>(T(),z("div",{class:xe({dp__menu_inner:!r.stretch,"dp--menu--inner-stretched":r.stretch,dp__flex_display:r.multiCalendars>0,"dp--flex-display-collapsed":r.collapse}),"data-dp-mobile":r.isMobile},[(T(!0),z(ke,null,Fe(n.value,(s,c)=>(T(),z("div",{key:s,class:xe(a.value)},[ie(r.$slots,"default",{instance:s,index:c})],2))),128))],10,eu))}}),tu=["data-dp-element","aria-label","aria-disabled"],ya=tt({compatConfig:{MODE:3},__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const n=t,a=K(null);return at(()=>n("set-ref",a)),(r,o)=>(T(),z("button",{ref_key:"elRef",ref:a,type:"button","data-dp-element":r.elName,class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":r.ariaLabel,"aria-disabled":r.disabled||void 0,onClick:o[0]||(o[0]=s=>r.$emit("activate")),onKeydown:o[1]||(o[1]=s=>i(ut)(s,()=>r.$emit("activate"),!0))},[ge("span",{class:xe(["dp__inner_nav",{dp__inner_nav_disabled:r.disabled}])},[ie(r.$slots,"default")],2)],40,tu))}}),au=["aria-label","data-test-id"],Er=tt({__name:"YearModePicker",props:{...kt,showYearPicker:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},instance:{type:Number,default:0},year:{type:Number,default:0},isDisabled:{type:Function,default:()=>!1}},emits:["toggle-year-picker","year-select","handle-year"],setup(e,{emit:t}){const n=t,a=e,{showRightIcon:r,showLeftIcon:o}=Ba(),{defaultedConfig:s,defaultedMultiCalendars:c,defaultedAriaLabels:d,defaultedTransitions:P,defaultedUI:v}=Be(a),{showTransition:m,transitionName:p}=Ma(P),x=K(!1),A=(b=!1,S)=>{x.value=!x.value,n("toggle-year-picker",{flow:b,show:S})},R=b=>{x.value=!1,n("year-select",b)},M=(b=!1)=>{n("handle-year",b)};return(b,S)=>{var C,L,U,Y,N;return T(),z(ke,null,[ge("div",{class:xe(["dp--year-mode-picker",{"dp--hidden-el":x.value}])},[i(o)(i(c),e.instance)?(T(),Oe(ya,{key:0,ref:"mpPrevIconRef","aria-label":(C=i(d))==null?void 0:C.prevYear,disabled:e.isDisabled(!1),class:xe((L=i(v))==null?void 0:L.navBtnPrev),onActivate:S[0]||(S[0]=re=>M(!1))},{default:De(()=>[b.$slots["arrow-left"]?ie(b.$slots,"arrow-left",{key:0}):G("",!0),b.$slots["arrow-left"]?G("",!0):(T(),Oe(i(wn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):G("",!0),ge("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${(U=i(d))==null?void 0:U.openYearsOverlay}`,"data-test-id":`year-mode-btn-${e.instance}`,onClick:S[1]||(S[1]=()=>A(!1)),onKeydown:S[2]||(S[2]=el(()=>A(!1),["enter"]))},[b.$slots.year?ie(b.$slots,"year",{key:0,year:e.year}):G("",!0),b.$slots.year?G("",!0):(T(),z(ke,{key:1},[Rt(lt(e.year),1)],64))],40,au),i(r)(i(c),e.instance)?(T(),Oe(ya,{key:1,ref:"mpNextIconRef","aria-label":(Y=i(d))==null?void 0:Y.nextYear,disabled:e.isDisabled(!0),class:xe((N=i(v))==null?void 0:N.navBtnNext),onActivate:S[3]||(S[3]=re=>M(!0))},{default:De(()=>[b.$slots["arrow-right"]?ie(b.$slots,"arrow-right",{key:0}):G("",!0),b.$slots["arrow-right"]?G("",!0):(T(),Oe(i(bn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):G("",!0)],2),vt(da,{name:i(p)(e.showYearPicker),css:i(m)},{default:De(()=>{var re,V;return[e.showYearPicker?(T(),Oe(xa,{key:0,items:e.items,"text-input":b.textInput,"esc-close":b.escClose,config:b.config,"is-last":b.autoApply&&!i(s).keepActionRow,"hide-navigation":b.hideNavigation,"aria-labels":b.ariaLabels,"overlay-label":(V=(re=i(d))==null?void 0:re.yearPicker)==null?void 0:V.call(re,!0),type:"year",onToggle:A,onSelected:S[4]||(S[4]=I=>R(I))},ot({"button-icon":De(()=>[b.$slots["calendar-icon"]?ie(b.$slots,"calendar-icon",{key:0}):G("",!0),b.$slots["calendar-icon"]?G("",!0):(T(),Oe(i(ca),{key:1}))]),_:2},[b.$slots["year-overlay-value"]?{name:"item",fn:De(({item:I})=>[ie(b.$slots,"year-overlay-value",{text:I.text,value:I.value})]),key:"0"}:void 0]),1032,["items","text-input","esc-close","config","is-last","hide-navigation","aria-labels","overlay-label"])):G("",!0)]}),_:3},8,["name","css"])],64)}}}),$n=(e,t,n)=>{if(t.value&&Array.isArray(t.value))if(t.value.some(a=>Te(e,a))){const a=t.value.filter(r=>!Te(r,e));t.value=a.length?a:null}else(n&&+n>t.value.length||!n)&&t.value.push(e);else t.value=[e]},An=(e,t,n)=>{let a=e.value?e.value.slice():[];return a.length===2&&a[1]!==null&&(a=[]),a.length?(He(t,a[0])?a.unshift(t):a[1]=t,n("range-end",t)):(a=[t],n("range-start",t)),a},Fa=(e,t,n,a)=>{e&&(e[0]&&e[1]&&n&&t("auto-apply"),e[0]&&!e[1]&&a&&n&&t("auto-apply"))},Fr=e=>{Array.isArray(e.value)&&e.value.length<=2&&e.range?e.modelValue.value=e.value.map(t=>dt(q(t),e.timezone)):Array.isArray(e.value)||(e.modelValue.value=dt(q(e.value),e.timezone))},Br=(e,t,n,a)=>Array.isArray(t.value)&&(t.value.length===2||t.value.length===1&&a.value.partialRange)?a.value.fixedStart&&(qe(e,t.value[0])||Te(e,t.value[0]))?[t.value[0],e]:a.value.fixedEnd&&(He(e,t.value[1])||Te(e,t.value[1]))?[e,t.value[1]]:(n("invalid-fixed-range",e),t.value):[],Lr=({multiCalendars:e,range:t,highlight:n,propDates:a,calendars:r,modelValue:o,props:s,filters:c,year:d,month:P,emit:v})=>{const m=j(()=>Mn(s.yearRange,s.locale,s.reverseYears)),p=K([!1]),x=j(()=>(I,se)=>{const ce=Ne(wt(new Date),{month:P.value(I),year:d.value(I)}),ye=se?sr(ce):wa(ce);return Rr(ye,a.value.maxDate,a.value.minDate,s.preventMinMaxNavigation,se)}),A=()=>Array.isArray(o.value)&&e.value.solo&&o.value[1],R=()=>{for(let I=0;I{if(!I)return R();const se=Ne(q(),r.value[I]);return r.value[0].year=he(_r(se,e.value.count-1)),R()},b=(I,se)=>{const ce=dl(se,I);return t.value.showLastInRange&&ce>1?se:I},S=I=>s.focusStartDate||e.value.solo?I[0]:I[1]?b(I[0],I[1]):I[0],C=()=>{if(o.value){const I=Array.isArray(o.value)?S(o.value):o.value;r.value[0]={month:Pe(I),year:he(I)}}},L=()=>{C(),e.value.count&&R()};yt(o,(I,se)=>{s.isTextInputDate&&JSON.stringify(I??{})!==JSON.stringify(se??{})&&L()}),at(()=>{L()});const U=(I,se)=>{r.value[se].year=I,v("update-month-year",{instance:se,year:I,month:r.value[se].month}),e.value.count&&!e.value.solo&&M(se)},Y=j(()=>I=>sa(m.value,se=>{var ce;const ye=d.value(I)===se.value,y=ba(se.value,ua(a.value.minDate),ua(a.value.maxDate))||((ce=c.value.years)==null?void 0:ce.includes(d.value(I))),D=On(n.value,se.value);return{active:ye,disabled:y,highlighted:D}})),N=(I,se)=>{U(I,se),V(se)},re=(I,se=!1)=>{if(!x.value(I,se)){const ce=se?d.value(I)+1:d.value(I)-1;U(ce,I)}},V=(I,se=!1,ce)=>{se||v("reset-flow"),ce!==void 0?p.value[I]=ce:p.value[I]=!p.value[I],p.value[I]?v("overlay-toggle",{open:!0,overlay:rt.year}):(v("overlay-closed"),v("overlay-toggle",{open:!1,overlay:rt.year}))};return{isDisabled:x,groupedYears:Y,showYearPicker:p,selectYear:U,toggleYearPicker:V,handleYearSelect:N,handleYear:re}},nu=(e,t)=>{const{defaultedMultiCalendars:n,defaultedAriaLabels:a,defaultedTransitions:r,defaultedConfig:o,defaultedRange:s,defaultedHighlight:c,propDates:d,defaultedTz:P,defaultedFilters:v,defaultedMultiDates:m}=Be(e),p=()=>{e.isTextInputDate&&L(he(q(e.startDate)),0)},{modelValue:x,year:A,month:R,calendars:M}=Pa(e,t,p),b=j(()=>Dr(e.formatLocale,e.locale,e.monthNameFormat)),S=K(null),{checkMinMaxRange:C}=Wt(e),{selectYear:L,groupedYears:U,showYearPicker:Y,toggleYearPicker:N,handleYearSelect:re,handleYear:V,isDisabled:I}=Lr({modelValue:x,multiCalendars:n,range:s,highlight:c,calendars:M,year:A,propDates:d,month:R,filters:v,props:e,emit:t});at(()=>{e.startDate&&(x.value&&e.focusStartDate||!x.value)&&L(he(q(e.startDate)),0)});const se=k=>k?{month:Pe(k),year:he(k)}:{month:null,year:null},ce=()=>x.value?Array.isArray(x.value)?x.value.map(k=>se(k)):se(x.value):se(),ye=(k,F)=>{const W=M.value[k],l=ce();return Array.isArray(l)?l.some(_=>_.year===W?.year&&_.month===F):W?.year===l.year&&F===l.month},y=(k,F,W)=>{var l,_;const oe=ce();return Array.isArray(oe)?A.value(F)===((l=oe[W])==null?void 0:l.year)&&k===((_=oe[W])==null?void 0:_.month):!1},D=(k,F)=>{if(s.value.enabled){const W=ce();if(Array.isArray(x.value)&&Array.isArray(W)){const l=y(k,F,0)||y(k,F,1),_=Ct(wt(q()),k,A.value(F));return _a(x.value,S.value,_)&&!l}return!1}return!1},h=j(()=>k=>sa(b.value,F=>{var W;const l=ye(k,F.value),_=ba(F.value,$r(A.value(k),d.value.minDate),Ar(A.value(k),d.value.maxDate))||Ps(d.value.disabledDates,A.value(k),F.value)||((W=v.value.months)==null?void 0:W.includes(F.value))||!Ts(d.value.allowedDates,A.value(k),F.value),oe=D(F.value,k),Ye=Nr(c.value,F.value,A.value(k));return{active:l,disabled:_,isBetween:oe,highlighted:Ye}})),H=(k,F)=>Ct(wt(q()),k,A.value(F)),J=(k,F)=>{const W=x.value?x.value:wt(new Date);x.value=Ct(W,k,A.value(F)),t("auto-apply"),t("update-flow-step")},E=(k,F)=>{const W=H(k,F);s.value.fixedEnd||s.value.fixedStart?x.value=Br(W,x,t,s):x.value?C(W,x.value)&&(x.value=An(x,H(k,F),t)):x.value=[H(k,F)],mt().then(()=>{Fa(x.value,t,e.autoApply,e.modelAuto)})},ee=(k,F)=>{$n(H(k,F),x,m.value.limit),t("auto-apply",!0)},O=(k,F)=>(M.value[F].month=k,f(F,M.value[F].year,k),m.value.enabled?ee(k,F):s.value.enabled?E(k,F):J(k,F)),de=(k,F)=>{L(k,F),f(F,k,null)},f=(k,F,W)=>{let l=W;if(!l&&l!==0){const _=ce();l=Array.isArray(_)?_[k].month:_.month}t("update-month-year",{instance:k,year:F,month:l})};return{groupedMonths:h,groupedYears:U,year:A,isDisabled:I,defaultedMultiCalendars:n,defaultedAriaLabels:a,defaultedTransitions:r,defaultedConfig:o,showYearPicker:Y,modelValue:x,presetDate:(k,F)=>{Fr({value:k,modelValue:x,range:s.value.enabled,timezone:F?void 0:P.value.timezone}),t("auto-apply")},setHoverDate:(k,F)=>{S.value=H(k,F)},selectMonth:O,selectYear:de,toggleYearPicker:N,handleYearSelect:re,handleYear:V,getModelMonthYear:ce}},ru=tt({compatConfig:{MODE:3},__name:"MonthPicker",props:{...kt},emits:["update:internal-model-value","overlay-closed","reset-flow","range-start","range-end","auto-apply","update-month-year","update-flow-step","mount","invalid-fixed-range","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=Kt(),o=ct(r,"yearMode"),s=e;at(()=>{s.shadow||a("mount",null)});const{groupedMonths:c,groupedYears:d,year:P,isDisabled:v,defaultedMultiCalendars:m,defaultedConfig:p,showYearPicker:x,modelValue:A,presetDate:R,setHoverDate:M,selectMonth:b,selectYear:S,toggleYearPicker:C,handleYearSelect:L,handleYear:U,getModelMonthYear:Y}=nu(s,a);return t({getSidebarProps:()=>({modelValue:A,year:P,getModelMonthYear:Y,selectMonth:b,selectYear:S,handleYear:U}),presetDate:R,toggleYearPicker:N=>C(0,N)}),(N,re)=>(T(),Oe(Ea,{"multi-calendars":i(m).count,collapse:N.collapse,stretch:"","is-mobile":N.isMobile},{default:De(({instance:V})=>[N.$slots["top-extra"]?ie(N.$slots,"top-extra",{key:0,value:N.internalModelValue}):G("",!0),N.$slots["month-year"]?ie(N.$slots,"month-year",Ze(Je({key:1},{year:i(P),months:i(c)(V),years:i(d)(V),selectMonth:i(b),selectYear:i(S),instance:V}))):(T(),Oe(xa,{key:2,items:i(c)(V),"arrow-navigation":N.arrowNavigation,"is-last":N.autoApply&&!i(p).keepActionRow,"esc-close":N.escClose,height:i(p).modeHeight,config:N.config,"no-overlay-focus":!!(N.noOverlayFocus||N.textInput),"use-relative":"",type:"month",onSelected:I=>i(b)(I,V),onHoverValue:I=>i(M)(I,V)},ot({header:De(()=>[vt(Er,Je(N.$props,{items:i(d)(V),instance:V,"show-year-picker":i(x)[V],year:i(P)(V),"is-disabled":I=>i(v)(V,I),onHandleYear:I=>i(U)(V,I),onYearSelect:I=>i(L)(I,V),onToggleYearPicker:I=>i(C)(V,I?.flow,I?.show)}),ot({_:2},[Fe(i(o),(I,se)=>({name:I,fn:De(ce=>[ie(N.$slots,I,Ze(it(ce)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[N.$slots["month-overlay-value"]?{name:"item",fn:De(({item:I})=>[ie(N.$slots,"month-overlay-value",{text:I.text,value:I.value})]),key:"0"}:void 0]),1032,["items","arrow-navigation","is-last","esc-close","height","config","no-overlay-focus","onSelected","onHoverValue"]))]),_:3},8,["multi-calendars","collapse","is-mobile"]))}}),lu=(e,t)=>{const n=()=>{e.isTextInputDate&&(v.value=he(q(e.startDate)))},{modelValue:a}=Pa(e,t,n),r=K(null),{defaultedHighlight:o,defaultedMultiDates:s,defaultedFilters:c,defaultedRange:d,propDates:P}=Be(e),v=K();at(()=>{e.startDate&&(a.value&&e.focusStartDate||!a.value)&&(v.value=he(q(e.startDate)))});const m=b=>Array.isArray(a.value)?a.value.some(S=>he(S)===b):a.value?he(a.value)===b:!1,p=b=>d.value.enabled&&Array.isArray(a.value)?_a(a.value,r.value,M(b)):!1,x=b=>P.value.allowedDates instanceof Map?P.value.allowedDates.size?P.value.allowedDates.has(`${b}`):!1:!0,A=b=>P.value.disabledDates instanceof Map?P.value.disabledDates.size?P.value.disabledDates.has(`${b}`):!1:!0,R=j(()=>sa(Mn(e.yearRange,e.locale,e.reverseYears),b=>{const S=m(b.value),C=ba(b.value,ua(P.value.minDate),ua(P.value.maxDate))||c.value.years.includes(b.value)||!x(b.value)||A(b.value),L=p(b.value)&&!S,U=On(o.value,b.value);return{active:S,disabled:C,isBetween:L,highlighted:U}})),M=b=>Ot(wt(wa(new Date)),b);return{groupedYears:R,modelValue:a,focusYear:v,setHoverValue:b=>{r.value=Ot(wt(new Date),b)},selectYear:b=>{var S;if(t("update-month-year",{instance:0,year:b}),s.value.enabled)return a.value?Array.isArray(a.value)&&(((S=a.value)==null?void 0:S.map(C=>he(C))).includes(b)?a.value=a.value.filter(C=>he(C)!==b):a.value.push(Ot(et(q()),b))):a.value=[Ot(et(wa(q())),b)],t("auto-apply",!0);d.value.enabled?(a.value=An(a,M(b),t),mt().then(()=>{Fa(a.value,t,e.autoApply,e.modelAuto)})):(a.value=M(b),t("auto-apply"))}}},ou=tt({compatConfig:{MODE:3},__name:"YearPicker",props:{...kt},emits:["update:internal-model-value","reset-flow","range-start","range-end","auto-apply","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,{groupedYears:o,modelValue:s,focusYear:c,selectYear:d,setHoverValue:P}=lu(r,a),{defaultedConfig:v}=Be(r);return t({getSidebarProps:()=>({modelValue:s,selectYear:d})}),(m,p)=>(T(),z("div",null,[m.$slots["top-extra"]?ie(m.$slots,"top-extra",{key:0,value:m.internalModelValue}):G("",!0),m.$slots["month-year"]?ie(m.$slots,"month-year",Ze(Je({key:1},{years:i(o),selectYear:i(d)}))):(T(),Oe(xa,{key:2,items:i(o),"is-last":m.autoApply&&!i(v).keepActionRow,height:i(v).modeHeight,config:m.config,"no-overlay-focus":!!(m.noOverlayFocus||m.textInput),"focus-value":i(c),type:"year","use-relative":"",onSelected:i(d),onHoverValue:i(P)},ot({_:2},[m.$slots["year-overlay-value"]?{name:"item",fn:De(({item:x})=>[ie(m.$slots,"year-overlay-value",{text:x.text,value:x.value})]),key:"0"}:void 0]),1032,["items","is-last","height","config","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),su={key:0,class:"dp__time_input"},uu=["data-compact","data-collapsed"],iu=["data-test-id","aria-label","onKeydown","onClick","onMousedown"],du=["aria-label","disabled","data-test-id","onKeydown","onClick"],cu=["data-test-id","aria-label","onKeydown","onClick","onMousedown"],vu={key:0},mu=["aria-label","data-compact"],fu=tt({compatConfig:{MODE:3},__name:"TimeInput",props:{hours:{type:Number,default:0},minutes:{type:Number,default:0},seconds:{type:Number,default:0},closeTimePickerBtn:{type:Object,default:null},order:{type:Number,default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...kt},emits:["set-hours","set-minutes","update:hours","update:minutes","update:seconds","reset-flow","mounted","overlay-closed","overlay-opened","am-pm-change"],setup(e,{expose:t,emit:n}){const a=n,r=e,{setTimePickerElements:o,setTimePickerBackRef:s}=Vt(),{defaultedAriaLabels:c,defaultedTransitions:d,defaultedFilters:P,defaultedConfig:v,defaultedRange:m,defaultedMultiCalendars:p}=Be(r),{transitionName:x,showTransition:A}=Ma(d),R=ka({hours:!1,minutes:!1,seconds:!1}),M=K("AM"),b=K(null),S=K([]),C=K(),L=K(!1);at(()=>{a("mounted")});const U=u=>Ne(new Date,{hours:u.hours,minutes:u.minutes,seconds:r.enableSeconds?u.seconds:0,milliseconds:0}),Y=j(()=>u=>E(u,r[u])||re(u,r[u])),N=j(()=>({hours:r.hours,minutes:r.minutes,seconds:r.seconds})),re=(u,Z)=>m.value.enabled&&!m.value.disableTimeRangeValidation?!r.validateTime(u,Z):!1,V=(u,Z)=>{if(m.value.enabled&&!m.value.disableTimeRangeValidation){const ae=Z?+r[`${u}Increment`]:-+r[`${u}Increment`],ne=r[u]+ae;return!r.validateTime(u,ne)}return!1},I=j(()=>u=>!k(+r[u]+ +r[`${u}Increment`],u)||V(u,!0)),se=j(()=>u=>!k(+r[u]-+r[`${u}Increment`],u)||V(u,!1)),ce=(u,Z)=>tr(Ne(q(),u),Z),ye=(u,Z)=>os(Ne(q(),u),Z),y=j(()=>({dp__time_col:!0,dp__time_col_block:!r.timePickerInline,dp__time_col_reg_block:!r.enableSeconds&&r.is24&&!r.timePickerInline,dp__time_col_reg_inline:!r.enableSeconds&&r.is24&&r.timePickerInline,dp__time_col_reg_with_button:!r.enableSeconds&&!r.is24,dp__time_col_sec:r.enableSeconds&&r.is24,dp__time_col_sec_with_button:r.enableSeconds&&!r.is24})),D=j(()=>r.timePickerInline&&m.value.enabled&&!p.value.count),h=j(()=>{const u=[{type:"hours"}];return r.enableMinutes&&u.push({type:"",separator:!0},{type:"minutes"}),r.enableSeconds&&u.push({type:"",separator:!0},{type:"seconds"}),u}),H=j(()=>h.value.filter(u=>!u.separator)),J=j(()=>u=>{if(u==="hours"){const Z=Ye(+r.hours);return{text:Z<10?`0${Z}`:`${Z}`,value:Z}}return{text:r[u]<10?`0${r[u]}`:`${r[u]}`,value:r[u]}}),E=(u,Z)=>{var ae;if(!r.disabledTimesConfig)return!1;const ne=r.disabledTimesConfig(r.order,u==="hours"?Z:void 0);return ne[u]?!!((ae=ne[u])!=null&&ae.includes(Z)):!0},ee=(u,Z)=>Z!=="hours"||M.value==="AM"?u:u+12,O=u=>{const Z=r.is24?24:12,ae=u==="hours"?Z:60,ne=+r[`${u}GridIncrement`],Me=u==="hours"&&!r.is24?ne:0,be=[];for(let Ce=Me;Ce({active:!1,disabled:P.value.times[u].includes(Ce.value)||!k(Ce.value,u)||E(u,Ce.value)||re(u,Ce.value)}))},de=u=>u>=0?u:59,f=u=>u>=0?u:23,k=(u,Z)=>{const ae=r.minTime?U(Ga(r.minTime)):null,ne=r.maxTime?U(Ga(r.maxTime)):null,Me=U(Ga(N.value,Z,Z==="minutes"||Z==="seconds"?de(u):f(u)));return ae&&ne?(la(Me,ne)||ta(Me,ne))&&(Gt(Me,ae)||ta(Me,ae)):ae?Gt(Me,ae)||ta(Me,ae):ne?la(Me,ne)||ta(Me,ne):!0},F=u=>r[`no${u[0].toUpperCase()+u.slice(1)}Overlay`],W=u=>{F(u)||(R[u]=!R[u],R[u]?(L.value=!0,a("overlay-opened",u)):(L.value=!1,a("overlay-closed",u)))},l=u=>u==="hours"?St:u==="minutes"?Ht:ra,_=()=>{C.value&&clearTimeout(C.value)},oe=(u,Z=!0,ae)=>{const ne=Z?ce:ye,Me=Z?+r[`${u}Increment`]:-+r[`${u}Increment`];k(+r[u]+Me,u)&&a(`update:${u}`,l(u)(ne({[u]:+r[u]},{[u]:+r[`${u}Increment`]}))),!(ae!=null&&ae.keyboard)&&v.value.timeArrowHoldThreshold&&(C.value=setTimeout(()=>{oe(u,Z)},v.value.timeArrowHoldThreshold))},Ye=u=>r.is24?u:(u>=12?M.value="PM":M.value="AM",ms(u)),$=()=>{M.value==="PM"?(M.value="AM",a("update:hours",r.hours-12)):(M.value="PM",a("update:hours",r.hours+12)),a("am-pm-change",M.value)},we=u=>{R[u]=!0},Q=(u,Z,ae)=>{if(u&&r.arrowNavigation){Array.isArray(S.value[Z])?S.value[Z][ae]=u:S.value[Z]=[u];const ne=S.value.reduce((Me,be)=>be.map((Ce,We)=>[...Me[We]||[],be[We]]),[]);s(r.closeTimePickerBtn),b.value&&(ne[1]=ne[1].concat(b.value)),o(ne,r.order)}},te=(u,Z)=>(W(u),a(`update:${u}`,Z));return t({openChildCmp:we}),(u,Z)=>{var ae;return u.disabled?G("",!0):(T(),z("div",su,[(T(!0),z(ke,null,Fe(h.value,(ne,Me)=>{var be,Ce,We;return T(),z("div",{key:Me,class:xe(y.value),"data-compact":D.value&&!u.enableSeconds,"data-collapsed":D.value&&u.enableSeconds},[ne.separator?(T(),z(ke,{key:0},[L.value?G("",!0):(T(),z(ke,{key:0},[Rt(":")],64))],64)):(T(),z(ke,{key:1},[ge("button",{ref_for:!0,ref:g=>Q(g,Me,0),type:"button",class:xe({dp__btn:!0,dp__inc_dec_button:!u.timePickerInline,dp__inc_dec_button_inline:u.timePickerInline,dp__tp_inline_btn_top:u.timePickerInline,dp__inc_dec_button_disabled:I.value(ne.type),"dp--hidden-el":L.value}),"data-test-id":`${ne.type}-time-inc-btn-${r.order}`,"aria-label":(be=i(c))==null?void 0:be.incrementValue(ne.type),tabindex:"0",onKeydown:g=>i(ut)(g,()=>oe(ne.type,!0,{keyboard:!0}),!0),onClick:g=>i(v).timeArrowHoldThreshold?void 0:oe(ne.type,!0),onMousedown:g=>i(v).timeArrowHoldThreshold?oe(ne.type,!0):void 0,onMouseup:_},[r.timePickerInline?(T(),z(ke,{key:1},[u.$slots["tp-inline-arrow-up"]?ie(u.$slots,"tp-inline-arrow-up",{key:0}):(T(),z(ke,{key:1},[Z[2]||(Z[2]=ge("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),Z[3]||(Z[3]=ge("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))],64))],64)):(T(),z(ke,{key:0},[u.$slots["arrow-up"]?ie(u.$slots,"arrow-up",{key:0}):G("",!0),u.$slots["arrow-up"]?G("",!0):(T(),Oe(i(kn),{key:1}))],64))],42,iu),ge("button",{ref_for:!0,ref:g=>Q(g,Me,1),type:"button","aria-label":`${J.value(ne.type).text}-${(Ce=i(c))==null?void 0:Ce.openTpOverlay(ne.type)}`,class:xe({dp__time_display:!0,dp__time_display_block:!u.timePickerInline,dp__time_display_inline:u.timePickerInline,"dp--time-invalid":Y.value(ne.type),"dp--time-overlay-btn":!Y.value(ne.type),"dp--hidden-el":L.value}),disabled:F(ne.type),tabindex:"0","data-test-id":`${ne.type}-toggle-overlay-btn-${r.order}`,onKeydown:g=>i(ut)(g,()=>W(ne.type),!0),onClick:g=>W(ne.type)},[u.$slots[ne.type]?ie(u.$slots,ne.type,{key:0,text:J.value(ne.type).text,value:J.value(ne.type).value}):G("",!0),u.$slots[ne.type]?G("",!0):(T(),z(ke,{key:1},[Rt(lt(J.value(ne.type).text),1)],64))],42,du),ge("button",{ref_for:!0,ref:g=>Q(g,Me,2),type:"button",class:xe({dp__btn:!0,dp__inc_dec_button:!u.timePickerInline,dp__inc_dec_button_inline:u.timePickerInline,dp__tp_inline_btn_bottom:u.timePickerInline,dp__inc_dec_button_disabled:se.value(ne.type),"dp--hidden-el":L.value}),"data-test-id":`${ne.type}-time-dec-btn-${r.order}`,"aria-label":(We=i(c))==null?void 0:We.decrementValue(ne.type),tabindex:"0",onKeydown:g=>i(ut)(g,()=>oe(ne.type,!1,{keyboard:!0}),!0),onClick:g=>i(v).timeArrowHoldThreshold?void 0:oe(ne.type,!1),onMousedown:g=>i(v).timeArrowHoldThreshold?oe(ne.type,!1):void 0,onMouseup:_},[r.timePickerInline?(T(),z(ke,{key:1},[u.$slots["tp-inline-arrow-down"]?ie(u.$slots,"tp-inline-arrow-down",{key:0}):(T(),z(ke,{key:1},[Z[4]||(Z[4]=ge("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),Z[5]||(Z[5]=ge("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))],64))],64)):(T(),z(ke,{key:0},[u.$slots["arrow-down"]?ie(u.$slots,"arrow-down",{key:0}):G("",!0),u.$slots["arrow-down"]?G("",!0):(T(),Oe(i(Dn),{key:1}))],64))],42,cu)],64))],10,uu)}),128)),u.is24?G("",!0):(T(),z("div",vu,[u.$slots["am-pm-button"]?ie(u.$slots,"am-pm-button",{key:0,toggle:$,value:M.value}):G("",!0),u.$slots["am-pm-button"]?G("",!0):(T(),z("button",{key:1,ref_key:"amPmButton",ref:b,type:"button",class:"dp__pm_am_button",role:"button","aria-label":(ae=i(c))==null?void 0:ae.amPmButton,tabindex:"0","data-compact":D.value,onClick:$,onKeydown:Z[0]||(Z[0]=ne=>i(ut)(ne,()=>$(),!0))},lt(M.value),41,mu))])),(T(!0),z(ke,null,Fe(H.value,(ne,Me)=>(T(),Oe(da,{key:Me,name:i(x)(R[ne.type]),css:i(A)},{default:De(()=>{var be,Ce;return[R[ne.type]?(T(),Oe(xa,{key:0,items:O(ne.type),"is-last":u.autoApply&&!i(v).keepActionRow,"esc-close":u.escClose,type:ne.type,"text-input":u.textInput,config:u.config,"arrow-navigation":u.arrowNavigation,"aria-labels":u.ariaLabels,"overlay-label":(Ce=(be=i(c)).timeOverlay)==null?void 0:Ce.call(be,ne.type),onSelected:We=>te(ne.type,We),onToggle:We=>W(ne.type),onResetFlow:Z[1]||(Z[1]=We=>u.$emit("reset-flow"))},ot({"button-icon":De(()=>[u.$slots["clock-icon"]?ie(u.$slots,"clock-icon",{key:0}):G("",!0),u.$slots["clock-icon"]?G("",!0):(T(),Oe(Na(u.timePickerInline?i(ca):i(_n)),{key:1}))]),_:2},[u.$slots[`${ne.type}-overlay-value`]?{name:"item",fn:De(({item:We})=>[ie(u.$slots,`${ne.type}-overlay-value`,{text:We.text,value:We.value})]),key:"0"}:void 0,u.$slots[`${ne.type}-overlay-header`]?{name:"header",fn:De(()=>[ie(u.$slots,`${ne.type}-overlay-header`,{toggle:()=>W(ne.type)})]),key:"1"}:void 0]),1032,["items","is-last","esc-close","type","text-input","config","arrow-navigation","aria-labels","overlay-label","onSelected","onToggle"])):G("",!0)]}),_:2},1032,["name","css"]))),128))]))}}}),pu=["data-dp-mobile"],yu=["aria-label","tabindex"],hu=["role","aria-label","tabindex"],gu=["aria-label"],Hr=tt({compatConfig:{MODE:3},__name:"TimePicker",props:{hours:{type:[Number,Array],default:0},minutes:{type:[Number,Array],default:0},seconds:{type:[Number,Array],default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...kt},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow","overlay-opened","overlay-closed","am-pm-change"],setup(e,{expose:t,emit:n}){const a=n,r=e,{buildMatrix:o,setTimePicker:s}=Vt(),c=Kt(),{defaultedTransitions:d,defaultedAriaLabels:P,defaultedTextInput:v,defaultedConfig:m,defaultedRange:p}=Be(r),{transitionName:x,showTransition:A}=Ma(d),{hideNavigationButtons:R}=Ba(),M=K(null),b=K(null),S=K([]),C=K(null),L=K(!1);at(()=>{a("mount"),!r.timePicker&&r.arrowNavigation?o([je(M.value)],"time"):s(!0,r.timePicker)});const U=j(()=>p.value.enabled&&r.modelAuto?xr(r.internalModelValue):!0),Y=K(!1),N=E=>({hours:Array.isArray(r.hours)?r.hours[E]:r.hours,minutes:Array.isArray(r.minutes)?r.minutes[E]:r.minutes,seconds:Array.isArray(r.seconds)?r.seconds[E]:r.seconds}),re=j(()=>{const E=[];if(p.value.enabled)for(let ee=0;ee<2;ee++)E.push(N(ee));else E.push(N(0));return E}),V=(E,ee=!1,O="")=>{ee||a("reset-flow"),Y.value=E,a(E?"overlay-opened":"overlay-closed",rt.time),r.arrowNavigation&&s(E),mt(()=>{O!==""&&S.value[0]&&S.value[0].openChildCmp(O)})},I=j(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:r.autoApply&&!m.value.keepActionRow})),se=ct(c,"timePicker"),ce=(E,ee,O)=>p.value.enabled?ee===0?[E,re.value[1][O]]:[re.value[0][O],E]:E,ye=E=>{a("update:hours",E)},y=E=>{a("update:minutes",E)},D=E=>{a("update:seconds",E)},h=()=>{if(C.value&&!v.value.enabled&&!r.noOverlayFocus){const E=Mr(C.value);E&&E.focus({preventScroll:!0})}},H=E=>{L.value=!1,a("overlay-closed",E)},J=E=>{L.value=!0,a("overlay-opened",E)};return t({toggleTimePicker:V}),(E,ee)=>{var O;return T(),z("div",{class:"dp--tp-wrap","data-dp-mobile":E.isMobile},[!E.timePicker&&!E.timePickerInline?Aa((T(),z("button",{key:0,ref_key:"openTimePickerBtn",ref:M,type:"button",class:xe({...I.value,"dp--hidden-el":Y.value}),"aria-label":(O=i(P))==null?void 0:O.openTimePicker,tabindex:E.noOverlayFocus?void 0:0,"data-test-id":"open-time-picker-btn",onKeydown:ee[0]||(ee[0]=de=>i(ut)(de,()=>V(!0))),onClick:ee[1]||(ee[1]=de=>V(!0))},[E.$slots["clock-icon"]?ie(E.$slots,"clock-icon",{key:0}):G("",!0),E.$slots["clock-icon"]?G("",!0):(T(),Oe(i(_n),{key:1}))],42,yu)),[[Ya,!i(R)(E.hideNavigation,"time")]]):G("",!0),vt(da,{name:i(x)(Y.value),css:i(A)&&!E.timePickerInline},{default:De(()=>{var de,f;return[Y.value||E.timePicker||E.timePickerInline?(T(),z("div",{key:0,ref_key:"overlayRef",ref:C,role:E.timePickerInline?void 0:"dialog",class:xe({dp__overlay:!E.timePickerInline,"dp--overlay-absolute":!r.timePicker&&!E.timePickerInline,"dp--overlay-relative":r.timePicker}),style:pt(E.timePicker?{height:`${i(m).modeHeight}px`}:void 0),"aria-label":(de=i(P))==null?void 0:de.timePicker,tabindex:E.timePickerInline?void 0:0},[ge("div",{class:xe(E.timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[E.$slots["time-picker-overlay"]?ie(E.$slots,"time-picker-overlay",{key:0,hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:ye,setMinutes:y,setSeconds:D}):G("",!0),E.$slots["time-picker-overlay"]?G("",!0):(T(),z("div",{key:1,class:xe(E.timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(T(!0),z(ke,null,Fe(re.value,(k,F)=>Aa((T(),Oe(fu,Je({key:F,ref_for:!0},{...E.$props,order:F,hours:k.hours,minutes:k.minutes,seconds:k.seconds,closeTimePickerBtn:b.value,disabledTimesConfig:e.disabledTimesConfig,disabled:F===0?i(p).fixedStart:i(p).fixedEnd},{ref_for:!0,ref_key:"timeInputRefs",ref:S,"validate-time":(W,l)=>e.validateTime(W,ce(l,F,W)),"onUpdate:hours":W=>ye(ce(W,F,"hours")),"onUpdate:minutes":W=>y(ce(W,F,"minutes")),"onUpdate:seconds":W=>D(ce(W,F,"seconds")),onMounted:h,onOverlayClosed:H,onOverlayOpened:J,onAmPmChange:ee[2]||(ee[2]=W=>E.$emit("am-pm-change",W))}),ot({_:2},[Fe(i(se),(W,l)=>({name:W,fn:De(_=>[ie(E.$slots,W,Je({ref_for:!0},_))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[Ya,F===0?!0:U.value]])),128))],2)),!E.timePicker&&!E.timePickerInline?Aa((T(),z("button",{key:2,ref_key:"closeTimePickerBtn",ref:b,type:"button",class:xe({...I.value,"dp--hidden-el":L.value}),"aria-label":(f=i(P))==null?void 0:f.closeTimePicker,tabindex:"0",onKeydown:ee[3]||(ee[3]=k=>i(ut)(k,()=>V(!1))),onClick:ee[4]||(ee[4]=k=>V(!1))},[E.$slots["calendar-icon"]?ie(E.$slots,"calendar-icon",{key:0}):G("",!0),E.$slots["calendar-icon"]?G("",!0):(T(),Oe(i(ca),{key:1}))],42,gu)),[[Ya,!i(R)(E.hideNavigation,"time")]]):G("",!0)],2)],14,hu)):G("",!0)]}),_:3},8,["name","css"])],8,pu)}}}),Vr=(e,t,n,a)=>{const{defaultedRange:r}=Be(e),o=(C,L)=>Array.isArray(t[C])?t[C][L]:t[C],s=C=>e.enableSeconds?Array.isArray(t.seconds)?t.seconds[C]:t.seconds:0,c=(C,L)=>C?L!==void 0?Lt(C,o("hours",L),o("minutes",L),s(L)):Lt(C,t.hours,t.minutes,s()):br(q(),s(L)),d=(C,L)=>{t[C]=L},P=j(()=>e.modelAuto&&r.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:r.value.enabled),v=(C,L)=>{const U=Object.fromEntries(Object.keys(t).map(Y=>Y===C?[Y,L]:[Y,t[Y]].slice()));if(P.value&&!r.value.disableTimeRangeValidation){const Y=re=>n.value?Lt(n.value[re],U.hours[re],U.minutes[re],U.seconds[re]):null,N=re=>wr(n.value[re],0);return!(Te(Y(0),Y(1))&&(Gt(Y(0),N(1))||la(Y(1),N(0))))}return!0},m=(C,L)=>{v(C,L)&&(d(C,L),a&&a())},p=C=>{m("hours",C)},x=C=>{m("minutes",C)},A=C=>{m("seconds",C)},R=(C,L,U,Y)=>{L&&p(C),!L&&!U&&x(C),U&&A(C),n.value&&Y(n.value)},M=C=>{if(C){const L=Array.isArray(C),U=L?[+C[0].hours,+C[1].hours]:+C.hours,Y=L?[+C[0].minutes,+C[1].minutes]:+C.minutes,N=L?[+C[0].seconds,+C[1].seconds]:+C.seconds;d("hours",U),d("minutes",Y),e.enableSeconds&&d("seconds",N)}},b=(C,L)=>{const U={hours:Array.isArray(t.hours)?t.hours[C]:t.hours,disabledArr:[]};return(L||L===0)&&(U.hours=L),Array.isArray(e.disabledTimes)&&(U.disabledArr=r.value.enabled&&Array.isArray(e.disabledTimes[C])?e.disabledTimes[C]:e.disabledTimes),U},S=j(()=>(C,L)=>{var U;if(Array.isArray(e.disabledTimes)){const{disabledArr:Y,hours:N}=b(C,L),re=Y.filter(V=>+V.hours===N);return((U=re[0])==null?void 0:U.minutes)==="*"?{hours:[N],minutes:void 0,seconds:void 0}:{hours:[],minutes:re?.map(V=>+V.minutes)??[],seconds:re?.map(V=>V.seconds?+V.seconds:void 0)??[]}}return{hours:[],minutes:[],seconds:[]}});return{setTime:d,updateHours:p,updateMinutes:x,updateSeconds:A,getSetDateTime:c,updateTimeValues:R,getSecondsValue:s,assignStartTime:M,validateTime:v,disabledTimesConfig:S}},wu=(e,t)=>{const n=()=>{e.isTextInputDate&&L()},{modelValue:a,time:r}=Pa(e,t,n),{defaultedStartTime:o,defaultedRange:s,defaultedTz:c}=Be(e),{updateTimeValues:d,getSetDateTime:P,setTime:v,assignStartTime:m,disabledTimesConfig:p,validateTime:x}=Vr(e,r,a,A);function A(){t("update-flow-step")}const R=Y=>{const{hours:N,minutes:re,seconds:V}=Y;return{hours:+N,minutes:+re,seconds:V?+V:0}},M=()=>{if(e.startTime){if(Array.isArray(e.startTime)){const N=R(e.startTime[0]),re=R(e.startTime[1]);return[Ne(q(),N),Ne(q(),re)]}const Y=R(e.startTime);return Ne(q(),Y)}return s.value.enabled?[null,null]:null},b=()=>{if(s.value.enabled){const[Y,N]=M();a.value=[dt(P(Y,0),c.value.timezone),dt(P(N,1),c.value.timezone)]}else a.value=dt(P(M()),c.value.timezone)},S=Y=>Array.isArray(Y)?[jt(q(Y[0])),jt(q(Y[1]))]:[jt(Y??q())],C=(Y,N,re)=>{v("hours",Y),v("minutes",N),v("seconds",e.enableSeconds?re:0)},L=()=>{const[Y,N]=S(a.value);return s.value.enabled?C([Y.hours,N.hours],[Y.minutes,N.minutes],[Y.seconds,N.seconds]):C(Y.hours,Y.minutes,Y.seconds)};at(()=>{if(!e.shadow)return m(o.value),a.value?L():b()});const U=()=>{Array.isArray(a.value)?a.value=a.value.map((Y,N)=>Y&&P(Y,N)):a.value=P(a.value),t("time-update")};return{modelValue:a,time:r,disabledTimesConfig:p,updateTime:(Y,N=!0,re=!1)=>{d(Y,N,re,U)},validateTime:x}},bu=tt({compatConfig:{MODE:3},__name:"TimePickerSolo",props:{...kt},emits:["update:internal-model-value","time-update","am-pm-change","mount","reset-flow","update-flow-step","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Kt(),s=ct(o,"timePicker"),c=K(null),{time:d,modelValue:P,disabledTimesConfig:v,updateTime:m,validateTime:p}=wu(r,a);return at(()=>{r.shadow||a("mount",null)}),t({getSidebarProps:()=>({modelValue:P,time:d,updateTime:m}),toggleTimePicker:(x,A=!1,R="")=>{var M;(M=c.value)==null||M.toggleTimePicker(x,A,R)}}),(x,A)=>(T(),Oe(Ea,{"multi-calendars":0,stretch:"","is-mobile":x.isMobile},{default:De(()=>[vt(Hr,Je({ref_key:"tpRef",ref:c},x.$props,{hours:i(d).hours,minutes:i(d).minutes,seconds:i(d).seconds,"internal-model-value":x.internalModelValue,"disabled-times-config":i(v),"validate-time":i(p),"onUpdate:hours":A[0]||(A[0]=R=>i(m)(R)),"onUpdate:minutes":A[1]||(A[1]=R=>i(m)(R,!1)),"onUpdate:seconds":A[2]||(A[2]=R=>i(m)(R,!1,!0)),onAmPmChange:A[3]||(A[3]=R=>x.$emit("am-pm-change",R)),onResetFlow:A[4]||(A[4]=R=>x.$emit("reset-flow")),onOverlayClosed:A[5]||(A[5]=R=>x.$emit("overlay-toggle",{open:!1,overlay:R})),onOverlayOpened:A[6]||(A[6]=R=>x.$emit("overlay-toggle",{open:!0,overlay:R}))}),ot({_:2},[Fe(i(s),(R,M)=>({name:R,fn:De(b=>[ie(x.$slots,R,Ze(it(b)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"])]),_:3},8,["is-mobile"]))}}),_u={class:"dp--header-wrap"},ku={key:0,class:"dp__month_year_wrap"},Du={key:0},xu={class:"dp__month_year_wrap"},Mu=["data-dp-element","aria-label","data-test-id","onClick","onKeydown"],Pu=tt({compatConfig:{MODE:3},__name:"DpHeader",props:{month:{type:Number,default:0},year:{type:Number,default:0},instance:{type:Number,default:0},years:{type:Array,default:()=>[]},months:{type:Array,default:()=>[]},...kt},emits:["update-month-year","mount","reset-flow","overlay-closed","overlay-opened"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaultedTransitions:o,defaultedAriaLabels:s,defaultedMultiCalendars:c,defaultedFilters:d,defaultedConfig:P,defaultedHighlight:v,propDates:m,defaultedUI:p}=Be(r),{transitionName:x,showTransition:A}=Ma(o),{buildMatrix:R}=Vt(),{handleMonthYearChange:M,isDisabled:b,updateMonthYear:S}=Us(r,a),{showLeftIcon:C,showRightIcon:L}=Ba(),U=K(!1),Y=K(!1),N=K(!1),re=K([null,null,null,null]);at(()=>{a("mount")});const V=f=>({get:()=>r[f],set:k=>{const F=f===ht.month?ht.year:ht.month;a("update-month-year",{[f]:k,[F]:r[F]}),f===ht.month?H(!0):J(!0)}}),I=j(V(ht.month)),se=j(V(ht.year)),ce=j(()=>f=>({month:r.month,year:r.year,items:f===ht.month?r.months:r.years,instance:r.instance,updateMonthYear:S,toggle:f===ht.month?H:J})),ye=j(()=>r.months.find(k=>k.value===r.month)||{text:"",value:0}),y=j(()=>sa(r.months,f=>{const k=r.month===f.value,F=ba(f.value,$r(r.year,m.value.minDate),Ar(r.year,m.value.maxDate))||d.value.months.includes(f.value),W=Nr(v.value,f.value,r.year);return{active:k,disabled:F,highlighted:W}})),D=j(()=>sa(r.years,f=>{const k=r.year===f.value,F=ba(f.value,ua(m.value.minDate),ua(m.value.maxDate))||d.value.years.includes(f.value),W=On(v.value,f.value);return{active:k,disabled:F,highlighted:W}})),h=(f,k,F)=>{F!==void 0?f.value=F:f.value=!f.value,f.value?(N.value=!0,a("overlay-opened",k)):(N.value=!1,a("overlay-closed",k))},H=(f=!1,k)=>{E(f),h(U,rt.month,k)},J=(f=!1,k)=>{E(f),h(Y,rt.year,k)},E=f=>{f||a("reset-flow")},ee=(f,k)=>{r.arrowNavigation&&(re.value[k]=je(f),R(re.value,"monthYear"))},O=j(()=>{var f,k,F,W,l,_;return[{type:ht.month,index:1,toggle:H,modelValue:I.value,updateModelValue:oe=>I.value=oe,text:ye.value.text,showSelectionGrid:U.value,items:y.value,ariaLabel:(f=s.value)==null?void 0:f.openMonthsOverlay,overlayLabel:((F=(k=s.value).monthPicker)==null?void 0:F.call(k,!0))??void 0},{type:ht.year,index:2,toggle:J,modelValue:se.value,updateModelValue:oe=>se.value=oe,text:Pr(r.year,r.locale),showSelectionGrid:Y.value,items:D.value,ariaLabel:(W=s.value)==null?void 0:W.openYearsOverlay,overlayLabel:((_=(l=s.value).yearPicker)==null?void 0:_.call(l,!0))??void 0}]}),de=j(()=>r.disableYearSelect?[O.value[0]]:r.yearFirst?[...O.value].reverse():O.value);return t({toggleMonthPicker:H,toggleYearPicker:J,handleMonthYearChange:M}),(f,k)=>{var F,W,l,_,oe,Ye;return T(),z("div",_u,[f.$slots["month-year"]?(T(),z("div",ku,[ie(f.$slots,"month-year",Ze(it({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:i(S),handleMonthYearChange:i(M),instance:e.instance,isDisabled:i(b)})))])):(T(),z(ke,{key:1},[f.$slots["top-extra"]?(T(),z("div",Du,[ie(f.$slots,"top-extra",{value:f.internalModelValue})])):G("",!0),ge("div",xu,[i(C)(i(c),e.instance)&&!f.vertical?(T(),Oe(ya,{key:0,"aria-label":(F=i(s))==null?void 0:F.prevMonth,disabled:i(b)(!1),class:xe((W=i(p))==null?void 0:W.navBtnPrev),"el-name":"action-prev",onActivate:k[0]||(k[0]=$=>i(M)(!1,!0)),onSetRef:k[1]||(k[1]=$=>ee($,0))},{default:De(()=>[f.$slots["arrow-left"]?ie(f.$slots,"arrow-left",{key:0}):G("",!0),f.$slots["arrow-left"]?G("",!0):(T(),Oe(i(wn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):G("",!0),ge("div",{class:xe(["dp__month_year_wrap",{dp__year_disable_select:f.disableYearSelect}])},[(T(!0),z(ke,null,Fe(de.value,($,we)=>(T(),z(ke,{key:$.type},[ge("button",{ref_for:!0,ref:Q=>ee(Q,we+1),type:"button","data-dp-element":`overlay-${$.type}`,class:xe(["dp__btn dp__month_year_select",{"dp--hidden-el":N.value}]),"aria-label":`${$.text}-${$.ariaLabel}`,"data-test-id":`${$.type}-toggle-overlay-${e.instance}`,onClick:$.toggle,onKeydown:Q=>i(ut)(Q,()=>$.toggle(),!0)},[f.$slots[$.type]?ie(f.$slots,$.type,{key:0,text:$.text,value:r[$.type]}):G("",!0),f.$slots[$.type]?G("",!0):(T(),z(ke,{key:1},[Rt(lt($.text),1)],64))],42,Mu),vt(da,{name:i(x)($.showSelectionGrid),css:i(A)},{default:De(()=>[$.showSelectionGrid?(T(),Oe(xa,{key:0,items:$.items,"arrow-navigation":f.arrowNavigation,"hide-navigation":f.hideNavigation,"is-last":f.autoApply&&!i(P).keepActionRow,"skip-button-ref":!1,config:f.config,type:$.type,"header-refs":[],"esc-close":f.escClose,"menu-wrap-ref":f.menuWrapRef,"text-input":f.textInput,"aria-labels":f.ariaLabels,"overlay-label":$.overlayLabel,onSelected:$.updateModelValue,onToggle:$.toggle},ot({"button-icon":De(()=>[f.$slots["calendar-icon"]?ie(f.$slots,"calendar-icon",{key:0}):G("",!0),f.$slots["calendar-icon"]?G("",!0):(T(),Oe(i(ca),{key:1}))]),_:2},[f.$slots[`${$.type}-overlay-value`]?{name:"item",fn:De(({item:Q})=>[ie(f.$slots,`${$.type}-overlay-value`,{text:Q.text,value:Q.value})]),key:"0"}:void 0,f.$slots[`${$.type}-overlay`]?{name:"overlay",fn:De(()=>[ie(f.$slots,`${$.type}-overlay`,Je({ref_for:!0},ce.value($.type)))]),key:"1"}:void 0,f.$slots[`${$.type}-overlay-header`]?{name:"header",fn:De(()=>[ie(f.$slots,`${$.type}-overlay-header`,{toggle:$.toggle})]),key:"2"}:void 0]),1032,["items","arrow-navigation","hide-navigation","is-last","config","type","esc-close","menu-wrap-ref","text-input","aria-labels","overlay-label","onSelected","onToggle"])):G("",!0)]),_:2},1032,["name","css"])],64))),128))],2),i(C)(i(c),e.instance)&&f.vertical?(T(),Oe(ya,{key:1,"aria-label":(l=i(s))==null?void 0:l.prevMonth,"el-name":"action-prev",disabled:i(b)(!1),class:xe((_=i(p))==null?void 0:_.navBtnPrev),onActivate:k[2]||(k[2]=$=>i(M)(!1,!0))},{default:De(()=>[f.$slots["arrow-up"]?ie(f.$slots,"arrow-up",{key:0}):G("",!0),f.$slots["arrow-up"]?G("",!0):(T(),Oe(i(kn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):G("",!0),i(L)(i(c),e.instance)?(T(),Oe(ya,{key:2,ref:"rightIcon","el-name":"action-next",disabled:i(b)(!0),"aria-label":(oe=i(s))==null?void 0:oe.nextMonth,class:xe((Ye=i(p))==null?void 0:Ye.navBtnNext),onActivate:k[3]||(k[3]=$=>i(M)(!0,!0)),onSetRef:k[4]||(k[4]=$=>ee($,f.disableYearSelect?2:3))},{default:De(()=>[f.$slots[f.vertical?"arrow-down":"arrow-right"]?ie(f.$slots,f.vertical?"arrow-down":"arrow-right",{key:0}):G("",!0),f.$slots[f.vertical?"arrow-down":"arrow-right"]?G("",!0):(T(),Oe(Na(f.vertical?i(Dn):i(bn)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):G("",!0)])],64))])}}}),Tu={class:"dp__calendar_header",role:"row"},Ou={key:0,class:"dp__calendar_header_item",role:"gridcell"},$u=["aria-label"],Au={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},Yu={class:"dp__cell_inner"},Cu=["id","aria-pressed","aria-disabled","aria-label","tabindex","data-test-id","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],Ru=tt({compatConfig:{MODE:3},__name:"DpCalendar",props:{mappedDates:{type:Array,default:()=>[]},instance:{type:Number,default:0},month:{type:Number,default:0},year:{type:Number,default:0},...kt},emits:["select-date","set-hover-date","handle-scroll","mount","handle-swipe","handle-space","tooltip-open","tooltip-close"],setup(e,{expose:t,emit:n}){const a=n,r=e,{buildMultiLevelMatrix:o}=Vt(),{defaultedTransitions:s,defaultedConfig:c,defaultedAriaLabels:d,defaultedMultiCalendars:P,defaultedWeekNumbers:v,defaultedMultiDates:m,defaultedUI:p}=Be(r),x=K(null),A=K({bottom:"",left:"",transform:""}),R=K([]),M=K(null),b=K(!0),S=K(""),C=K({startX:0,endX:0,startY:0,endY:0}),L=K([]),U=K({left:"50%"}),Y=K(!1),N=j(()=>r.calendar?r.calendar(r.mappedDates):r.mappedDates),re=j(()=>r.dayNames?Array.isArray(r.dayNames)?r.dayNames:r.dayNames(r.locale,+r.weekStart):vs(r.formatLocale,r.locale,+r.weekStart));at(()=>{a("mount",{cmp:"calendar",refs:R}),c.value.noSwipe||M.value&&(M.value.addEventListener("touchstart",ee,{passive:!1}),M.value.addEventListener("touchend",O,{passive:!1}),M.value.addEventListener("touchmove",de,{passive:!1})),r.monthChangeOnScroll&&M.value&&M.value.addEventListener("wheel",F,{passive:!1})}),ia(()=>{c.value.noSwipe||M.value&&(M.value.removeEventListener("touchstart",ee),M.value.removeEventListener("touchend",O),M.value.removeEventListener("touchmove",de)),r.monthChangeOnScroll&&M.value&&M.value.removeEventListener("wheel",F)});const V=$=>$?r.vertical?"vNext":"next":r.vertical?"vPrevious":"previous",I=($,we)=>{if(r.transitions){const Q=et(Ct(q(),r.month,r.year));S.value=qe(et(Ct(q(),$,we)),Q)?s.value[V(!0)]:s.value[V(!1)],b.value=!1,mt(()=>{b.value=!0})}},se=j(()=>({...p.value.calendar??{}})),ce=j(()=>$=>{const we=fs($);return{dp__marker_dot:we.type==="dot",dp__marker_line:we.type==="line"}}),ye=j(()=>$=>Te($,x.value)),y=j(()=>({dp__calendar:!0,dp__calendar_next:P.value.count>0&&r.instance!==0})),D=j(()=>$=>r.hideOffsetDates?$.current:!0),h=async($,we)=>{const{width:Q,height:te}=$.getBoundingClientRect();x.value=we.value;let u={left:`${Q/2}px`},Z=-50;if(await mt(),L.value[0]){const{left:ae,width:ne}=L.value[0].getBoundingClientRect();ae<0&&(u={left:"0"},Z=0,U.value.left=`${Q/2}px`),window.innerWidth{var te,u,Z;const ae=je(R.value[we][Q]);ae&&((te=$.marker)!=null&&te.customPosition&&(Z=(u=$.marker)==null?void 0:u.tooltip)!=null&&Z.length?A.value=$.marker.customPosition(ae):await h(ae,$),a("tooltip-open",$.marker))},J=async($,we,Q)=>{var te,u;if(Y.value&&m.value.enabled&&m.value.dragSelect)return a("select-date",$);if(a("set-hover-date",$),(u=(te=$.marker)==null?void 0:te.tooltip)!=null&&u.length){if(r.hideOffsetDates&&!$.current)return;await H($,we,Q)}},E=$=>{x.value&&(x.value=null,A.value=JSON.parse(JSON.stringify({bottom:"",left:"",transform:""})),a("tooltip-close",$.marker))},ee=$=>{C.value.startX=$.changedTouches[0].screenX,C.value.startY=$.changedTouches[0].screenY},O=$=>{C.value.endX=$.changedTouches[0].screenX,C.value.endY=$.changedTouches[0].screenY,f()},de=$=>{r.vertical&&!r.inline&&$.preventDefault()},f=()=>{const $=r.vertical?"Y":"X";Math.abs(C.value[`start${$}`]-C.value[`end${$}`])>10&&a("handle-swipe",C.value[`start${$}`]>C.value[`end${$}`]?"right":"left")},k=($,we,Q)=>{$&&(Array.isArray(R.value[we])?R.value[we][Q]=$:R.value[we]=[$]),r.arrowNavigation&&o(R.value,"calendar")},F=$=>{r.monthChangeOnScroll&&($.preventDefault(),a("handle-scroll",$))},W=$=>v.value.type==="local"?yn($.value,{weekStartsOn:+r.weekStart}):v.value.type==="iso"?fn($.value):typeof v.value.type=="function"?v.value.type($.value):"",l=$=>{const we=$[0];return v.value.hideOnOffsetDates?$.some(Q=>Q.current)?W(we):"":W(we)},_=($,we,Q=!0)=>{!Q&&ws()||(!m.value.enabled||c.value.allowPreventDefault)&&(Bt($,c.value),a("select-date",we))},oe=$=>{Bt($,c.value)},Ye=$=>{m.value.enabled&&m.value.dragSelect?(Y.value=!0,a("select-date",$)):m.value.enabled&&a("select-date",$)};return t({triggerTransition:I}),($,we)=>(T(),z("div",{class:xe(y.value)},[ge("div",{ref_key:"calendarWrapRef",ref:M,class:xe(se.value),role:"grid"},[ge("div",Tu,[$.weekNumbers?(T(),z("div",Ou,lt($.weekNumName),1)):G("",!0),(T(!0),z(ke,null,Fe(re.value,(Q,te)=>{var u,Z;return T(),z("div",{key:te,class:"dp__calendar_header_item",role:"gridcell","data-test-id":"calendar-header","aria-label":(Z=(u=i(d))==null?void 0:u.weekDay)==null?void 0:Z.call(u,te)},[$.$slots["calendar-header"]?ie($.$slots,"calendar-header",{key:0,day:Q,index:te}):G("",!0),$.$slots["calendar-header"]?G("",!0):(T(),z(ke,{key:1},[Rt(lt(Q),1)],64))],8,$u)}),128))]),we[2]||(we[2]=ge("div",{class:"dp__calendar_header_separator"},null,-1)),vt(da,{name:S.value,css:!!$.transitions},{default:De(()=>[b.value?(T(),z("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:we[1]||(we[1]=Q=>Y.value=!1)},[(T(!0),z(ke,null,Fe(N.value,(Q,te)=>(T(),z("div",{key:te,class:"dp__calendar_row",role:"row"},[$.weekNumbers?(T(),z("div",Au,[ge("div",Yu,lt(l(Q.days)),1)])):G("",!0),(T(!0),z(ke,null,Fe(Q.days,(u,Z)=>{var ae,ne,Me;return T(),z("div",{id:i(vn)(u.value),ref_for:!0,ref:be=>k(be,te,Z),key:Z+te,role:"gridcell",class:"dp__calendar_item","aria-pressed":(u.classData.dp__active_date||u.classData.dp__range_start||u.classData.dp__range_start)??void 0,"aria-disabled":u.classData.dp__cell_disabled||void 0,"aria-label":(ne=(ae=i(d))==null?void 0:ae.day)==null?void 0:ne.call(ae,u),tabindex:!u.current&&$.hideOffsetDates?void 0:0,"data-test-id":i(vn)(u.value),onClick:ga(be=>_(be,u),["prevent"]),onTouchend:be=>_(be,u,!1),onKeydown:be=>i(ut)(be,()=>$.$emit("select-date",u)),onMouseenter:be=>J(u,te,Z),onMouseleave:be=>E(u),onMousedown:be=>Ye(u),onMouseup:we[0]||(we[0]=be=>Y.value=!1)},[ge("div",{class:xe(["dp__cell_inner",u.classData])},[$.$slots.day&&D.value(u)?ie($.$slots,"day",{key:0,day:+u.text,date:u.value}):G("",!0),$.$slots.day?G("",!0):(T(),z(ke,{key:1},[Rt(lt(u.text),1)],64)),u.marker&&D.value(u)?(T(),z(ke,{key:2},[$.$slots.marker?ie($.$slots,"marker",{key:0,marker:u.marker,day:+u.text,date:u.value}):(T(),z("div",{key:1,class:xe(ce.value(u.marker)),style:pt(u.marker.color?{backgroundColor:u.marker.color}:{})},null,6))],64)):G("",!0),ye.value(u.value)?(T(),z("div",{key:3,ref_for:!0,ref_key:"activeTooltip",ref:L,class:"dp__marker_tooltip",style:pt(A.value)},[(Me=u.marker)!=null&&Me.tooltip?(T(),z("div",{key:0,class:"dp__tooltip_content",onClick:oe},[(T(!0),z(ke,null,Fe(u.marker.tooltip,(be,Ce)=>(T(),z("div",{key:Ce,class:"dp__tooltip_text"},[$.$slots["marker-tooltip"]?ie($.$slots,"marker-tooltip",{key:0,tooltip:be,day:u.value}):G("",!0),$.$slots["marker-tooltip"]?G("",!0):(T(),z(ke,{key:1},[ge("div",{class:"dp__tooltip_mark",style:pt(be.color?{backgroundColor:be.color}:{})},null,4),ge("div",null,lt(be.text),1)],64))]))),128)),ge("div",{class:"dp__arrow_bottom_tp",style:pt(U.value)},null,4)])):G("",!0)],4)):G("",!0)],2)],40,Cu)}),128))]))),128))],32)):G("",!0)]),_:3},8,["name","css"])],2)],2))}}),Xn=e=>Array.isArray(e),Su=(e,t,n,a)=>{const r=K([]),o=K(new Date),s=K(),c=()=>O(e.isTextInputDate),{modelValue:d,calendars:P,time:v,today:m}=Pa(e,t,c),{defaultedMultiCalendars:p,defaultedStartTime:x,defaultedRange:A,defaultedConfig:R,defaultedTz:M,propDates:b,defaultedMultiDates:S}=Be(e),{validateMonthYearInRange:C,isDisabled:L,isDateRangeAllowed:U,checkMinMaxRange:Y}=Wt(e),{updateTimeValues:N,getSetDateTime:re,setTime:V,assignStartTime:I,validateTime:se,disabledTimesConfig:ce}=Vr(e,v,d,a),ye=j(()=>w=>P.value[w]?P.value[w].month:0),y=j(()=>w=>P.value[w]?P.value[w].year:0),D=w=>!R.value.keepViewOnOffsetClick||w?!0:!s.value,h=(w,X,fe,_e=!1)=>{var B,ue;D(_e)&&(P.value[w]||(P.value[w]={month:0,year:0}),P.value[w].month=qn(X)?(B=P.value[w])==null?void 0:B.month:X,P.value[w].year=qn(fe)?(ue=P.value[w])==null?void 0:ue.year:fe)},H=()=>{e.autoApply&&t("select-date")},J=()=>{x.value&&I(x.value)};at(()=>{e.shadow||(d.value||(we(),J()),O(!0),e.focusStartDate&&e.startDate&&we())});const E=j(()=>{var w;return(w=e.flow)!=null&&w.length&&!e.partialFlow?e.flowStep===e.flow.length:!0}),ee=()=>{e.autoApply&&E.value&&t("auto-apply",e.partialFlow?e.flowStep!==e.flow.length:!1)},O=(w=!1)=>{if(d.value)return Array.isArray(d.value)?(r.value=d.value,_(w)):k(d.value,w);if(p.value.count&&w&&!e.startDate)return f(q(),w)},de=()=>Array.isArray(d.value)&&A.value.enabled?Pe(d.value[0])===Pe(d.value[1]??d.value[0]):!1,f=(w=new Date,X=!1)=>{if((!p.value.count||!p.value.static||X)&&h(0,Pe(w),he(w)),p.value.count&&(!d.value||de()||!p.value.solo)&&(!p.value.solo||X))for(let fe=1;fe{f(w),V("hours",St(w)),V("minutes",Ht(w)),V("seconds",ra(w)),p.value.count&&X&&$()},F=w=>{if(p.value.count){if(p.value.solo)return 0;const X=Pe(w[0]),fe=Pe(w[1]);return Math.abs(fe-X){w[1]&&A.value.showLastInRange?f(w[F(w)],X):f(w[0],X);const fe=(_e,B)=>[_e(w[0]),w[1]?_e(w[1]):v[B][1]];V("hours",fe(St,"hours")),V("minutes",fe(Ht,"minutes")),V("seconds",fe(ra,"seconds"))},l=(w,X)=>{if((A.value.enabled||e.weekPicker)&&!S.value.enabled)return W(w,X);if(S.value.enabled&&X){const fe=w[w.length-1];return k(fe,X)}},_=w=>{const X=d.value;l(X,w),p.value.count&&p.value.solo&&$()},oe=(w,X)=>{const fe=Ne(q(),{month:ye.value(X),year:y.value(X)}),_e=w<0?bt(fe,1):oa(fe,1);C(Pe(_e),he(_e),w<0,e.preventMinMaxNavigation)&&(h(X,Pe(_e),he(_e)),t("update-month-year",{instance:X,month:Pe(_e),year:he(_e)}),p.value.count&&!p.value.solo&&Ye(X),n())},Ye=w=>{for(let X=w-1;X>=0;X--){const fe=oa(Ne(q(),{month:ye.value(X+1),year:y.value(X+1)}),1);h(X,Pe(fe),he(fe))}for(let X=w+1;X<=p.value.count-1;X++){const fe=bt(Ne(q(),{month:ye.value(X-1),year:y.value(X-1)}),1);h(X,Pe(fe),he(fe))}},$=()=>{if(Array.isArray(d.value)&&d.value.length===2){const w=q(q(d.value[1]?d.value[1]:bt(d.value[0],1))),[X,fe]=[Pe(d.value[0]),he(d.value[0])],[_e,B]=[Pe(d.value[1]),he(d.value[1])];(X!==_e||X===_e&&fe!==B)&&p.value.solo&&h(1,Pe(w),he(w))}else d.value&&!Array.isArray(d.value)&&(h(0,Pe(d.value),he(d.value)),f(q()))},we=()=>{e.startDate&&(h(0,Pe(q(e.startDate)),he(q(e.startDate))),p.value.count&&Ye(0))},Q=(w,X)=>{if(e.monthChangeOnScroll){const fe=new Date().getTime()-o.value.getTime(),_e=Math.abs(w.deltaY);let B=500;_e>1&&(B=100),_e>100&&(B=0),fe>B&&(o.value=new Date,oe(e.monthChangeOnScroll!=="inverse"?-w.deltaY:w.deltaY,X))}},te=(w,X,fe=!1)=>{e.monthChangeOnArrows&&e.vertical===fe&&u(w,X)},u=(w,X)=>{oe(w==="right"?-1:1,X)},Z=w=>{if(b.value.markers)return Sa(w.value,b.value.markers)},ae=(w,X)=>{switch(e.sixWeeks===!0?"append":e.sixWeeks){case"prepend":return[!0,!1];case"center":return[w==0,!0];case"fair":return[w==0||X>w,!0];case"append":return[!1,!1];default:return[!1,!1]}},ne=(w,X,fe,_e)=>{if(e.sixWeeks&&w.length<6){const B=6-w.length,ue=(X.getDay()+7-_e)%7,me=6-(fe.getDay()+7-_e)%7,[At,Mt]=ae(ue,me);for(let zt=1;zt<=B;zt++)if(Mt?!!(zt%2)==At:At){const Nt=w[0].days[0],Ua=Me(ft(Nt.value,-7),Pe(X));w.unshift({days:Ua})}else{const Nt=w[w.length-1],Ua=Nt.days[Nt.days.length-1],qr=Me(ft(Ua.value,1),Pe(X));w.push({days:qr})}}return w},Me=(w,X)=>{const fe=q(w),_e=[];for(let B=0;B<7;B++){const ue=ft(fe,B),me=Pe(ue)!==X;_e.push({text:e.hideOffsetDates&&me?"":ue.getDate(),value:ue,current:!me,classData:{}})}return _e},be=(w,X)=>{const fe=[],_e=new Date(X,w),B=new Date(X,w+1,0),ue=e.weekStart,me=_t(_e,{weekStartsOn:ue}),At=Mt=>{const zt=Me(Mt,w);if(fe.push({days:zt}),!fe[fe.length-1].days.some(Nt=>Te(et(Nt.value),et(B)))){const Nt=ft(Mt,7);At(Nt)}};return At(me),ne(fe,_e,B,ue)},Ce=w=>{const X=Lt(q(w.value),v.hours,v.minutes,ve());t("date-update",X),S.value.enabled?$n(X,d,S.value.limit):d.value=X,a(),mt().then(()=>{ee()})},We=w=>A.value.noDisabledRange?Yr(r.value[0],w).some(X=>L(X)):!1,g=()=>{r.value=d.value?d.value.slice():[],r.value.length===2&&!(A.value.fixedStart||A.value.fixedEnd)&&(r.value=[])},le=(w,X)=>{const fe=[q(w.value),ft(q(w.value),+A.value.autoRange)];U(fe)?(X&&$e(w.value),r.value=fe):t("invalid-date",w.value)},$e=w=>{const X=Pe(q(w)),fe=he(q(w));if(h(0,X,fe),p.value.count>0)for(let _e=1;_e{if(We(w.value)||!Y(w.value,d.value,A.value.fixedStart?0:1))return t("invalid-date",w.value);r.value=Br(q(w.value),d,t,A)},Dt=(w,X)=>{if(g(),A.value.autoRange)return le(w,X);if(A.value.fixedStart||A.value.fixedEnd)return Ge(w);r.value[0]?Y(q(w.value),d.value)&&!We(w.value)?He(q(w.value),q(r.value[0]))?(r.value.unshift(q(w.value)),t("range-end",r.value[0])):(r.value[1]=q(w.value),t("range-end",r.value[1])):(e.autoApply&&t("auto-apply-invalid",w.value),t("invalid-date",w.value)):(r.value[0]=q(w.value),t("range-start",r.value[0]))},ve=(w=!0)=>e.enableSeconds?Array.isArray(v.seconds)?w?v.seconds[0]:v.seconds[1]:v.seconds:0,Ke=w=>{r.value[w]=Lt(r.value[w],v.hours[w],v.minutes[w],ve(w!==1))},xt=()=>{var w,X;r.value[0]&&r.value[1]&&+((w=r.value)==null?void 0:w[0])>+((X=r.value)==null?void 0:X[1])&&(r.value.reverse(),t("range-start",r.value[0]),t("range-end",r.value[1]))},La=()=>{r.value.length&&(r.value[0]&&!r.value[1]?Ke(0):(Ke(0),Ke(1),a()),xt(),d.value=r.value.slice(),Fa(r.value,t,e.autoApply,e.modelAuto))},Ta=(w,X=!1)=>{if(L(w.value)||!w.current&&e.hideOffsetDates)return t("invalid-date",w.value);if(s.value=JSON.parse(JSON.stringify(w)),!A.value.enabled)return Ce(w);Xn(v.hours)&&Xn(v.minutes)&&!S.value.enabled&&(Dt(w,X),La())},Ha=(w,X)=>{var fe;h(w,X.month,X.year,!0),p.value.count&&!p.value.solo&&Ye(w),t("update-month-year",{instance:w,month:X.month,year:X.year}),n(p.value.solo?w:void 0);const _e=(fe=e.flow)!=null&&fe.length?e.flow[e.flowStep]:void 0;!X.fromNav&&(_e===rt.month||_e===rt.year)&&a()},Va=(w,X)=>{Fr({value:w,modelValue:d,range:A.value.enabled,timezone:X?void 0:M.value.timezone}),H(),e.multiCalendars&&mt().then(()=>O(!0))},Wa=()=>{const w=xn(q(),M.value);!A.value.enabled&&!S.value.enabled?d.value=w:d.value&&Array.isArray(d.value)&&d.value[0]?S.value.enabled?d.value=[...d.value,w]:d.value=He(w,d.value[0])?[w,d.value[0]]:[d.value[0],w]:d.value=[w],H()},za=()=>{if(Array.isArray(d.value))if(S.value.enabled){const w=qa();d.value[d.value.length-1]=re(w)}else d.value=d.value.map((w,X)=>w&&re(w,X));else d.value=re(d.value);t("time-update")},qa=()=>Array.isArray(d.value)&&d.value.length?d.value[d.value.length-1]:null;return{calendars:P,modelValue:d,month:ye,year:y,time:v,disabledTimesConfig:ce,today:m,validateTime:se,getCalendarDays:be,getMarker:Z,handleScroll:Q,handleSwipe:u,handleArrow:te,selectDate:Ta,updateMonthYear:Ha,presetDate:Va,selectCurrentDate:Wa,updateTime:(w,X=!0,fe=!1)=>{N(w,X,fe,za)},assignMonthAndYear:f,setStartTime:J}},Nu={key:0},Iu=tt({__name:"DatePicker",props:{...kt},emits:["tooltip-open","tooltip-close","mount","update:internal-model-value","update-flow-step","reset-flow","auto-apply","focus-menu","select-date","range-start","range-end","invalid-fixed-range","time-update","am-pm-change","time-picker-open","time-picker-close","recalculate-position","update-month-year","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,{calendars:o,month:s,year:c,modelValue:d,time:P,disabledTimesConfig:v,today:m,validateTime:p,getCalendarDays:x,getMarker:A,handleArrow:R,handleScroll:M,handleSwipe:b,selectDate:S,updateMonthYear:C,presetDate:L,selectCurrentDate:U,updateTime:Y,assignMonthAndYear:N,setStartTime:re}=Su(r,a,de,f),V=Kt(),{setHoverDate:I,getDayClassData:se,clearHoverDate:ce}=Ju(d,r),{defaultedMultiCalendars:ye}=Be(r),y=K([]),D=K([]),h=K(null),H=ct(V,"calendar"),J=ct(V,"monthYear"),E=ct(V,"timePicker"),ee=Q=>{r.shadow||a("mount",Q)};yt(o,()=>{r.shadow||setTimeout(()=>{a("recalculate-position")},0)},{deep:!0}),yt(ye,(Q,te)=>{Q.count-te.count>0&&N()},{deep:!0});const O=j(()=>Q=>x(s.value(Q),c.value(Q)).map(te=>({...te,days:te.days.map(u=>(u.marker=A(u),u.classData=se(u),u))})));function de(Q){var te;Q||Q===0?(te=D.value[Q])==null||te.triggerTransition(s.value(Q),c.value(Q)):D.value.forEach((u,Z)=>u.triggerTransition(s.value(Z),c.value(Z)))}function f(){a("update-flow-step")}const k=(Q,te=!1)=>{S(Q,te),r.spaceConfirm&&a("select-date")},F=(Q,te,u=0)=>{var Z;(Z=y.value[u])==null||Z.toggleMonthPicker(Q,te)},W=(Q,te,u=0)=>{var Z;(Z=y.value[u])==null||Z.toggleYearPicker(Q,te)},l=(Q,te,u)=>{var Z;(Z=h.value)==null||Z.toggleTimePicker(Q,te,u)},_=(Q,te)=>{var u;if(!r.range){const Z=d.value?d.value:m,ae=te?new Date(te):Z,ne=Q?_t(ae,{weekStartsOn:1}):ur(ae,{weekStartsOn:1});S({value:ne,current:Pe(ae)===s.value(0),text:"",classData:{}}),(u=document.getElementById(vn(ne)))==null||u.focus()}},oe=Q=>{var te;(te=y.value[0])==null||te.handleMonthYearChange(Q,!0)},Ye=Q=>{C(0,{month:s.value(0),year:c.value(0)+(Q?1:-1),fromNav:!0})},$=(Q,te)=>{Q===rt.time&&a(`time-picker-${te?"open":"close"}`),a("overlay-toggle",{open:te,overlay:Q})},we=Q=>{a("overlay-toggle",{open:!1,overlay:Q}),a("focus-menu")};return t({clearHoverDate:ce,presetDate:L,selectCurrentDate:U,toggleMonthPicker:F,toggleYearPicker:W,toggleTimePicker:l,handleArrow:R,updateMonthYear:C,getSidebarProps:()=>({modelValue:d,month:s,year:c,time:P,updateTime:Y,updateMonthYear:C,selectDate:S,presetDate:L}),changeMonth:oe,changeYear:Ye,selectWeekDate:_,setStartTime:re}),(Q,te)=>(T(),z(ke,null,[vt(Ea,{"multi-calendars":i(ye).count,collapse:Q.collapse,"is-mobile":Q.isMobile},{default:De(({instance:u,index:Z})=>[Q.disableMonthYearSelect?G("",!0):(T(),Oe(Pu,Je({key:0,ref:ae=>{ae&&(y.value[Z]=ae)},months:i(Dr)(Q.formatLocale,Q.locale,Q.monthNameFormat),years:i(Mn)(Q.yearRange,Q.locale,Q.reverseYears),month:i(s)(u),year:i(c)(u),instance:u},Q.$props,{onMount:te[0]||(te[0]=ae=>ee(i(Qt).header)),onResetFlow:te[1]||(te[1]=ae=>Q.$emit("reset-flow")),onUpdateMonthYear:ae=>i(C)(u,ae),onOverlayClosed:we,onOverlayOpened:te[2]||(te[2]=ae=>Q.$emit("overlay-toggle",{open:!0,overlay:ae}))}),ot({_:2},[Fe(i(J),(ae,ne)=>({name:ae,fn:De(Me=>[ie(Q.$slots,ae,Ze(it(Me)))])}))]),1040,["months","years","month","year","instance","onUpdateMonthYear"])),vt(Ru,Je({ref:ae=>{ae&&(D.value[Z]=ae)},"mapped-dates":O.value(u),month:i(s)(u),year:i(c)(u),instance:u},Q.$props,{onSelectDate:ae=>i(S)(ae,u!==1),onHandleSpace:ae=>k(ae,u!==1),onSetHoverDate:te[3]||(te[3]=ae=>i(I)(ae)),onHandleScroll:ae=>i(M)(ae,u),onHandleSwipe:ae=>i(b)(ae,u),onMount:te[4]||(te[4]=ae=>ee(i(Qt).calendar)),onResetFlow:te[5]||(te[5]=ae=>Q.$emit("reset-flow")),onTooltipOpen:te[6]||(te[6]=ae=>Q.$emit("tooltip-open",ae)),onTooltipClose:te[7]||(te[7]=ae=>Q.$emit("tooltip-close",ae))}),ot({_:2},[Fe(i(H),(ae,ne)=>({name:ae,fn:De(Me=>[ie(Q.$slots,ae,Ze(it({...Me})))])}))]),1040,["mapped-dates","month","year","instance","onSelectDate","onHandleSpace","onHandleScroll","onHandleSwipe"])]),_:3},8,["multi-calendars","collapse","is-mobile"]),Q.enableTimePicker?(T(),z("div",Nu,[Q.$slots["time-picker"]?ie(Q.$slots,"time-picker",Ze(Je({key:0},{time:i(P),updateTime:i(Y)}))):(T(),Oe(Hr,Je({key:1,ref_key:"timePickerRef",ref:h},Q.$props,{hours:i(P).hours,minutes:i(P).minutes,seconds:i(P).seconds,"internal-model-value":Q.internalModelValue,"disabled-times-config":i(v),"validate-time":i(p),onMount:te[8]||(te[8]=u=>ee(i(Qt).timePicker)),"onUpdate:hours":te[9]||(te[9]=u=>i(Y)(u)),"onUpdate:minutes":te[10]||(te[10]=u=>i(Y)(u,!1)),"onUpdate:seconds":te[11]||(te[11]=u=>i(Y)(u,!1,!0)),onResetFlow:te[12]||(te[12]=u=>Q.$emit("reset-flow")),onOverlayClosed:te[13]||(te[13]=u=>$(u,!1)),onOverlayOpened:te[14]||(te[14]=u=>$(u,!0)),onAmPmChange:te[15]||(te[15]=u=>Q.$emit("am-pm-change",u))}),ot({_:2},[Fe(i(E),(u,Z)=>({name:u,fn:De(ae=>[ie(Q.$slots,u,Ze(it(ae)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"]))])):G("",!0)],64))}}),Eu=(e,t)=>{const n=K(),{defaultedMultiCalendars:a,defaultedConfig:r,defaultedHighlight:o,defaultedRange:s,propDates:c,defaultedFilters:d,defaultedMultiDates:P}=Be(e),{modelValue:v,year:m,month:p,calendars:x}=Pa(e,t),{isDisabled:A}=Wt(e),{selectYear:R,groupedYears:M,showYearPicker:b,isDisabled:S,toggleYearPicker:C,handleYearSelect:L,handleYear:U}=Lr({modelValue:v,multiCalendars:a,range:s,highlight:o,calendars:x,propDates:c,month:p,year:m,filters:d,props:e,emit:t}),Y=(D,h)=>[D,h].map(H=>$t(H,"MMMM",{locale:e.formatLocale})).join("-"),N=j(()=>D=>v.value?Array.isArray(v.value)?v.value.some(h=>Vn(D,h)):Vn(v.value,D):!1),re=D=>{if(s.value.enabled){if(Array.isArray(v.value)){const h=Te(D,v.value[0])||Te(D,v.value[1]);return _a(v.value,n.value,D)&&!h}return!1}return!1},V=(D,h)=>D.quarter===In(h)&&D.year===he(h),I=D=>typeof o.value=="function"?o.value({quarter:In(D),year:he(D)}):!!o.value.quarters.find(h=>V(h,D)),se=j(()=>D=>{const h=Ne(new Date,{year:m.value(D)});return cl({start:wa(h),end:sr(h)}).map(H=>{const J=Ut(H),E=En(H),ee=A(H),O=re(J),de=I(J);return{text:Y(J,E),value:J,active:N.value(J),highlighted:de,disabled:ee,isBetween:O}})}),ce=D=>{$n(D,v,P.value.limit),t("auto-apply",!0)},ye=D=>{v.value=An(v,D,t),Fa(v.value,t,e.autoApply,e.modelAuto)},y=D=>{v.value=D,t("auto-apply")};return{defaultedConfig:r,defaultedMultiCalendars:a,groupedYears:M,year:m,isDisabled:S,quarters:se,showYearPicker:b,modelValue:v,setHoverDate:D=>{n.value=D},selectYear:R,selectQuarter:(D,h,H)=>{if(!H)return x.value[h].month=Pe(En(D)),P.value.enabled?ce(D):s.value.enabled?ye(D):y(D)},toggleYearPicker:C,handleYearSelect:L,handleYear:U}},Fu={class:"dp--quarter-items"},Bu=["data-test-id","disabled","onClick","onMouseover"],Lu=tt({compatConfig:{MODE:3},__name:"QuarterPicker",props:{...kt},emits:["update:internal-model-value","reset-flow","overlay-closed","auto-apply","range-start","range-end","overlay-toggle","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Kt(),s=ct(o,"yearMode"),{defaultedMultiCalendars:c,defaultedConfig:d,groupedYears:P,year:v,isDisabled:m,quarters:p,modelValue:x,showYearPicker:A,setHoverDate:R,selectQuarter:M,toggleYearPicker:b,handleYearSelect:S,handleYear:C}=Eu(r,a);return t({getSidebarProps:()=>({modelValue:x,year:v,selectQuarter:M,handleYearSelect:S,handleYear:C})}),(L,U)=>(T(),Oe(Ea,{"multi-calendars":i(c).count,collapse:L.collapse,stretch:"","is-mobile":L.isMobile},{default:De(({instance:Y})=>[ge("div",{class:"dp-quarter-picker-wrap",style:pt({minHeight:`${i(d).modeHeight}px`})},[L.$slots["top-extra"]?ie(L.$slots,"top-extra",{key:0,value:L.internalModelValue}):G("",!0),ge("div",null,[vt(Er,Je(L.$props,{items:i(P)(Y),instance:Y,"show-year-picker":i(A)[Y],year:i(v)(Y),"is-disabled":N=>i(m)(Y,N),onHandleYear:N=>i(C)(Y,N),onYearSelect:N=>i(S)(N,Y),onToggleYearPicker:N=>i(b)(Y,N?.flow,N?.show)}),ot({_:2},[Fe(i(s),(N,re)=>({name:N,fn:De(V=>[ie(L.$slots,N,Ze(it(V)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),ge("div",Fu,[(T(!0),z(ke,null,Fe(i(p)(Y),(N,re)=>(T(),z("div",{key:re},[ge("button",{type:"button",class:xe(["dp--qr-btn",{"dp--qr-btn-active":N.active,"dp--qr-btn-between":N.isBetween,"dp--qr-btn-disabled":N.disabled,"dp--highlighted":N.highlighted}]),"data-test-id":N.value,disabled:N.disabled,onClick:V=>i(M)(N.value,Y,N.disabled),onMouseover:V=>i(R)(N.value)},[L.$slots.quarter?ie(L.$slots,"quarter",{key:0,value:N.value,text:N.text}):(T(),z(ke,{key:1},[Rt(lt(N.text),1)],64))],42,Bu)]))),128))])],4)]),_:3},8,["multi-calendars","collapse","is-mobile"]))}}),Wr=(e,t)=>{const n=K(0);at(()=>{a(),window.addEventListener("resize",a,{passive:!0})}),ia(()=>{window.removeEventListener("resize",a)});const a=()=>{n.value=window.document.documentElement.clientWidth};return{isMobile:j(()=>n.value<=e.value.mobileBreakpoint&&!t?!0:void 0)}},Hu=["id","tabindex","role","aria-label"],Vu={key:0,class:"dp--menu-load-container"},Wu={key:1,class:"dp--menu-header"},zu=["data-dp-mobile"],qu={key:0,class:"dp__sidebar_left"},Uu=["data-dp-mobile"],Qu=["data-test-id","data-dp-mobile","onClick","onKeydown"],ju={key:2,class:"dp__sidebar_right"},Gu={key:3,class:"dp__action_extra"},Zn=tt({compatConfig:{MODE:3},__name:"DatepickerMenu",props:{...Ia,shadow:{type:Boolean,default:!1},openOnTop:{type:Boolean,default:!1},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},emits:["close-picker","select-date","auto-apply","time-update","flow-step","update-month-year","invalid-select","update:internal-model-value","recalculate-position","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","auto-apply-invalid","date-update","invalid-date","overlay-toggle","menu-blur"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=K(null),s=j(()=>{const{openOnTop:g,...le}=r;return{...le,isMobile:M.value,flowStep:ye.value,menuWrapRef:o.value}}),{setMenuFocused:c,setShiftKey:d,control:P}=Ir(),v=Kt(),{defaultedTextInput:m,defaultedInline:p,defaultedConfig:x,defaultedUI:A,handleEventPropagation:R}=Be(r),{isMobile:M}=Wr(x,r.shadow),b=K(null),S=K(0),C=K(null),L=K(!1),U=K(null),Y=K(!1),N=g=>{Y.value=!0,x.value.allowPreventDefault&&g.preventDefault(),Bt(g,x.value,!0)};at(()=>{if(!r.shadow){L.value=!0,re(),window.addEventListener("resize",re);const g=je(o);g&&!m.value.enabled&&!p.value.enabled&&(c(!0),ee()),g&&(g.addEventListener("pointerdown",N),g.addEventListener("mousedown",N))}document.addEventListener("mousedown",We)}),ia(()=>{window.removeEventListener("resize",re),document.removeEventListener("mousedown",We);const g=je(o);g&&(g.removeEventListener("pointerdown",N),g.removeEventListener("mousedown",N))});const re=()=>{const g=je(C);g&&(S.value=g.getBoundingClientRect().width)},{arrowRight:V,arrowLeft:I,arrowDown:se,arrowUp:ce}=Vt(),{flowStep:ye,updateFlowStep:y,childMount:D,resetFlow:h,handleFlow:H}=ei(r,a,U),J=j(()=>r.monthPicker?ru:r.yearPicker?ou:r.timePicker?bu:r.quarterPicker?Lu:Iu),E=j(()=>{var g;if(x.value.arrowLeft)return x.value.arrowLeft;const le=(g=o.value)==null?void 0:g.getBoundingClientRect(),$e=r.getInputRect();return $e?.width=(le?.right??0)&&$e?.width{const g=je(o);g&&g.focus({preventScroll:!0})},O=j(()=>{var g;return((g=U.value)==null?void 0:g.getSidebarProps())||{}}),de=()=>{r.openOnTop&&a("recalculate-position")},f=ct(v,"action"),k=j(()=>r.monthPicker||r.yearPicker?ct(v,"monthYear"):r.timePicker?ct(v,"timePicker"):ct(v,"shared")),F=j(()=>r.openOnTop?"dp__arrow_bottom":"dp__arrow_top"),W=j(()=>({dp__menu_disabled:r.disabled,dp__menu_readonly:r.readonly,"dp-menu-loading":r.loading})),l=j(()=>({dp__menu:!0,dp__menu_index:!p.value.enabled,dp__relative:p.value.enabled,...A.value.menu??{}})),_=g=>{Bt(g,x.value,!0)},oe=g=>{r.escClose&&(a("close-picker"),R(g))},Ye=g=>{if(r.arrowNavigation){if(g===st.up)return ce();if(g===st.down)return se();if(g===st.left)return I();if(g===st.right)return V()}else g===st.left||g===st.up?u("handleArrow",st.left,0,g===st.up):u("handleArrow",st.right,0,g===st.down)},$=g=>{d(g.shiftKey),!r.disableMonthYearSelect&&g.code===Ee.tab&&g.target.classList.contains("dp__menu")&&P.value.shiftKeyInMenu&&(g.preventDefault(),Bt(g,x.value,!0),a("close-picker"))},we=()=>{ee(),a("time-picker-close")},Q=g=>{var le,$e,Ge;(le=U.value)==null||le.toggleTimePicker(!1,!1),($e=U.value)==null||$e.toggleMonthPicker(!1,!1,g),(Ge=U.value)==null||Ge.toggleYearPicker(!1,!1,g)},te=(g,le=0)=>{var $e,Ge,Dt;return g==="month"?($e=U.value)==null?void 0:$e.toggleMonthPicker(!1,!0,le):g==="year"?(Ge=U.value)==null?void 0:Ge.toggleYearPicker(!1,!0,le):g==="time"?(Dt=U.value)==null?void 0:Dt.toggleTimePicker(!0,!1):Q(le)},u=(g,...le)=>{var $e,Ge;($e=U.value)!=null&&$e[g]&&((Ge=U.value)==null||Ge[g](...le))},Z=()=>{u("selectCurrentDate")},ae=(g,le)=>{u("presetDate",Gr(g),le)},ne=()=>{u("clearHoverDate")},Me=(g,le)=>{u("updateMonthYear",g,le)},be=(g,le)=>{g.preventDefault(),Ye(le)},Ce=g=>{var le,$e,Ge;if($(g),g.key===Ee.home||g.key===Ee.end)return u("selectWeekDate",g.key===Ee.home,g.target.getAttribute("id"));switch((g.key===Ee.pageUp||g.key===Ee.pageDown)&&(g.shiftKey?(u("changeYear",g.key===Ee.pageUp),(le=dn(o.value,"overlay-year"))==null||le.focus()):(u("changeMonth",g.key===Ee.pageUp),($e=dn(o.value,g.key===Ee.pageUp?"action-prev":"action-next"))==null||$e.focus()),g.target.getAttribute("id")&&((Ge=o.value)==null||Ge.focus({preventScroll:!0}))),g.key){case Ee.esc:return oe(g);case Ee.arrowLeft:return be(g,st.left);case Ee.arrowRight:return be(g,st.right);case Ee.arrowUp:return be(g,st.up);case Ee.arrowDown:return be(g,st.down);default:return}},We=g=>{var le;p.value.enabled&&!p.value.input&&!((le=o.value)!=null&&le.contains(g.target))&&Y.value&&(Y.value=!1,a("menu-blur"))};return t({updateMonthYear:Me,switchView:te,handleFlow:H,onValueCleared:()=>{var g,le;(le=(g=U.value)==null?void 0:g.setStartTime)==null||le.call(g)}}),(g,le)=>{var $e,Ge,Dt;return T(),z("div",{id:g.uid?`dp-menu-${g.uid}`:void 0,ref_key:"dpMenuRef",ref:o,tabindex:i(p).enabled?void 0:"0",role:i(p).enabled?void 0:"dialog","aria-label":($e=g.ariaLabels)==null?void 0:$e.menu,class:xe(l.value),style:pt({"--dp-arrow-left":E.value}),onMouseleave:ne,onClick:_,onKeydown:Ce},[(g.disabled||g.readonly)&&i(p).enabled||g.loading?(T(),z("div",{key:0,class:xe(W.value)},[g.loading?(T(),z("div",Vu,le[19]||(le[19]=[ge("span",{class:"dp--menu-loader"},null,-1)]))):G("",!0)],2)):G("",!0),g.$slots["menu-header"]?(T(),z("div",Wu,[ie(g.$slots,"menu-header")])):G("",!0),!i(p).enabled&&!g.teleportCenter?(T(),z("div",{key:2,class:xe(F.value)},null,2)):G("",!0),ge("div",{ref_key:"innerMenuRef",ref:C,class:xe({dp__menu_content_wrapper:((Ge=g.presetDates)==null?void 0:Ge.length)||!!g.$slots["left-sidebar"]||!!g.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(((Dt=g.presetDates)==null?void 0:Dt.length)||!!g.$slots["left-sidebar"]||!!g.$slots["right-sidebar"])}),"data-dp-mobile":i(M),style:pt({"--dp-menu-width":`${S.value}px`})},[g.$slots["left-sidebar"]?(T(),z("div",qu,[ie(g.$slots,"left-sidebar",Ze(it(O.value)))])):G("",!0),g.presetDates.length?(T(),z("div",{key:1,class:xe({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0}),"data-dp-mobile":i(M)},[(T(!0),z(ke,null,Fe(g.presetDates,(ve,Ke)=>(T(),z(ke,{key:Ke},[ve.slot?ie(g.$slots,ve.slot,{key:0,presetDate:ae,label:ve.label,value:ve.value}):(T(),z("button",{key:1,type:"button",style:pt(ve.style||{}),class:xe(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test-id":ve.testId??void 0,"data-dp-mobile":i(M),onClick:ga(xt=>ae(ve.value,ve.noTz),["prevent"]),onKeydown:xt=>i(ut)(xt,()=>ae(ve.value,ve.noTz),!0)},lt(ve.label),47,Qu))],64))),128))],10,Uu)):G("",!0),ge("div",{ref_key:"calendarWrapperRef",ref:b,class:"dp__instance_calendar",role:"document"},[(T(),Oe(Na(J.value),Je({ref_key:"dynCmpRef",ref:U},s.value,{"flow-step":i(ye),onMount:i(D),onUpdateFlowStep:i(y),onResetFlow:i(h),onFocusMenu:ee,onSelectDate:le[0]||(le[0]=ve=>g.$emit("select-date")),onDateUpdate:le[1]||(le[1]=ve=>g.$emit("date-update",ve)),onTooltipOpen:le[2]||(le[2]=ve=>g.$emit("tooltip-open",ve)),onTooltipClose:le[3]||(le[3]=ve=>g.$emit("tooltip-close",ve)),onAutoApply:le[4]||(le[4]=ve=>g.$emit("auto-apply",ve)),onRangeStart:le[5]||(le[5]=ve=>g.$emit("range-start",ve)),onRangeEnd:le[6]||(le[6]=ve=>g.$emit("range-end",ve)),onInvalidFixedRange:le[7]||(le[7]=ve=>g.$emit("invalid-fixed-range",ve)),onTimeUpdate:le[8]||(le[8]=ve=>g.$emit("time-update")),onAmPmChange:le[9]||(le[9]=ve=>g.$emit("am-pm-change",ve)),onTimePickerOpen:le[10]||(le[10]=ve=>g.$emit("time-picker-open",ve)),onTimePickerClose:we,onRecalculatePosition:de,onUpdateMonthYear:le[11]||(le[11]=ve=>g.$emit("update-month-year",ve)),onAutoApplyInvalid:le[12]||(le[12]=ve=>g.$emit("auto-apply-invalid",ve)),onInvalidDate:le[13]||(le[13]=ve=>g.$emit("invalid-date",ve)),onOverlayToggle:le[14]||(le[14]=ve=>g.$emit("overlay-toggle",ve)),"onUpdate:internalModelValue":le[15]||(le[15]=ve=>g.$emit("update:internal-model-value",ve))}),ot({_:2},[Fe(k.value,(ve,Ke)=>({name:ve,fn:De(xt=>[ie(g.$slots,ve,Ze(it({...xt})))])}))]),1040,["flow-step","onMount","onUpdateFlowStep","onResetFlow"]))],512),g.$slots["right-sidebar"]?(T(),z("div",ju,[ie(g.$slots,"right-sidebar",Ze(it(O.value)))])):G("",!0),g.$slots["action-extra"]?(T(),z("div",Gu,[g.$slots["action-extra"]?ie(g.$slots,"action-extra",{key:0,selectCurrentDate:Z}):G("",!0)])):G("",!0)],14,zu),!g.autoApply||i(x).keepActionRow?(T(),Oe(Gs,Je({key:3,"menu-mount":L.value},s.value,{"calendar-width":S.value,onClosePicker:le[16]||(le[16]=ve=>g.$emit("close-picker")),onSelectDate:le[17]||(le[17]=ve=>g.$emit("select-date")),onInvalidSelect:le[18]||(le[18]=ve=>g.$emit("invalid-select")),onSelectNow:Z}),ot({_:2},[Fe(i(f),(ve,Ke)=>({name:ve,fn:De(xt=>[ie(g.$slots,ve,Ze(it({...xt})))])}))]),1040,["menu-mount","calendar-width"])):G("",!0)],46,Hu)}}});var ea=(e=>(e.center="center",e.left="left",e.right="right",e))(ea||{});const Ku=({menuRef:e,menuRefInner:t,inputRef:n,pickerWrapperRef:a,inline:r,emit:o,props:s,slots:c})=>{const{defaultedConfig:d}=Be(s),P=K({}),v=K(!1),m=K({top:"0",left:"0"}),p=K(!1),x=ha(s,"teleportCenter");yt(x,()=>{m.value=JSON.parse(JSON.stringify({})),U()});const A=h=>{if(s.teleport){const H=h.getBoundingClientRect();return{left:H.left+window.scrollX,top:H.top+window.scrollY}}return{top:0,left:0}},R=(h,H)=>{m.value.left=`${h+H-P.value.width}px`},M=h=>{m.value.left=`${h}px`},b=(h,H)=>{s.position===ea.left&&M(h),s.position===ea.right&&R(h,H),s.position===ea.center&&(m.value.left=`${h+H/2-P.value.width/2}px`)},S=h=>{const{width:H,height:J}=h.getBoundingClientRect(),{top:E,left:ee}=A(h);return{top:+E,left:+ee,width:H,height:J}},C=()=>{m.value.left="50%",m.value.top="50%",m.value.transform="translate(-50%, -50%)",m.value.position="fixed",delete m.value.opacity},L=()=>{const h=je(n);m.value=s.altPosition(h)},U=(h=!0)=>{var H;if(!r.value.enabled){if(x.value)return C();if(s.altPosition!==null)return L();if(h){const J=s.teleport?(H=t.value)==null?void 0:H.$el:e.value;J&&(P.value=J.getBoundingClientRect()),o("recalculate-position")}return ce()}},Y=({inputEl:h,left:H,width:J})=>{window.screen.width>768&&!v.value&&b(H,J),V(h)},N=h=>{const{top:H,left:J,height:E,width:ee}=S(h);m.value.top=`${E+H+ +s.offset}px`,p.value=!1,v.value||(m.value.left=`${J+ee/2-P.value.width/2}px`),Y({inputEl:h,left:J,width:ee})},re=h=>{const{top:H,left:J,width:E}=S(h);m.value.top=`${H-+s.offset-P.value.height}px`,p.value=!0,Y({inputEl:h,left:J,width:E})},V=h=>{if(s.autoPosition){const{left:H,width:J}=S(h),{left:E,right:ee}=P.value;if(!v.value){if(Math.abs(E)!==Math.abs(ee)){if(E<=0)return v.value=!0,M(H);if(ee>=document.documentElement.clientWidth)return v.value=!0,R(H,J)}return b(H,J)}}},I=()=>{const h=je(n);if(h){if(s.autoPosition===gt.top)return gt.top;if(s.autoPosition===gt.bottom)return gt.bottom;const{height:H}=P.value,{top:J,height:E}=h.getBoundingClientRect(),ee=window.innerHeight-J-E,O=J;return H<=ee?gt.bottom:H>ee&&H<=O?gt.top:ee>=O?gt.bottom:gt.top}return gt.bottom},se=h=>I()===gt.bottom?N(h):re(h),ce=()=>{const h=je(n);if(h)return s.autoPosition?se(h):N(h)},ye=function(h){if(h){const H=h.scrollHeight>h.clientHeight,J=window.getComputedStyle(h).overflowY.indexOf("hidden")!==-1;return H&&!J}return!0},y=function(h){return!h||h===document.body||h.nodeType===Node.DOCUMENT_FRAGMENT_NODE?window:ye(h)?h:y(h.assignedSlot&&d.value.shadowDom?h.assignedSlot.parentNode:h.parentNode)},D=h=>{if(h)switch(s.position){case ea.left:return{left:0,transform:"translateX(0)"};case ea.right:return{left:`${h.width}px`,transform:"translateX(-100%)"};default:return{left:`${h.width/2}px`,transform:"translateX(-50%)"}}return{}};return{openOnTop:p,menuStyle:m,xCorrect:v,setMenuPosition:U,getScrollableParent:y,shadowRender:(h,H,J)=>{var E,ee,O;const de=document.createElement("div"),f=(E=je(n))==null?void 0:E.getBoundingClientRect();de.setAttribute("id","dp--temp-container");const k=(ee=a.value)!=null&&ee.clientWidth?a.value:document.body;k.append(de);const F=D(f),W=d.value.shadowDom?Object.keys(c).filter(_=>["right-sidebar","left-sidebar","top-extra","action-extra"].includes(_)):Object.keys(c),l=jr(H,{...J,shadow:!0,style:{opacity:0,position:"absolute",...F}},Object.fromEntries(W.map(_=>[_,c[_]])));h!=null&&(l.appContext=h.appContext),Cn(l,de),P.value=(O=l.el)==null?void 0:O.getBoundingClientRect(),Cn(null,de),k.removeChild(de)}}},Et=[{name:"clock-icon",use:["time","calendar","shared"]},{name:"arrow-left",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-right",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-up",use:["time","calendar","month-year","shared"]},{name:"arrow-down",use:["time","calendar","month-year","shared"]},{name:"calendar-icon",use:["month-year","time","calendar","shared","year-mode"]},{name:"day",use:["calendar","shared"]},{name:"month-overlay-value",use:["calendar","month-year","shared"]},{name:"year-overlay-value",use:["calendar","month-year","shared","year-mode"]},{name:"year-overlay",use:["month-year","shared"]},{name:"month-overlay",use:["month-year","shared"]},{name:"month-overlay-header",use:["month-year","shared"]},{name:"year-overlay-header",use:["month-year","shared"]},{name:"hours-overlay-value",use:["calendar","time","shared"]},{name:"hours-overlay-header",use:["calendar","time","shared"]},{name:"minutes-overlay-value",use:["calendar","time","shared"]},{name:"minutes-overlay-header",use:["calendar","time","shared"]},{name:"seconds-overlay-value",use:["calendar","time","shared"]},{name:"seconds-overlay-header",use:["calendar","time","shared"]},{name:"hours",use:["calendar","time","shared"]},{name:"minutes",use:["calendar","time","shared"]},{name:"month",use:["calendar","month-year","shared"]},{name:"year",use:["calendar","month-year","shared","year-mode"]},{name:"action-buttons",use:["action"]},{name:"action-preview",use:["action"]},{name:"calendar-header",use:["calendar","shared"]},{name:"marker-tooltip",use:["calendar","shared"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["calendar","time","shared"]},{name:"am-pm-button",use:["calendar","time","shared"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["month-year","shared"]},{name:"time-picker",use:["menu","shared"]},{name:"action-row",use:["action"]},{name:"marker",use:["calendar","shared"]},{name:"quarter",use:["shared"]},{name:"top-extra",use:["shared","month-year"]},{name:"tp-inline-arrow-up",use:["shared","time"]},{name:"tp-inline-arrow-down",use:["shared","time"]},{name:"menu-header",use:["menu"]}],Xu=[{name:"trigger"},{name:"input-icon"},{name:"clear-icon"},{name:"dp-input"}],Zu={all:()=>Et,monthYear:()=>Et.filter(e=>e.use.includes("month-year")),input:()=>Xu,timePicker:()=>Et.filter(e=>e.use.includes("time")),action:()=>Et.filter(e=>e.use.includes("action")),calendar:()=>Et.filter(e=>e.use.includes("calendar")),menu:()=>Et.filter(e=>e.use.includes("menu")),shared:()=>Et.filter(e=>e.use.includes("shared")),yearMode:()=>Et.filter(e=>e.use.includes("year-mode"))},ct=(e,t,n)=>{const a=[];return Zu[t]().forEach(r=>{e[r.name]&&a.push(r.name)}),n!=null&&n.length&&n.forEach(r=>{r.slot&&a.push(r.slot)}),a},Ma=e=>{const t=j(()=>a=>e.value?a?e.value.open:e.value.close:""),n=j(()=>a=>e.value?a?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},Pa=(e,t,n)=>{const{defaultedRange:a,defaultedTz:r}=Be(e),o=q(dt(q(),r.value.timezone)),s=K([{month:Pe(o),year:he(o)}]),c=p=>{const x={hours:St(o),minutes:Ht(o),seconds:0};return a.value.enabled?[x[p],x[p]]:x[p]},d=ka({hours:c("hours"),minutes:c("minutes"),seconds:c("seconds")});yt(a,(p,x)=>{p.enabled!==x.enabled&&(d.hours=c("hours"),d.minutes=c("minutes"),d.seconds=c("seconds"))},{deep:!0});const P=j({get:()=>e.internalModelValue,set:p=>{!e.readonly&&!e.disabled&&t("update:internal-model-value",p)}}),v=j(()=>p=>s.value[p]?s.value[p].month:0),m=j(()=>p=>s.value[p]?s.value[p].year:0);return yt(P,(p,x)=>{n&&JSON.stringify(p??{})!==JSON.stringify(x??{})&&n()},{deep:!0}),{calendars:s,time:d,modelValue:P,month:v,year:m,today:o}},Ju=(e,t)=>{const{defaultedMultiCalendars:n,defaultedMultiDates:a,defaultedUI:r,defaultedHighlight:o,defaultedTz:s,propDates:c,defaultedRange:d}=Be(t),{isDisabled:P}=Wt(t),v=K(null),m=K(dt(new Date,s.value.timezone)),p=l=>{!l.current&&t.hideOffsetDates||(v.value=l.value)},x=()=>{v.value=null},A=l=>Array.isArray(e.value)&&d.value.enabled&&e.value[0]&&v.value?l?qe(v.value,e.value[0]):He(v.value,e.value[0]):!0,R=(l,_)=>{const oe=()=>e.value?_?e.value[0]||null:e.value[1]:null,Ye=e.value&&Array.isArray(e.value)?oe():null;return Te(q(l.value),Ye)},M=l=>{const _=Array.isArray(e.value)?e.value[0]:null;return l?!He(v.value??null,_):!0},b=(l,_=!0)=>(d.value.enabled||t.weekPicker)&&Array.isArray(e.value)&&e.value.length===2?t.hideOffsetDates&&!l.current?!1:Te(q(l.value),e.value[_?0:1]):d.value.enabled?R(l,_)&&M(_)||Te(l.value,Array.isArray(e.value)?e.value[0]:null)&&A(_):!1,S=(l,_)=>{if(Array.isArray(e.value)&&e.value[0]&&e.value.length===1){const oe=Te(l.value,v.value);return _?qe(e.value[0],l.value)&&oe:He(e.value[0],l.value)&&oe}return!1},C=l=>!e.value||t.hideOffsetDates&&!l.current?!1:d.value.enabled?t.modelAuto&&Array.isArray(e.value)?Te(l.value,e.value[0]?e.value[0]:m.value):!1:a.value.enabled&&Array.isArray(e.value)?e.value.some(_=>Te(_,l.value)):Te(l.value,e.value?e.value:m.value),L=l=>{if(d.value.autoRange||t.weekPicker){if(v.value){if(t.hideOffsetDates&&!l.current)return!1;const _=ft(v.value,+d.value.autoRange),oe=Yt(q(v.value),t.weekStart);return t.weekPicker?Te(oe[1],q(l.value)):Te(_,q(l.value))}return!1}return!1},U=l=>{if(d.value.autoRange||t.weekPicker){if(v.value){const _=ft(v.value,+d.value.autoRange);if(t.hideOffsetDates&&!l.current)return!1;const oe=Yt(q(v.value),t.weekStart);return t.weekPicker?qe(l.value,oe[0])&&He(l.value,oe[1]):qe(l.value,v.value)&&He(l.value,_)}return!1}return!1},Y=l=>{if(d.value.autoRange||t.weekPicker){if(v.value){if(t.hideOffsetDates&&!l.current)return!1;const _=Yt(q(v.value),t.weekStart);return t.weekPicker?Te(_[0],l.value):Te(v.value,l.value)}return!1}return!1},N=l=>_a(e.value,v.value,l.value),re=()=>t.modelAuto&&Array.isArray(t.internalModelValue)?!!t.internalModelValue[0]:!1,V=()=>t.modelAuto?xr(t.internalModelValue):!0,I=l=>{if(t.weekPicker)return!1;const _=d.value.enabled?!b(l)&&!b(l,!1):!0;return!P(l.value)&&!C(l)&&!(!l.current&&t.hideOffsetDates)&&_},se=l=>d.value.enabled?t.modelAuto?re()&&C(l):!1:C(l),ce=l=>o.value?gs(l.value,c.value.highlight):!1,ye=l=>{const _=P(l.value);return _&&(typeof o.value=="function"?!o.value(l.value,_):!o.value.options.highlightDisabled)},y=l=>{var _;return typeof o.value=="function"?o.value(l.value):(_=o.value.weekdays)==null?void 0:_.includes(l.value.getDay())},D=l=>(d.value.enabled||t.weekPicker)&&(!(n.value.count>0)||l.current)&&V()&&!(!l.current&&t.hideOffsetDates)&&!C(l)?N(l):!1,h=l=>{if(Array.isArray(e.value)&&e.value.length===1){const{before:_,after:oe}=jn(+d.value.maxRange,e.value[0]);return la(l.value,_)||Gt(l.value,oe)}return!1},H=l=>{if(Array.isArray(e.value)&&e.value.length===1){const{before:_,after:oe}=jn(+d.value.minRange,e.value[0]);return _a([_,oe],e.value[0],l.value)}return!1},J=l=>d.value.enabled&&(d.value.maxRange||d.value.minRange)?d.value.maxRange&&d.value.minRange?h(l)||H(l):d.value.maxRange?h(l):H(l):!1,E=l=>{const{isRangeStart:_,isRangeEnd:oe}=f(l),Ye=d.value.enabled?_||oe:!1;return{dp__cell_offset:!l.current,dp__pointer:!t.disabled&&!(!l.current&&t.hideOffsetDates)&&!P(l.value)&&!J(l),dp__cell_disabled:P(l.value)||J(l),dp__cell_highlight:!ye(l)&&(ce(l)||y(l))&&!se(l)&&!Ye&&!Y(l)&&!(D(l)&&t.weekPicker)&&!oe,dp__cell_highlight_active:!ye(l)&&(ce(l)||y(l))&&se(l),dp__today:!t.noToday&&Te(l.value,m.value)&&l.current,"dp--past":He(l.value,m.value),"dp--future":qe(l.value,m.value)}},ee=l=>({dp__active_date:se(l),dp__date_hover:I(l)}),O=l=>{if(e.value&&!Array.isArray(e.value)){const _=Yt(e.value,t.weekStart);return{...F(l),dp__range_start:Te(_[0],l.value),dp__range_end:Te(_[1],l.value),dp__range_between_week:qe(l.value,_[0])&&He(l.value,_[1])}}return{...F(l)}},de=l=>{if(e.value&&Array.isArray(e.value)){const _=Yt(e.value[0],t.weekStart),oe=e.value[1]?Yt(e.value[1],t.weekStart):[];return{...F(l),dp__range_start:Te(_[0],l.value)||Te(oe[0],l.value),dp__range_end:Te(_[1],l.value)||Te(oe[1],l.value),dp__range_between_week:qe(l.value,_[0])&&He(l.value,_[1])||qe(l.value,oe[0])&&He(l.value,oe[1]),dp__range_between:qe(l.value,_[1])&&He(l.value,oe[0])}}return{...F(l)}},f=l=>{const _=n.value.count>0?l.current&&b(l)&&V():b(l)&&V(),oe=n.value.count>0?l.current&&b(l,!1)&&V():b(l,!1)&&V();return{isRangeStart:_,isRangeEnd:oe}},k=l=>{const{isRangeStart:_,isRangeEnd:oe}=f(l);return{dp__range_start:_,dp__range_end:oe,dp__range_between:D(l),dp__date_hover:Te(l.value,v.value)&&!_&&!oe&&!t.weekPicker,dp__date_hover_start:S(l,!0),dp__date_hover_end:S(l,!1)}},F=l=>({...k(l),dp__cell_auto_range:U(l),dp__cell_auto_range_start:Y(l),dp__cell_auto_range_end:L(l)}),W=l=>d.value.enabled?d.value.autoRange?F(l):t.modelAuto?{...ee(l),...k(l)}:t.weekPicker?de(l):k(l):t.weekPicker?O(l):ee(l);return{setHoverDate:p,clearHoverDate:x,getDayClassData:l=>t.hideOffsetDates&&!l.current?{}:{...E(l),...W(l),[t.dayClass?t.dayClass(l.value,t.internalModelValue):""]:!0,...r.value.calendarCell??{}}}},Wt=e=>{const{defaultedFilters:t,defaultedRange:n,propDates:a,defaultedMultiDates:r}=Be(e),o=y=>a.value.disabledDates?typeof a.value.disabledDates=="function"?a.value.disabledDates(q(y)):!!Sa(y,a.value.disabledDates):!1,s=y=>a.value.maxDate?e.yearPicker?he(y)>he(a.value.maxDate):qe(y,a.value.maxDate):!1,c=y=>a.value.minDate?e.yearPicker?he(y){const D=s(y),h=c(y),H=o(y),J=t.value.months.map(f=>+f).includes(Pe(y)),E=e.disabledWeekDays.length?e.disabledWeekDays.some(f=>+f===ro(y)):!1,ee=x(y),O=he(y),de=O<+e.yearRange[0]||O>+e.yearRange[1];return!(D||h||H||J||de||E||ee)},P=(y,D)=>He(...Ft(a.value.minDate,y,D))||Te(...Ft(a.value.minDate,y,D)),v=(y,D)=>qe(...Ft(a.value.maxDate,y,D))||Te(...Ft(a.value.maxDate,y,D)),m=(y,D,h)=>{let H=!1;return a.value.maxDate&&h&&v(y,D)&&(H=!0),a.value.minDate&&!h&&P(y,D)&&(H=!0),H},p=(y,D,h,H)=>{let J=!1;return H&&(a.value.minDate||a.value.maxDate)?a.value.minDate&&a.value.maxDate?J=m(y,D,h):(a.value.minDate&&P(y,D)||a.value.maxDate&&v(y,D))&&(J=!0):J=!0,J},x=y=>Array.isArray(a.value.allowedDates)&&!a.value.allowedDates.length?!0:a.value.allowedDates?!Sa(y,a.value.allowedDates,Tr(e.monthPicker,e.yearPicker)):!1,A=y=>!d(y),R=y=>n.value.noDisabledRange?!or({start:y[0],end:y[1]}).some(D=>A(D)):!0,M=y=>{if(y){const D=he(y);return D>=+e.yearRange[0]&&D<=e.yearRange[1]}return!0},b=(y,D)=>!!(Array.isArray(y)&&y[D]&&(n.value.maxRange||n.value.minRange)&&M(y[D])),S=(y,D,h=0)=>{if(b(D,h)&&M(y)){const H=nr(y,D[h]),J=Yr(D[h],y),E=J.length===1?0:J.filter(O=>A(O)).length,ee=Math.abs(H)-(n.value.minMaxRawRange?0:E);if(n.value.minRange&&n.value.maxRange)return ee>=+n.value.minRange&&ee<=+n.value.maxRange;if(n.value.minRange)return ee>=+n.value.minRange;if(n.value.maxRange)return ee<=+n.value.maxRange}return!0},C=()=>!e.enableTimePicker||e.monthPicker||e.yearPicker||e.ignoreTimeValidation,L=y=>Array.isArray(y)?[y[0]?Za(y[0]):null,y[1]?Za(y[1]):null]:Za(y),U=(y,D,h)=>y.find(H=>+H.hours===St(D)&&H.minutes==="*"?!0:+H.minutes===Ht(D)&&+H.hours===St(D))&&h,Y=(y,D,h)=>{const[H,J]=y,[E,ee]=D;return!U(H,E,h)&&!U(J,ee,h)&&h},N=(y,D)=>{const h=Array.isArray(D)?D:[D];return Array.isArray(e.disabledTimes)?Array.isArray(e.disabledTimes[0])?Y(e.disabledTimes,h,y):!h.some(H=>U(e.disabledTimes,H,y)):y},re=(y,D)=>{const h=Array.isArray(D)?[jt(D[0]),D[1]?jt(D[1]):void 0]:jt(D),H=!e.disabledTimes(h);return y&&H},V=(y,D)=>e.disabledTimes?Array.isArray(e.disabledTimes)?N(D,y):re(D,y):D,I=y=>{let D=!0;if(!y||C())return!0;const h=!a.value.minDate&&!a.value.maxDate?L(y):y;return(e.maxTime||a.value.maxDate)&&(D=Qn(e.maxTime,a.value.maxDate,"max",Xe(h),D)),(e.minTime||a.value.minDate)&&(D=Qn(e.minTime,a.value.minDate,"min",Xe(h),D)),V(y,D)},se=y=>{if(!e.monthPicker)return!0;let D=!0;const h=q(wt(y));if(a.value.minDate&&a.value.maxDate){const H=q(wt(a.value.minDate)),J=q(wt(a.value.maxDate));return qe(h,H)&&He(h,J)||Te(h,H)||Te(h,J)}if(a.value.minDate){const H=q(wt(a.value.minDate));D=qe(h,H)||Te(h,H)}if(a.value.maxDate){const H=q(wt(a.value.maxDate));D=He(h,H)||Te(h,H)}return D},ce=j(()=>y=>!e.enableTimePicker||e.ignoreTimeValidation?!0:I(y)),ye=j(()=>y=>e.monthPicker?Array.isArray(y)&&(n.value.enabled||r.value.enabled)?!y.filter(D=>!se(D)).length:se(y):!0);return{isDisabled:A,validateDate:d,validateMonthYearInRange:p,isDateRangeAllowed:R,checkMinMaxRange:S,isValidTime:I,isTimeValid:ce,isMonthValid:ye}},Ba=()=>{const e=j(()=>(a,r)=>a?.includes(r)),t=j(()=>(a,r)=>a.count?a.solo?!0:r===0:!0),n=j(()=>(a,r)=>a.count?a.solo?!0:r===a.count-1:!0);return{hideNavigationButtons:e,showLeftIcon:t,showRightIcon:n}},ei=(e,t,n)=>{const a=K(0),r=ka({[Qt.timePicker]:!e.enableTimePicker||e.timePicker||e.monthPicker,[Qt.calendar]:!1,[Qt.header]:!1}),o=j(()=>e.monthPicker||e.timePicker),s=m=>{var p;if((p=e.flow)!=null&&p.length){if(!m&&o.value)return v();r[m]=!0,Object.keys(r).filter(x=>!r[x]).length||v()}},c=()=>{var m,p;(m=e.flow)!=null&&m.length&&a.value!==-1&&(a.value+=1,t("flow-step",a.value),v()),((p=e.flow)==null?void 0:p.length)===a.value&&mt().then(()=>d())},d=()=>{a.value=-1},P=(m,p,...x)=>{var A,R;e.flow[a.value]===m&&n.value&&((R=(A=n.value)[p])==null||R.call(A,...x))},v=(m=0)=>{m&&(a.value+=m),P(rt.month,"toggleMonthPicker",!0),P(rt.year,"toggleYearPicker",!0),P(rt.calendar,"toggleTimePicker",!1,!0),P(rt.time,"toggleTimePicker",!0,!0);const p=e.flow[a.value];(p===rt.hours||p===rt.minutes||p===rt.seconds)&&P(p,"toggleTimePicker",!0,!0,p)};return{childMount:s,updateFlowStep:c,resetFlow:d,handleFlow:v,flowStep:a}},ti={key:1,class:"dp__input_wrap"},ai=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-label","aria-disabled","aria-invalid"],ni={key:2,class:"dp--clear-btn"},ri=["aria-label"],li=tt({compatConfig:{MODE:3},__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1},inputValue:{type:String,default:""},...Ia},emits:["clear","open","update:input-value","set-input-date","close","select-date","set-empty-date","toggle","focus-prev","focus","blur","real-blur","text-input"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaultedTextInput:o,defaultedAriaLabels:s,defaultedInline:c,defaultedConfig:d,defaultedRange:P,defaultedMultiDates:v,defaultedUI:m,getDefaultPattern:p,getDefaultStartTime:x}=Be(r),{checkMinMaxRange:A}=Wt(r),R=K(),M=K(null),b=K(!1),S=K(!1),C=j(()=>({dp__pointer:!r.disabled&&!r.readonly&&!o.value.enabled,dp__disabled:r.disabled,dp__input_readonly:!o.value.enabled,dp__input:!0,dp__input_icon_pad:!r.hideInputIcon,dp__input_valid:typeof r.state=="boolean"?r.state:!1,dp__input_invalid:typeof r.state=="boolean"?!r.state:!1,dp__input_focus:b.value||r.isMenuOpen,dp__input_reg:!o.value.enabled,...m.value.input??{}})),L=()=>{a("set-input-date",null),r.clearable&&r.autoApply&&(a("set-empty-date"),R.value=null)},U=O=>{const de=x();return bs(O,o.value.format??p(),de??Cr({},r.enableSeconds),r.inputValue,S.value,r.formatLocale)},Y=O=>{const{rangeSeparator:de}=o.value,[f,k]=O.split(`${de}`);if(f){const F=U(f.trim()),W=k?U(k.trim()):void 0;if(Gt(F,W))return;const l=F&&W?[F,W]:[F];A(W,l,0)&&(R.value=F?l:null)}},N=()=>{S.value=!0},re=O=>{if(P.value.enabled)Y(O);else if(v.value.enabled){const de=O.split(";");R.value=de.map(f=>U(f.trim())).filter(f=>f)}else R.value=U(O)},V=O=>{var de;const f=typeof O=="string"?O:(de=O.target)==null?void 0:de.value;f!==""?(o.value.openMenu&&!r.isMenuOpen&&a("open"),re(f),a("set-input-date",R.value)):L(),S.value=!1,a("update:input-value",f),a("text-input",O,R.value)},I=O=>{o.value.enabled?(re(O.target.value),o.value.enterSubmit&&cn(R.value)&&r.inputValue!==""?(a("set-input-date",R.value,!0),R.value=null):o.value.enterSubmit&&r.inputValue===""&&(R.value=null,a("clear"))):ye(O)},se=(O,de)=>{o.value.enabled&&o.value.tabSubmit&&!de&&re(O.target.value),o.value.tabSubmit&&cn(R.value)&&r.inputValue!==""?(a("set-input-date",R.value,!0,!0),R.value=null):o.value.tabSubmit&&r.inputValue===""&&(R.value=null,a("clear",!0))},ce=()=>{b.value=!0,a("focus"),mt().then(()=>{var O;o.value.enabled&&o.value.selectOnFocus&&((O=M.value)==null||O.select())})},ye=O=>{if(Bt(O,d.value,!0),o.value.enabled&&o.value.openMenu&&!c.value.input){if(o.value.openMenu==="open"&&!r.isMenuOpen)return a("open");if(o.value.openMenu==="toggle")return a("toggle")}else o.value.enabled||a("toggle")},y=()=>{a("real-blur"),b.value=!1,(!r.isMenuOpen||c.value.enabled&&c.value.input)&&a("blur"),r.autoApply&&o.value.enabled&&R.value&&!r.isMenuOpen&&(a("set-input-date",R.value),a("select-date"),R.value=null)},D=O=>{Bt(O,d.value,!0),a("clear")},h=()=>{a("close")},H=O=>{if(O.key==="Tab"&&se(O),O.key==="Enter"&&I(O),O.key==="Escape"&&o.value.escClose&&h(),!o.value.enabled){if(O.code==="Tab")return;O.preventDefault()}},J=()=>{var O;(O=M.value)==null||O.focus({preventScroll:!0})},E=O=>{R.value=O},ee=O=>{O.key===Ee.tab&&se(O,!0)};return t({focusInput:J,setParsedDate:E}),(O,de)=>{var f,k,F;return T(),z("div",{onClick:ye},[O.$slots.trigger&&!O.$slots["dp-input"]&&!i(c).enabled?ie(O.$slots,"trigger",{key:0}):G("",!0),!O.$slots.trigger&&(!i(c).enabled||i(c).input)?(T(),z("div",ti,[O.$slots["dp-input"]&&!O.$slots.trigger&&(!i(c).enabled||i(c).enabled&&i(c).input)?ie(O.$slots,"dp-input",{key:0,value:e.inputValue,isMenuOpen:e.isMenuOpen,onInput:V,onEnter:I,onTab:se,onClear:D,onBlur:y,onKeypress:H,onPaste:N,onFocus:ce,openMenu:()=>O.$emit("open"),closeMenu:()=>O.$emit("close"),toggleMenu:()=>O.$emit("toggle")}):G("",!0),O.$slots["dp-input"]?G("",!0):(T(),z("input",{key:1,id:O.uid?`dp-input-${O.uid}`:void 0,ref_key:"inputRef",ref:M,"data-test-id":"dp-input",name:O.name,class:xe(C.value),inputmode:i(o).enabled?"text":"none",placeholder:O.placeholder,disabled:O.disabled,readonly:O.readonly,required:O.required,value:e.inputValue,autocomplete:O.autocomplete,"aria-label":(f=i(s))==null?void 0:f.input,"aria-disabled":O.disabled||void 0,"aria-invalid":O.state===!1?!0:void 0,onInput:V,onBlur:y,onFocus:ce,onKeypress:H,onKeydown:de[0]||(de[0]=W=>H(W)),onPaste:N},null,42,ai)),ge("div",{onClick:de[3]||(de[3]=W=>a("toggle"))},[O.$slots["input-icon"]&&!O.hideInputIcon?(T(),z("span",{key:0,class:"dp__input_icon",onClick:de[1]||(de[1]=W=>a("toggle"))},[ie(O.$slots,"input-icon")])):G("",!0),!O.$slots["input-icon"]&&!O.hideInputIcon&&!O.$slots["dp-input"]?(T(),Oe(i(ca),{key:1,"aria-label":(k=i(s))==null?void 0:k.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:de[2]||(de[2]=W=>a("toggle"))},null,8,["aria-label"])):G("",!0)]),O.$slots["clear-icon"]&&(O.alwaysClearable||e.inputValue&&O.clearable&&!O.disabled&&!O.readonly)?(T(),z("span",ni,[ie(O.$slots,"clear-icon",{clear:D})])):G("",!0),!O.$slots["clear-icon"]&&(O.alwaysClearable||O.clearable&&e.inputValue&&!O.disabled&&!O.readonly)?(T(),z("button",{key:3,"aria-label":(F=i(s))==null?void 0:F.clearInput,class:"dp--clear-btn",type:"button",onKeydown:de[4]||(de[4]=W=>i(ut)(W,()=>D(W),!0,ee)),onClick:de[5]||(de[5]=ga(W=>D(W),["prevent"]))},[vt(i(kr),{class:"dp__input_icons","data-test-id":"clear-icon"})],40,ri)):G("",!0)])):G("",!0)])}}}),oi=typeof window<"u"?window:void 0,rn=()=>{},si=e=>Xr()?(Zr(e),!0):!1,ui=(e,t,n,a)=>{if(!e)return rn;let r=rn;const o=yt(()=>i(e),c=>{r(),c&&(c.removeEventListener(t,n),c.addEventListener(t,n,a),r=()=>{c.removeEventListener(t,n,a),r=rn})},{immediate:!0,flush:"post"}),s=()=>{o(),r()};return si(s),s},ii=(e,t,n,a={})=>{const{window:r=oi,event:o="pointerdown"}=a;return r?ui(r,o,s=>{const c=je(e),d=je(t);!c||!d||c===s.target||s.composedPath().includes(c)||s.composedPath().includes(d)||n(s)},{passive:!0}):void 0},di=["data-dp-mobile"],ci=tt({compatConfig:{MODE:3},__name:"VueDatePicker",props:{...Ia},emits:["update:model-value","update:model-timezone-value","text-submit","closed","cleared","open","focus","blur","internal-model-change","recalculate-position","flow-step","update-month-year","invalid-select","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","date-update","invalid-date","overlay-toggle","text-input"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Kt(),s=K(!1),c=ha(r,"modelValue"),d=ha(r,"timezone"),P=K(null),v=K(null),m=K(null),p=K(!1),x=K(null),A=K(!1),R=K(!1),M=K(!1),b=K(!1),{setMenuFocused:S,setShiftKey:C}=Ir(),{clearArrowNav:L}=Vt(),{validateDate:U,isValidTime:Y}=Wt(r),{defaultedTransitions:N,defaultedTextInput:re,defaultedInline:V,defaultedConfig:I,defaultedRange:se,defaultedMultiDates:ce}=Be(r),{menuTransition:ye,showTransition:y}=Ma(N),{isMobile:D}=Wr(I),h=Qr();at(()=>{l(r.modelValue),mt().then(()=>{if(!V.value.enabled){const B=f(x.value);B?.addEventListener("scroll",ae),window?.addEventListener("resize",ne)}}),V.value.enabled&&(s.value=!0),window?.addEventListener("keyup",Me),window?.addEventListener("keydown",be)}),ia(()=>{if(!V.value.enabled){const B=f(x.value);B?.removeEventListener("scroll",ae),window?.removeEventListener("resize",ne)}window?.removeEventListener("keyup",Me),window?.removeEventListener("keydown",be)});const H=ct(o,"all",r.presetDates),J=ct(o,"input");yt([c,d],()=>{l(c.value)},{deep:!0});const{openOnTop:E,menuStyle:ee,xCorrect:O,setMenuPosition:de,getScrollableParent:f,shadowRender:k}=Ku({menuRef:P,menuRefInner:v,inputRef:m,pickerWrapperRef:x,inline:V,emit:a,props:r,slots:o}),{inputValue:F,internalModelValue:W,parseExternalModelValue:l,emitModelValue:_,formatInputValue:oe,checkBeforeEmit:Ye}=qs(a,r,p),$=j(()=>({dp__main:!0,dp__theme_dark:r.dark,dp__theme_light:!r.dark,dp__flex_display:V.value.enabled,"dp--flex-display-collapsed":M.value,dp__flex_display_with_input:V.value.input})),we=j(()=>r.dark?"dp__theme_dark":"dp__theme_light"),Q=j(()=>r.teleport?{to:typeof r.teleport=="boolean"?"body":r.teleport,disabled:!r.teleport||V.value.enabled}:{}),te=j(()=>({class:"dp__outer_menu_wrap"})),u=j(()=>V.value.enabled&&(r.timePicker||r.monthPicker||r.yearPicker||r.quarterPicker)),Z=()=>{var B,ue;return((ue=(B=m.value)==null?void 0:B.$el)==null?void 0:ue.getBoundingClientRect())??{width:0,left:0,right:0}},ae=()=>{s.value&&(I.value.closeOnScroll?Ke():de())},ne=()=>{var B;s.value&&de();const ue=((B=v.value)==null?void 0:B.$el.getBoundingClientRect().width)??0;M.value=document.body.offsetWidth<=ue},Me=B=>{B.key==="Tab"&&!V.value.enabled&&!r.teleport&&I.value.tabOutClosesMenu&&(x.value.contains(document.activeElement)||Ke()),R.value=B.shiftKey},be=B=>{R.value=B.shiftKey},Ce=()=>{!r.disabled&&!r.readonly&&(k(h,Zn,r),de(!1),s.value=!0,s.value&&a("open"),s.value||ve(),l(r.modelValue))},We=()=>{var B,ue;F.value="",ve(),(B=v.value)==null||B.onValueCleared(),(ue=m.value)==null||ue.setParsedDate(null),a("update:model-value",null),a("update:model-timezone-value",null),a("cleared"),I.value.closeOnClearValue&&Ke()},g=()=>{const B=W.value;return!B||!Array.isArray(B)&&U(B)?!0:Array.isArray(B)?ce.value.enabled||B.length===2&&U(B[0])&&U(B[1])?!0:se.value.partialRange&&!r.timePicker?U(B[0]):!1:!1},le=()=>{Ye()&&g()?(_(),Ke()):a("invalid-select",W.value)},$e=B=>{Ge(),_(),I.value.closeOnAutoApply&&!B&&Ke()},Ge=()=>{m.value&&re.value.enabled&&m.value.setParsedDate(W.value)},Dt=(B=!1)=>{r.autoApply&&Y(W.value)&&g()&&(se.value.enabled&&Array.isArray(W.value)?(se.value.partialRange||W.value.length===2)&&$e(B):$e(B))},ve=()=>{re.value.enabled||(W.value=null)},Ke=(B=!1)=>{var ue,me;B&&W.value&&I.value.setDateOnMenuClose&&le(),V.value.enabled||(s.value&&(s.value=!1,O.value=!1,S(!1),C(!1),L(),a("closed"),F.value&&l(c.value)),ve(),a("blur"),(me=(ue=v.value)==null?void 0:ue.$el)==null||me.remove())},xt=(B,ue,me=!1)=>{if(!B){W.value=null;return}const At=Array.isArray(B)?!B.some(zt=>!U(zt)):U(B),Mt=Y(B);At&&Mt?(b.value=!0,W.value=B,ue?(A.value=me,le(),a("text-submit")):r.autoApply&&Dt(),mt().then(()=>{b.value=!1})):a("invalid-date",B)},La=()=>{r.autoApply&&Y(W.value)&&_(),Ge()},Ta=()=>s.value?Ke():Ce(),Ha=B=>{W.value=B},Va=()=>{re.value.enabled&&(p.value=!0,oe()),a("focus")},Wa=()=>{if(re.value.enabled&&(p.value=!1,l(r.modelValue),A.value)){const B=hs(x.value,R.value);B?.focus()}a("blur")},za=B=>{v.value&&v.value.updateMonthYear(0,{month:zn(B.month),year:zn(B.year)})},qa=B=>{l(B??r.modelValue)},w=(B,ue)=>{var me;(me=v.value)==null||me.switchView(B,ue)},X=(B,ue)=>I.value.onClickOutside?I.value.onClickOutside(B,ue):Ke(!0),fe=(B=0)=>{var ue;(ue=v.value)==null||ue.handleFlow(B)},_e=()=>P;return ii(P,m,B=>X(g,B)),t({closeMenu:Ke,selectDate:le,clearValue:We,openMenu:Ce,onScroll:ae,formatInputValue:oe,updateInternalModelValue:Ha,setMonthYear:za,parseModel:qa,switchView:w,toggleMenu:Ta,handleFlow:fe,getDpWrapMenuRef:_e}),(B,ue)=>(T(),z("div",{ref_key:"pickerWrapperRef",ref:x,class:xe($.value),"data-datepicker-instance":"","data-dp-mobile":i(D)},[vt(li,Je({ref_key:"inputRef",ref:m,"input-value":i(F),"onUpdate:inputValue":ue[0]||(ue[0]=me=>Yn(F)?F.value=me:null),"is-menu-open":s.value},B.$props,{onClear:We,onOpen:Ce,onSetInputDate:xt,onSetEmptyDate:i(_),onSelectDate:le,onToggle:Ta,onClose:Ke,onFocus:Va,onBlur:Wa,onRealBlur:ue[1]||(ue[1]=me=>p.value=!1),onTextInput:ue[2]||(ue[2]=me=>B.$emit("text-input",me))}),ot({_:2},[Fe(i(J),(me,At)=>({name:me,fn:De(Mt=>[ie(B.$slots,me,Ze(it(Mt)))])}))]),1040,["input-value","is-menu-open","onSetEmptyDate"]),(T(),Oe(Na(B.teleport?Ur:"div"),Ze(it(Q.value)),{default:De(()=>[vt(da,{name:i(ye)(i(E)),css:i(y)&&!i(V).enabled},{default:De(()=>[s.value?(T(),z("div",Je({key:0,ref_key:"dpWrapMenuRef",ref:P},te.value,{class:{"dp--menu-wrapper":!i(V).enabled},style:i(V).enabled?void 0:i(ee)}),[vt(Zn,Je({ref_key:"dpMenuRef",ref:v},B.$props,{"internal-model-value":i(W),"onUpdate:internalModelValue":ue[3]||(ue[3]=me=>Yn(W)?W.value=me:null),class:{[we.value]:!0,"dp--menu-wrapper":B.teleport},"open-on-top":i(E),"no-overlay-focus":u.value,collapse:M.value,"get-input-rect":Z,"is-text-input-date":b.value,onClosePicker:Ke,onSelectDate:le,onAutoApply:Dt,onTimeUpdate:La,onFlowStep:ue[4]||(ue[4]=me=>B.$emit("flow-step",me)),onUpdateMonthYear:ue[5]||(ue[5]=me=>B.$emit("update-month-year",me)),onInvalidSelect:ue[6]||(ue[6]=me=>B.$emit("invalid-select",i(W))),onAutoApplyInvalid:ue[7]||(ue[7]=me=>B.$emit("invalid-select",me)),onInvalidFixedRange:ue[8]||(ue[8]=me=>B.$emit("invalid-fixed-range",me)),onRecalculatePosition:i(de),onTooltipOpen:ue[9]||(ue[9]=me=>B.$emit("tooltip-open",me)),onTooltipClose:ue[10]||(ue[10]=me=>B.$emit("tooltip-close",me)),onTimePickerOpen:ue[11]||(ue[11]=me=>B.$emit("time-picker-open",me)),onTimePickerClose:ue[12]||(ue[12]=me=>B.$emit("time-picker-close",me)),onAmPmChange:ue[13]||(ue[13]=me=>B.$emit("am-pm-change",me)),onRangeStart:ue[14]||(ue[14]=me=>B.$emit("range-start",me)),onRangeEnd:ue[15]||(ue[15]=me=>B.$emit("range-end",me)),onDateUpdate:ue[16]||(ue[16]=me=>B.$emit("date-update",me)),onInvalidDate:ue[17]||(ue[17]=me=>B.$emit("invalid-date",me)),onOverlayToggle:ue[18]||(ue[18]=me=>B.$emit("overlay-toggle",me)),onMenuBlur:ue[19]||(ue[19]=me=>B.$emit("blur"))}),ot({_:2},[Fe(i(H),(me,At)=>({name:me,fn:De(Mt=>[ie(B.$slots,me,Ze(it({...Mt})))])}))]),1040,["internal-model-value","class","open-on-top","no-overlay-focus","collapse","is-text-input-date","onRecalculatePosition"])],16)):G("",!0)]),_:3},8,["name","css"])]),_:3},16))],10,di))}}),zr=(()=>{const e=ci;return e.install=t=>{t.component("Vue3DatePicker",e)},e})(),vi=Object.freeze(Object.defineProperty({__proto__:null,default:zr},Symbol.toStringTag,{value:"Module"}));Object.entries(vi).forEach(([e,t])=>{e!=="default"&&(zr[e]=t)});export{zr as Q}; diff --git a/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-3RfrzlK5.js b/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-CHYv-Cz_.js similarity index 84% rename from src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-3RfrzlK5.js rename to src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-CHYv-Cz_.js index 93d020b9..7ddaefd0 100644 --- a/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-3RfrzlK5.js +++ b/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-CHYv-Cz_.js @@ -1 +1 @@ -import{B as n,D as r,c as i,a as s,b as t,j as l,d as c,u,f as e}from"./index-mH92cJrc.js";import{L as o}from"./localeText-DSmP42vs.js";import{D as _,d as m,e as h,A as p,a as b,b as v,_ as g,c as f}from"./dashboardEmailSettings-CqwOH0Oa.js";import"./dayjs.min-BSByM7MH.js";import"./vue-datepicker-DXRta4gJ.js";const A={class:"d-flex gap-3 flex-column"},D={class:"card rounded-3"},y={class:"card-header"},S={class:"my-2"},x={class:"card-body"},I={class:"row g-2"},P={class:"col-sm"},B={class:"col-sm"},C={class:"card rounded-3"},k={class:"card-header"},w={class:"my-2"},L={class:"card-body"},F={class:"card rounded-3"},M={class:"card-header"},N={class:"my-2"},V={class:"card-body d-flex flex-column gap-3"},z=n({__name:"wgdashboardSettings",setup(T){const d=r();return(U,a)=>(e(),i("div",A,[s("div",D,[s("div",y,[s("h6",S,[a[0]||(a[0]=s("i",{class:"bi bi-magic me-2"},null,-1)),t(o,{t:"Appearance"})])]),s("div",x,[s("div",I,[s("div",P,[t(_)]),s("div",B,[t(m)])])])]),s("div",C,[s("div",k,[s("h6",w,[a[1]||(a[1]=s("i",{class:"bi bi-ethernet me-2"},null,-1)),t(o,{t:"Dashboard IP Address & Listen Port"})])]),s("div",L,[t(h)])]),s("div",F,[s("div",M,[s("h6",N,[a[2]||(a[2]=s("i",{class:"bi bi-people-fill me-2"},null,-1)),t(o,{t:"Account Settings"})])]),s("div",V,[s("div",null,[t(p,{targetData:"username",title:"Username"})]),a[3]||(a[3]=s("hr",null,null,-1)),s("div",null,[t(b,{targetData:"password"})]),a[4]||(a[4]=s("hr",null,null,-1)),s("div",null,[s("h6",null,[t(o,{t:"Multi-Factor Authentication (MFA)"})]),u(d).getActiveCrossServer()?c("",!0):(e(),l(f,{key:0}))])])]),t(v),t(g)]))}});export{z as default}; +import{B as n,D as r,c as i,a as s,b as t,j as l,d as c,u,f as e}from"./index-BimuIV8Z.js";import{L as o}from"./localeText-D0Ve6fTw.js";import{D as _,d as m,e as h,A as p,a as b,b as v,_ as g,c as f}from"./dashboardEmailSettings-Gsulq66_.js";import"./dayjs.min-CkODZHdU.js";import"./vue-datepicker-VDLvxrT_.js";const A={class:"d-flex gap-3 flex-column"},D={class:"card rounded-3"},y={class:"card-header"},S={class:"my-2"},x={class:"card-body"},I={class:"row g-2"},P={class:"col-sm"},B={class:"col-sm"},C={class:"card rounded-3"},k={class:"card-header"},w={class:"my-2"},L={class:"card-body"},F={class:"card rounded-3"},M={class:"card-header"},N={class:"my-2"},V={class:"card-body d-flex flex-column gap-3"},z=n({__name:"wgdashboardSettings",setup(T){const d=r();return(U,a)=>(e(),i("div",A,[s("div",D,[s("div",y,[s("h6",S,[a[0]||(a[0]=s("i",{class:"bi bi-magic me-2"},null,-1)),t(o,{t:"Appearance"})])]),s("div",x,[s("div",I,[s("div",P,[t(_)]),s("div",B,[t(m)])])])]),s("div",C,[s("div",k,[s("h6",w,[a[1]||(a[1]=s("i",{class:"bi bi-ethernet me-2"},null,-1)),t(o,{t:"Dashboard IP Address & Listen Port"})])]),s("div",L,[t(h)])]),s("div",F,[s("div",M,[s("h6",N,[a[2]||(a[2]=s("i",{class:"bi bi-people-fill me-2"},null,-1)),t(o,{t:"Account Settings"})])]),s("div",V,[s("div",null,[t(p,{targetData:"username",title:"Username"})]),a[3]||(a[3]=s("hr",null,null,-1)),s("div",null,[t(b,{targetData:"password"})]),a[4]||(a[4]=s("hr",null,null,-1)),s("div",null,[s("h6",null,[t(o,{t:"Multi-Factor Authentication (MFA)"})]),u(d).getActiveCrossServer()?c("",!0):(e(),l(f,{key:0}))])])]),t(v),t(g)]))}});export{z as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-HGJPkYyO.js b/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-FwCY-ehA.js similarity index 74% rename from src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-HGJPkYyO.js rename to src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-FwCY-ehA.js index a976a11a..14faaae0 100644 --- a/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-HGJPkYyO.js +++ b/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-FwCY-ehA.js @@ -1 +1 @@ -import{D as e,a}from"./dashboardSettingsWireguardConfigurationAutostart-CcYlrBrT.js";import{B as r,c as o,b as t,f as n}from"./index-mH92cJrc.js";import"./localeText-DSmP42vs.js";const i={class:"d-flex gap-3 flex-column"},m=r({__name:"wireguardConfigurationSettings",setup(s){return(g,u)=>(n(),o("div",i,[t(e,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),t(a)]))}});export{m as default}; +import{D as e,a}from"./dashboardSettingsWireguardConfigurationAutostart-BUzKGHGv.js";import{B as r,c as o,b as t,f as n}from"./index-BimuIV8Z.js";import"./localeText-D0Ve6fTw.js";const i={class:"d-flex gap-3 flex-column"},m=r({__name:"wireguardConfigurationSettings",setup(s){return(g,u)=>(n(),o("div",i,[t(e,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),t(a)]))}});export{m as default}; diff --git a/src/static/dist/WGDashboardAdmin/index.html b/src/static/dist/WGDashboardAdmin/index.html index 4d9a7b3a..cd1cba7a 100644 --- a/src/static/dist/WGDashboardAdmin/index.html +++ b/src/static/dist/WGDashboardAdmin/index.html @@ -10,7 +10,7 @@ WGDashboard - +