From 83dcb5165ce76a9d37730a542f6da42182534ce3 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Wed, 7 Feb 2024 12:19:52 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=8F=AF=E8=A7=86?= =?UTF-8?q?=E5=8C=96=E9=9D=A2=E6=9D=BF=E9=85=8D=E7=BD=AE=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=EF=BC=9B=20feat:=20=E6=96=B0=E5=A2=9E=E9=9D=A2=E5=90=91?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E7=9A=84=E9=85=8D=E7=BD=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e_vue_type_style_index_0_lang-e4df418f.js} | 2 +- ...ut-4f378b43.js => BlankLayout-cfe30392.js} | 2 +- ...Page-8c6eccaf.js => ColorPage-7353c785.js} | 2 +- .../dist/assets/ConfigPage-30efc2f6.js | 1 - .../dist/assets/ConfigPage-35ca1d09.js | 1 + ...ge-4039384d.js => ConsolePage-b0a46fa8.js} | 2 +- ...088788.js => DefaultDashboard-328030e1.js} | 2 +- ...e-0951219d.js => Error404Page-2ad23ac9.js} | 2 +- ...-de80b39d.js => ExtensionPage-565f8b3e.js} | 2 +- ...out-87ae6183.js => FullLayout-f333ed84.js} | 2 +- ...Page-5ed4985c.js => LoginPage-ecd03b0f.js} | 2 +- ...e_type_script_setup_true_lang-ae7b1a25.js} | 2 +- ...-fc94f725.js => MaterialIcons-bca66dd4.js} | 2 +- ...e-f1e91a9c.js => RegisterPage-8bd0ba09.js} | 2 +- ...age-00585b3f.js => ShadowPage-b4e2aa62.js} | 2 +- ...ns-28b82875.js => TablerIcons-8f1b7164.js} | 2 +- ...6333374a.js => TypographyPage-ec6a8f68.js} | 2 +- ...e_type_script_setup_true_lang-0734075c.js} | 2 +- .../{index-70ea897e.js => index-0719535f.js} | 4 +- .../{md5-6a8a08e9.js => md5-cee6f11c.js} | 2 +- addons/dashboard/dist/index.html | 2 +- addons/dashboard/helper.py | 290 ++++++++---------- addons/dashboard/server.py | 82 ++++- cores/qqbot/core.py | 6 +- main.py | 4 + model/command/command.py | 16 +- model/command/openai_official.py | 3 + model/platform/qq_gocq.py | 1 - util/cmd_config.py | 2 - util/plugin_dev/api/v1/config.py | 82 +++++ 30 files changed, 330 insertions(+), 198 deletions(-) rename addons/dashboard/dist/assets/{BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js => BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js} (93%) rename addons/dashboard/dist/assets/{BlankLayout-4f378b43.js => BlankLayout-cfe30392.js} (70%) rename addons/dashboard/dist/assets/{ColorPage-8c6eccaf.js => ColorPage-7353c785.js} (83%) delete mode 100644 addons/dashboard/dist/assets/ConfigPage-30efc2f6.js create mode 100644 addons/dashboard/dist/assets/ConfigPage-35ca1d09.js rename addons/dashboard/dist/assets/{ConsolePage-4039384d.js => ConsolePage-b0a46fa8.js} (99%) rename addons/dashboard/dist/assets/{DefaultDashboard-37088788.js => DefaultDashboard-328030e1.js} (99%) rename addons/dashboard/dist/assets/{Error404Page-0951219d.js => Error404Page-2ad23ac9.js} (94%) rename addons/dashboard/dist/assets/{ExtensionPage-de80b39d.js => ExtensionPage-565f8b3e.js} (98%) rename addons/dashboard/dist/assets/{FullLayout-87ae6183.js => FullLayout-f333ed84.js} (97%) rename addons/dashboard/dist/assets/{LoginPage-5ed4985c.js => LoginPage-ecd03b0f.js} (99%) rename addons/dashboard/dist/assets/{LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js => LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js} (94%) rename addons/dashboard/dist/assets/{MaterialIcons-fc94f725.js => MaterialIcons-bca66dd4.js} (70%) rename addons/dashboard/dist/assets/{RegisterPage-f1e91a9c.js => RegisterPage-8bd0ba09.js} (96%) rename addons/dashboard/dist/assets/{ShadowPage-00585b3f.js => ShadowPage-b4e2aa62.js} (81%) rename addons/dashboard/dist/assets/{TablerIcons-28b82875.js => TablerIcons-8f1b7164.js} (69%) rename addons/dashboard/dist/assets/{TypographyPage-6333374a.js => TypographyPage-ec6a8f68.js} (94%) rename addons/dashboard/dist/assets/{UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js => UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js} (88%) rename addons/dashboard/dist/assets/{index-70ea897e.js => index-0719535f.js} (99%) rename addons/dashboard/dist/assets/{md5-6a8a08e9.js => md5-cee6f11c.js} (99%) create mode 100644 util/plugin_dev/api/v1/config.py diff --git a/addons/dashboard/dist/assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js b/addons/dashboard/dist/assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js similarity index 93% rename from addons/dashboard/dist/assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js rename to addons/dashboard/dist/assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js index cc41ba188..38842ab27 100644 --- a/addons/dashboard/dist/assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js +++ b/addons/dashboard/dist/assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js @@ -1 +1 @@ -import{x as i,o as l,c as _,w as s,a as e,f as a,J as m,V as r,b as t,t as u,ab as p,B as n,ac as o,j as f}from"./index-70ea897e.js";const b={class:"text-h3"},h={class:"d-flex align-center"},g={class:"d-flex align-center"},V=i({__name:"BaseBreadcrumb",props:{title:String,breadcrumbs:Array,icon:String},setup(d){const c=d;return(x,B)=>(l(),_(r,{class:"page-breadcrumb mb-1 mt-1"},{default:s(()=>[e(a,{cols:"12",md:"12"},{default:s(()=>[e(m,{variant:"outlined",elevation:"0",class:"px-4 py-3 withbg"},{default:s(()=>[e(r,{"no-gutters":"",class:"align-center"},{default:s(()=>[e(a,{md:"5"},{default:s(()=>[t("h3",b,u(c.title),1)]),_:1}),e(a,{md:"7",sm:"12",cols:"12"},{default:s(()=>[e(p,{items:c.breadcrumbs,class:"text-h5 justify-md-end pa-1"},{divider:s(()=>[t("div",h,[e(n(o),{size:"17"})])]),prepend:s(()=>[e(f,{size:"small",icon:"mdi-home",class:"text-secondary mr-2"}),t("div",g,[e(n(o),{size:"17"})])]),_:1},8,["items"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}});export{V as _}; +import{x as i,o as l,c as _,w as s,a as e,f as a,J as m,V as r,b as t,t as u,ab as p,B as n,ac as o,j as f}from"./index-0719535f.js";const b={class:"text-h3"},h={class:"d-flex align-center"},g={class:"d-flex align-center"},V=i({__name:"BaseBreadcrumb",props:{title:String,breadcrumbs:Array,icon:String},setup(d){const c=d;return(x,B)=>(l(),_(r,{class:"page-breadcrumb mb-1 mt-1"},{default:s(()=>[e(a,{cols:"12",md:"12"},{default:s(()=>[e(m,{variant:"outlined",elevation:"0",class:"px-4 py-3 withbg"},{default:s(()=>[e(r,{"no-gutters":"",class:"align-center"},{default:s(()=>[e(a,{md:"5"},{default:s(()=>[t("h3",b,u(c.title),1)]),_:1}),e(a,{md:"7",sm:"12",cols:"12"},{default:s(()=>[e(p,{items:c.breadcrumbs,class:"text-h5 justify-md-end pa-1"},{divider:s(()=>[t("div",h,[e(n(o),{size:"17"})])]),prepend:s(()=>[e(f,{size:"small",icon:"mdi-home",class:"text-secondary mr-2"}),t("div",g,[e(n(o),{size:"17"})])]),_:1},8,["items"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}});export{V as _}; diff --git a/addons/dashboard/dist/assets/BlankLayout-4f378b43.js b/addons/dashboard/dist/assets/BlankLayout-cfe30392.js similarity index 70% rename from addons/dashboard/dist/assets/BlankLayout-4f378b43.js rename to addons/dashboard/dist/assets/BlankLayout-cfe30392.js index ce8911884..c6a859a76 100644 --- a/addons/dashboard/dist/assets/BlankLayout-4f378b43.js +++ b/addons/dashboard/dist/assets/BlankLayout-cfe30392.js @@ -1 +1 @@ -import{x as e,o as a,c as t,w as o,a as s,B as n,X as r,T as c}from"./index-70ea897e.js";const f=e({__name:"BlankLayout",setup(p){return(u,_)=>(a(),t(c,null,{default:o(()=>[s(n(r))]),_:1}))}});export{f as default}; +import{x as e,o as a,c as t,w as o,a as s,B as n,X as r,T as c}from"./index-0719535f.js";const f=e({__name:"BlankLayout",setup(p){return(u,_)=>(a(),t(c,null,{default:o(()=>[s(n(r))]),_:1}))}});export{f as default}; diff --git a/addons/dashboard/dist/assets/ColorPage-8c6eccaf.js b/addons/dashboard/dist/assets/ColorPage-7353c785.js similarity index 83% rename from addons/dashboard/dist/assets/ColorPage-8c6eccaf.js rename to addons/dashboard/dist/assets/ColorPage-7353c785.js index 997aa4c15..58a731a14 100644 --- a/addons/dashboard/dist/assets/ColorPage-8c6eccaf.js +++ b/addons/dashboard/dist/assets/ColorPage-7353c785.js @@ -1 +1 @@ -import{_ as m}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js";import{_}from"./UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js";import{x as p,D as a,o as r,s,a as e,w as t,f as o,V as i,F as n,u as g,c as h,_ as b,e as x,t as y}from"./index-70ea897e.js";const P=p({__name:"ColorPage",setup(C){const c=a({title:"Colors Page"}),d=a([{title:"Utilities",disabled:!1,href:"#"},{title:"Colors",disabled:!0,href:"#"}]),u=a(["primary","lightprimary","secondary","lightsecondary","info","success","accent","warning","error","darkText","lightText","borderLight","inputBorder","containerBg"]);return(V,k)=>(r(),s(n,null,[e(m,{title:c.value.title,breadcrumbs:d.value},null,8,["title","breadcrumbs"]),e(i,null,{default:t(()=>[e(o,{cols:"12",md:"12"},{default:t(()=>[e(_,{title:"Color Palette"},{default:t(()=>[e(i,null,{default:t(()=>[(r(!0),s(n,null,g(u.value,(l,f)=>(r(),h(o,{md:"3",cols:"12",key:f},{default:t(()=>[e(b,{rounded:"md",class:"align-center justify-center d-flex",height:"100",width:"100%",color:l},{default:t(()=>[x("class: "+y(l),1)]),_:2},1032,["color"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})],64))}});export{P as default}; +import{_ as m}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js";import{_}from"./UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js";import{x as p,D as a,o as r,s,a as e,w as t,f as o,V as i,F as n,u as g,c as h,_ as b,e as x,t as y}from"./index-0719535f.js";const P=p({__name:"ColorPage",setup(C){const c=a({title:"Colors Page"}),d=a([{title:"Utilities",disabled:!1,href:"#"},{title:"Colors",disabled:!0,href:"#"}]),u=a(["primary","lightprimary","secondary","lightsecondary","info","success","accent","warning","error","darkText","lightText","borderLight","inputBorder","containerBg"]);return(V,k)=>(r(),s(n,null,[e(m,{title:c.value.title,breadcrumbs:d.value},null,8,["title","breadcrumbs"]),e(i,null,{default:t(()=>[e(o,{cols:"12",md:"12"},{default:t(()=>[e(_,{title:"Color Palette"},{default:t(()=>[e(i,null,{default:t(()=>[(r(!0),s(n,null,g(u.value,(l,f)=>(r(),h(o,{md:"3",cols:"12",key:f},{default:t(()=>[e(b,{rounded:"md",class:"align-center justify-center d-flex",height:"100",width:"100%",color:l},{default:t(()=>[x("class: "+y(l),1)]),_:2},1032,["color"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})],64))}});export{P as default}; diff --git a/addons/dashboard/dist/assets/ConfigPage-30efc2f6.js b/addons/dashboard/dist/assets/ConfigPage-30efc2f6.js deleted file mode 100644 index 97dbfa7ab..000000000 --- a/addons/dashboard/dist/assets/ConfigPage-30efc2f6.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as h}from"./UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js";import{o as a,s as t,a as n,w as i,f as b,F as d,u as g,V as C,d as U,e as x,t as c,a8 as B,R as _,c as r,a9 as w,O as v,b as V,aa as N,i as F,q as P,k as f,A as S}from"./index-70ea897e.js";const D={name:"ConfigPage",components:{UiParentCard:h},data(){return{config_data:{data:[]},save_message_snack:!1,save_message:"",save_message_success:""}},mounted(){this.getConfig()},methods:{getConfig(){_.get("/api/configs").then(o=>{this.config_data=o.data.data,console.log(this.config_data)})},updateConfig(){_.post("/api/configs",this.config_data).then(o=>{console.log(this.config_data),o.data.status==="success"?(this.save_message=o.data.message,this.save_message_snack=!0,this.save_message_success="success"):(this.save_message=o.data.message,this.save_message_snack=!0,this.save_message_success="error")})}}},$=Object.assign(D,{setup(o){return(s,m)=>(a(),t(d,null,[n(C,null,{default:i(()=>[n(b,{cols:"12",md:"12"},{default:i(()=>[(a(!0),t(d,null,g(s.config_data.data,u=>(a(),r(h,{key:u.name,title:u.name,style:{"margin-bottom":"16px"}},{default:i(()=>[(a(!0),t(d,null,g(u.body,e=>(a(),t(d,null,[e.config_type==="item"?(a(),t(d,{key:0},[e.val_type==="bool"?(a(),r(w,{key:0,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,color:"primary",inset:""},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="string"?(a(),r(v,{key:1,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,style:{"margin-bottom":"8px"},variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="int"?(a(),r(v,{key:2,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,style:{"margin-bottom":"8px"},variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="list"?(a(),t(d,{key:3},[V("span",null,c(e.name),1),n(N,{modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,chips:"",clearable:"",label:"请添加",multiple:"","prepend-icon":"mdi-tag-multiple-outline"},{selection:i(({attrs:l,item:p,select:k,selected:y})=>[n(F,P(l,{"model-value":y,closable:"",onClick:k,"onClick:close":O=>s.remove(p)}),{default:i(()=>[V("strong",null,c(p),1)]),_:2},1040,["model-value","onClick","onClick:close"])]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):f("",!0)],64)):e.config_type==="divider"?(a(),r(S,{key:1,style:{"margin-top":"8px","margin-bottom":"8px"}})):f("",!0)],64))),256))]),_:2},1032,["title"]))),128))]),_:1})]),_:1}),n(U,{icon:"mdi-content-save",size:"x-large",style:{position:"fixed",right:"52px",bottom:"52px"},color:"darkprimary",onClick:s.updateConfig},null,8,["onClick"]),n(B,{timeout:2e3,elevation:"24",color:s.save_message_success,modelValue:s.save_message_snack,"onUpdate:modelValue":m[0]||(m[0]=u=>s.save_message_snack=u)},{default:i(()=>[x(c(s.save_message),1)]),_:1},8,["color","modelValue"])],64))}});export{$ as default}; diff --git a/addons/dashboard/dist/assets/ConfigPage-35ca1d09.js b/addons/dashboard/dist/assets/ConfigPage-35ca1d09.js new file mode 100644 index 000000000..a347642f4 --- /dev/null +++ b/addons/dashboard/dist/assets/ConfigPage-35ca1d09.js @@ -0,0 +1 @@ +import{_ as b}from"./UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js";import{x as $,o as a,c as r,w as n,a as d,a6 as T,b as c,K as j,e as C,t as p,G as F,A as k,L as I,a7 as P,J as D,s as i,d as B,F as u,u as m,f as L,V as O,a8 as q,R as f,a9 as x,O as v,aa as U,i as w,q as S,k as y}from"./index-0719535f.js";const z={class:"d-sm-flex align-center justify-space-between"},G=$({__name:"ConfigGroupCard",props:{title:String},setup(s){const t=s;return(g,o)=>(a(),r(D,{variant:"outlined",elevation:"0",class:"withbg",style:{width:"50%"}},{default:n(()=>[d(T,{style:{padding:"10px 20px"}},{default:n(()=>[c("div",z,[d(j,null,{default:n(()=>[C(p(t.title),1)]),_:1}),d(F)])]),_:1}),d(k),d(I,null,{default:n(()=>[P(g.$slots,"default")]),_:3})]),_:3}))}}),A={style:{display:"flex","flex-direction":"row","justify-content":"space-between","align-items":"center","margin-bottom":"12px"}},E={style:{display:"flex","flex-direction":"row"}},J={style:{"margin-right":"10px",color:"black"}},K={style:{color:"#222"}},N=$({__name:"ConfigGroupItem",props:{title:String,desc:String,btnRoute:String,namespace:String},setup(s){const t=s;return(g,o)=>(a(),i("div",A,[c("div",E,[c("h3",J,p(t.title),1),c("p",K,p(t.desc),1)]),d(B,{to:t.btnRoute,color:"primary",class:"ml-2",style:{"border-radius":"10px"}},{default:n(()=>[C("配置")]),_:1},8,["to"])]))}}),H={style:{display:"flex","flex-direction":"row",padding:"16px",gap:"16px",width:"100%"}},M={name:"ConfigPage",components:{UiParentCard:b,ConfigGroupCard:G,ConfigGroupItem:N},data(){return{config_data:[],config_base:[],save_message_snack:!1,save_message:"",save_message_success:"",config_outline:[],namespace:""}},mounted(){this.getConfig()},methods:{switchConfig(s){f.get("/api/configs?namespace="+s).then(t=>{this.config_data=t.data.data,console.log(this.config_data)})},getConfig(){f.get("/api/config_outline").then(s=>{this.config_outline=s.data.data,console.log(this.config_outline)}),f.get("/api/configs").then(s=>{this.config_base=s.data.data,console.log(this.config_data)})},updateConfig(){f.post("/api/configs",{base_config:this.config_base,config:this.config_data,namespace:this.namespace}).then(s=>{s.data.status==="success"?(this.save_message=s.data.message,this.save_message_snack=!0,this.save_message_success="success"):(this.save_message=s.data.message,this.save_message_snack=!0,this.save_message_success="error")})}}},X=Object.assign(M,{setup(s){return(t,g)=>(a(),i(u,null,[d(O,null,{default:n(()=>[c("div",H,[(a(!0),i(u,null,m(t.config_outline,o=>(a(),r(G,{key:o.name,title:o.name},{default:n(()=>[(a(!0),i(u,null,m(o.body,e=>(a(),r(N,{title:e.title,desc:e.desc,namespace:e.namespace,onClick:l=>t.switchConfig(e.namespace)},null,8,["title","desc","namespace","onClick"]))),256))]),_:2},1032,["title"]))),128))]),d(L,{cols:"12",md:"12"},{default:n(()=>[(a(!0),i(u,null,m(t.config_data,o=>(a(),r(b,{key:o.name,title:o.name,style:{"margin-bottom":"16px"}},{default:n(()=>[(a(!0),i(u,null,m(o.body,e=>(a(),i(u,null,[e.config_type==="item"?(a(),i(u,{key:0},[e.val_type==="bool"?(a(),r(x,{key:0,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,color:"primary",inset:""},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="string"?(a(),r(v,{key:1,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,style:{"margin-bottom":"8px"},variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="int"?(a(),r(v,{key:2,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,style:{"margin-bottom":"8px"},variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="list"?(a(),i(u,{key:3},[c("span",null,p(e.name),1),d(U,{modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,chips:"",clearable:"",label:"请添加",multiple:"","prepend-icon":"mdi-tag-multiple-outline"},{selection:n(({attrs:l,item:_,select:V,selected:h})=>[d(w,S(l,{"model-value":h,closable:"",onClick:V,"onClick:close":R=>t.remove(_)}),{default:n(()=>[c("strong",null,p(_),1)]),_:2},1040,["model-value","onClick","onClick:close"])]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):y("",!0)],64)):e.config_type==="divider"?(a(),r(k,{key:1,style:{"margin-top":"8px","margin-bottom":"8px"}})):y("",!0)],64))),256))]),_:2},1032,["title"]))),128)),(a(!0),i(u,null,m(t.config_base,o=>(a(),r(b,{key:o.name,title:o.name,style:{"margin-bottom":"16px"}},{default:n(()=>[(a(!0),i(u,null,m(o.body,e=>(a(),i(u,null,[e.config_type==="item"?(a(),i(u,{key:0},[e.val_type==="bool"?(a(),r(x,{key:0,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,color:"primary",inset:""},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="string"?(a(),r(v,{key:1,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,style:{"margin-bottom":"8px"},variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="int"?(a(),r(v,{key:2,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,label:e.name,hint:e.description,style:{"margin-bottom":"8px"},variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","label","hint"])):e.val_type==="list"?(a(),i(u,{key:3},[c("span",null,p(e.name),1),d(U,{modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,chips:"",clearable:"",label:"请添加",multiple:"","prepend-icon":"mdi-tag-multiple-outline"},{selection:n(({attrs:l,item:_,select:V,selected:h})=>[d(w,S(l,{"model-value":h,closable:"",onClick:V,"onClick:close":R=>t.remove(_)}),{default:n(()=>[c("strong",null,p(_),1)]),_:2},1040,["model-value","onClick","onClick:close"])]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):y("",!0)],64)):e.config_type==="divider"?(a(),r(k,{key:1,style:{"margin-top":"8px","margin-bottom":"8px"}})):y("",!0)],64))),256))]),_:2},1032,["title"]))),128))]),_:1})]),_:1}),d(B,{icon:"mdi-content-save",size:"x-large",style:{position:"fixed",right:"52px",bottom:"52px"},color:"darkprimary",onClick:t.updateConfig},null,8,["onClick"]),d(q,{timeout:2e3,elevation:"24",color:t.save_message_success,modelValue:t.save_message_snack,"onUpdate:modelValue":g[0]||(g[0]=o=>t.save_message_snack=o)},{default:n(()=>[C(p(t.save_message),1)]),_:1},8,["color","modelValue"])],64))}});export{X as default}; diff --git a/addons/dashboard/dist/assets/ConsolePage-4039384d.js b/addons/dashboard/dist/assets/ConsolePage-b0a46fa8.js similarity index 99% rename from addons/dashboard/dist/assets/ConsolePage-4039384d.js rename to addons/dashboard/dist/assets/ConsolePage-b0a46fa8.js index a79cc6088..b84052a30 100644 --- a/addons/dashboard/dist/assets/ConsolePage-4039384d.js +++ b/addons/dashboard/dist/assets/ConsolePage-b0a46fa8.js @@ -1,4 +1,4 @@ -import{o as Ce,s as be,b as he,t as ge,a as ye,w as we,e as Ee,d as ke,F as Le}from"./index-70ea897e.js";var pe={exports:{}};(function(Q,ne){(function(ce,oe){Q.exports=oe()})(self,()=>(()=>{var ce={4567:function(I,r,a){var l=this&&this.__decorate||function(i,o,c,v){var m,h=arguments.length,g=h<3?o:v===null?v=Object.getOwnPropertyDescriptor(o,c):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(i,o,c,v);else for(var b=i.length-1;b>=0;b--)(m=i[b])&&(g=(h<3?m(g):h>3?m(o,c,g):m(o,c))||g);return h>3&&g&&Object.defineProperty(o,c,g),g},u=this&&this.__param||function(i,o){return function(c,v){o(c,v,i)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;const n=a(9042),d=a(6114),f=a(9924),p=a(844),_=a(5596),e=a(4725),s=a(3656);let t=r.AccessibilityManager=class extends p.Disposable{constructor(i,o){super(),this._terminal=i,this._renderService=o,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=document.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=document.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let c=0;cthis._handleBoundaryFocus(c,0),this._bottomBoundaryFocusListener=c=>this._handleBoundaryFocus(c,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=document.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new f.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(c=>this._handleResize(c.rows))),this.register(this._terminal.onRender(c=>this._refreshRows(c.start,c.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(c=>this._handleChar(c))),this.register(this._terminal.onLineFeed(()=>this._handleChar(` +import{o as Ce,s as be,b as he,t as ge,a as ye,w as we,e as Ee,d as ke,F as Le}from"./index-0719535f.js";var pe={exports:{}};(function(Q,ne){(function(ce,oe){Q.exports=oe()})(self,()=>(()=>{var ce={4567:function(I,r,a){var l=this&&this.__decorate||function(i,o,c,v){var m,h=arguments.length,g=h<3?o:v===null?v=Object.getOwnPropertyDescriptor(o,c):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(i,o,c,v);else for(var b=i.length-1;b>=0;b--)(m=i[b])&&(g=(h<3?m(g):h>3?m(o,c,g):m(o,c))||g);return h>3&&g&&Object.defineProperty(o,c,g),g},u=this&&this.__param||function(i,o){return function(c,v){o(c,v,i)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;const n=a(9042),d=a(6114),f=a(9924),p=a(844),_=a(5596),e=a(4725),s=a(3656);let t=r.AccessibilityManager=class extends p.Disposable{constructor(i,o){super(),this._terminal=i,this._renderService=o,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=document.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=document.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let c=0;cthis._handleBoundaryFocus(c,0),this._bottomBoundaryFocusListener=c=>this._handleBoundaryFocus(c,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=document.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new f.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(c=>this._handleResize(c.rows))),this.register(this._terminal.onRender(c=>this._refreshRows(c.start,c.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(c=>this._handleChar(c))),this.register(this._terminal.onLineFeed(()=>this._handleChar(` `))),this.register(this._terminal.onA11yTab(c=>this._handleTab(c))),this.register(this._terminal.onKey(c=>this._handleKey(c.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._screenDprMonitor=new _.ScreenDprMonitor(window),this.register(this._screenDprMonitor),this._screenDprMonitor.setListener(()=>this._refreshRowsDimensions()),this.register((0,s.addDisposableDomListener)(window,"resize",()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,p.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(i){for(let o=0;o0?this._charsToConsume.shift()!==i&&(this._charsToAnnounce+=i):this._charsToAnnounce+=i,i===` `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=n.tooMuchOutput)),d.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout(()=>{this._accessibilityContainer.appendChild(this._liveRegion)},0))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0,d.isMac&&this._liveRegion.remove()}_handleKey(i){this._clearLiveRegion(),/\p{Control}/u.test(i)||this._charsToConsume.push(i)}_refreshRows(i,o){this._liveRegionDebouncer.refresh(i,o,this._terminal.rows)}_renderRows(i,o){const c=this._terminal.buffer,v=c.lines.length.toString();for(let m=i;m<=o;m++){const h=c.translateBufferLineToString(c.ydisp+m,!0),g=(c.ydisp+m+1).toString(),b=this._rowElements[m];b&&(h.length===0?b.innerText=" ":b.textContent=h,b.setAttribute("aria-posinset",g),b.setAttribute("aria-setsize",v))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(i,o){const c=i.target,v=this._rowElements[o===0?1:this._rowElements.length-2];if(c.getAttribute("aria-posinset")===(o===0?"1":`${this._terminal.buffer.lines.length}`)||i.relatedTarget!==v)return;let m,h;if(o===0?(m=c,h=this._rowElements.pop(),this._rowContainer.removeChild(h)):(m=this._rowElements.shift(),h=c,this._rowContainer.removeChild(m)),m.removeEventListener("focus",this._topBoundaryFocusListener),h.removeEventListener("focus",this._bottomBoundaryFocusListener),o===0){const g=this._createAccessibilityTreeNode();this._rowElements.unshift(g),this._rowContainer.insertAdjacentElement("afterbegin",g)}else{const g=this._createAccessibilityTreeNode();this._rowElements.push(g),this._rowContainer.appendChild(g)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(o===0?-1:1),this._rowElements[o===0?1:this._rowElements.length-2].focus(),i.preventDefault(),i.stopImmediatePropagation()}_handleResize(i){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let o=this._rowContainer.children.length;oi;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const i=document.createElement("div");return i.setAttribute("role","listitem"),i.tabIndex=-1,this._refreshRowDimensions(i),i}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let i=0;i{function a(d){return d.replace(/\r?\n/g,"\r")}function l(d,f){return f?"\x1B[200~"+d+"\x1B[201~":d}function u(d,f,p,_){d=l(d=a(d),p.decPrivateModes.bracketedPasteMode&&_.rawOptions.ignoreBracketedPasteMode!==!0),p.triggerDataEvent(d,!0),f.value=""}function n(d,f,p){const _=p.getBoundingClientRect(),e=d.clientX-_.left-10,s=d.clientY-_.top-10;f.style.width="20px",f.style.height="20px",f.style.left=`${e}px`,f.style.top=`${s}px`,f.style.zIndex="1000",f.focus()}Object.defineProperty(r,"__esModule",{value:!0}),r.rightClickHandler=r.moveTextAreaUnderMouseCursor=r.paste=r.handlePasteEvent=r.copyHandler=r.bracketTextForPaste=r.prepareTextForTerminal=void 0,r.prepareTextForTerminal=a,r.bracketTextForPaste=l,r.copyHandler=function(d,f){d.clipboardData&&d.clipboardData.setData("text/plain",f.selectionText),d.preventDefault()},r.handlePasteEvent=function(d,f,p,_){d.stopPropagation(),d.clipboardData&&u(d.clipboardData.getData("text/plain"),f,p,_)},r.paste=u,r.moveTextAreaUnderMouseCursor=n,r.rightClickHandler=function(d,f,p,_,e){n(d,f,p),e&&_.rightClickSelect(d),f.value=_.selectionText,f.select()}},7239:(I,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorContrastCache=void 0;const l=a(1505);r.ColorContrastCache=class{constructor(){this._color=new l.TwoKeyMap,this._css=new l.TwoKeyMap}setCss(u,n,d){this._css.set(u,n,d)}getCss(u,n){return this._css.get(u,n)}setColor(u,n,d){this._color.set(u,n,d)}getColor(u,n){return this._color.get(u,n)}clear(){this._color.clear(),this._css.clear()}}},3656:(I,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.addDisposableDomListener=void 0,r.addDisposableDomListener=function(a,l,u,n){a.addEventListener(l,u,n);let d=!1;return{dispose:()=>{d||(d=!0,a.removeEventListener(l,u,n))}}}},6465:function(I,r,a){var l=this&&this.__decorate||function(e,s,t,i){var o,c=arguments.length,v=c<3?s:i===null?i=Object.getOwnPropertyDescriptor(s,t):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(e,s,t,i);else for(var m=e.length-1;m>=0;m--)(o=e[m])&&(v=(c<3?o(v):c>3?o(s,t,v):o(s,t))||v);return c>3&&v&&Object.defineProperty(s,t,v),v},u=this&&this.__param||function(e,s){return function(t,i){s(t,i,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Linkifier2=void 0;const n=a(3656),d=a(8460),f=a(844),p=a(2585);let _=r.Linkifier2=class extends f.Disposable{get currentLink(){return this._currentLink}constructor(e){super(),this._bufferService=e,this._linkProviders=[],this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new d.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new d.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,f.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,f.toDisposable)(()=>{this._lastMouseEvent=void 0})),this.register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0}))}registerLinkProvider(e){return this._linkProviders.push(e),{dispose:()=>{const s=this._linkProviders.indexOf(e);s!==-1&&this._linkProviders.splice(s,1)}}}attachToDom(e,s,t){this._element=e,this._mouseService=s,this._renderService=t,this.register((0,n.addDisposableDomListener)(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this.register((0,n.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,n.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,n.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(e){if(this._lastMouseEvent=e,!this._element||!this._mouseService)return;const s=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!s)return;this._isMouseOut=!1;const t=e.composedPath();for(let i=0;i{c==null||c.forEach(v=>{v.link.dispose&&v.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let o=!1;for(const[c,v]of this._linkProviders.entries())s?!((i=this._activeProviderReplies)===null||i===void 0)&&i.get(c)&&(o=this._checkLinkProviderResult(c,e,o)):v.provideLinks(e.y,m=>{var h,g;if(this._isMouseOut)return;const b=m==null?void 0:m.map(L=>({link:L}));(h=this._activeProviderReplies)===null||h===void 0||h.set(c,b),o=this._checkLinkProviderResult(c,e,o),((g=this._activeProviderReplies)===null||g===void 0?void 0:g.size)===this._linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,s){const t=new Set;for(let i=0;ie?this._bufferService.cols:v.link.range.end.x;for(let g=m;g<=h;g++){if(t.has(g)){o.splice(c--,1);break}t.add(g)}}}}_checkLinkProviderResult(e,s,t){var i;if(!this._activeProviderReplies)return t;const o=this._activeProviderReplies.get(e);let c=!1;for(let v=0;vthis._linkAtPosition(m.link,s));v&&(t=!0,this._handleNewLink(v))}if(this._activeProviderReplies.size===this._linkProviders.length&&!t)for(let v=0;vthis._linkAtPosition(h.link,s));if(m){t=!0,this._handleNewLink(m);break}}return t}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._element||!this._mouseService||!this._currentLink)return;const s=this._positionFromMouseEvent(e,this._element,this._mouseService);s&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,s)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,s){this._element&&this._currentLink&&this._lastMouseEvent&&(!e||!s||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=s)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,f.disposeArray)(this._linkCacheDisposables))}_handleNewLink(e){if(!this._element||!this._lastMouseEvent||!this._mouseService)return;const s=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);s&&this._linkAtPosition(e.link,s)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 0||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var t,i;return(i=(t=this._currentLink)===null||t===void 0?void 0:t.state)===null||i===void 0?void 0:i.decorations.pointerCursor},set:t=>{var i,o;!((i=this._currentLink)===null||i===void 0)&&i.state&&this._currentLink.state.decorations.pointerCursor!==t&&(this._currentLink.state.decorations.pointerCursor=t,this._currentLink.state.isHovered&&((o=this._element)===null||o===void 0||o.classList.toggle("xterm-cursor-pointer",t)))}},underline:{get:()=>{var t,i;return(i=(t=this._currentLink)===null||t===void 0?void 0:t.state)===null||i===void 0?void 0:i.decorations.underline},set:t=>{var i,o,c;!((i=this._currentLink)===null||i===void 0)&&i.state&&((c=(o=this._currentLink)===null||o===void 0?void 0:o.state)===null||c===void 0?void 0:c.decorations.underline)!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(t=>{if(!this._currentLink)return;const i=t.start===0?0:t.start+1+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.ydisp+1+t.end;if(this._currentLink.link.range.start.y>=i&&this._currentLink.link.range.end.y<=o&&(this._clearCurrentLink(i,o),this._lastMouseEvent&&this._element)){const c=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);c&&this._askForLink(c,!1)}})))}_linkHover(e,s,t){var i;!((i=this._currentLink)===null||i===void 0)&&i.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),s.hover&&s.hover(t,s.text)}_fireUnderlineEvent(e,s){const t=e.range,i=this._bufferService.buffer.ydisp,o=this._createLinkUnderlineEvent(t.start.x-1,t.start.y-i-1,t.end.x,t.end.y-i-1,void 0);(s?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(o)}_linkLeave(e,s,t){var i;!((i=this._currentLink)===null||i===void 0)&&i.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),s.leave&&s.leave(t,s.text)}_linkAtPosition(e,s){const t=e.range.start.y*this._bufferService.cols+e.range.start.x,i=e.range.end.y*this._bufferService.cols+e.range.end.x,o=s.y*this._bufferService.cols+s.x;return t<=o&&o<=i}_positionFromMouseEvent(e,s,t){const i=t.getCoords(e,s,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,s,t,i,o){return{x1:e,y1:s,x2:t,y2:i,cols:this._bufferService.cols,fg:o}}};r.Linkifier2=_=l([u(0,p.IBufferService)],_)},9042:(I,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.tooMuchOutput=r.promptLabel=void 0,r.promptLabel="Terminal input",r.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(I,r,a){var l=this&&this.__decorate||function(_,e,s,t){var i,o=arguments.length,c=o<3?e:t===null?t=Object.getOwnPropertyDescriptor(e,s):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(_,e,s,t);else for(var v=_.length-1;v>=0;v--)(i=_[v])&&(c=(o<3?i(c):o>3?i(e,s,c):i(e,s))||c);return o>3&&c&&Object.defineProperty(e,s,c),c},u=this&&this.__param||function(_,e){return function(s,t){e(s,t,_)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkProvider=void 0;const n=a(511),d=a(2585);let f=r.OscLinkProvider=class{constructor(_,e,s){this._bufferService=_,this._optionsService=e,this._oscLinkService=s}provideLinks(_,e){var s;const t=this._bufferService.buffer.lines.get(_-1);if(!t)return void e(void 0);const i=[],o=this._optionsService.rawOptions.linkHandler,c=new n.CellData,v=t.getTrimmedLength();let m=-1,h=-1,g=!1;for(let b=0;bo?o.activate(x,T,y):p(0,T),hover:(x,T)=>{var O;return(O=o==null?void 0:o.hover)===null||O===void 0?void 0:O.call(o,x,T,y)},leave:(x,T)=>{var O;return(O=o==null?void 0:o.leave)===null||O===void 0?void 0:O.call(o,x,T,y)}})}g=!1,c.hasExtendedAttrs()&&c.extended.urlId?(h=b,m=c.extended.urlId):(h=-1,m=-1)}}e(i)}};function p(_,e){if(confirm(`Do you want to navigate to ${e}? diff --git a/addons/dashboard/dist/assets/DefaultDashboard-37088788.js b/addons/dashboard/dist/assets/DefaultDashboard-328030e1.js similarity index 99% rename from addons/dashboard/dist/assets/DefaultDashboard-37088788.js rename to addons/dashboard/dist/assets/DefaultDashboard-328030e1.js index 88e9d68d3..adb2f5534 100644 --- a/addons/dashboard/dist/assets/DefaultDashboard-37088788.js +++ b/addons/dashboard/dist/assets/DefaultDashboard-328030e1.js @@ -1 +1 @@ -import{y as P,p as u,o as _,c as f,w as e,a as t,L as w,b as a,d as p,j as $,Z as I,q as z,_ as F,z as S,s as M,F as D,u as j,n as x,r as N,l as V,e as y,t as h,J as b,$ as U,D as W,a0 as C,a1 as G,a2 as O,a3 as H,a4 as L,V as k,f as m,G as X,a5 as q,R as A}from"./index-70ea897e.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";const E={class:"d-flex align-start mb-6"},J={class:"ml-auto z-1"},Y={class:"text-h1 font-weight-medium"},Z=a("span",{class:"text-subtitle-1 text-medium-emphasis text-white"},"消息总数",-1),K={name:"TotalMessage",components:{},props:["stat"],watch:{stat:{handler:function(s,o){this.message_total=s.message_total},deep:!0}},data:()=>({message_total:0}),mounted(){}},Q=Object.assign(K,{setup(s){const o=P([{title:"移除",icon:U}]);return(d,c)=>{const l=u("DotsIcon");return _(),f(b,{elevation:"0",class:"bg-secondary overflow-hidden bubble-shape bubble-secondary-shape"},{default:e(()=>[t(w,null,{default:e(()=>[a("div",E,[t(p,{icon:"",rounded:"sm",color:"darksecondary",variant:"flat"},{default:e(()=>[t($,{icon:"mdi-message"})]),_:1}),a("div",J,[t(I,{"close-on-content-click":!1},{activator:e(({props:r})=>[t(p,z({icon:"",rounded:"sm",color:"secondary",variant:"flat",size:"small"},r),{default:e(()=>[t(l,{"stroke-width":"1.5",width:"20"})]),_:2},1040)]),default:e(()=>[t(F,{rounded:"md",width:"150",class:"elevation-10"},{default:e(()=>[t(S,{density:"compact"},{default:e(()=>[(_(!0),M(D,null,j(o.value,(r,n)=>(_(),f(x,{key:n,value:n},{prepend:e(()=>[(_(),f(N(r.icon),{"stroke-width":"1.5",size:"20"}))]),default:e(()=>[t(V,{class:"ml-2"},{default:e(()=>[y(h(r.title),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})])]),a("h2",Y,h(d.message_total),1),Z]),_:1})]),_:1})}}}),tt={class:"d-flex align-start mb-3"},et={class:"ml-auto z-1"},at={class:"text-h1 font-weight-medium"},st=a("span",{class:"text-subtitle-1 text-medium-emphasis text-white"},"会话总数",-1),ot={class:"text-h1 font-weight-medium"},lt=a("span",{class:"text-subtitle-1 text-medium-emphasis text-white"},"会话总数",-1),nt={name:"TotalSession",components:{},props:["stat"],watch:{stat:{handler:function(s,o){this.session_total=s.session_total},deep:!0}},data:()=>({session_total:0}),mounted(){}},it=Object.assign(nt,{setup(s){const o=W("1"),d=C(()=>({chart:{type:"bar",height:90,fontFamily:"inherit",foreColor:"#a1aab2",sparkline:{enabled:!0}},dataLabels:{enabled:!1},colors:["#fff"],fill:{type:"solid",opacity:1},stroke:{curve:"smooth",width:3},yaxis:{min:0,max:100},tooltip:{theme:"dark",fixed:{enabled:!1},x:{show:!1},y:{title:{formatter:()=>"会话总数"}},marker:{show:!1}}})),c={series:[{name:"series1",data:[45,66,41,89,25,44,9,54]}]},l=C(()=>({chart:{type:"bar",height:90,fontFamily:"inherit",foreColor:"#a1aab2",sparkline:{enabled:!0}},dataLabels:{enabled:!1},colors:["#fff"],fill:{type:"solid",opacity:1},stroke:{curve:"smooth",width:3},yaxis:{min:0,max:100},tooltip:{theme:"dark",fixed:{enabled:!1},x:{show:!1},y:{title:{formatter:()=>"会话总数"}},marker:{show:!1}}})),r={series:[{name:"series1",data:[35,44,9,54,45,66,41,69]}]};return(n,i)=>{const g=u("apexchart");return _(),f(b,{elevation:"0",class:"bg-primary overflow-hidden bubble-shape bubble-primary-shape"},{default:e(()=>[t(w,null,{default:e(()=>[a("div",tt,[t(p,{icon:"",rounded:"sm",color:"darkprimary",variant:"flat"},{default:e(()=>[t($,{icon:"mdi-account-multiple-outline"})]),_:1}),a("div",et,[t(G,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=v=>o.value=v),class:"theme-tab",density:"compact",end:""},{default:e(()=>[t(O,{value:"1","hide-slider":"",color:"transparent"},{default:e(()=>[y("按日")]),_:1}),t(O,{value:"2","hide-slider":"",color:"transparent"},{default:e(()=>[y("按月")]),_:1})]),_:1},8,["modelValue"])])]),t(H,{modelValue:o.value,"onUpdate:modelValue":i[1]||(i[1]=v=>o.value=v),class:"z-1"},{default:e(()=>[t(L,{value:"1"},{default:e(()=>[t(k,null,{default:e(()=>[t(m,{cols:"6"},{default:e(()=>[a("h2",at,h(n.session_total),1),st]),_:1}),t(m,{cols:"6"},{default:e(()=>[t(g,{type:"line",height:"90",options:d.value,series:c.series},null,8,["options","series"])]),_:1})]),_:1})]),_:1}),t(L,{value:"2"},{default:e(()=>[t(k,null,{default:e(()=>[t(m,{cols:"6"},{default:e(()=>[a("h2",ot,h(n.session_total),1),lt]),_:1}),t(m,{cols:"6"},{default:e(()=>[t(g,{type:"line",height:"90",options:l.value,series:r.series},null,8,["options","series"])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),rt={name:"OnlineTime",components:{},props:["stat"],watch:{stat:{handler:function(s,o){this.memory=s.sys_perf.memory,this.runtime_str=s.sys_start_time;let d=new Date().getTime(),c=new Date(s.sys_start_time*1e3).getTime(),l=d-c,r=Math.floor(l/(24*3600*1e3)),n=l%(24*3600*1e3),i=Math.floor(n/(3600*1e3)),g=n%(3600*1e3),v=Math.floor(g/(60*1e3)),T=g%(60*1e3),R=Math.round(T/1e3);this.runtime_str=r+"天"+i+"小时"+v+"分"+R+"秒"},deep:!0}},data:()=>({_stat:{},memory:"Loading",runtime_str:"Loading"}),mounted(){}},dt={class:"d-flex align-center gap-3"},ct={class:"text-h4 font-weight-medium"},ut=a("span",{class:"text-subtitle-2 text-medium-emphasis text-white"},"运行时间",-1),mt={class:"d-flex align-center gap-3"},_t={class:"text-h4 font-weight-medium"},ht=a("span",{class:"text-subtitle-2 text-disabled font-weight-medium"},"占用内存",-1);function ft(s,o,d,c,l,r){return _(),M(D,null,[t(b,{elevation:"0",class:"bg-primary overflow-hidden bubble-shape-sm bubble-primary mb-6"},{default:e(()=>[t(w,{class:"pa-5"},{default:e(()=>[a("div",dt,[t(p,{color:"darkprimary",icon:"",rounded:"sm",variant:"flat"},{default:e(()=>[t($,{icon:"mdi-clock"})]),_:1}),a("div",null,[a("h4",ct,h(s.runtime_str),1),ut]),t(X),a("div",null,[t(p,{icon:"",rounded:"sm",variant:"plain"},{default:e(()=>[t($,{color:"black",icon:"mdi-stop",size:"32"})]),_:1})])])]),_:1})]),_:1}),t(b,{elevation:"0",class:"bubble-shape-sm overflow-hidden bubble-warning"},{default:e(()=>[t(w,{class:"pa-5"},{default:e(()=>[a("div",mt,[t(p,{color:"lightwarning",icon:"",rounded:"sm",variant:"flat"},{default:e(()=>[t($,{icon:"mdi-memory"})]),_:1}),a("div",null,[a("h4",_t,h(s.memory)+" MiB",1),ht])])]),_:1})]),_:1})],64)}const pt=B(rt,[["render",ft]]),bt=a("span",{class:"text-subtitle-2 text-disabled font-weight-bold"},"上行消息总趋势",-1),gt={class:"text-h3 mt-1"},vt={class:"mt-4"},yt={name:"MessageStat",components:{},props:["stat"],data:()=>({total_cnt:0,select:{state:"Today",abbr:"FL"},items:[{state:"过去 24 小时",abbr:"FL"},{state:"更多维度待开发喵!",abbr:"GA"}],chartOptions1:{chart:{type:"bar",height:400,fontFamily:"inherit",foreColor:"#a1aab2",stacked:!0},colors:["#1e88e5","#5e35b1","#ede7f6"],responsive:[{breakpoint:400,options:{legend:{position:"bottom",offsetX:-10,offsetY:0}}}],plotOptions:{bar:{horizontal:!1,columnWidth:"50%"}},xaxis:{type:"category",categories:[]},legend:{show:!0,fontFamily:"'Roboto', sans-serif",position:"bottom",offsetX:20,labels:{useSeriesColors:!1},markers:{width:16,height:16,radius:5},itemMargin:{horizontal:15,vertical:8}},fill:{type:"solid"},dataLabels:{enabled:!1},grid:{show:!0},tooltip:{theme:"dark"}},lineChart1:{series:[{name:"消息条数",data:[]}]}}),watch:{stat:{handler:function(s,o){let d=[],c=[];for(let l=0;l{const c=u("apexchart");return _(),f(b,{elevation:"0"},{default:e(()=>[t(b,{variant:"outlined"},{default:e(()=>[t(w,null,{default:e(()=>[t(k,null,{default:e(()=>[t(m,{cols:"12",sm:"9"},{default:e(()=>[bt,a("h3",gt,h(o.total_cnt),1)]),_:1}),t(m,{cols:"12",sm:"3"},{default:e(()=>[t(q,{color:"primary",variant:"outlined","hide-details":"",modelValue:o.select,"onUpdate:modelValue":d[0]||(d[0]=l=>o.select=l),items:o.items,"item-title":"state","item-value":"abbr",label:"Select","persistent-hint":"","return-object":"","single-line":""},null,8,["modelValue","items"])]),_:1})]),_:1}),a("div",vt,[t(c,{type:"bar",height:"280",options:o.chartOptions1,series:o.lineChart1.series,ref:"rtchart"},null,8,["options","series"])])]),_:1})]),_:1})]),_:1})}}}),xt={class:"d-flex align-center"},$t=a("h4",{class:"text-h4 mt-1"},"各平台上行消息数",-1),Vt={class:"ml-auto"},kt={class:"mt-4"},Tt={class:"d-inline-flex align-center justify-space-between w-100"},St={class:"text-subtitle-1 text-medium-emphasis font-weight-bold"},Ct={class:"ml-auto text-subtitle-1 text-medium-emphasis font-weight-bold"},Mt={class:"text-center mt-3"},Dt={name:"PlatformStat",components:{},props:["stat"],watch:{stat:{handler:function(s,o){this.platforms=s.platform},deep:!0}},data:()=>({platforms:[]}),mounted(){}},Ot=Object.assign(Dt,{setup(s){return C(()=>({chart:{type:"area",height:95,fontFamily:"inherit",foreColor:"#a1aab2",sparkline:{enabled:!0}},colors:["#5e35b1"],dataLabels:{enabled:!1},stroke:{curve:"smooth",width:1},tooltip:{theme:"dark",fixed:{enabled:!1},x:{show:!1},y:{title:{formatter:()=>"消息条数 "}},marker:{show:!1}}})),(o,d)=>{const c=u("DotsIcon"),l=u("perfect-scrollbar"),r=u("ChevronRightIcon");return _(),f(b,{elevation:"0"},{default:e(()=>[t(b,{variant:"outlined"},{default:e(()=>[t(w,null,{default:e(()=>[a("div",xt,[$t,a("div",Vt,[t(I,{transition:"slide-y-transition"},{activator:e(({props:n})=>[t(p,z({color:"primary",size:"small",icon:"",rounded:"sm",variant:"text"},n),{default:e(()=>[t(c,{"stroke-width":"1.5",width:"25"})]),_:2},1040)]),default:e(()=>[t(F,{rounded:"md",width:"150",class:"elevation-10"},{default:e(()=>[t(S,null,{default:e(()=>[t(x,{value:"1"},{default:e(()=>[t(V,null,{default:e(()=>[y("今天")]),_:1})]),_:1}),t(x,{value:"2"},{default:e(()=>[t(V,null,{default:e(()=>[y("今月")]),_:1})]),_:1}),t(x,{value:"3"},{default:e(()=>[t(V,null,{default:e(()=>[y("今年")]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])]),a("div",kt,[t(l,{style:{height:"270px"}},{default:e(()=>[t(S,{lines:"two",class:"py-0"},{default:e(()=>[(_(!0),M(D,null,j(o.platforms,(n,i)=>(_(),f(x,{key:i,value:n,color:"secondary",rounded:"sm"},{default:e(()=>[a("div",Tt,[a("div",null,[a("h6",St,h(n.name),1)]),a("div",Ct,h(n.count)+" 条",1)])]),_:2},1032,["value"]))),128))]),_:1})]),_:1}),a("div",Mt,[t(p,{color:"primary",variant:"text"},{append:e(()=>[t(r,{"stroke-width":"1.5",width:"20"})]),default:e(()=>[y("详情 ")]),_:1})])])]),_:1})]),_:1})]),_:1})}}}),Lt={name:"DefaultDashboard",components:{TotalMessage:Q,TotalSession:it,OnlineTime:pt,MessageStat:wt,PlatformStat:Ot},data:()=>({stat:{}}),mounted(){A.get("/api/stats").then(s=>{console.log("stat",s.data.data),this.stat=s.data.data})}};function It(s,o,d,c,l,r){const n=u("TotalMessage"),i=u("TotalSession"),g=u("OnlineTime"),v=u("MessageStat"),T=u("PlatformStat");return _(),f(k,null,{default:e(()=>[t(m,{cols:"12",md:"4"},{default:e(()=>[t(n,{stat:s.stat},null,8,["stat"])]),_:1}),t(m,{cols:"12",md:"4"},{default:e(()=>[t(i,{stat:s.stat},null,8,["stat"])]),_:1}),t(m,{cols:"12",md:"4"},{default:e(()=>[t(g,{stat:s.stat},null,8,["stat"])]),_:1}),t(m,{cols:"12",lg:"8"},{default:e(()=>[t(v,{stat:s.stat},null,8,["stat"])]),_:1}),t(m,{cols:"12",lg:"4"},{default:e(()=>[t(T,{stat:s.stat},null,8,["stat"])]),_:1})]),_:1})}const jt=B(Lt,[["render",It]]);export{jt as default}; +import{y as P,p as u,o as _,c as f,w as e,a as t,L as w,b as a,d as p,j as $,Z as I,q as z,_ as F,z as S,s as M,F as D,u as j,n as x,r as N,l as V,e as y,t as h,J as b,$ as U,D as W,a0 as C,a1 as G,a2 as O,a3 as H,a4 as L,V as k,f as m,G as X,a5 as q,R as A}from"./index-0719535f.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";const E={class:"d-flex align-start mb-6"},J={class:"ml-auto z-1"},Y={class:"text-h1 font-weight-medium"},Z=a("span",{class:"text-subtitle-1 text-medium-emphasis text-white"},"消息总数",-1),K={name:"TotalMessage",components:{},props:["stat"],watch:{stat:{handler:function(s,o){this.message_total=s.message_total},deep:!0}},data:()=>({message_total:0}),mounted(){}},Q=Object.assign(K,{setup(s){const o=P([{title:"移除",icon:U}]);return(d,c)=>{const l=u("DotsIcon");return _(),f(b,{elevation:"0",class:"bg-secondary overflow-hidden bubble-shape bubble-secondary-shape"},{default:e(()=>[t(w,null,{default:e(()=>[a("div",E,[t(p,{icon:"",rounded:"sm",color:"darksecondary",variant:"flat"},{default:e(()=>[t($,{icon:"mdi-message"})]),_:1}),a("div",J,[t(I,{"close-on-content-click":!1},{activator:e(({props:r})=>[t(p,z({icon:"",rounded:"sm",color:"secondary",variant:"flat",size:"small"},r),{default:e(()=>[t(l,{"stroke-width":"1.5",width:"20"})]),_:2},1040)]),default:e(()=>[t(F,{rounded:"md",width:"150",class:"elevation-10"},{default:e(()=>[t(S,{density:"compact"},{default:e(()=>[(_(!0),M(D,null,j(o.value,(r,n)=>(_(),f(x,{key:n,value:n},{prepend:e(()=>[(_(),f(N(r.icon),{"stroke-width":"1.5",size:"20"}))]),default:e(()=>[t(V,{class:"ml-2"},{default:e(()=>[y(h(r.title),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})])]),a("h2",Y,h(d.message_total),1),Z]),_:1})]),_:1})}}}),tt={class:"d-flex align-start mb-3"},et={class:"ml-auto z-1"},at={class:"text-h1 font-weight-medium"},st=a("span",{class:"text-subtitle-1 text-medium-emphasis text-white"},"会话总数",-1),ot={class:"text-h1 font-weight-medium"},lt=a("span",{class:"text-subtitle-1 text-medium-emphasis text-white"},"会话总数",-1),nt={name:"TotalSession",components:{},props:["stat"],watch:{stat:{handler:function(s,o){this.session_total=s.session_total},deep:!0}},data:()=>({session_total:0}),mounted(){}},it=Object.assign(nt,{setup(s){const o=W("1"),d=C(()=>({chart:{type:"bar",height:90,fontFamily:"inherit",foreColor:"#a1aab2",sparkline:{enabled:!0}},dataLabels:{enabled:!1},colors:["#fff"],fill:{type:"solid",opacity:1},stroke:{curve:"smooth",width:3},yaxis:{min:0,max:100},tooltip:{theme:"dark",fixed:{enabled:!1},x:{show:!1},y:{title:{formatter:()=>"会话总数"}},marker:{show:!1}}})),c={series:[{name:"series1",data:[45,66,41,89,25,44,9,54]}]},l=C(()=>({chart:{type:"bar",height:90,fontFamily:"inherit",foreColor:"#a1aab2",sparkline:{enabled:!0}},dataLabels:{enabled:!1},colors:["#fff"],fill:{type:"solid",opacity:1},stroke:{curve:"smooth",width:3},yaxis:{min:0,max:100},tooltip:{theme:"dark",fixed:{enabled:!1},x:{show:!1},y:{title:{formatter:()=>"会话总数"}},marker:{show:!1}}})),r={series:[{name:"series1",data:[35,44,9,54,45,66,41,69]}]};return(n,i)=>{const g=u("apexchart");return _(),f(b,{elevation:"0",class:"bg-primary overflow-hidden bubble-shape bubble-primary-shape"},{default:e(()=>[t(w,null,{default:e(()=>[a("div",tt,[t(p,{icon:"",rounded:"sm",color:"darkprimary",variant:"flat"},{default:e(()=>[t($,{icon:"mdi-account-multiple-outline"})]),_:1}),a("div",et,[t(G,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=v=>o.value=v),class:"theme-tab",density:"compact",end:""},{default:e(()=>[t(O,{value:"1","hide-slider":"",color:"transparent"},{default:e(()=>[y("按日")]),_:1}),t(O,{value:"2","hide-slider":"",color:"transparent"},{default:e(()=>[y("按月")]),_:1})]),_:1},8,["modelValue"])])]),t(H,{modelValue:o.value,"onUpdate:modelValue":i[1]||(i[1]=v=>o.value=v),class:"z-1"},{default:e(()=>[t(L,{value:"1"},{default:e(()=>[t(k,null,{default:e(()=>[t(m,{cols:"6"},{default:e(()=>[a("h2",at,h(n.session_total),1),st]),_:1}),t(m,{cols:"6"},{default:e(()=>[t(g,{type:"line",height:"90",options:d.value,series:c.series},null,8,["options","series"])]),_:1})]),_:1})]),_:1}),t(L,{value:"2"},{default:e(()=>[t(k,null,{default:e(()=>[t(m,{cols:"6"},{default:e(()=>[a("h2",ot,h(n.session_total),1),lt]),_:1}),t(m,{cols:"6"},{default:e(()=>[t(g,{type:"line",height:"90",options:l.value,series:r.series},null,8,["options","series"])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),rt={name:"OnlineTime",components:{},props:["stat"],watch:{stat:{handler:function(s,o){this.memory=s.sys_perf.memory,this.runtime_str=s.sys_start_time;let d=new Date().getTime(),c=new Date(s.sys_start_time*1e3).getTime(),l=d-c,r=Math.floor(l/(24*3600*1e3)),n=l%(24*3600*1e3),i=Math.floor(n/(3600*1e3)),g=n%(3600*1e3),v=Math.floor(g/(60*1e3)),T=g%(60*1e3),R=Math.round(T/1e3);this.runtime_str=r+"天"+i+"小时"+v+"分"+R+"秒"},deep:!0}},data:()=>({_stat:{},memory:"Loading",runtime_str:"Loading"}),mounted(){}},dt={class:"d-flex align-center gap-3"},ct={class:"text-h4 font-weight-medium"},ut=a("span",{class:"text-subtitle-2 text-medium-emphasis text-white"},"运行时间",-1),mt={class:"d-flex align-center gap-3"},_t={class:"text-h4 font-weight-medium"},ht=a("span",{class:"text-subtitle-2 text-disabled font-weight-medium"},"占用内存",-1);function ft(s,o,d,c,l,r){return _(),M(D,null,[t(b,{elevation:"0",class:"bg-primary overflow-hidden bubble-shape-sm bubble-primary mb-6"},{default:e(()=>[t(w,{class:"pa-5"},{default:e(()=>[a("div",dt,[t(p,{color:"darkprimary",icon:"",rounded:"sm",variant:"flat"},{default:e(()=>[t($,{icon:"mdi-clock"})]),_:1}),a("div",null,[a("h4",ct,h(s.runtime_str),1),ut]),t(X),a("div",null,[t(p,{icon:"",rounded:"sm",variant:"plain"},{default:e(()=>[t($,{color:"black",icon:"mdi-stop",size:"32"})]),_:1})])])]),_:1})]),_:1}),t(b,{elevation:"0",class:"bubble-shape-sm overflow-hidden bubble-warning"},{default:e(()=>[t(w,{class:"pa-5"},{default:e(()=>[a("div",mt,[t(p,{color:"lightwarning",icon:"",rounded:"sm",variant:"flat"},{default:e(()=>[t($,{icon:"mdi-memory"})]),_:1}),a("div",null,[a("h4",_t,h(s.memory)+" MiB",1),ht])])]),_:1})]),_:1})],64)}const pt=B(rt,[["render",ft]]),bt=a("span",{class:"text-subtitle-2 text-disabled font-weight-bold"},"上行消息总趋势",-1),gt={class:"text-h3 mt-1"},vt={class:"mt-4"},yt={name:"MessageStat",components:{},props:["stat"],data:()=>({total_cnt:0,select:{state:"Today",abbr:"FL"},items:[{state:"过去 24 小时",abbr:"FL"},{state:"更多维度待开发喵!",abbr:"GA"}],chartOptions1:{chart:{type:"bar",height:400,fontFamily:"inherit",foreColor:"#a1aab2",stacked:!0},colors:["#1e88e5","#5e35b1","#ede7f6"],responsive:[{breakpoint:400,options:{legend:{position:"bottom",offsetX:-10,offsetY:0}}}],plotOptions:{bar:{horizontal:!1,columnWidth:"50%"}},xaxis:{type:"category",categories:[]},legend:{show:!0,fontFamily:"'Roboto', sans-serif",position:"bottom",offsetX:20,labels:{useSeriesColors:!1},markers:{width:16,height:16,radius:5},itemMargin:{horizontal:15,vertical:8}},fill:{type:"solid"},dataLabels:{enabled:!1},grid:{show:!0},tooltip:{theme:"dark"}},lineChart1:{series:[{name:"消息条数",data:[]}]}}),watch:{stat:{handler:function(s,o){let d=[],c=[];for(let l=0;l{const c=u("apexchart");return _(),f(b,{elevation:"0"},{default:e(()=>[t(b,{variant:"outlined"},{default:e(()=>[t(w,null,{default:e(()=>[t(k,null,{default:e(()=>[t(m,{cols:"12",sm:"9"},{default:e(()=>[bt,a("h3",gt,h(o.total_cnt),1)]),_:1}),t(m,{cols:"12",sm:"3"},{default:e(()=>[t(q,{color:"primary",variant:"outlined","hide-details":"",modelValue:o.select,"onUpdate:modelValue":d[0]||(d[0]=l=>o.select=l),items:o.items,"item-title":"state","item-value":"abbr",label:"Select","persistent-hint":"","return-object":"","single-line":""},null,8,["modelValue","items"])]),_:1})]),_:1}),a("div",vt,[t(c,{type:"bar",height:"280",options:o.chartOptions1,series:o.lineChart1.series,ref:"rtchart"},null,8,["options","series"])])]),_:1})]),_:1})]),_:1})}}}),xt={class:"d-flex align-center"},$t=a("h4",{class:"text-h4 mt-1"},"各平台上行消息数",-1),Vt={class:"ml-auto"},kt={class:"mt-4"},Tt={class:"d-inline-flex align-center justify-space-between w-100"},St={class:"text-subtitle-1 text-medium-emphasis font-weight-bold"},Ct={class:"ml-auto text-subtitle-1 text-medium-emphasis font-weight-bold"},Mt={class:"text-center mt-3"},Dt={name:"PlatformStat",components:{},props:["stat"],watch:{stat:{handler:function(s,o){this.platforms=s.platform},deep:!0}},data:()=>({platforms:[]}),mounted(){}},Ot=Object.assign(Dt,{setup(s){return C(()=>({chart:{type:"area",height:95,fontFamily:"inherit",foreColor:"#a1aab2",sparkline:{enabled:!0}},colors:["#5e35b1"],dataLabels:{enabled:!1},stroke:{curve:"smooth",width:1},tooltip:{theme:"dark",fixed:{enabled:!1},x:{show:!1},y:{title:{formatter:()=>"消息条数 "}},marker:{show:!1}}})),(o,d)=>{const c=u("DotsIcon"),l=u("perfect-scrollbar"),r=u("ChevronRightIcon");return _(),f(b,{elevation:"0"},{default:e(()=>[t(b,{variant:"outlined"},{default:e(()=>[t(w,null,{default:e(()=>[a("div",xt,[$t,a("div",Vt,[t(I,{transition:"slide-y-transition"},{activator:e(({props:n})=>[t(p,z({color:"primary",size:"small",icon:"",rounded:"sm",variant:"text"},n),{default:e(()=>[t(c,{"stroke-width":"1.5",width:"25"})]),_:2},1040)]),default:e(()=>[t(F,{rounded:"md",width:"150",class:"elevation-10"},{default:e(()=>[t(S,null,{default:e(()=>[t(x,{value:"1"},{default:e(()=>[t(V,null,{default:e(()=>[y("今天")]),_:1})]),_:1}),t(x,{value:"2"},{default:e(()=>[t(V,null,{default:e(()=>[y("今月")]),_:1})]),_:1}),t(x,{value:"3"},{default:e(()=>[t(V,null,{default:e(()=>[y("今年")]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])]),a("div",kt,[t(l,{style:{height:"270px"}},{default:e(()=>[t(S,{lines:"two",class:"py-0"},{default:e(()=>[(_(!0),M(D,null,j(o.platforms,(n,i)=>(_(),f(x,{key:i,value:n,color:"secondary",rounded:"sm"},{default:e(()=>[a("div",Tt,[a("div",null,[a("h6",St,h(n.name),1)]),a("div",Ct,h(n.count)+" 条",1)])]),_:2},1032,["value"]))),128))]),_:1})]),_:1}),a("div",Mt,[t(p,{color:"primary",variant:"text"},{append:e(()=>[t(r,{"stroke-width":"1.5",width:"20"})]),default:e(()=>[y("详情 ")]),_:1})])])]),_:1})]),_:1})]),_:1})}}}),Lt={name:"DefaultDashboard",components:{TotalMessage:Q,TotalSession:it,OnlineTime:pt,MessageStat:wt,PlatformStat:Ot},data:()=>({stat:{}}),mounted(){A.get("/api/stats").then(s=>{console.log("stat",s.data.data),this.stat=s.data.data})}};function It(s,o,d,c,l,r){const n=u("TotalMessage"),i=u("TotalSession"),g=u("OnlineTime"),v=u("MessageStat"),T=u("PlatformStat");return _(),f(k,null,{default:e(()=>[t(m,{cols:"12",md:"4"},{default:e(()=>[t(n,{stat:s.stat},null,8,["stat"])]),_:1}),t(m,{cols:"12",md:"4"},{default:e(()=>[t(i,{stat:s.stat},null,8,["stat"])]),_:1}),t(m,{cols:"12",md:"4"},{default:e(()=>[t(g,{stat:s.stat},null,8,["stat"])]),_:1}),t(m,{cols:"12",lg:"8"},{default:e(()=>[t(v,{stat:s.stat},null,8,["stat"])]),_:1}),t(m,{cols:"12",lg:"4"},{default:e(()=>[t(T,{stat:s.stat},null,8,["stat"])]),_:1})]),_:1})}const jt=B(Lt,[["render",It]]);export{jt as default}; diff --git a/addons/dashboard/dist/assets/Error404Page-0951219d.js b/addons/dashboard/dist/assets/Error404Page-2ad23ac9.js similarity index 94% rename from addons/dashboard/dist/assets/Error404Page-0951219d.js rename to addons/dashboard/dist/assets/Error404Page-2ad23ac9.js index 3d34e8880..26a8f8f0f 100644 --- a/addons/dashboard/dist/assets/Error404Page-0951219d.js +++ b/addons/dashboard/dist/assets/Error404Page-2ad23ac9.js @@ -1 +1 @@ -import{_ as t}from"./_plugin-vue_export-helper-c27b6911.js";import{o,c,w as s,V as i,a as r,b as e,d as l,e as a,f as d}from"./index-70ea897e.js";const n="/assets/img-error-bg-ab6474a0.svg",_="/assets/img-error-blue-2675a7a9.svg",m="/assets/img-error-text-a6aebfa0.svg",g="/assets/img-error-purple-edee3fbc.svg";const p={},u={class:"text-center"},f=e("div",{class:"CardMediaWrapper"},[e("img",{src:n,alt:"grid",class:"w-100"}),e("img",{src:_,alt:"grid",class:"CardMediaParts"}),e("img",{src:m,alt:"build",class:"CardMediaBuild"}),e("img",{src:g,alt:"build",class:"CardMediaBuild"})],-1),h=e("h1",{class:"text-h1"},"Something is wrong",-1),v=e("p",null,[e("small",null,[a("The page you are looking was moved, removed, "),e("br"),a("renamed, or might never exist! ")])],-1);function x(b,V){return o(),c(i,{"no-gutters":"",class:"h-100vh"},{default:s(()=>[r(d,{class:"d-flex align-center justify-center"},{default:s(()=>[e("div",u,[f,h,v,r(l,{variant:"flat",color:"primary",class:"mt-4",to:"/","prepend-icon":"mdi-home"},{default:s(()=>[a(" Home")]),_:1})])]),_:1})]),_:1})}const C=t(p,[["render",x]]);export{C as default}; +import{_ as t}from"./_plugin-vue_export-helper-c27b6911.js";import{o,c,w as s,V as i,a as r,b as e,d as l,e as a,f as d}from"./index-0719535f.js";const n="/assets/img-error-bg-ab6474a0.svg",_="/assets/img-error-blue-2675a7a9.svg",m="/assets/img-error-text-a6aebfa0.svg",g="/assets/img-error-purple-edee3fbc.svg";const p={},u={class:"text-center"},f=e("div",{class:"CardMediaWrapper"},[e("img",{src:n,alt:"grid",class:"w-100"}),e("img",{src:_,alt:"grid",class:"CardMediaParts"}),e("img",{src:m,alt:"build",class:"CardMediaBuild"}),e("img",{src:g,alt:"build",class:"CardMediaBuild"})],-1),h=e("h1",{class:"text-h1"},"Something is wrong",-1),v=e("p",null,[e("small",null,[a("The page you are looking was moved, removed, "),e("br"),a("renamed, or might never exist! ")])],-1);function x(b,V){return o(),c(i,{"no-gutters":"",class:"h-100vh"},{default:s(()=>[r(d,{class:"d-flex align-center justify-center"},{default:s(()=>[e("div",u,[f,h,v,r(l,{variant:"flat",color:"primary",class:"mt-4",to:"/","prepend-icon":"mdi-home"},{default:s(()=>[a(" Home")]),_:1})])]),_:1})]),_:1})}const C=t(p,[["render",x]]);export{C as default}; diff --git a/addons/dashboard/dist/assets/ExtensionPage-de80b39d.js b/addons/dashboard/dist/assets/ExtensionPage-565f8b3e.js similarity index 98% rename from addons/dashboard/dist/assets/ExtensionPage-de80b39d.js rename to addons/dashboard/dist/assets/ExtensionPage-565f8b3e.js index 67283fca5..e1fef12f1 100644 --- a/addons/dashboard/dist/assets/ExtensionPage-de80b39d.js +++ b/addons/dashboard/dist/assets/ExtensionPage-565f8b3e.js @@ -1 +1 @@ -import{x as b,o as d,c as h,w as e,a,a6 as C,b as i,K as x,e as o,t as u,G as m,d as r,A as E,L as V,a7 as y,J as w,s as p,f as c,F as f,u as $,V as k,q as S,N as B,O as N,P as T,H as j,a8 as D,R as g,j as F}from"./index-70ea897e.js";const G={class:"d-sm-flex align-center justify-space-between"},v=b({__name:"ExtensionCard",props:{title:String,link:String},setup(n){const s=n,l=t=>{window.open(t,"_blank")};return(t,_)=>(d(),h(w,{variant:"outlined",elevation:"0",class:"withbg"},{default:e(()=>[a(C,{style:{padding:"10px 20px"}},{default:e(()=>[i("div",G,[a(x,null,{default:e(()=>[o(u(s.title),1)]),_:1}),a(m),a(r,{icon:"mdi-link",variant:"plain",onClick:_[0]||(_[0]=z=>l(s.link))})])]),_:1}),a(E),a(V,null,{default:e(()=>[y(t.$slots,"default")]),_:3})]),_:3}))}}),P=i("div",{style:{"background-color":"white",width:"100%",padding:"16px","border-radius":"10px"}},[i("h3",null,"🧩 已安装的插件")],-1),U={style:{"min-height":"180px","max-height":"180px",overflow:"hidden"}},q={class:"d-flex align-center gap-3"},A=i("div",{style:{"background-color":"white",width:"100%",padding:"16px","border-radius":"10px"}},[i("h3",null,"🧩 插件市场 [待开发]")],-1),I=i("span",{class:"text-h5"},"从 Git 仓库链接安装插件",-1),L=i("small",null,"github, gitee, gitlab 等公开的仓库都行。",-1),O=i("br",null,null,-1),R={name:"ExtensionPage",components:{ExtensionCard:v},data(){return{extension_data:{data:[]},save_message_snack:!1,save_message:"",save_message_success:"",extension_url:"",status:"",dialog:!1,snack_message:"",snack_show:!1,snack_success:"success",install_loading:!1,uninstall_loading:!1}},mounted(){this.getExtensions()},methods:{getExtensions(){g.get("/api/extensions").then(n=>{this.extension_data.data=n.data.data,console.log(this.extension_data)})},newExtension(){this.install_loading=!0,console.log(this.install_loading),g.post("/api/extensions/install",{url:this.extension_url}).then(n=>{if(this.install_loading=!1,n.data.status==="error"){this.snack_message=n.data.message,this.snack_show=!0,this.snack_success="error";return}this.extension_data.data=n.data.data,console.log(this.extension_data),this.extension_url="",this.snack_message=n.data.message,this.snack_show=!0,this.snack_success="success",this.dialog=!1,this.getExtensions()}).catch(n=>{this.install_loading=!1,this.snack_message=n,this.snack_show=!0,this.snack_success="error"})},uninstallExtension(n){this.uninstall_loading=!0,g.post("/api/extensions/uninstall",{name:n}).then(s=>{if(this.uninstall_loading=!1,s.data.status==="error"){this.snack_message=s.data.message,this.snack_show=!0,this.snack_success="error";return}this.extension_data.data=s.data.data,console.log(this.extension_data),this.snack_message=s.data.message,this.snack_show=!0,this.snack_success="success",this.dialog=!1,this.getExtensions()}).catch(s=>{this.uninstall_loading=!1,this.snack_message=s,this.snack_show=!0,this.snack_success="error"})}}},J=Object.assign(R,{setup(n){return(s,l)=>(d(),p(f,null,[a(k,null,{default:e(()=>[a(c,{cols:"12",md:"12"},{default:e(()=>[P]),_:1}),(d(!0),p(f,null,$(s.extension_data.data,t=>(d(),h(c,{cols:"12",md:"6",lg:"4"},{default:e(()=>[(d(),h(v,{key:t.name,title:t.name,link:t.repo,style:{"margin-bottom":"16px"}},{default:e(()=>[i("p",U,u(t.desc),1),i("div",q,[a(F,null,{default:e(()=>[o("mdi-account")]),_:1}),i("span",null,u(t.author),1),a(m),a(r,{variant:"plain",onClick:_=>s.uninstallExtension(t.name),loading:s.uninstall_loading},{default:e(()=>[o("卸 载")]),_:2},1032,["onClick","loading"])])]),_:2},1032,["title","link"]))]),_:2},1024))),256)),a(c,{cols:"12",md:"12"},{default:e(()=>[A]),_:1})]),_:1}),a(j,{modelValue:s.dialog,"onUpdate:modelValue":l[3]||(l[3]=t=>s.dialog=t),persistent:"",width:"700"},{activator:e(({props:t})=>[a(r,S(t,{icon:"mdi-plus",size:"x-large",style:{position:"fixed",right:"52px",bottom:"52px"},color:"darkprimary"}),null,16)]),default:e(()=>[a(w,null,{default:e(()=>[a(x,null,{default:e(()=>[I]),_:1}),a(V,null,{default:e(()=>[a(B,null,{default:e(()=>[a(k,null,{default:e(()=>[a(c,{cols:"12"},{default:e(()=>[a(N,{label:"Git 库链接",modelValue:s.extension_url,"onUpdate:modelValue":l[0]||(l[0]=t=>s.extension_url=t),required:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),L,O,i("small",null,u(s.status),1)]),_:1}),a(T,null,{default:e(()=>[a(m),a(r,{color:"blue-darken-1",variant:"text",onClick:l[1]||(l[1]=t=>s.dialog=!1)},{default:e(()=>[o(" 关闭 ")]),_:1}),a(r,{color:"blue-darken-1",variant:"text",loading:s.install_loading,onClick:l[2]||(l[2]=t=>s.newExtension(s.extension_url))},{default:e(()=>[o(" 安装 ")]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(D,{timeout:2e3,elevation:"24",color:s.snack_success,modelValue:s.snack_show,"onUpdate:modelValue":l[4]||(l[4]=t=>s.snack_show=t)},{default:e(()=>[o(u(s.snack_message),1)]),_:1},8,["color","modelValue"])],64))}});export{J as default}; +import{x as b,o as d,c as h,w as e,a,a6 as C,b as i,K as x,e as o,t as u,G as m,d as r,A as E,L as V,a7 as y,J as w,s as p,f as c,F as f,u as $,V as k,q as S,N as B,O as N,P as T,H as j,a8 as D,R as g,j as F}from"./index-0719535f.js";const G={class:"d-sm-flex align-center justify-space-between"},v=b({__name:"ExtensionCard",props:{title:String,link:String},setup(n){const s=n,l=t=>{window.open(t,"_blank")};return(t,_)=>(d(),h(w,{variant:"outlined",elevation:"0",class:"withbg"},{default:e(()=>[a(C,{style:{padding:"10px 20px"}},{default:e(()=>[i("div",G,[a(x,null,{default:e(()=>[o(u(s.title),1)]),_:1}),a(m),a(r,{icon:"mdi-link",variant:"plain",onClick:_[0]||(_[0]=z=>l(s.link))})])]),_:1}),a(E),a(V,null,{default:e(()=>[y(t.$slots,"default")]),_:3})]),_:3}))}}),P=i("div",{style:{"background-color":"white",width:"100%",padding:"16px","border-radius":"10px"}},[i("h3",null,"🧩 已安装的插件")],-1),U={style:{"min-height":"180px","max-height":"180px",overflow:"hidden"}},q={class:"d-flex align-center gap-3"},A=i("div",{style:{"background-color":"white",width:"100%",padding:"16px","border-radius":"10px"}},[i("h3",null,"🧩 插件市场 [待开发]")],-1),I=i("span",{class:"text-h5"},"从 Git 仓库链接安装插件",-1),L=i("small",null,"github, gitee, gitlab 等公开的仓库都行。",-1),O=i("br",null,null,-1),R={name:"ExtensionPage",components:{ExtensionCard:v},data(){return{extension_data:{data:[]},save_message_snack:!1,save_message:"",save_message_success:"",extension_url:"",status:"",dialog:!1,snack_message:"",snack_show:!1,snack_success:"success",install_loading:!1,uninstall_loading:!1}},mounted(){this.getExtensions()},methods:{getExtensions(){g.get("/api/extensions").then(n=>{this.extension_data.data=n.data.data,console.log(this.extension_data)})},newExtension(){this.install_loading=!0,console.log(this.install_loading),g.post("/api/extensions/install",{url:this.extension_url}).then(n=>{if(this.install_loading=!1,n.data.status==="error"){this.snack_message=n.data.message,this.snack_show=!0,this.snack_success="error";return}this.extension_data.data=n.data.data,console.log(this.extension_data),this.extension_url="",this.snack_message=n.data.message,this.snack_show=!0,this.snack_success="success",this.dialog=!1,this.getExtensions()}).catch(n=>{this.install_loading=!1,this.snack_message=n,this.snack_show=!0,this.snack_success="error"})},uninstallExtension(n){this.uninstall_loading=!0,g.post("/api/extensions/uninstall",{name:n}).then(s=>{if(this.uninstall_loading=!1,s.data.status==="error"){this.snack_message=s.data.message,this.snack_show=!0,this.snack_success="error";return}this.extension_data.data=s.data.data,console.log(this.extension_data),this.snack_message=s.data.message,this.snack_show=!0,this.snack_success="success",this.dialog=!1,this.getExtensions()}).catch(s=>{this.uninstall_loading=!1,this.snack_message=s,this.snack_show=!0,this.snack_success="error"})}}},J=Object.assign(R,{setup(n){return(s,l)=>(d(),p(f,null,[a(k,null,{default:e(()=>[a(c,{cols:"12",md:"12"},{default:e(()=>[P]),_:1}),(d(!0),p(f,null,$(s.extension_data.data,t=>(d(),h(c,{cols:"12",md:"6",lg:"4"},{default:e(()=>[(d(),h(v,{key:t.name,title:t.name,link:t.repo,style:{"margin-bottom":"16px"}},{default:e(()=>[i("p",U,u(t.desc),1),i("div",q,[a(F,null,{default:e(()=>[o("mdi-account")]),_:1}),i("span",null,u(t.author),1),a(m),a(r,{variant:"plain",onClick:_=>s.uninstallExtension(t.name),loading:s.uninstall_loading},{default:e(()=>[o("卸 载")]),_:2},1032,["onClick","loading"])])]),_:2},1032,["title","link"]))]),_:2},1024))),256)),a(c,{cols:"12",md:"12"},{default:e(()=>[A]),_:1})]),_:1}),a(j,{modelValue:s.dialog,"onUpdate:modelValue":l[3]||(l[3]=t=>s.dialog=t),persistent:"",width:"700"},{activator:e(({props:t})=>[a(r,S(t,{icon:"mdi-plus",size:"x-large",style:{position:"fixed",right:"52px",bottom:"52px"},color:"darkprimary"}),null,16)]),default:e(()=>[a(w,null,{default:e(()=>[a(x,null,{default:e(()=>[I]),_:1}),a(V,null,{default:e(()=>[a(B,null,{default:e(()=>[a(k,null,{default:e(()=>[a(c,{cols:"12"},{default:e(()=>[a(N,{label:"Git 库链接",modelValue:s.extension_url,"onUpdate:modelValue":l[0]||(l[0]=t=>s.extension_url=t),required:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),L,O,i("small",null,u(s.status),1)]),_:1}),a(T,null,{default:e(()=>[a(m),a(r,{color:"blue-darken-1",variant:"text",onClick:l[1]||(l[1]=t=>s.dialog=!1)},{default:e(()=>[o(" 关闭 ")]),_:1}),a(r,{color:"blue-darken-1",variant:"text",loading:s.install_loading,onClick:l[2]||(l[2]=t=>s.newExtension(s.extension_url))},{default:e(()=>[o(" 安装 ")]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(D,{timeout:2e3,elevation:"24",color:s.snack_success,modelValue:s.snack_show,"onUpdate:modelValue":l[4]||(l[4]=t=>s.snack_show=t)},{default:e(()=>[o(u(s.snack_message),1)]),_:1},8,["color","modelValue"])],64))}});export{J as default}; diff --git a/addons/dashboard/dist/assets/FullLayout-87ae6183.js b/addons/dashboard/dist/assets/FullLayout-f333ed84.js similarity index 97% rename from addons/dashboard/dist/assets/FullLayout-87ae6183.js rename to addons/dashboard/dist/assets/FullLayout-f333ed84.js index 2c4db19f3..bf36f1431 100644 --- a/addons/dashboard/dist/assets/FullLayout-87ae6183.js +++ b/addons/dashboard/dist/assets/FullLayout-f333ed84.js @@ -1 +1 @@ -import{o as s,c as n,w as t,e as p,t as V,g as K,h as Q,a as e,i as j,j as y,k as z,l as O,m as F,n as q,r as T,p as G,q as S,s as C,F as x,u as W,v as X,x as I,y as Y,b as _,z as Z,A as ee,B as d,C as te,D as b,d as h,E as L,M as D,G as w,H as $,I as k,J as A,K as R,L as E,N as B,V as ae,f as le,O as M,P,Q as se,R as ie,S as ne,T as oe,U as re,W as ue,X as de,Y as ce}from"./index-70ea897e.js";import{_ as me,u as N}from"./LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js";import{m as U}from"./md5-6a8a08e9.js";const fe=[{title:"面板",icon:"mdi-view-dashboard",to:"/dashboard/default"},{title:"配置",icon:"mdi-cog",to:"/config"},{title:"插件",icon:"mdi-puzzle",to:"/extension"},{title:"控制台",icon:"mdi-console",to:"/console"}],pe={__name:"NavGroup",props:{item:Object},setup(a){const l=a;return(o,f)=>(s(),n(K,{color:"darkText",class:"smallCap"},{default:t(()=>[p(V(l.item.header),1)]),_:1}))}},H={__name:"NavItem",props:{item:Object,level:Number},setup(a){return(l,o)=>(s(),n(q,{to:a.item.type==="external"?"":a.item.to,href:a.item.type==="external"?a.item.to:"",rounded:"",class:"mb-1",color:"secondary",disabled:a.item.disabled,target:a.item.type==="external"?"_blank":""},Q({prepend:t(()=>[a.item.icon?(s(),n(y,{key:0,color:a.item.iconColor,size:a.item.iconSize,class:"hide-menu",icon:a.item.icon},null,8,["color","size","icon"])):z("",!0)]),default:t(()=>[e(O,null,{default:t(()=>[p(V(a.item.title),1)]),_:1}),a.item.subCaption?(s(),n(F,{key:0,class:"text-caption mt-n1 hide-menu"},{default:t(()=>[p(V(a.item.subCaption),1)]),_:1})):z("",!0)]),_:2},[a.item.chip?{name:"append",fn:t(()=>[e(j,{color:a.item.chipColor,class:"sidebarchip hide-menu",size:a.item.chipIcon?"small":"default",variant:a.item.chipVariant,"prepend-icon":a.item.chipIcon},{default:t(()=>[p(V(a.item.chip),1)]),_:1},8,["color","size","variant","prepend-icon"])]),key:"0"}:void 0]),1032,["to","href","disabled","target"]))}},ve={__name:"IconSet",props:{item:Object,level:Number},setup(a){const l=a;return(o,f)=>l.level>0?(s(),n(T(l.item),{key:0,size:"5",fill:"currentColor","stroke-width":"1.5",class:"iconClass"})):(s(),n(T(l.item),{key:1,size:"20","stroke-width":"1.5",class:"iconClass"}))}},_e={__name:"NavCollapse",props:{item:Object,level:Number},setup(a){const l=a;return(o,f)=>{const m=G("NavCollapse",!0);return s(),n(X,{"no-action":""},{activator:t(({props:r})=>[e(q,S(r,{value:a.item.title,rounded:"",class:"mb-1",color:"secondary"}),{prepend:t(()=>[e(ve,{item:a.item.icon,level:a.level},null,8,["item","level"])]),default:t(()=>[e(O,{class:"mr-auto"},{default:t(()=>[p(V(a.item.title),1)]),_:1}),a.item.subCaption?(s(),n(F,{key:0,class:"text-caption mt-n1 hide-menu"},{default:t(()=>[p(V(a.item.subCaption),1)]),_:1})):z("",!0)]),_:2},1040,["value"])]),default:t(()=>[(s(!0),C(x,null,W(a.item.children,(r,c)=>(s(),C(x,{key:c},[r.children?(s(),n(m,{key:0,item:r,level:l.level+1},null,8,["item","level"])):(s(),n(H,{key:1,item:r,level:l.level+1},null,8,["item","level"]))],64))),128))]),_:1})}}},he={__name:"LogoMain",setup(a){return(l,o)=>(s(),n(me))}},Ve={class:"pa-5"},be={class:"pa-4 text-center"},ke=I({__name:"VerticalSidebar",setup(a){const l=N(),o=Y(fe);return(f,m)=>{const r=G("perfect-scrollbar");return s(),n(te,{left:"",modelValue:d(l).Sidebar_drawer,"onUpdate:modelValue":m[0]||(m[0]=c=>d(l).Sidebar_drawer=c),elevation:"0","rail-width":"105","mobile-breakpoint":"960",app:"",class:"leftSidebar",rail:d(l).mini_sidebar,"expand-on-hover":""},{default:t(()=>[_("div",Ve,[e(he)]),e(r,{class:"scrollnavbar"},{default:t(()=>[e(Z,{class:"pa-4"},{default:t(()=>[(s(!0),C(x,null,W(o.value,(c,g)=>(s(),C(x,{key:g},[c.header?(s(),n(pe,{item:c,key:c.title},null,8,["item"])):c.divider?(s(),n(ee,{key:1,class:"my-3"})):c.children?(s(),n(_e,{key:2,class:"leftPadding",item:c,level:0},null,8,["item"])):(s(),n(H,{key:3,item:c,class:"leftPadding"},null,8,["item"]))],64))),128))]),_:1}),_("div",be,[e(j,{color:"inputBorder",size:"small"},{default:t(()=>[p(" v1.0.0 ")]),_:1})])]),_:1})]),_:1},8,["modelValue","rail"])}}}),ye=_("span",{class:"text-h5"},"密码修改",-1),Ce=_("small",null,"如果是第一次修改密码,原密码请留空。",-1),xe=_("br",null,null,-1),ge=_("span",{class:"text-h5"},"更新项目",-1),we=_("p",null,"此功能正在开发中,你可以在消息平台内使用 `/update` 指令来更新。",-1),ze=I({__name:"VerticalHeader",setup(a){const l=N();b(!1);let o=b(!1),f=b(!1),m=b(""),r=b(""),c=b("");const g=v=>{window.open(v,"_blank")};function J(){m.value!=""&&(m.value=U.md5(m.value)),r.value=U.md5(r.value),ie.post("/api/change_password",{password:m.value,new_password:r.value}).then(v=>{if(v.data.status=="error"){c.value=v.data.message,m.value="",r.value="";return}o.value=!o.value,c.value=v.data.message,setTimeout(()=>{ne().logout()},1e3)}).catch(v=>{console.log(v),c.value=v,m.value="",r.value=""})}return(v,u)=>(s(),n(se,{elevation:"0",height:"80"},{default:t(()=>[e(h,{class:"hidden-md-and-down text-secondary",color:"lightsecondary",icon:"",rounded:"sm",variant:"flat",onClick:u[0]||(u[0]=L(i=>d(l).SET_MINI_SIDEBAR(!d(l).mini_sidebar),["stop"])),size:"small"},{default:t(()=>[e(d(D),{size:"20","stroke-width":"1.5"})]),_:1}),e(h,{class:"hidden-lg-and-up text-secondary ms-3",color:"lightsecondary",icon:"",rounded:"sm",variant:"flat",onClick:L(d(l).SET_SIDEBAR_DRAWER,["stop"]),size:"small"},{default:t(()=>[e(d(D),{size:"20","stroke-width":"1.5"})]),_:1},8,["onClick"]),e(w),e($,{modelValue:d(o),"onUpdate:modelValue":u[4]||(u[4]=i=>k(o)?o.value=i:o=i),persistent:"",width:"700"},{activator:t(({props:i})=>[e(h,S({class:"profileBtn text-primary",color:"lightprimary",variant:"flat",rounded:"pill"},i),{default:t(()=>[e(y,{icon:"mdi-account-edit",size:"25"})]),_:2},1040)]),default:t(()=>[e(A,null,{default:t(()=>[e(R,null,{default:t(()=>[ye]),_:1}),e(E,null,{default:t(()=>[e(B,null,{default:t(()=>[e(ae,null,{default:t(()=>[e(le,{cols:"12"},{default:t(()=>[e(M,{label:"原密码*",type:"password",modelValue:d(m),"onUpdate:modelValue":u[1]||(u[1]=i=>k(m)?m.value=i:m=i),required:""},null,8,["modelValue"]),e(M,{label:"新密码*",type:"password",modelValue:d(r),"onUpdate:modelValue":u[2]||(u[2]=i=>k(r)?r.value=i:r=i),required:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),Ce,xe,_("small",null,V(d(c)),1)]),_:1}),e(P,null,{default:t(()=>[e(w),e(h,{color:"blue-darken-1",variant:"text",onClick:u[3]||(u[3]=i=>k(o)?o.value=!1:o=!1)},{default:t(()=>[p(" 关闭 ")]),_:1}),e(h,{color:"blue-darken-1",variant:"text",onClick:J},{default:t(()=>[p(" 提交 ")]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e($,{modelValue:d(f),"onUpdate:modelValue":u[6]||(u[6]=i=>k(f)?f.value=i:f=i),width:"700"},{activator:t(({props:i})=>[e(h,S({class:"profileBtn text-primary",color:"lightprimary",variant:"flat",rounded:"pill"},i),{default:t(()=>[e(y,{icon:"mdi-update",size:"25"})]),_:2},1040)]),default:t(()=>[e(A,null,{default:t(()=>[e(R,null,{default:t(()=>[ge]),_:1}),e(E,null,{default:t(()=>[e(B,null,{default:t(()=>[we]),_:1})]),_:1}),e(P,null,{default:t(()=>[e(w),e(h,{color:"blue-darken-1",variant:"text",onClick:u[5]||(u[5]=i=>k(f)?f.value=!1:f=!1)},{default:t(()=>[p(" 关闭 ")]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(h,{class:"profileBtn text-primary",color:"lightprimary",variant:"flat",onClick:u[7]||(u[7]=i=>g("https://github.com/Soulter/AstrBot")),rounded:"pill"},{default:t(()=>[e(y,{icon:"mdi-github",size:"25"})]),_:1})]),_:1}))}}),Ne=I({__name:"FullLayout",setup(a){const l=N();return(o,f)=>(s(),n(ce,null,{default:t(()=>[e(oe,{theme:"PurpleTheme",class:re([d(l).fontTheme,d(l).mini_sidebar?"mini-sidebar":"",d(l).inputBg?"inputWithbg":""])},{default:t(()=>[e(ke),e(ze),e(ue,null,{default:t(()=>[e(B,{fluid:"",class:"page-wrapper"},{default:t(()=>[_("div",null,[e(d(de))])]),_:1})]),_:1})]),_:1},8,["class"])]),_:1}))}});export{Ne as default}; +import{o as s,c as n,w as t,e as p,t as V,g as K,h as Q,a as e,i as j,j as y,k as z,l as O,m as F,n as q,r as T,p as G,q as S,s as C,F as x,u as W,v as X,x as I,y as Y,b as _,z as Z,A as ee,B as d,C as te,D as b,d as h,E as L,M as D,G as w,H as $,I as k,J as A,K as R,L as E,N as B,V as ae,f as le,O as M,P,Q as se,R as ie,S as ne,T as oe,U as re,W as ue,X as de,Y as ce}from"./index-0719535f.js";import{_ as me,u as N}from"./LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js";import{m as U}from"./md5-cee6f11c.js";const fe=[{title:"面板",icon:"mdi-view-dashboard",to:"/dashboard/default"},{title:"配置",icon:"mdi-cog",to:"/config"},{title:"插件",icon:"mdi-puzzle",to:"/extension"},{title:"控制台",icon:"mdi-console",to:"/console"}],pe={__name:"NavGroup",props:{item:Object},setup(a){const l=a;return(o,f)=>(s(),n(K,{color:"darkText",class:"smallCap"},{default:t(()=>[p(V(l.item.header),1)]),_:1}))}},H={__name:"NavItem",props:{item:Object,level:Number},setup(a){return(l,o)=>(s(),n(q,{to:a.item.type==="external"?"":a.item.to,href:a.item.type==="external"?a.item.to:"",rounded:"",class:"mb-1",color:"secondary",disabled:a.item.disabled,target:a.item.type==="external"?"_blank":""},Q({prepend:t(()=>[a.item.icon?(s(),n(y,{key:0,color:a.item.iconColor,size:a.item.iconSize,class:"hide-menu",icon:a.item.icon},null,8,["color","size","icon"])):z("",!0)]),default:t(()=>[e(O,null,{default:t(()=>[p(V(a.item.title),1)]),_:1}),a.item.subCaption?(s(),n(F,{key:0,class:"text-caption mt-n1 hide-menu"},{default:t(()=>[p(V(a.item.subCaption),1)]),_:1})):z("",!0)]),_:2},[a.item.chip?{name:"append",fn:t(()=>[e(j,{color:a.item.chipColor,class:"sidebarchip hide-menu",size:a.item.chipIcon?"small":"default",variant:a.item.chipVariant,"prepend-icon":a.item.chipIcon},{default:t(()=>[p(V(a.item.chip),1)]),_:1},8,["color","size","variant","prepend-icon"])]),key:"0"}:void 0]),1032,["to","href","disabled","target"]))}},ve={__name:"IconSet",props:{item:Object,level:Number},setup(a){const l=a;return(o,f)=>l.level>0?(s(),n(T(l.item),{key:0,size:"5",fill:"currentColor","stroke-width":"1.5",class:"iconClass"})):(s(),n(T(l.item),{key:1,size:"20","stroke-width":"1.5",class:"iconClass"}))}},_e={__name:"NavCollapse",props:{item:Object,level:Number},setup(a){const l=a;return(o,f)=>{const m=G("NavCollapse",!0);return s(),n(X,{"no-action":""},{activator:t(({props:r})=>[e(q,S(r,{value:a.item.title,rounded:"",class:"mb-1",color:"secondary"}),{prepend:t(()=>[e(ve,{item:a.item.icon,level:a.level},null,8,["item","level"])]),default:t(()=>[e(O,{class:"mr-auto"},{default:t(()=>[p(V(a.item.title),1)]),_:1}),a.item.subCaption?(s(),n(F,{key:0,class:"text-caption mt-n1 hide-menu"},{default:t(()=>[p(V(a.item.subCaption),1)]),_:1})):z("",!0)]),_:2},1040,["value"])]),default:t(()=>[(s(!0),C(x,null,W(a.item.children,(r,c)=>(s(),C(x,{key:c},[r.children?(s(),n(m,{key:0,item:r,level:l.level+1},null,8,["item","level"])):(s(),n(H,{key:1,item:r,level:l.level+1},null,8,["item","level"]))],64))),128))]),_:1})}}},he={__name:"LogoMain",setup(a){return(l,o)=>(s(),n(me))}},Ve={class:"pa-5"},be={class:"pa-4 text-center"},ke=I({__name:"VerticalSidebar",setup(a){const l=N(),o=Y(fe);return(f,m)=>{const r=G("perfect-scrollbar");return s(),n(te,{left:"",modelValue:d(l).Sidebar_drawer,"onUpdate:modelValue":m[0]||(m[0]=c=>d(l).Sidebar_drawer=c),elevation:"0","rail-width":"105","mobile-breakpoint":"960",app:"",class:"leftSidebar",rail:d(l).mini_sidebar,"expand-on-hover":""},{default:t(()=>[_("div",Ve,[e(he)]),e(r,{class:"scrollnavbar"},{default:t(()=>[e(Z,{class:"pa-4"},{default:t(()=>[(s(!0),C(x,null,W(o.value,(c,g)=>(s(),C(x,{key:g},[c.header?(s(),n(pe,{item:c,key:c.title},null,8,["item"])):c.divider?(s(),n(ee,{key:1,class:"my-3"})):c.children?(s(),n(_e,{key:2,class:"leftPadding",item:c,level:0},null,8,["item"])):(s(),n(H,{key:3,item:c,class:"leftPadding"},null,8,["item"]))],64))),128))]),_:1}),_("div",be,[e(j,{color:"inputBorder",size:"small"},{default:t(()=>[p(" v1.0.0 ")]),_:1})])]),_:1})]),_:1},8,["modelValue","rail"])}}}),ye=_("span",{class:"text-h5"},"密码修改",-1),Ce=_("small",null,"如果是第一次修改密码,原密码请留空。",-1),xe=_("br",null,null,-1),ge=_("span",{class:"text-h5"},"更新项目",-1),we=_("p",null,"此功能正在开发中,你可以在消息平台内使用 `/update` 指令来更新。",-1),ze=I({__name:"VerticalHeader",setup(a){const l=N();b(!1);let o=b(!1),f=b(!1),m=b(""),r=b(""),c=b("");const g=v=>{window.open(v,"_blank")};function J(){m.value!=""&&(m.value=U.md5(m.value)),r.value=U.md5(r.value),ie.post("/api/change_password",{password:m.value,new_password:r.value}).then(v=>{if(v.data.status=="error"){c.value=v.data.message,m.value="",r.value="";return}o.value=!o.value,c.value=v.data.message,setTimeout(()=>{ne().logout()},1e3)}).catch(v=>{console.log(v),c.value=v,m.value="",r.value=""})}return(v,u)=>(s(),n(se,{elevation:"0",height:"80"},{default:t(()=>[e(h,{class:"hidden-md-and-down text-secondary",color:"lightsecondary",icon:"",rounded:"sm",variant:"flat",onClick:u[0]||(u[0]=L(i=>d(l).SET_MINI_SIDEBAR(!d(l).mini_sidebar),["stop"])),size:"small"},{default:t(()=>[e(d(D),{size:"20","stroke-width":"1.5"})]),_:1}),e(h,{class:"hidden-lg-and-up text-secondary ms-3",color:"lightsecondary",icon:"",rounded:"sm",variant:"flat",onClick:L(d(l).SET_SIDEBAR_DRAWER,["stop"]),size:"small"},{default:t(()=>[e(d(D),{size:"20","stroke-width":"1.5"})]),_:1},8,["onClick"]),e(w),e($,{modelValue:d(o),"onUpdate:modelValue":u[4]||(u[4]=i=>k(o)?o.value=i:o=i),persistent:"",width:"700"},{activator:t(({props:i})=>[e(h,S({class:"profileBtn text-primary",color:"lightprimary",variant:"flat",rounded:"pill"},i),{default:t(()=>[e(y,{icon:"mdi-account-edit",size:"25"})]),_:2},1040)]),default:t(()=>[e(A,null,{default:t(()=>[e(R,null,{default:t(()=>[ye]),_:1}),e(E,null,{default:t(()=>[e(B,null,{default:t(()=>[e(ae,null,{default:t(()=>[e(le,{cols:"12"},{default:t(()=>[e(M,{label:"原密码*",type:"password",modelValue:d(m),"onUpdate:modelValue":u[1]||(u[1]=i=>k(m)?m.value=i:m=i),required:""},null,8,["modelValue"]),e(M,{label:"新密码*",type:"password",modelValue:d(r),"onUpdate:modelValue":u[2]||(u[2]=i=>k(r)?r.value=i:r=i),required:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),Ce,xe,_("small",null,V(d(c)),1)]),_:1}),e(P,null,{default:t(()=>[e(w),e(h,{color:"blue-darken-1",variant:"text",onClick:u[3]||(u[3]=i=>k(o)?o.value=!1:o=!1)},{default:t(()=>[p(" 关闭 ")]),_:1}),e(h,{color:"blue-darken-1",variant:"text",onClick:J},{default:t(()=>[p(" 提交 ")]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e($,{modelValue:d(f),"onUpdate:modelValue":u[6]||(u[6]=i=>k(f)?f.value=i:f=i),width:"700"},{activator:t(({props:i})=>[e(h,S({class:"profileBtn text-primary",color:"lightprimary",variant:"flat",rounded:"pill"},i),{default:t(()=>[e(y,{icon:"mdi-update",size:"25"})]),_:2},1040)]),default:t(()=>[e(A,null,{default:t(()=>[e(R,null,{default:t(()=>[ge]),_:1}),e(E,null,{default:t(()=>[e(B,null,{default:t(()=>[we]),_:1})]),_:1}),e(P,null,{default:t(()=>[e(w),e(h,{color:"blue-darken-1",variant:"text",onClick:u[5]||(u[5]=i=>k(f)?f.value=!1:f=!1)},{default:t(()=>[p(" 关闭 ")]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(h,{class:"profileBtn text-primary",color:"lightprimary",variant:"flat",onClick:u[7]||(u[7]=i=>g("https://github.com/Soulter/AstrBot")),rounded:"pill"},{default:t(()=>[e(y,{icon:"mdi-github",size:"25"})]),_:1})]),_:1}))}}),Ne=I({__name:"FullLayout",setup(a){const l=N();return(o,f)=>(s(),n(ce,null,{default:t(()=>[e(oe,{theme:"PurpleTheme",class:re([d(l).fontTheme,d(l).mini_sidebar?"mini-sidebar":"",d(l).inputBg?"inputWithbg":""])},{default:t(()=>[e(ke),e(ze),e(ue,null,{default:t(()=>[e(B,{fluid:"",class:"page-wrapper"},{default:t(()=>[_("div",null,[e(d(de))])]),_:1})]),_:1})]),_:1},8,["class"])]),_:1}))}});export{Ne as default}; diff --git a/addons/dashboard/dist/assets/LoginPage-5ed4985c.js b/addons/dashboard/dist/assets/LoginPage-ecd03b0f.js similarity index 99% rename from addons/dashboard/dist/assets/LoginPage-5ed4985c.js rename to addons/dashboard/dist/assets/LoginPage-ecd03b0f.js index 23dfb8f97..ce9624c3e 100644 --- a/addons/dashboard/dist/assets/LoginPage-5ed4985c.js +++ b/addons/dashboard/dist/assets/LoginPage-ecd03b0f.js @@ -1,4 +1,4 @@ -import{_ as _t}from"./LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js";import{x as ke,ad as we,r as Ot,ae as Vt,D as A,af as Ne,a0 as P,B as I,ag as Q,ah as St,I as Be,ai as Ie,aj as Et,ak as jt,al as At,am as G,y as wt,o as Re,c as tt,w as C,a as j,O as qe,b as ge,an as Ft,d as Pt,e as Ge,s as Ct,ao as Tt,t as Nt,k as Bt,S as It,f as Fe,N as Rt,V as Pe,J as Ye,L as kt}from"./index-70ea897e.js";import{a as Mt}from"./md5-6a8a08e9.js";/** +import{_ as _t}from"./LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js";import{x as ke,ad as we,r as Ot,ae as Vt,D as A,af as Ne,a0 as P,B as I,ag as Q,ah as St,I as Be,ai as Ie,aj as Et,ak as jt,al as At,am as G,y as wt,o as Re,c as tt,w as C,a as j,O as qe,b as ge,an as Ft,d as Pt,e as Ge,s as Ct,ao as Tt,t as Nt,k as Bt,S as It,f as Fe,N as Rt,V as Pe,J as Ye,L as kt}from"./index-0719535f.js";import{a as Mt}from"./md5-cee6f11c.js";/** * vee-validate v4.11.3 * (c) 2023 Abdelrahman Awad * @license MIT diff --git a/addons/dashboard/dist/assets/LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js b/addons/dashboard/dist/assets/LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js similarity index 94% rename from addons/dashboard/dist/assets/LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js rename to addons/dashboard/dist/assets/LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js index 8e1146680..e766e1cd4 100644 --- a/addons/dashboard/dist/assets/LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js +++ b/addons/dashboard/dist/assets/LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js @@ -1 +1 @@ -import{at as _,x as d,D as n,o as c,s as m,a as f,w as p,au as r,b as a,av as o,B as t,aw as h}from"./index-70ea897e.js";const s={Sidebar_drawer:!0,Customizer_drawer:!1,mini_sidebar:!1,fontTheme:"Roboto",inputBg:!1},l=_({id:"customizer",state:()=>({Sidebar_drawer:s.Sidebar_drawer,Customizer_drawer:s.Customizer_drawer,mini_sidebar:s.mini_sidebar,fontTheme:"Poppins",inputBg:s.inputBg}),getters:{},actions:{SET_SIDEBAR_DRAWER(){this.Sidebar_drawer=!this.Sidebar_drawer},SET_MINI_SIDEBAR(e){this.mini_sidebar=e},SET_FONT(e){this.fontTheme=e}}}),u={class:"logo",style:{display:"flex","align-items":"center"}},b={style:{"font-size":"24px","font-weight":"1000"}},w={style:{"font-size":"20px","font-weight":"1000"}},S={style:{"font-size":"20px"}},z=d({__name:"LogoDark",setup(e){n("rgb(var(--v-theme-primary))"),n("rgb(var(--v-theme-secondary))");const i=l();return(g,B)=>(c(),m("div",u,[f(t(h),{to:"/",style:{"text-decoration":"none",color:"black"}},{default:p(()=>[r(a("span",b,"AstrBot 仪表盘",512),[[o,!t(i).mini_sidebar]]),r(a("span",w,"Astr",512),[[o,t(i).mini_sidebar]]),r(a("span",S,"Bot",512),[[o,t(i).mini_sidebar]])]),_:1})]))}});export{z as _,l as u}; +import{at as _,x as d,D as n,o as c,s as m,a as f,w as p,au as r,b as a,av as o,B as t,aw as h}from"./index-0719535f.js";const s={Sidebar_drawer:!0,Customizer_drawer:!1,mini_sidebar:!1,fontTheme:"Roboto",inputBg:!1},l=_({id:"customizer",state:()=>({Sidebar_drawer:s.Sidebar_drawer,Customizer_drawer:s.Customizer_drawer,mini_sidebar:s.mini_sidebar,fontTheme:"Poppins",inputBg:s.inputBg}),getters:{},actions:{SET_SIDEBAR_DRAWER(){this.Sidebar_drawer=!this.Sidebar_drawer},SET_MINI_SIDEBAR(e){this.mini_sidebar=e},SET_FONT(e){this.fontTheme=e}}}),u={class:"logo",style:{display:"flex","align-items":"center"}},b={style:{"font-size":"24px","font-weight":"1000"}},w={style:{"font-size":"20px","font-weight":"1000"}},S={style:{"font-size":"20px"}},z=d({__name:"LogoDark",setup(e){n("rgb(var(--v-theme-primary))"),n("rgb(var(--v-theme-secondary))");const i=l();return(g,B)=>(c(),m("div",u,[f(t(h),{to:"/",style:{"text-decoration":"none",color:"black"}},{default:p(()=>[r(a("span",b,"AstrBot 仪表盘",512),[[o,!t(i).mini_sidebar]]),r(a("span",w,"Astr",512),[[o,t(i).mini_sidebar]]),r(a("span",S,"Bot",512),[[o,t(i).mini_sidebar]])]),_:1})]))}});export{z as _,l as u}; diff --git a/addons/dashboard/dist/assets/MaterialIcons-fc94f725.js b/addons/dashboard/dist/assets/MaterialIcons-bca66dd4.js similarity index 70% rename from addons/dashboard/dist/assets/MaterialIcons-fc94f725.js rename to addons/dashboard/dist/assets/MaterialIcons-bca66dd4.js index dcaa6d226..98b1b3f91 100644 --- a/addons/dashboard/dist/assets/MaterialIcons-fc94f725.js +++ b/addons/dashboard/dist/assets/MaterialIcons-bca66dd4.js @@ -1 +1 @@ -import{_ as o}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js";import{_ as i}from"./UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js";import{x as n,D as a,o as c,s as m,a as e,w as t,f as d,b as f,V as _,F as u}from"./index-70ea897e.js";const p=["innerHTML"],v=n({__name:"MaterialIcons",setup(b){const s=a({title:"Material Icons"}),r=a(''),l=a([{title:"Icons",disabled:!1,href:"#"},{title:"Material Icons",disabled:!0,href:"#"}]);return(h,M)=>(c(),m(u,null,[e(o,{title:s.value.title,breadcrumbs:l.value},null,8,["title","breadcrumbs"]),e(_,null,{default:t(()=>[e(d,{cols:"12",md:"12"},{default:t(()=>[e(i,{title:"Material Icons"},{default:t(()=>[f("div",{innerHTML:r.value},null,8,p)]),_:1})]),_:1})]),_:1})],64))}});export{v as default}; +import{_ as o}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js";import{_ as i}from"./UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js";import{x as n,D as a,o as c,s as m,a as e,w as t,f as d,b as f,V as _,F as u}from"./index-0719535f.js";const p=["innerHTML"],v=n({__name:"MaterialIcons",setup(b){const s=a({title:"Material Icons"}),r=a(''),l=a([{title:"Icons",disabled:!1,href:"#"},{title:"Material Icons",disabled:!0,href:"#"}]);return(h,M)=>(c(),m(u,null,[e(o,{title:s.value.title,breadcrumbs:l.value},null,8,["title","breadcrumbs"]),e(_,null,{default:t(()=>[e(d,{cols:"12",md:"12"},{default:t(()=>[e(i,{title:"Material Icons"},{default:t(()=>[f("div",{innerHTML:r.value},null,8,p)]),_:1})]),_:1})]),_:1})],64))}});export{v as default}; diff --git a/addons/dashboard/dist/assets/RegisterPage-f1e91a9c.js b/addons/dashboard/dist/assets/RegisterPage-8bd0ba09.js similarity index 96% rename from addons/dashboard/dist/assets/RegisterPage-f1e91a9c.js rename to addons/dashboard/dist/assets/RegisterPage-8bd0ba09.js index 7e3b063f6..83bc04020 100644 --- a/addons/dashboard/dist/assets/RegisterPage-f1e91a9c.js +++ b/addons/dashboard/dist/assets/RegisterPage-8bd0ba09.js @@ -1 +1 @@ -import{_ as B}from"./LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js";import{x as y,D as o,o as b,s as U,a as e,w as a,b as n,B as $,d as u,f as d,A as _,e as f,V as r,O as m,an as A,as as E,F,c as T,N as q,J as V,L as P}from"./index-70ea897e.js";const z="/assets/social-google-a359a253.svg",N=["src"],S=n("span",{class:"ml-2"},"Sign up with Google",-1),D=n("h5",{class:"text-h5 text-center my-4 mb-8"},"Sign up with Email address",-1),G={class:"d-sm-inline-flex align-center mt-2 mb-7 mb-sm-0 font-weight-bold"},L=n("a",{href:"#",class:"ml-1 text-lightText"},"Terms and Condition",-1),O={class:"mt-5 text-right"},j=y({__name:"AuthRegister",setup(w){const c=o(!1),i=o(!1),p=o(""),v=o(""),g=o(),h=o(""),x=o(""),k=o([s=>!!s||"Password is required",s=>s&&s.length<=10||"Password must be less than 10 characters"]),C=o([s=>!!s||"E-mail is required",s=>/.+@.+\..+/.test(s)||"E-mail must be valid"]);function R(){g.value.validate()}return(s,l)=>(b(),U(F,null,[e(u,{block:"",color:"primary",variant:"outlined",class:"text-lightText googleBtn"},{default:a(()=>[n("img",{src:$(z),alt:"google"},null,8,N),S]),_:1}),e(r,null,{default:a(()=>[e(d,{class:"d-flex align-center"},{default:a(()=>[e(_,{class:"custom-devider"}),e(u,{variant:"outlined",class:"orbtn",rounded:"md",size:"small"},{default:a(()=>[f("OR")]),_:1}),e(_,{class:"custom-devider"})]),_:1})]),_:1}),D,e(E,{ref_key:"Regform",ref:g,"lazy-validation":"",action:"/dashboards/analytical",class:"mt-7 loginForm"},{default:a(()=>[e(r,null,{default:a(()=>[e(d,{cols:"12",sm:"6"},{default:a(()=>[e(m,{modelValue:h.value,"onUpdate:modelValue":l[0]||(l[0]=t=>h.value=t),density:"comfortable","hide-details":"auto",variant:"outlined",color:"primary",label:"Firstname"},null,8,["modelValue"])]),_:1}),e(d,{cols:"12",sm:"6"},{default:a(()=>[e(m,{modelValue:x.value,"onUpdate:modelValue":l[1]||(l[1]=t=>x.value=t),density:"comfortable","hide-details":"auto",variant:"outlined",color:"primary",label:"Lastname"},null,8,["modelValue"])]),_:1})]),_:1}),e(m,{modelValue:v.value,"onUpdate:modelValue":l[2]||(l[2]=t=>v.value=t),rules:C.value,label:"Email Address / Username",class:"mt-4 mb-4",required:"",density:"comfortable","hide-details":"auto",variant:"outlined",color:"primary"},null,8,["modelValue","rules"]),e(m,{modelValue:p.value,"onUpdate:modelValue":l[3]||(l[3]=t=>p.value=t),rules:k.value,label:"Password",required:"",density:"comfortable",variant:"outlined",color:"primary","hide-details":"auto","append-icon":i.value?"mdi-eye":"mdi-eye-off",type:i.value?"text":"password","onClick:append":l[4]||(l[4]=t=>i.value=!i.value),class:"pwdInput"},null,8,["modelValue","rules","append-icon","type"]),n("div",G,[e(A,{modelValue:c.value,"onUpdate:modelValue":l[5]||(l[5]=t=>c.value=t),rules:[t=>!!t||"You must agree to continue!"],label:"Agree with?",required:"",color:"primary",class:"ms-n2","hide-details":""},null,8,["modelValue","rules"]),L]),e(u,{color:"secondary",block:"",class:"mt-2",variant:"flat",size:"large",onClick:l[6]||(l[6]=t=>R())},{default:a(()=>[f("Sign Up")]),_:1})]),_:1},512),n("div",O,[e(_),e(u,{variant:"plain",to:"/auth/login",class:"mt-2 text-capitalize mr-n2"},{default:a(()=>[f("Already have an account?")]),_:1})])],64))}});const I={class:"pa-7 pa-sm-12"},J=n("h2",{class:"text-secondary text-h2 mt-8"},"Sign up",-1),Y=n("h4",{class:"text-disabled text-h4 mt-3"},"Enter credentials to continue",-1),M=y({__name:"RegisterPage",setup(w){return(c,i)=>(b(),T(r,{class:"h-100vh","no-gutters":""},{default:a(()=>[e(d,{cols:"12",class:"d-flex align-center bg-lightprimary"},{default:a(()=>[e(q,null,{default:a(()=>[n("div",I,[e(r,{justify:"center"},{default:a(()=>[e(d,{cols:"12",lg:"10",xl:"6",md:"7"},{default:a(()=>[e(V,{elevation:"0",class:"loginBox"},{default:a(()=>[e(V,{variant:"outlined"},{default:a(()=>[e(P,{class:"pa-9"},{default:a(()=>[e(r,null,{default:a(()=>[e(d,{cols:"12",class:"text-center"},{default:a(()=>[e(B),J,Y]),_:1})]),_:1}),e(j)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])]),_:1})]),_:1})]),_:1}))}});export{M as default}; +import{_ as B}from"./LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js";import{x as y,D as o,o as b,s as U,a as e,w as a,b as n,B as $,d as u,f as d,A as _,e as f,V as r,O as m,an as A,as as E,F,c as T,N as q,J as V,L as P}from"./index-0719535f.js";const z="/assets/social-google-a359a253.svg",N=["src"],S=n("span",{class:"ml-2"},"Sign up with Google",-1),D=n("h5",{class:"text-h5 text-center my-4 mb-8"},"Sign up with Email address",-1),G={class:"d-sm-inline-flex align-center mt-2 mb-7 mb-sm-0 font-weight-bold"},L=n("a",{href:"#",class:"ml-1 text-lightText"},"Terms and Condition",-1),O={class:"mt-5 text-right"},j=y({__name:"AuthRegister",setup(w){const c=o(!1),i=o(!1),p=o(""),v=o(""),g=o(),h=o(""),x=o(""),k=o([s=>!!s||"Password is required",s=>s&&s.length<=10||"Password must be less than 10 characters"]),C=o([s=>!!s||"E-mail is required",s=>/.+@.+\..+/.test(s)||"E-mail must be valid"]);function R(){g.value.validate()}return(s,l)=>(b(),U(F,null,[e(u,{block:"",color:"primary",variant:"outlined",class:"text-lightText googleBtn"},{default:a(()=>[n("img",{src:$(z),alt:"google"},null,8,N),S]),_:1}),e(r,null,{default:a(()=>[e(d,{class:"d-flex align-center"},{default:a(()=>[e(_,{class:"custom-devider"}),e(u,{variant:"outlined",class:"orbtn",rounded:"md",size:"small"},{default:a(()=>[f("OR")]),_:1}),e(_,{class:"custom-devider"})]),_:1})]),_:1}),D,e(E,{ref_key:"Regform",ref:g,"lazy-validation":"",action:"/dashboards/analytical",class:"mt-7 loginForm"},{default:a(()=>[e(r,null,{default:a(()=>[e(d,{cols:"12",sm:"6"},{default:a(()=>[e(m,{modelValue:h.value,"onUpdate:modelValue":l[0]||(l[0]=t=>h.value=t),density:"comfortable","hide-details":"auto",variant:"outlined",color:"primary",label:"Firstname"},null,8,["modelValue"])]),_:1}),e(d,{cols:"12",sm:"6"},{default:a(()=>[e(m,{modelValue:x.value,"onUpdate:modelValue":l[1]||(l[1]=t=>x.value=t),density:"comfortable","hide-details":"auto",variant:"outlined",color:"primary",label:"Lastname"},null,8,["modelValue"])]),_:1})]),_:1}),e(m,{modelValue:v.value,"onUpdate:modelValue":l[2]||(l[2]=t=>v.value=t),rules:C.value,label:"Email Address / Username",class:"mt-4 mb-4",required:"",density:"comfortable","hide-details":"auto",variant:"outlined",color:"primary"},null,8,["modelValue","rules"]),e(m,{modelValue:p.value,"onUpdate:modelValue":l[3]||(l[3]=t=>p.value=t),rules:k.value,label:"Password",required:"",density:"comfortable",variant:"outlined",color:"primary","hide-details":"auto","append-icon":i.value?"mdi-eye":"mdi-eye-off",type:i.value?"text":"password","onClick:append":l[4]||(l[4]=t=>i.value=!i.value),class:"pwdInput"},null,8,["modelValue","rules","append-icon","type"]),n("div",G,[e(A,{modelValue:c.value,"onUpdate:modelValue":l[5]||(l[5]=t=>c.value=t),rules:[t=>!!t||"You must agree to continue!"],label:"Agree with?",required:"",color:"primary",class:"ms-n2","hide-details":""},null,8,["modelValue","rules"]),L]),e(u,{color:"secondary",block:"",class:"mt-2",variant:"flat",size:"large",onClick:l[6]||(l[6]=t=>R())},{default:a(()=>[f("Sign Up")]),_:1})]),_:1},512),n("div",O,[e(_),e(u,{variant:"plain",to:"/auth/login",class:"mt-2 text-capitalize mr-n2"},{default:a(()=>[f("Already have an account?")]),_:1})])],64))}});const I={class:"pa-7 pa-sm-12"},J=n("h2",{class:"text-secondary text-h2 mt-8"},"Sign up",-1),Y=n("h4",{class:"text-disabled text-h4 mt-3"},"Enter credentials to continue",-1),M=y({__name:"RegisterPage",setup(w){return(c,i)=>(b(),T(r,{class:"h-100vh","no-gutters":""},{default:a(()=>[e(d,{cols:"12",class:"d-flex align-center bg-lightprimary"},{default:a(()=>[e(q,null,{default:a(()=>[n("div",I,[e(r,{justify:"center"},{default:a(()=>[e(d,{cols:"12",lg:"10",xl:"6",md:"7"},{default:a(()=>[e(V,{elevation:"0",class:"loginBox"},{default:a(()=>[e(V,{variant:"outlined"},{default:a(()=>[e(P,{class:"pa-9"},{default:a(()=>[e(r,null,{default:a(()=>[e(d,{cols:"12",class:"text-center"},{default:a(()=>[e(B),J,Y]),_:1})]),_:1}),e(j)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])]),_:1})]),_:1})]),_:1}))}});export{M as default}; diff --git a/addons/dashboard/dist/assets/ShadowPage-00585b3f.js b/addons/dashboard/dist/assets/ShadowPage-b4e2aa62.js similarity index 81% rename from addons/dashboard/dist/assets/ShadowPage-00585b3f.js rename to addons/dashboard/dist/assets/ShadowPage-b4e2aa62.js index 78d82f8c0..8bb098894 100644 --- a/addons/dashboard/dist/assets/ShadowPage-00585b3f.js +++ b/addons/dashboard/dist/assets/ShadowPage-b4e2aa62.js @@ -1 +1 @@ -import{_ as c}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js";import{_ as f}from"./UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js";import{x as m,D as s,o as l,s as r,a as e,w as a,f as i,V as o,F as d,u as _,J as p,U as b,b as h,t as g}from"./index-70ea897e.js";const v=m({__name:"ShadowPage",setup(w){const n=s({title:"Shadow Page"}),u=s([{title:"Utilities",disabled:!1,href:"#"},{title:"Shadow",disabled:!0,href:"#"}]);return(V,x)=>(l(),r(d,null,[e(c,{title:n.value.title,breadcrumbs:u.value},null,8,["title","breadcrumbs"]),e(o,null,{default:a(()=>[e(i,{cols:"12",md:"12"},{default:a(()=>[e(f,{title:"Basic Shadow"},{default:a(()=>[e(o,{justify:"center"},{default:a(()=>[(l(),r(d,null,_(25,t=>e(i,{key:t,cols:"auto"},{default:a(()=>[e(p,{height:"100",width:"100",class:b(["mb-5",["d-flex justify-center align-center bg-primary",`elevation-${t}`]])},{default:a(()=>[h("div",null,g(t-1),1)]),_:2},1032,["class"])]),_:2},1024)),64))]),_:1})]),_:1})]),_:1})]),_:1})],64))}});export{v as default}; +import{_ as c}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js";import{_ as f}from"./UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js";import{x as m,D as s,o as l,s as r,a as e,w as a,f as i,V as o,F as d,u as _,J as p,U as b,b as h,t as g}from"./index-0719535f.js";const v=m({__name:"ShadowPage",setup(w){const n=s({title:"Shadow Page"}),u=s([{title:"Utilities",disabled:!1,href:"#"},{title:"Shadow",disabled:!0,href:"#"}]);return(V,x)=>(l(),r(d,null,[e(c,{title:n.value.title,breadcrumbs:u.value},null,8,["title","breadcrumbs"]),e(o,null,{default:a(()=>[e(i,{cols:"12",md:"12"},{default:a(()=>[e(f,{title:"Basic Shadow"},{default:a(()=>[e(o,{justify:"center"},{default:a(()=>[(l(),r(d,null,_(25,t=>e(i,{key:t,cols:"auto"},{default:a(()=>[e(p,{height:"100",width:"100",class:b(["mb-5",["d-flex justify-center align-center bg-primary",`elevation-${t}`]])},{default:a(()=>[h("div",null,g(t-1),1)]),_:2},1032,["class"])]),_:2},1024)),64))]),_:1})]),_:1})]),_:1})]),_:1})],64))}});export{v as default}; diff --git a/addons/dashboard/dist/assets/TablerIcons-28b82875.js b/addons/dashboard/dist/assets/TablerIcons-8f1b7164.js similarity index 69% rename from addons/dashboard/dist/assets/TablerIcons-28b82875.js rename to addons/dashboard/dist/assets/TablerIcons-8f1b7164.js index 2659c678a..c1d7b54a0 100644 --- a/addons/dashboard/dist/assets/TablerIcons-28b82875.js +++ b/addons/dashboard/dist/assets/TablerIcons-8f1b7164.js @@ -1 +1 @@ -import{_ as o}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js";import{_ as n}from"./UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js";import{x as c,D as a,o as i,s as m,a as e,w as t,f as d,b as f,V as _,F as u}from"./index-70ea897e.js";const b=["innerHTML"],w=c({__name:"TablerIcons",setup(p){const s=a({title:"Tabler Icons"}),r=a(''),l=a([{title:"Icons",disabled:!1,href:"#"},{title:"Tabler Icons",disabled:!0,href:"#"}]);return(h,T)=>(i(),m(u,null,[e(o,{title:s.value.title,breadcrumbs:l.value},null,8,["title","breadcrumbs"]),e(_,null,{default:t(()=>[e(d,{cols:"12",md:"12"},{default:t(()=>[e(n,{title:"Tabler Icons"},{default:t(()=>[f("div",{innerHTML:r.value},null,8,b)]),_:1})]),_:1})]),_:1})],64))}});export{w as default}; +import{_ as o}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js";import{_ as n}from"./UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js";import{x as c,D as a,o as i,s as m,a as e,w as t,f as d,b as f,V as _,F as u}from"./index-0719535f.js";const b=["innerHTML"],w=c({__name:"TablerIcons",setup(p){const s=a({title:"Tabler Icons"}),r=a(''),l=a([{title:"Icons",disabled:!1,href:"#"},{title:"Tabler Icons",disabled:!0,href:"#"}]);return(h,T)=>(i(),m(u,null,[e(o,{title:s.value.title,breadcrumbs:l.value},null,8,["title","breadcrumbs"]),e(_,null,{default:t(()=>[e(d,{cols:"12",md:"12"},{default:t(()=>[e(n,{title:"Tabler Icons"},{default:t(()=>[f("div",{innerHTML:r.value},null,8,b)]),_:1})]),_:1})]),_:1})],64))}});export{w as default}; diff --git a/addons/dashboard/dist/assets/TypographyPage-6333374a.js b/addons/dashboard/dist/assets/TypographyPage-ec6a8f68.js similarity index 94% rename from addons/dashboard/dist/assets/TypographyPage-6333374a.js rename to addons/dashboard/dist/assets/TypographyPage-ec6a8f68.js index a3ddb1b89..3622d085a 100644 --- a/addons/dashboard/dist/assets/TypographyPage-6333374a.js +++ b/addons/dashboard/dist/assets/TypographyPage-ec6a8f68.js @@ -1 +1 @@ -import{_ as m}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js";import{_ as v}from"./UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js";import{x as f,o as i,c as g,w as e,a,a6 as y,K as b,e as w,t as d,A as C,L as V,a7 as L,J as _,D as o,s as h,f as k,b as t,F as x,u as B,U as H,V as T}from"./index-70ea897e.js";const s=f({__name:"UiChildCard",props:{title:String},setup(r){const l=r;return(n,c)=>(i(),g(_,{variant:"outlined"},{default:e(()=>[a(y,{class:"py-3"},{default:e(()=>[a(b,{class:"text-h5"},{default:e(()=>[w(d(l.title),1)]),_:1})]),_:1}),a(C),a(V,null,{default:e(()=>[L(n.$slots,"default")]),_:3})]),_:3}))}}),D={class:"d-flex flex-column gap-1"},S={class:"text-caption pa-2 bg-lightprimary"},z=t("div",{class:"text-grey"},"Class",-1),N={class:"font-weight-medium"},U=t("div",null,[t("p",{class:"text-left"},"Left aligned on all viewport sizes."),t("p",{class:"text-center"},"Center aligned on all viewport sizes."),t("p",{class:"text-right"},"Right aligned on all viewport sizes."),t("p",{class:"text-sm-left"},"Left aligned on viewports SM (small) or wider."),t("p",{class:"text-right text-md-left"},"Left aligned on viewports MD (medium) or wider."),t("p",{class:"text-right text-lg-left"},"Left aligned on viewports LG (large) or wider."),t("p",{class:"text-right text-xl-left"},"Left aligned on viewports XL (extra-large) or wider.")],-1),$=t("div",{class:"d-flex justify-space-between flex-row"},[t("a",{href:"#",class:"text-decoration-none"},"Non-underlined link"),t("div",{class:"text-decoration-line-through"},"Line-through text"),t("div",{class:"text-decoration-overline"},"Overline text"),t("div",{class:"text-decoration-underline"},"Underline text")],-1),M=t("div",null,[t("p",{class:"text-high-emphasis"},"High-emphasis has an opacity of 87% in light theme and 100% in dark."),t("p",{class:"text-medium-emphasis"},"Medium-emphasis text and hint text have opacities of 60% in light theme and 70% in dark."),t("p",{class:"text-disabled"},"Disabled text has an opacity of 38% in light theme and 50% in dark.")],-1),A=f({__name:"TypographyPage",setup(r){const l=o({title:"Typography Page"}),n=o([["Heading 1","text-h1"],["Heading 2","text-h2"],["Heading 3","text-h3"],["Heading 4","text-h4"],["Heading 5","text-h5"],["Heading 6","text-h6"],["Subtitle 1","text-subtitle-1"],["Subtitle 2","text-subtitle-2"],["Body 1","text-body-1"],["Body 2","text-body-2"],["Button","text-button"],["Caption","text-caption"],["Overline","text-overline"]]),c=o([{title:"Utilities",disabled:!1,href:"#"},{title:"Typography",disabled:!0,href:"#"}]);return(O,F)=>(i(),h(x,null,[a(m,{title:l.value.title,breadcrumbs:c.value},null,8,["title","breadcrumbs"]),a(T,null,{default:e(()=>[a(k,{cols:"12",md:"12"},{default:e(()=>[a(v,{title:"Basic Typography"},{default:e(()=>[a(s,{title:"Heading"},{default:e(()=>[t("div",D,[(i(!0),h(x,null,B(n.value,([p,u])=>(i(),g(_,{variant:"outlined",key:p,class:"my-4"},{default:e(()=>[t("div",{class:H([u,"pa-2"])},d(p),3),t("div",S,[z,t("div",N,d(u),1)])]),_:2},1024))),128))])]),_:1}),a(s,{title:"Text-alignment",class:"mt-8"},{default:e(()=>[U]),_:1}),a(s,{title:"Decoration",class:"mt-8"},{default:e(()=>[$]),_:1}),a(s,{title:"Opacity",class:"mt-8"},{default:e(()=>[M]),_:1})]),_:1})]),_:1})]),_:1})],64))}});export{A as default}; +import{_ as m}from"./BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js";import{_ as v}from"./UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js";import{x as f,o as i,c as g,w as e,a,a6 as y,K as b,e as w,t as d,A as C,L as V,a7 as L,J as _,D as o,s as h,f as k,b as t,F as x,u as B,U as H,V as T}from"./index-0719535f.js";const s=f({__name:"UiChildCard",props:{title:String},setup(r){const l=r;return(n,c)=>(i(),g(_,{variant:"outlined"},{default:e(()=>[a(y,{class:"py-3"},{default:e(()=>[a(b,{class:"text-h5"},{default:e(()=>[w(d(l.title),1)]),_:1})]),_:1}),a(C),a(V,null,{default:e(()=>[L(n.$slots,"default")]),_:3})]),_:3}))}}),D={class:"d-flex flex-column gap-1"},S={class:"text-caption pa-2 bg-lightprimary"},z=t("div",{class:"text-grey"},"Class",-1),N={class:"font-weight-medium"},U=t("div",null,[t("p",{class:"text-left"},"Left aligned on all viewport sizes."),t("p",{class:"text-center"},"Center aligned on all viewport sizes."),t("p",{class:"text-right"},"Right aligned on all viewport sizes."),t("p",{class:"text-sm-left"},"Left aligned on viewports SM (small) or wider."),t("p",{class:"text-right text-md-left"},"Left aligned on viewports MD (medium) or wider."),t("p",{class:"text-right text-lg-left"},"Left aligned on viewports LG (large) or wider."),t("p",{class:"text-right text-xl-left"},"Left aligned on viewports XL (extra-large) or wider.")],-1),$=t("div",{class:"d-flex justify-space-between flex-row"},[t("a",{href:"#",class:"text-decoration-none"},"Non-underlined link"),t("div",{class:"text-decoration-line-through"},"Line-through text"),t("div",{class:"text-decoration-overline"},"Overline text"),t("div",{class:"text-decoration-underline"},"Underline text")],-1),M=t("div",null,[t("p",{class:"text-high-emphasis"},"High-emphasis has an opacity of 87% in light theme and 100% in dark."),t("p",{class:"text-medium-emphasis"},"Medium-emphasis text and hint text have opacities of 60% in light theme and 70% in dark."),t("p",{class:"text-disabled"},"Disabled text has an opacity of 38% in light theme and 50% in dark.")],-1),A=f({__name:"TypographyPage",setup(r){const l=o({title:"Typography Page"}),n=o([["Heading 1","text-h1"],["Heading 2","text-h2"],["Heading 3","text-h3"],["Heading 4","text-h4"],["Heading 5","text-h5"],["Heading 6","text-h6"],["Subtitle 1","text-subtitle-1"],["Subtitle 2","text-subtitle-2"],["Body 1","text-body-1"],["Body 2","text-body-2"],["Button","text-button"],["Caption","text-caption"],["Overline","text-overline"]]),c=o([{title:"Utilities",disabled:!1,href:"#"},{title:"Typography",disabled:!0,href:"#"}]);return(O,F)=>(i(),h(x,null,[a(m,{title:l.value.title,breadcrumbs:c.value},null,8,["title","breadcrumbs"]),a(T,null,{default:e(()=>[a(k,{cols:"12",md:"12"},{default:e(()=>[a(v,{title:"Basic Typography"},{default:e(()=>[a(s,{title:"Heading"},{default:e(()=>[t("div",D,[(i(!0),h(x,null,B(n.value,([p,u])=>(i(),g(_,{variant:"outlined",key:p,class:"my-4"},{default:e(()=>[t("div",{class:H([u,"pa-2"])},d(p),3),t("div",S,[z,t("div",N,d(u),1)])]),_:2},1024))),128))])]),_:1}),a(s,{title:"Text-alignment",class:"mt-8"},{default:e(()=>[U]),_:1}),a(s,{title:"Decoration",class:"mt-8"},{default:e(()=>[$]),_:1}),a(s,{title:"Opacity",class:"mt-8"},{default:e(()=>[M]),_:1})]),_:1})]),_:1})]),_:1})],64))}});export{A as default}; diff --git a/addons/dashboard/dist/assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js b/addons/dashboard/dist/assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js similarity index 88% rename from addons/dashboard/dist/assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js rename to addons/dashboard/dist/assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js index c37571772..c73840e72 100644 --- a/addons/dashboard/dist/assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js +++ b/addons/dashboard/dist/assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js @@ -1 +1 @@ -import{x as n,o,c as i,w as e,a,a6 as d,b as c,K as u,e as p,t as _,a7 as s,A as f,L as V,J as m}from"./index-70ea897e.js";const C={class:"d-sm-flex align-center justify-space-between"},h=n({__name:"UiParentCard",props:{title:String},setup(l){const r=l;return(t,x)=>(o(),i(m,{variant:"outlined",elevation:"0",class:"withbg"},{default:e(()=>[a(d,null,{default:e(()=>[c("div",C,[a(u,null,{default:e(()=>[p(_(r.title),1)]),_:1}),s(t.$slots,"action")])]),_:3}),a(f),a(V,null,{default:e(()=>[s(t.$slots,"default")]),_:3})]),_:3}))}});export{h as _}; +import{x as n,o,c as i,w as e,a,a6 as d,b as c,K as u,e as p,t as _,a7 as s,A as f,L as V,J as m}from"./index-0719535f.js";const C={class:"d-sm-flex align-center justify-space-between"},h=n({__name:"UiParentCard",props:{title:String},setup(l){const r=l;return(t,x)=>(o(),i(m,{variant:"outlined",elevation:"0",class:"withbg"},{default:e(()=>[a(d,null,{default:e(()=>[c("div",C,[a(u,null,{default:e(()=>[p(_(r.title),1)]),_:1}),s(t.$slots,"action")])]),_:3}),a(f),a(V,null,{default:e(()=>[s(t.$slots,"default")]),_:3})]),_:3}))}});export{h as _}; diff --git a/addons/dashboard/dist/assets/index-70ea897e.js b/addons/dashboard/dist/assets/index-0719535f.js similarity index 99% rename from addons/dashboard/dist/assets/index-70ea897e.js rename to addons/dashboard/dist/assets/index-0719535f.js index 01b0f6e0f..68c30654e 100644 --- a/addons/dashboard/dist/assets/index-70ea897e.js +++ b/addons/dashboard/dist/assets/index-0719535f.js @@ -6,11 +6,11 @@ * vue-router v4.2.4 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const Wr=typeof window<"u";function t5(n){return n.__esModule||n[Symbol.toStringTag]==="Module"}const fe=Object.assign;function Li(n,l){const r={};for(const h in l){const c=l[h];r[h]=Kn(c)?c.map(n):n(c)}return r}const Wo=()=>{},Kn=Array.isArray,e5=/\/$/,n5=n=>n.replace(e5,"");function Di(n,l,r="/"){let h,c={},g="",v="";const k=l.indexOf("#");let x=l.indexOf("?");return k=0&&(x=-1),x>-1&&(h=l.slice(0,x),g=l.slice(x+1,k>-1?k:l.length),c=n(g)),k>-1&&(h=h||l.slice(0,k),v=l.slice(k,l.length)),h=s5(h??l,r),{fullPath:h+(g&&"?")+g+v,path:h,query:c,hash:v}}function l5(n,l){const r=l.query?n(l.query):"";return l.path+(r&&"?")+r+(l.hash||"")}function A1(n,l){return!l||!n.toLowerCase().startsWith(l.toLowerCase())?n:n.slice(l.length)||"/"}function r5(n,l,r){const h=l.matched.length-1,c=r.matched.length-1;return h>-1&&h===c&&eo(l.matched[h],r.matched[c])&&qu(l.params,r.params)&&n(l.query)===n(r.query)&&l.hash===r.hash}function eo(n,l){return(n.aliasOf||n)===(l.aliasOf||l)}function qu(n,l){if(Object.keys(n).length!==Object.keys(l).length)return!1;for(const r in n)if(!o5(n[r],l[r]))return!1;return!0}function o5(n,l){return Kn(n)?B1(n,l):Kn(l)?B1(l,n):n===l}function B1(n,l){return Kn(l)?n.length===l.length&&n.every((r,h)=>r===l[h]):n.length===1&&n[0]===l}function s5(n,l){if(n.startsWith("/"))return n;if(!n)return l;const r=l.split("/"),h=n.split("/"),c=h[h.length-1];(c===".."||c===".")&&h.push("");let g=r.length-1,v,k;for(v=0;v1&&g--;else break;return r.slice(0,g).join("/")+"/"+h.slice(v-(v===h.length?1:0)).join("/")}var rs;(function(n){n.pop="pop",n.push="push"})(rs||(rs={}));var Xo;(function(n){n.back="back",n.forward="forward",n.unknown=""})(Xo||(Xo={}));function a5(n){if(!n)if(Wr){const l=document.querySelector("base");n=l&&l.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),n5(n)}const i5=/^[^#]+#/;function h5(n,l){return n.replace(i5,"#")+l}function d5(n,l){const r=document.documentElement.getBoundingClientRect(),h=n.getBoundingClientRect();return{behavior:l.behavior,left:h.left-r.left-(l.left||0),top:h.top-r.top-(l.top||0)}}const Ga=()=>({left:window.pageXOffset,top:window.pageYOffset});function c5(n){let l;if("el"in n){const r=n.el,h=typeof r=="string"&&r.startsWith("#"),c=typeof r=="string"?h?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!c)return;l=d5(c,n)}else l=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(l):window.scrollTo(l.left!=null?l.left:window.pageXOffset,l.top!=null?l.top:window.pageYOffset)}function H1(n,l){return(history.state?history.state.position-l:-1)+n}const x0=new Map;function u5(n,l){x0.set(n,l)}function p5(n){const l=x0.get(n);return x0.delete(n),l}let g5=()=>location.protocol+"//"+location.host;function Yu(n,l){const{pathname:r,search:h,hash:c}=l,g=n.indexOf("#");if(g>-1){let k=c.includes(n.slice(g))?n.slice(g).length:1,x=c.slice(k);return x[0]!=="/"&&(x="/"+x),A1(x,"")}return A1(r,n)+h+c}function w5(n,l,r,h){let c=[],g=[],v=null;const k=({state:B})=>{const P=Yu(n,location),D=r.value,F=l.value;let X=0;if(B){if(r.value=P,l.value=B,v&&v===D){v=null;return}X=F?B.position-F.position:0}else h(P);c.forEach(R=>{R(r.value,D,{delta:X,type:rs.pop,direction:X?X>0?Xo.forward:Xo.back:Xo.unknown})})};function x(){v=r.value}function I(B){c.push(B);const P=()=>{const D=c.indexOf(B);D>-1&&c.splice(D,1)};return g.push(P),P}function S(){const{history:B}=window;B.state&&B.replaceState(fe({},B.state,{scroll:Ga()}),"")}function $(){for(const B of g)B();g=[],window.removeEventListener("popstate",k),window.removeEventListener("beforeunload",S)}return window.addEventListener("popstate",k),window.addEventListener("beforeunload",S,{passive:!0}),{pauseListeners:x,listen:I,destroy:$}}function N1(n,l,r,h=!1,c=!1){return{back:n,current:l,forward:r,replaced:h,position:window.history.length,scroll:c?Ga():null}}function v5(n){const{history:l,location:r}=window,h={value:Yu(n,r)},c={value:l.state};c.value||g(h.value,{back:null,current:h.value,forward:null,position:l.length-1,replaced:!0,scroll:null},!0);function g(x,I,S){const $=n.indexOf("#"),B=$>-1?(r.host&&document.querySelector("base")?n:n.slice($))+x:g5()+n+x;try{l[S?"replaceState":"pushState"](I,"",B),c.value=I}catch(P){console.error(P),r[S?"replace":"assign"](B)}}function v(x,I){const S=fe({},l.state,N1(c.value.back,x,c.value.forward,!0),I,{position:c.value.position});g(x,S,!0),h.value=x}function k(x,I){const S=fe({},c.value,l.state,{forward:x,scroll:Ga()});g(S.current,S,!0);const $=fe({},N1(h.value,x,null),{position:S.position+1},I);g(x,$,!1),h.value=x}return{location:h,state:c,push:k,replace:v}}function f5(n){n=a5(n);const l=v5(n),r=w5(n,l.state,l.location,l.replace);function h(g,v=!0){v||r.pauseListeners(),history.go(g)}const c=fe({location:"",base:n,go:h,createHref:h5.bind(null,n)},l,r);return Object.defineProperty(c,"location",{enumerable:!0,get:()=>l.location.value}),Object.defineProperty(c,"state",{enumerable:!0,get:()=>l.state.value}),c}function m5(n){return typeof n=="string"||n&&typeof n=="object"}function Uu(n){return typeof n=="string"||typeof n=="symbol"}const Pl={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Gu=Symbol("");var j1;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(j1||(j1={}));function no(n,l){return fe(new Error,{type:n,[Gu]:!0},l)}function dl(n,l){return n instanceof Error&&Gu in n&&(l==null||!!(n.type&l))}const P1="[^/]+?",k5={sensitive:!1,strict:!1,start:!0,end:!0},b5=/[.+*?^${}()[\]/\\]/g;function M5(n,l){const r=fe({},k5,l),h=[];let c=r.start?"^":"";const g=[];for(const I of n){const S=I.length?[]:[90];r.strict&&!I.length&&(c+="/");for(let $=0;$l.length?l.length===1&&l[0]===40+40?1:-1:0}function z5(n,l){let r=0;const h=n.score,c=l.score;for(;r0&&l[l.length-1]<0}const I5={type:0,value:""},y5=/[a-zA-Z0-9_]/;function C5(n){if(!n)return[[]];if(n==="/")return[[I5]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function l(P){throw new Error(`ERR (${r})/"${I}": ${P}`)}let r=0,h=r;const c=[];let g;function v(){g&&c.push(g),g=[]}let k=0,x,I="",S="";function $(){I&&(r===0?g.push({type:0,value:I}):r===1||r===2||r===3?(g.length>1&&(x==="*"||x==="+")&&l(`A repeatable param (${I}) must be alone in its segment. eg: '/:ids+.`),g.push({type:1,value:I,regexp:S,repeatable:x==="*"||x==="+",optional:x==="*"||x==="?"})):l("Invalid state to consume buffer"),I="")}function B(){I+=x}for(;k{v(H)}:Wo}function v(S){if(Uu(S)){const $=h.get(S);$&&(h.delete(S),r.splice(r.indexOf($),1),$.children.forEach(v),$.alias.forEach(v))}else{const $=r.indexOf(S);$>-1&&(r.splice($,1),S.record.name&&h.delete(S.record.name),S.children.forEach(v),S.alias.forEach(v))}}function k(){return r}function x(S){let $=0;for(;$=0&&(S.record.path!==r[$].record.path||!Zu(S,r[$]));)$++;r.splice($,0,S),S.record.name&&!O1(S)&&h.set(S.record.name,S)}function I(S,$){let B,P={},D,F;if("name"in S&&S.name){if(B=h.get(S.name),!B)throw no(1,{location:S});F=B.record.name,P=fe(D1($.params,B.keys.filter(H=>!H.optional).map(H=>H.name)),S.params&&D1(S.params,B.keys.map(H=>H.name))),D=B.stringify(P)}else if("path"in S)D=S.path,B=r.find(H=>H.re.test(D)),B&&(P=B.parse(D),F=B.record.name);else{if(B=$.name?h.get($.name):r.find(H=>H.re.test($.path)),!B)throw no(1,{location:S,currentLocation:$});F=B.record.name,P=fe({},$.params,S.params),D=B.stringify(P)}const X=[];let R=B;for(;R;)X.unshift(R.record),R=R.parent;return{name:F,path:D,params:P,matched:X,meta:H5(X)}}return n.forEach(S=>g(S)),{addRoute:g,resolve:I,removeRoute:v,getRoutes:k,getRecordMatcher:c}}function D1(n,l){const r={};for(const h of l)h in n&&(r[h]=n[h]);return r}function A5(n){return{path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:void 0,beforeEnter:n.beforeEnter,props:B5(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}}}function B5(n){const l={},r=n.props||!1;if("component"in n)l.default=r;else for(const h in n.components)l[h]=typeof r=="object"?r[h]:r;return l}function O1(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function H5(n){return n.reduce((l,r)=>fe(l,r.meta),{})}function F1(n,l){const r={};for(const h in n)r[h]=h in l?l[h]:n[h];return r}function Zu(n,l){return l.children.some(r=>r===n||Zu(n,r))}const Ku=/#/g,N5=/&/g,j5=/\//g,P5=/=/g,L5=/\?/g,Qu=/\+/g,D5=/%5B/g,O5=/%5D/g,Ju=/%5E/g,F5=/%60/g,tp=/%7B/g,R5=/%7C/g,ep=/%7D/g,T5=/%20/g;function Xh(n){return encodeURI(""+n).replace(R5,"|").replace(D5,"[").replace(O5,"]")}function E5(n){return Xh(n).replace(tp,"{").replace(ep,"}").replace(Ju,"^")}function z0(n){return Xh(n).replace(Qu,"%2B").replace(T5,"+").replace(Ku,"%23").replace(N5,"%26").replace(F5,"`").replace(tp,"{").replace(ep,"}").replace(Ju,"^")}function V5(n){return z0(n).replace(P5,"%3D")}function _5(n){return Xh(n).replace(Ku,"%23").replace(L5,"%3F")}function W5(n){return n==null?"":_5(n).replace(j5,"%2F")}function wa(n){try{return decodeURIComponent(""+n)}catch{}return""+n}function X5(n){const l={};if(n===""||n==="?")return l;const h=(n[0]==="?"?n.slice(1):n).split("&");for(let c=0;cg&&z0(g)):[h&&z0(h)]).forEach(g=>{g!==void 0&&(l+=(l.length?"&":"")+r,g!=null&&(l+="="+g))})}return l}function q5(n){const l={};for(const r in n){const h=n[r];h!==void 0&&(l[r]=Kn(h)?h.map(c=>c==null?null:""+c):h==null?h:""+h)}return l}const Y5=Symbol(""),T1=Symbol(""),qh=Symbol(""),np=Symbol(""),I0=Symbol("");function $o(){let n=[];function l(h){return n.push(h),()=>{const c=n.indexOf(h);c>-1&&n.splice(c,1)}}function r(){n=[]}return{add:l,list:()=>n.slice(),reset:r}}function Rl(n,l,r,h,c){const g=h&&(h.enterCallbacks[c]=h.enterCallbacks[c]||[]);return()=>new Promise((v,k)=>{const x=$=>{$===!1?k(no(4,{from:r,to:l})):$ instanceof Error?k($):m5($)?k(no(2,{from:l,to:$})):(g&&h.enterCallbacks[c]===g&&typeof $=="function"&&g.push($),v())},I=n.call(h&&h.instances[c],l,r,x);let S=Promise.resolve(I);n.length<3&&(S=S.then(x)),S.catch($=>k($))})}function Oi(n,l,r,h){const c=[];for(const g of n)for(const v in g.components){let k=g.components[v];if(!(l!=="beforeRouteEnter"&&!g.instances[v]))if(U5(k)){const I=(k.__vccOpts||k)[l];I&&c.push(Rl(I,r,h,g,v))}else{let x=k();c.push(()=>x.then(I=>{if(!I)return Promise.reject(new Error(`Couldn't resolve component "${v}" at "${g.path}"`));const S=t5(I)?I.default:I;g.components[v]=S;const B=(S.__vccOpts||S)[l];return B&&Rl(B,r,h,g,v)()}))}}return c}function U5(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function E1(n){const l=de(qh),r=de(np),h=q(()=>l.resolve(je(n.to))),c=q(()=>{const{matched:x}=h.value,{length:I}=x,S=x[I-1],$=r.matched;if(!S||!$.length)return-1;const B=$.findIndex(eo.bind(null,S));if(B>-1)return B;const P=V1(x[I-2]);return I>1&&V1(S)===P&&$[$.length-1].path!==P?$.findIndex(eo.bind(null,x[I-2])):B}),g=q(()=>c.value>-1&&Q5(r.params,h.value.params)),v=q(()=>c.value>-1&&c.value===r.matched.length-1&&qu(r.params,h.value.params));function k(x={}){return K5(x)?l[je(n.replace)?"replace":"push"](je(n.to)).catch(Wo):Promise.resolve()}return{route:h,href:q(()=>h.value.href),isActive:g,isExactActive:v,navigate:k}}const G5=Cr({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:E1,setup(n,{slots:l}){const r=Ze(E1(n)),{options:h}=de(qh),c=q(()=>({[_1(n.activeClass,h.linkActiveClass,"router-link-active")]:r.isActive,[_1(n.exactActiveClass,h.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const g=l.default&&l.default(r);return n.custom?g:Ln("a",{"aria-current":r.isExactActive?n.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:c.value},g)}}}),Z5=G5;function K5(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const l=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(l))return}return n.preventDefault&&n.preventDefault(),!0}}function Q5(n,l){for(const r in l){const h=l[r],c=n[r];if(typeof h=="string"){if(h!==c)return!1}else if(!Kn(c)||c.length!==h.length||h.some((g,v)=>g!==c[v]))return!1}return!0}function V1(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const _1=(n,l,r)=>n??l??r,J5=Cr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:l,slots:r}){const h=de(I0),c=q(()=>n.route||h.value),g=de(T1,0),v=q(()=>{let I=je(g);const{matched:S}=c.value;let $;for(;($=S[I])&&!$.components;)I++;return I}),k=q(()=>c.value.matched[v.value]);Se(T1,q(()=>v.value+1)),Se(Y5,k),Se(I0,c);const x=Lt();return _t(()=>[x.value,k.value,n.name],([I,S,$],[B,P,D])=>{S&&(S.instances[$]=I,P&&P!==S&&I&&I===B&&(S.leaveGuards.size||(S.leaveGuards=P.leaveGuards),S.updateGuards.size||(S.updateGuards=P.updateGuards))),I&&S&&(!P||!eo(S,P)||!B)&&(S.enterCallbacks[$]||[]).forEach(F=>F(I))},{flush:"post"}),()=>{const I=c.value,S=n.name,$=k.value,B=$&&$.components[S];if(!B)return W1(r.default,{Component:B,route:I});const P=$.props[S],D=P?P===!0?I.params:typeof P=="function"?P(I):P:null,X=Ln(B,fe({},D,l,{onVnodeUnmounted:R=>{R.component.isUnmounted&&($.instances[S]=null)},ref:x}));return W1(r.default,{Component:X,route:I})||X}}});function W1(n,l){if(!n)return null;const r=n(l);return r.length===1?r[0]:r}const lp=J5;function tm(n){const l=$5(n.routes,n),r=n.parseQuery||X5,h=n.stringifyQuery||R1,c=n.history,g=$o(),v=$o(),k=$o(),x=Wt(Pl);let I=Pl;Wr&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const S=Li.bind(null,pt=>""+pt),$=Li.bind(null,W5),B=Li.bind(null,wa);function P(pt,Nt){let jt,bt;return Uu(pt)?(jt=l.getRecordMatcher(pt),bt=Nt):bt=pt,l.addRoute(bt,jt)}function D(pt){const Nt=l.getRecordMatcher(pt);Nt&&l.removeRoute(Nt)}function F(){return l.getRoutes().map(pt=>pt.record)}function X(pt){return!!l.getRecordMatcher(pt)}function R(pt,Nt){if(Nt=fe({},Nt||x.value),typeof pt=="string"){const at=Di(r,pt,Nt.path),ct=l.resolve({path:at.path},Nt),kt=c.createHref(at.fullPath);return fe(at,ct,{params:B(ct.params),hash:wa(at.hash),redirectedFrom:void 0,href:kt})}let jt;if("path"in pt)jt=fe({},pt,{path:Di(r,pt.path,Nt.path).path});else{const at=fe({},pt.params);for(const ct in at)at[ct]==null&&delete at[ct];jt=fe({},pt,{params:$(at)}),Nt.params=$(Nt.params)}const bt=l.resolve(jt,Nt),ft=pt.hash||"";bt.params=S(B(bt.params));const J=l5(h,fe({},pt,{hash:E5(ft),path:bt.path})),lt=c.createHref(J);return fe({fullPath:J,hash:ft,query:h===R1?q5(pt.query):pt.query||{}},bt,{redirectedFrom:void 0,href:lt})}function H(pt){return typeof pt=="string"?Di(r,pt,x.value.path):fe({},pt)}function U(pt,Nt){if(I!==pt)return no(8,{from:Nt,to:pt})}function W(pt){return nt(pt)}function _(pt){return W(fe(H(pt),{replace:!0}))}function tt(pt){const Nt=pt.matched[pt.matched.length-1];if(Nt&&Nt.redirect){const{redirect:jt}=Nt;let bt=typeof jt=="function"?jt(pt):jt;return typeof bt=="string"&&(bt=bt.includes("?")||bt.includes("#")?bt=H(bt):{path:bt},bt.params={}),fe({query:pt.query,hash:pt.hash,params:"path"in bt?{}:pt.params},bt)}}function nt(pt,Nt){const jt=I=R(pt),bt=x.value,ft=pt.state,J=pt.force,lt=pt.replace===!0,at=tt(jt);if(at)return nt(fe(H(at),{state:typeof at=="object"?fe({},ft,at.state):ft,force:J,replace:lt}),Nt||jt);const ct=jt;ct.redirectedFrom=Nt;let kt;return!J&&r5(h,bt,jt)&&(kt=no(16,{to:ct,from:bt}),Tt(bt,bt,!0,!1)),(kt?Promise.resolve(kt):et(ct,bt)).catch(yt=>dl(yt)?dl(yt,2)?yt:At(yt):gt(yt,ct,bt)).then(yt=>{if(yt){if(dl(yt,2))return nt(fe({replace:lt},H(yt.to),{state:typeof yt.to=="object"?fe({},ft,yt.to.state):ft,force:J}),Nt||ct)}else yt=rt(ct,bt,!0,lt,ft);return st(ct,bt,yt),yt})}function Y(pt,Nt){const jt=U(pt,Nt);return jt?Promise.reject(jt):Promise.resolve()}function G(pt){const Nt=Jt.values().next().value;return Nt&&typeof Nt.runWithContext=="function"?Nt.runWithContext(pt):pt()}function et(pt,Nt){let jt;const[bt,ft,J]=em(pt,Nt);jt=Oi(bt.reverse(),"beforeRouteLeave",pt,Nt);for(const at of bt)at.leaveGuards.forEach(ct=>{jt.push(Rl(ct,pt,Nt))});const lt=Y.bind(null,pt,Nt);return jt.push(lt),ut(jt).then(()=>{jt=[];for(const at of g.list())jt.push(Rl(at,pt,Nt));return jt.push(lt),ut(jt)}).then(()=>{jt=Oi(ft,"beforeRouteUpdate",pt,Nt);for(const at of ft)at.updateGuards.forEach(ct=>{jt.push(Rl(ct,pt,Nt))});return jt.push(lt),ut(jt)}).then(()=>{jt=[];for(const at of J)if(at.beforeEnter)if(Kn(at.beforeEnter))for(const ct of at.beforeEnter)jt.push(Rl(ct,pt,Nt));else jt.push(Rl(at.beforeEnter,pt,Nt));return jt.push(lt),ut(jt)}).then(()=>(pt.matched.forEach(at=>at.enterCallbacks={}),jt=Oi(J,"beforeRouteEnter",pt,Nt),jt.push(lt),ut(jt))).then(()=>{jt=[];for(const at of v.list())jt.push(Rl(at,pt,Nt));return jt.push(lt),ut(jt)}).catch(at=>dl(at,8)?at:Promise.reject(at))}function st(pt,Nt,jt){k.list().forEach(bt=>G(()=>bt(pt,Nt,jt)))}function rt(pt,Nt,jt,bt,ft){const J=U(pt,Nt);if(J)return J;const lt=Nt===Pl,at=Wr?history.state:{};jt&&(bt||lt?c.replace(pt.fullPath,fe({scroll:lt&&at&&at.scroll},ft)):c.push(pt.fullPath,ft)),x.value=pt,Tt(pt,Nt,jt,lt),At()}let ht;function dt(){ht||(ht=c.listen((pt,Nt,jt)=>{if(!Et.listening)return;const bt=R(pt),ft=tt(bt);if(ft){nt(fe(ft,{replace:!0}),bt).catch(Wo);return}I=bt;const J=x.value;Wr&&u5(H1(J.fullPath,jt.delta),Ga()),et(bt,J).catch(lt=>dl(lt,12)?lt:dl(lt,2)?(nt(lt.to,bt).then(at=>{dl(at,20)&&!jt.delta&&jt.type===rs.pop&&c.go(-1,!1)}).catch(Wo),Promise.reject()):(jt.delta&&c.go(-jt.delta,!1),gt(lt,bt,J))).then(lt=>{lt=lt||rt(bt,J,!1),lt&&(jt.delta&&!dl(lt,8)?c.go(-jt.delta,!1):jt.type===rs.pop&&dl(lt,20)&&c.go(-1,!1)),st(bt,J,lt)}).catch(Wo)}))}let Ct=$o(),xt=$o(),wt;function gt(pt,Nt,jt){At(pt);const bt=xt.list();return bt.length?bt.forEach(ft=>ft(pt,Nt,jt)):console.error(pt),Promise.reject(pt)}function It(){return wt&&x.value!==Pl?Promise.resolve():new Promise((pt,Nt)=>{Ct.add([pt,Nt])})}function At(pt){return wt||(wt=!pt,dt(),Ct.list().forEach(([Nt,jt])=>pt?jt(pt):Nt()),Ct.reset()),pt}function Tt(pt,Nt,jt,bt){const{scrollBehavior:ft}=n;if(!Wr||!ft)return Promise.resolve();const J=!jt&&p5(H1(pt.fullPath,0))||(bt||!jt)&&history.state&&history.state.scroll||null;return we().then(()=>ft(pt,Nt,J)).then(lt=>lt&&c5(lt)).catch(lt=>gt(lt,pt,Nt))}const Ft=pt=>c.go(pt);let Qt;const Jt=new Set,Et={currentRoute:x,listening:!0,addRoute:P,removeRoute:D,hasRoute:X,getRoutes:F,resolve:R,options:n,push:W,replace:_,go:Ft,back:()=>Ft(-1),forward:()=>Ft(1),beforeEach:g.add,beforeResolve:v.add,afterEach:k.add,onError:xt.add,isReady:It,install(pt){const Nt=this;pt.component("RouterLink",Z5),pt.component("RouterView",lp),pt.config.globalProperties.$router=Nt,Object.defineProperty(pt.config.globalProperties,"$route",{enumerable:!0,get:()=>je(x)}),Wr&&!Qt&&x.value===Pl&&(Qt=!0,W(c.location).catch(ft=>{}));const jt={};for(const ft in Pl)Object.defineProperty(jt,ft,{get:()=>x.value[ft],enumerable:!0});pt.provide(qh,Nt),pt.provide(np,fh(jt)),pt.provide(I0,x);const bt=pt.unmount;Jt.add(pt),pt.unmount=function(){Jt.delete(pt),Jt.size<1&&(I=Pl,ht&&ht(),ht=null,x.value=Pl,Qt=!1,wt=!1),bt()}}};function ut(pt){return pt.reduce((Nt,jt)=>Nt.then(()=>G(jt)),Promise.resolve())}return Et}function em(n,l){const r=[],h=[],c=[],g=Math.max(l.matched.length,n.matched.length);for(let v=0;veo(I,k))?h.push(k):r.push(k));const x=n.matched[v];x&&(l.matched.find(I=>eo(I,x))||c.push(x))}return[r,h,c]}const nm=Cr({__name:"App",setup(n){return(l,r)=>(xs(),_a(je(lp)))}}),lm="modulepreload",rm=function(n){return"/"+n},X1={},en=function(l,r,h){if(!r||r.length===0)return l();const c=document.getElementsByTagName("link");return Promise.all(r.map(g=>{if(g=rm(g),g in X1)return;X1[g]=!0;const v=g.endsWith(".css"),k=v?'[rel="stylesheet"]':"";if(!!h)for(let S=c.length-1;S>=0;S--){const $=c[S];if($.href===g&&(!v||$.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${g}"]${k}`))return;const I=document.createElement("link");if(I.rel=v?"stylesheet":lm,v||(I.as="script",I.crossOrigin=""),I.href=g,document.head.appendChild(I),v)return new Promise((S,$)=>{I.addEventListener("load",S),I.addEventListener("error",()=>$(new Error(`Unable to preload CSS for ${g}`)))})})).then(()=>l()).catch(g=>{const v=new Event("vite:preloadError",{cancelable:!0});if(v.payload=g,window.dispatchEvent(v),!v.defaultPrevented)throw g})},om={path:"/main",meta:{requiresAuth:!0},redirect:"/main/dashboard/default",component:()=>en(()=>import("./FullLayout-87ae6183.js"),["assets/FullLayout-87ae6183.js","assets/LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js","assets/md5-6a8a08e9.js"]),children:[{name:"Dashboard",path:"/",component:()=>en(()=>import("./DefaultDashboard-37088788.js"),["assets/DefaultDashboard-37088788.js","assets/_plugin-vue_export-helper-c27b6911.js"])},{name:"Extensions",path:"/extension",component:()=>en(()=>import("./ExtensionPage-de80b39d.js"),[])},{name:"Configs",path:"/config",component:()=>en(()=>import("./ConfigPage-30efc2f6.js"),["assets/ConfigPage-30efc2f6.js","assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js"])},{name:"Default",path:"/dashboard/default",component:()=>en(()=>import("./DefaultDashboard-37088788.js"),["assets/DefaultDashboard-37088788.js","assets/_plugin-vue_export-helper-c27b6911.js"])},{name:"Console",path:"/console",component:()=>en(()=>import("./ConsolePage-4039384d.js"),["assets/ConsolePage-4039384d.js","assets/ConsolePage-ff373be6.css"])},{name:"Tabler Icons",path:"/icons/tabler",component:()=>en(()=>import("./TablerIcons-28b82875.js"),["assets/TablerIcons-28b82875.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js"])},{name:"Material Icons",path:"/icons/material",component:()=>en(()=>import("./MaterialIcons-fc94f725.js"),["assets/MaterialIcons-fc94f725.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js"])},{name:"Typography",path:"/utils/typography",component:()=>en(()=>import("./TypographyPage-6333374a.js"),["assets/TypographyPage-6333374a.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js"])},{name:"Shadows",path:"/utils/shadows",component:()=>en(()=>import("./ShadowPage-00585b3f.js"),["assets/ShadowPage-00585b3f.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js"])},{name:"Colors",path:"/utils/colors",component:()=>en(()=>import("./ColorPage-8c6eccaf.js"),["assets/ColorPage-8c6eccaf.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-79f7dd1a.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-13601505.js"])}]},sm={path:"/auth",component:()=>en(()=>import("./BlankLayout-4f378b43.js"),[]),meta:{requiresAuth:!1},children:[{name:"Login",path:"/auth/login",component:()=>en(()=>import("./LoginPage-5ed4985c.js"),["assets/LoginPage-5ed4985c.js","assets/LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js","assets/md5-6a8a08e9.js","assets/LoginPage-74e85ca7.css"])},{name:"Register",path:"/auth/register",component:()=>en(()=>import("./RegisterPage-f1e91a9c.js"),["assets/RegisterPage-f1e91a9c.js","assets/LogoDark.vue_vue_type_script_setup_true_lang-b8ef80c7.js","assets/RegisterPage-799ed804.css"])},{name:"Error 404",path:"/pages/error",component:()=>en(()=>import("./Error404Page-0951219d.js"),["assets/Error404Page-0951219d.js","assets/_plugin-vue_export-helper-c27b6911.js","assets/Error404Page-11cf087a.css"])}]};function rp(n,l){return function(){return n.apply(l,arguments)}}const{toString:am}=Object.prototype,{getPrototypeOf:Yh}=Object,Za=(n=>l=>{const r=am.call(l);return n[r]||(n[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),il=n=>(n=n.toLowerCase(),l=>Za(l)===n),Ka=n=>l=>typeof l===n,{isArray:po}=Array,os=Ka("undefined");function im(n){return n!==null&&!os(n)&&n.constructor!==null&&!os(n.constructor)&&jn(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const op=il("ArrayBuffer");function hm(n){let l;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?l=ArrayBuffer.isView(n):l=n&&n.buffer&&op(n.buffer),l}const dm=Ka("string"),jn=Ka("function"),sp=Ka("number"),Qa=n=>n!==null&&typeof n=="object",cm=n=>n===!0||n===!1,ra=n=>{if(Za(n)!=="object")return!1;const l=Yh(n);return(l===null||l===Object.prototype||Object.getPrototypeOf(l)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},um=il("Date"),pm=il("File"),gm=il("Blob"),wm=il("FileList"),vm=n=>Qa(n)&&jn(n.pipe),fm=n=>{let l;return n&&(typeof FormData=="function"&&n instanceof FormData||jn(n.append)&&((l=Za(n))==="formdata"||l==="object"&&jn(n.toString)&&n.toString()==="[object FormData]"))},mm=il("URLSearchParams"),km=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ys(n,l,{allOwnKeys:r=!1}={}){if(n===null||typeof n>"u")return;let h,c;if(typeof n!="object"&&(n=[n]),po(n))for(h=0,c=n.length;h0;)if(c=r[h],l===c.toLowerCase())return c;return null}const ip=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),hp=n=>!os(n)&&n!==ip;function y0(){const{caseless:n}=hp(this)&&this||{},l={},r=(h,c)=>{const g=n&&ap(l,c)||c;ra(l[g])&&ra(h)?l[g]=y0(l[g],h):ra(h)?l[g]=y0({},h):po(h)?l[g]=h.slice():l[g]=h};for(let h=0,c=arguments.length;h(ys(l,(c,g)=>{r&&jn(c)?n[g]=rp(c,r):n[g]=c},{allOwnKeys:h}),n),Mm=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),xm=(n,l,r,h)=>{n.prototype=Object.create(l.prototype,h),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:l.prototype}),r&&Object.assign(n.prototype,r)},zm=(n,l,r,h)=>{let c,g,v;const k={};if(l=l||{},n==null)return l;do{for(c=Object.getOwnPropertyNames(n),g=c.length;g-- >0;)v=c[g],(!h||h(v,n,l))&&!k[v]&&(l[v]=n[v],k[v]=!0);n=r!==!1&&Yh(n)}while(n&&(!r||r(n,l))&&n!==Object.prototype);return l},Im=(n,l,r)=>{n=String(n),(r===void 0||r>n.length)&&(r=n.length),r-=l.length;const h=n.indexOf(l,r);return h!==-1&&h===r},ym=n=>{if(!n)return null;if(po(n))return n;let l=n.length;if(!sp(l))return null;const r=new Array(l);for(;l-- >0;)r[l]=n[l];return r},Cm=(n=>l=>n&&l instanceof n)(typeof Uint8Array<"u"&&Yh(Uint8Array)),Sm=(n,l)=>{const h=(n&&n[Symbol.iterator]).call(n);let c;for(;(c=h.next())&&!c.done;){const g=c.value;l.call(n,g[0],g[1])}},$m=(n,l)=>{let r;const h=[];for(;(r=n.exec(l))!==null;)h.push(r);return h},Am=il("HTMLFormElement"),Bm=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,h,c){return h.toUpperCase()+c}),q1=(({hasOwnProperty:n})=>(l,r)=>n.call(l,r))(Object.prototype),Hm=il("RegExp"),dp=(n,l)=>{const r=Object.getOwnPropertyDescriptors(n),h={};ys(r,(c,g)=>{let v;(v=l(c,g,n))!==!1&&(h[g]=v||c)}),Object.defineProperties(n,h)},Nm=n=>{dp(n,(l,r)=>{if(jn(n)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const h=n[r];if(jn(h)){if(l.enumerable=!1,"writable"in l){l.writable=!1;return}l.set||(l.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},jm=(n,l)=>{const r={},h=c=>{c.forEach(g=>{r[g]=!0})};return po(n)?h(n):h(String(n).split(l)),r},Pm=()=>{},Lm=(n,l)=>(n=+n,Number.isFinite(n)?n:l),Fi="abcdefghijklmnopqrstuvwxyz",Y1="0123456789",cp={DIGIT:Y1,ALPHA:Fi,ALPHA_DIGIT:Fi+Fi.toUpperCase()+Y1},Dm=(n=16,l=cp.ALPHA_DIGIT)=>{let r="";const{length:h}=l;for(;n--;)r+=l[Math.random()*h|0];return r};function Om(n){return!!(n&&jn(n.append)&&n[Symbol.toStringTag]==="FormData"&&n[Symbol.iterator])}const Fm=n=>{const l=new Array(10),r=(h,c)=>{if(Qa(h)){if(l.indexOf(h)>=0)return;if(!("toJSON"in h)){l[c]=h;const g=po(h)?[]:{};return ys(h,(v,k)=>{const x=r(v,c+1);!os(x)&&(g[k]=x)}),l[c]=void 0,g}}return h};return r(n,0)},Rm=il("AsyncFunction"),Tm=n=>n&&(Qa(n)||jn(n))&&jn(n.then)&&jn(n.catch),St={isArray:po,isArrayBuffer:op,isBuffer:im,isFormData:fm,isArrayBufferView:hm,isString:dm,isNumber:sp,isBoolean:cm,isObject:Qa,isPlainObject:ra,isUndefined:os,isDate:um,isFile:pm,isBlob:gm,isRegExp:Hm,isFunction:jn,isStream:vm,isURLSearchParams:mm,isTypedArray:Cm,isFileList:wm,forEach:ys,merge:y0,extend:bm,trim:km,stripBOM:Mm,inherits:xm,toFlatObject:zm,kindOf:Za,kindOfTest:il,endsWith:Im,toArray:ym,forEachEntry:Sm,matchAll:$m,isHTMLForm:Am,hasOwnProperty:q1,hasOwnProp:q1,reduceDescriptors:dp,freezeMethods:Nm,toObjectSet:jm,toCamelCase:Bm,noop:Pm,toFiniteNumber:Lm,findKey:ap,global:ip,isContextDefined:hp,ALPHABET:cp,generateString:Dm,isSpecCompliantForm:Om,toJSONObject:Fm,isAsyncFn:Rm,isThenable:Tm};function pe(n,l,r,h,c){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",l&&(this.code=l),r&&(this.config=r),h&&(this.request=h),c&&(this.response=c)}St.inherits(pe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:St.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const up=pe.prototype,pp={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{pp[n]={value:n}});Object.defineProperties(pe,pp);Object.defineProperty(up,"isAxiosError",{value:!0});pe.from=(n,l,r,h,c,g)=>{const v=Object.create(up);return St.toFlatObject(n,v,function(x){return x!==Error.prototype},k=>k!=="isAxiosError"),pe.call(v,n.message,l,r,h,c),v.cause=n,v.name=n.name,g&&Object.assign(v,g),v};const Em=null;function C0(n){return St.isPlainObject(n)||St.isArray(n)}function gp(n){return St.endsWith(n,"[]")?n.slice(0,-2):n}function U1(n,l,r){return n?n.concat(l).map(function(c,g){return c=gp(c),!r&&g?"["+c+"]":c}).join(r?".":""):l}function Vm(n){return St.isArray(n)&&!n.some(C0)}const _m=St.toFlatObject(St,{},null,function(l){return/^is[A-Z]/.test(l)});function Ja(n,l,r){if(!St.isObject(n))throw new TypeError("target must be an object");l=l||new FormData,r=St.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(F,X){return!St.isUndefined(X[F])});const h=r.metaTokens,c=r.visitor||S,g=r.dots,v=r.indexes,x=(r.Blob||typeof Blob<"u"&&Blob)&&St.isSpecCompliantForm(l);if(!St.isFunction(c))throw new TypeError("visitor must be a function");function I(D){if(D===null)return"";if(St.isDate(D))return D.toISOString();if(!x&&St.isBlob(D))throw new pe("Blob is not supported. Use a Buffer instead.");return St.isArrayBuffer(D)||St.isTypedArray(D)?x&&typeof Blob=="function"?new Blob([D]):Buffer.from(D):D}function S(D,F,X){let R=D;if(D&&!X&&typeof D=="object"){if(St.endsWith(F,"{}"))F=h?F:F.slice(0,-2),D=JSON.stringify(D);else if(St.isArray(D)&&Vm(D)||(St.isFileList(D)||St.endsWith(F,"[]"))&&(R=St.toArray(D)))return F=gp(F),R.forEach(function(U,W){!(St.isUndefined(U)||U===null)&&l.append(v===!0?U1([F],W,g):v===null?F:F+"[]",I(U))}),!1}return C0(D)?!0:(l.append(U1(X,F,g),I(D)),!1)}const $=[],B=Object.assign(_m,{defaultVisitor:S,convertValue:I,isVisitable:C0});function P(D,F){if(!St.isUndefined(D)){if($.indexOf(D)!==-1)throw Error("Circular reference detected in "+F.join("."));$.push(D),St.forEach(D,function(R,H){(!(St.isUndefined(R)||R===null)&&c.call(l,R,St.isString(H)?H.trim():H,F,B))===!0&&P(R,F?F.concat(H):[H])}),$.pop()}}if(!St.isObject(n))throw new TypeError("data must be an object");return P(n),l}function G1(n){const l={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(h){return l[h]})}function Uh(n,l){this._pairs=[],n&&Ja(n,this,l)}const wp=Uh.prototype;wp.append=function(l,r){this._pairs.push([l,r])};wp.toString=function(l){const r=l?function(h){return l.call(this,h,G1)}:G1;return this._pairs.map(function(c){return r(c[0])+"="+r(c[1])},"").join("&")};function Wm(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function vp(n,l,r){if(!l)return n;const h=r&&r.encode||Wm,c=r&&r.serialize;let g;if(c?g=c(l,r):g=St.isURLSearchParams(l)?l.toString():new Uh(l,r).toString(h),g){const v=n.indexOf("#");v!==-1&&(n=n.slice(0,v)),n+=(n.indexOf("?")===-1?"?":"&")+g}return n}class Xm{constructor(){this.handlers=[]}use(l,r,h){return this.handlers.push({fulfilled:l,rejected:r,synchronous:h?h.synchronous:!1,runWhen:h?h.runWhen:null}),this.handlers.length-1}eject(l){this.handlers[l]&&(this.handlers[l]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(l){St.forEach(this.handlers,function(h){h!==null&&l(h)})}}const Z1=Xm,fp={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},qm=typeof URLSearchParams<"u"?URLSearchParams:Uh,Ym=typeof FormData<"u"?FormData:null,Um=typeof Blob<"u"?Blob:null,Gm={isBrowser:!0,classes:{URLSearchParams:qm,FormData:Ym,Blob:Um},protocols:["http","https","file","blob","url","data"]},mp=typeof window<"u"&&typeof document<"u",Zm=(n=>mp&&["ReactNative","NativeScript","NS"].indexOf(n)<0)(typeof navigator<"u"&&navigator.product),Km=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Qm=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:mp,hasStandardBrowserEnv:Zm,hasStandardBrowserWebWorkerEnv:Km},Symbol.toStringTag,{value:"Module"})),nl={...Qm,...Gm};function Jm(n,l){return Ja(n,new nl.classes.URLSearchParams,Object.assign({visitor:function(r,h,c,g){return nl.isNode&&St.isBuffer(r)?(this.append(h,r.toString("base64")),!1):g.defaultVisitor.apply(this,arguments)}},l))}function tk(n){return St.matchAll(/\w+|\[(\w*)]/g,n).map(l=>l[0]==="[]"?"":l[1]||l[0])}function ek(n){const l={},r=Object.keys(n);let h;const c=r.length;let g;for(h=0;h=r.length;return v=!v&&St.isArray(c)?c.length:v,x?(St.hasOwnProp(c,v)?c[v]=[c[v],h]:c[v]=h,!k):((!c[v]||!St.isObject(c[v]))&&(c[v]=[]),l(r,h,c[v],g)&&St.isArray(c[v])&&(c[v]=ek(c[v])),!k)}if(St.isFormData(n)&&St.isFunction(n.entries)){const r={};return St.forEachEntry(n,(h,c)=>{l(tk(h),c,r,0)}),r}return null}function nk(n,l,r){if(St.isString(n))try{return(l||JSON.parse)(n),St.trim(n)}catch(h){if(h.name!=="SyntaxError")throw h}return(r||JSON.stringify)(n)}const Gh={transitional:fp,adapter:["xhr","http"],transformRequest:[function(l,r){const h=r.getContentType()||"",c=h.indexOf("application/json")>-1,g=St.isObject(l);if(g&&St.isHTMLForm(l)&&(l=new FormData(l)),St.isFormData(l))return c&&c?JSON.stringify(kp(l)):l;if(St.isArrayBuffer(l)||St.isBuffer(l)||St.isStream(l)||St.isFile(l)||St.isBlob(l))return l;if(St.isArrayBufferView(l))return l.buffer;if(St.isURLSearchParams(l))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),l.toString();let k;if(g){if(h.indexOf("application/x-www-form-urlencoded")>-1)return Jm(l,this.formSerializer).toString();if((k=St.isFileList(l))||h.indexOf("multipart/form-data")>-1){const x=this.env&&this.env.FormData;return Ja(k?{"files[]":l}:l,x&&new x,this.formSerializer)}}return g||c?(r.setContentType("application/json",!1),nk(l)):l}],transformResponse:[function(l){const r=this.transitional||Gh.transitional,h=r&&r.forcedJSONParsing,c=this.responseType==="json";if(l&&St.isString(l)&&(h&&!this.responseType||c)){const v=!(r&&r.silentJSONParsing)&&c;try{return JSON.parse(l)}catch(k){if(v)throw k.name==="SyntaxError"?pe.from(k,pe.ERR_BAD_RESPONSE,this,null,this.response):k}}return l}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:nl.classes.FormData,Blob:nl.classes.Blob},validateStatus:function(l){return l>=200&&l<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};St.forEach(["delete","get","head","post","put","patch"],n=>{Gh.headers[n]={}});const Zh=Gh,lk=St.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),rk=n=>{const l={};let r,h,c;return n&&n.split(` + */const Wr=typeof window<"u";function t5(n){return n.__esModule||n[Symbol.toStringTag]==="Module"}const fe=Object.assign;function Li(n,l){const r={};for(const h in l){const c=l[h];r[h]=Kn(c)?c.map(n):n(c)}return r}const Wo=()=>{},Kn=Array.isArray,e5=/\/$/,n5=n=>n.replace(e5,"");function Di(n,l,r="/"){let h,c={},g="",v="";const k=l.indexOf("#");let x=l.indexOf("?");return k=0&&(x=-1),x>-1&&(h=l.slice(0,x),g=l.slice(x+1,k>-1?k:l.length),c=n(g)),k>-1&&(h=h||l.slice(0,k),v=l.slice(k,l.length)),h=s5(h??l,r),{fullPath:h+(g&&"?")+g+v,path:h,query:c,hash:v}}function l5(n,l){const r=l.query?n(l.query):"";return l.path+(r&&"?")+r+(l.hash||"")}function A1(n,l){return!l||!n.toLowerCase().startsWith(l.toLowerCase())?n:n.slice(l.length)||"/"}function r5(n,l,r){const h=l.matched.length-1,c=r.matched.length-1;return h>-1&&h===c&&eo(l.matched[h],r.matched[c])&&qu(l.params,r.params)&&n(l.query)===n(r.query)&&l.hash===r.hash}function eo(n,l){return(n.aliasOf||n)===(l.aliasOf||l)}function qu(n,l){if(Object.keys(n).length!==Object.keys(l).length)return!1;for(const r in n)if(!o5(n[r],l[r]))return!1;return!0}function o5(n,l){return Kn(n)?B1(n,l):Kn(l)?B1(l,n):n===l}function B1(n,l){return Kn(l)?n.length===l.length&&n.every((r,h)=>r===l[h]):n.length===1&&n[0]===l}function s5(n,l){if(n.startsWith("/"))return n;if(!n)return l;const r=l.split("/"),h=n.split("/"),c=h[h.length-1];(c===".."||c===".")&&h.push("");let g=r.length-1,v,k;for(v=0;v1&&g--;else break;return r.slice(0,g).join("/")+"/"+h.slice(v-(v===h.length?1:0)).join("/")}var rs;(function(n){n.pop="pop",n.push="push"})(rs||(rs={}));var Xo;(function(n){n.back="back",n.forward="forward",n.unknown=""})(Xo||(Xo={}));function a5(n){if(!n)if(Wr){const l=document.querySelector("base");n=l&&l.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),n5(n)}const i5=/^[^#]+#/;function h5(n,l){return n.replace(i5,"#")+l}function d5(n,l){const r=document.documentElement.getBoundingClientRect(),h=n.getBoundingClientRect();return{behavior:l.behavior,left:h.left-r.left-(l.left||0),top:h.top-r.top-(l.top||0)}}const Ga=()=>({left:window.pageXOffset,top:window.pageYOffset});function c5(n){let l;if("el"in n){const r=n.el,h=typeof r=="string"&&r.startsWith("#"),c=typeof r=="string"?h?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!c)return;l=d5(c,n)}else l=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(l):window.scrollTo(l.left!=null?l.left:window.pageXOffset,l.top!=null?l.top:window.pageYOffset)}function H1(n,l){return(history.state?history.state.position-l:-1)+n}const x0=new Map;function u5(n,l){x0.set(n,l)}function p5(n){const l=x0.get(n);return x0.delete(n),l}let g5=()=>location.protocol+"//"+location.host;function Yu(n,l){const{pathname:r,search:h,hash:c}=l,g=n.indexOf("#");if(g>-1){let k=c.includes(n.slice(g))?n.slice(g).length:1,x=c.slice(k);return x[0]!=="/"&&(x="/"+x),A1(x,"")}return A1(r,n)+h+c}function w5(n,l,r,h){let c=[],g=[],v=null;const k=({state:B})=>{const P=Yu(n,location),D=r.value,F=l.value;let X=0;if(B){if(r.value=P,l.value=B,v&&v===D){v=null;return}X=F?B.position-F.position:0}else h(P);c.forEach(R=>{R(r.value,D,{delta:X,type:rs.pop,direction:X?X>0?Xo.forward:Xo.back:Xo.unknown})})};function x(){v=r.value}function I(B){c.push(B);const P=()=>{const D=c.indexOf(B);D>-1&&c.splice(D,1)};return g.push(P),P}function S(){const{history:B}=window;B.state&&B.replaceState(fe({},B.state,{scroll:Ga()}),"")}function $(){for(const B of g)B();g=[],window.removeEventListener("popstate",k),window.removeEventListener("beforeunload",S)}return window.addEventListener("popstate",k),window.addEventListener("beforeunload",S,{passive:!0}),{pauseListeners:x,listen:I,destroy:$}}function N1(n,l,r,h=!1,c=!1){return{back:n,current:l,forward:r,replaced:h,position:window.history.length,scroll:c?Ga():null}}function v5(n){const{history:l,location:r}=window,h={value:Yu(n,r)},c={value:l.state};c.value||g(h.value,{back:null,current:h.value,forward:null,position:l.length-1,replaced:!0,scroll:null},!0);function g(x,I,S){const $=n.indexOf("#"),B=$>-1?(r.host&&document.querySelector("base")?n:n.slice($))+x:g5()+n+x;try{l[S?"replaceState":"pushState"](I,"",B),c.value=I}catch(P){console.error(P),r[S?"replace":"assign"](B)}}function v(x,I){const S=fe({},l.state,N1(c.value.back,x,c.value.forward,!0),I,{position:c.value.position});g(x,S,!0),h.value=x}function k(x,I){const S=fe({},c.value,l.state,{forward:x,scroll:Ga()});g(S.current,S,!0);const $=fe({},N1(h.value,x,null),{position:S.position+1},I);g(x,$,!1),h.value=x}return{location:h,state:c,push:k,replace:v}}function f5(n){n=a5(n);const l=v5(n),r=w5(n,l.state,l.location,l.replace);function h(g,v=!0){v||r.pauseListeners(),history.go(g)}const c=fe({location:"",base:n,go:h,createHref:h5.bind(null,n)},l,r);return Object.defineProperty(c,"location",{enumerable:!0,get:()=>l.location.value}),Object.defineProperty(c,"state",{enumerable:!0,get:()=>l.state.value}),c}function m5(n){return typeof n=="string"||n&&typeof n=="object"}function Uu(n){return typeof n=="string"||typeof n=="symbol"}const Pl={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Gu=Symbol("");var j1;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(j1||(j1={}));function no(n,l){return fe(new Error,{type:n,[Gu]:!0},l)}function dl(n,l){return n instanceof Error&&Gu in n&&(l==null||!!(n.type&l))}const P1="[^/]+?",k5={sensitive:!1,strict:!1,start:!0,end:!0},b5=/[.+*?^${}()[\]/\\]/g;function M5(n,l){const r=fe({},k5,l),h=[];let c=r.start?"^":"";const g=[];for(const I of n){const S=I.length?[]:[90];r.strict&&!I.length&&(c+="/");for(let $=0;$l.length?l.length===1&&l[0]===40+40?1:-1:0}function z5(n,l){let r=0;const h=n.score,c=l.score;for(;r0&&l[l.length-1]<0}const I5={type:0,value:""},y5=/[a-zA-Z0-9_]/;function C5(n){if(!n)return[[]];if(n==="/")return[[I5]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function l(P){throw new Error(`ERR (${r})/"${I}": ${P}`)}let r=0,h=r;const c=[];let g;function v(){g&&c.push(g),g=[]}let k=0,x,I="",S="";function $(){I&&(r===0?g.push({type:0,value:I}):r===1||r===2||r===3?(g.length>1&&(x==="*"||x==="+")&&l(`A repeatable param (${I}) must be alone in its segment. eg: '/:ids+.`),g.push({type:1,value:I,regexp:S,repeatable:x==="*"||x==="+",optional:x==="*"||x==="?"})):l("Invalid state to consume buffer"),I="")}function B(){I+=x}for(;k{v(H)}:Wo}function v(S){if(Uu(S)){const $=h.get(S);$&&(h.delete(S),r.splice(r.indexOf($),1),$.children.forEach(v),$.alias.forEach(v))}else{const $=r.indexOf(S);$>-1&&(r.splice($,1),S.record.name&&h.delete(S.record.name),S.children.forEach(v),S.alias.forEach(v))}}function k(){return r}function x(S){let $=0;for(;$=0&&(S.record.path!==r[$].record.path||!Zu(S,r[$]));)$++;r.splice($,0,S),S.record.name&&!O1(S)&&h.set(S.record.name,S)}function I(S,$){let B,P={},D,F;if("name"in S&&S.name){if(B=h.get(S.name),!B)throw no(1,{location:S});F=B.record.name,P=fe(D1($.params,B.keys.filter(H=>!H.optional).map(H=>H.name)),S.params&&D1(S.params,B.keys.map(H=>H.name))),D=B.stringify(P)}else if("path"in S)D=S.path,B=r.find(H=>H.re.test(D)),B&&(P=B.parse(D),F=B.record.name);else{if(B=$.name?h.get($.name):r.find(H=>H.re.test($.path)),!B)throw no(1,{location:S,currentLocation:$});F=B.record.name,P=fe({},$.params,S.params),D=B.stringify(P)}const X=[];let R=B;for(;R;)X.unshift(R.record),R=R.parent;return{name:F,path:D,params:P,matched:X,meta:H5(X)}}return n.forEach(S=>g(S)),{addRoute:g,resolve:I,removeRoute:v,getRoutes:k,getRecordMatcher:c}}function D1(n,l){const r={};for(const h of l)h in n&&(r[h]=n[h]);return r}function A5(n){return{path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:void 0,beforeEnter:n.beforeEnter,props:B5(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}}}function B5(n){const l={},r=n.props||!1;if("component"in n)l.default=r;else for(const h in n.components)l[h]=typeof r=="object"?r[h]:r;return l}function O1(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function H5(n){return n.reduce((l,r)=>fe(l,r.meta),{})}function F1(n,l){const r={};for(const h in n)r[h]=h in l?l[h]:n[h];return r}function Zu(n,l){return l.children.some(r=>r===n||Zu(n,r))}const Ku=/#/g,N5=/&/g,j5=/\//g,P5=/=/g,L5=/\?/g,Qu=/\+/g,D5=/%5B/g,O5=/%5D/g,Ju=/%5E/g,F5=/%60/g,tp=/%7B/g,R5=/%7C/g,ep=/%7D/g,T5=/%20/g;function Xh(n){return encodeURI(""+n).replace(R5,"|").replace(D5,"[").replace(O5,"]")}function E5(n){return Xh(n).replace(tp,"{").replace(ep,"}").replace(Ju,"^")}function z0(n){return Xh(n).replace(Qu,"%2B").replace(T5,"+").replace(Ku,"%23").replace(N5,"%26").replace(F5,"`").replace(tp,"{").replace(ep,"}").replace(Ju,"^")}function V5(n){return z0(n).replace(P5,"%3D")}function _5(n){return Xh(n).replace(Ku,"%23").replace(L5,"%3F")}function W5(n){return n==null?"":_5(n).replace(j5,"%2F")}function wa(n){try{return decodeURIComponent(""+n)}catch{}return""+n}function X5(n){const l={};if(n===""||n==="?")return l;const h=(n[0]==="?"?n.slice(1):n).split("&");for(let c=0;cg&&z0(g)):[h&&z0(h)]).forEach(g=>{g!==void 0&&(l+=(l.length?"&":"")+r,g!=null&&(l+="="+g))})}return l}function q5(n){const l={};for(const r in n){const h=n[r];h!==void 0&&(l[r]=Kn(h)?h.map(c=>c==null?null:""+c):h==null?h:""+h)}return l}const Y5=Symbol(""),T1=Symbol(""),qh=Symbol(""),np=Symbol(""),I0=Symbol("");function $o(){let n=[];function l(h){return n.push(h),()=>{const c=n.indexOf(h);c>-1&&n.splice(c,1)}}function r(){n=[]}return{add:l,list:()=>n.slice(),reset:r}}function Rl(n,l,r,h,c){const g=h&&(h.enterCallbacks[c]=h.enterCallbacks[c]||[]);return()=>new Promise((v,k)=>{const x=$=>{$===!1?k(no(4,{from:r,to:l})):$ instanceof Error?k($):m5($)?k(no(2,{from:l,to:$})):(g&&h.enterCallbacks[c]===g&&typeof $=="function"&&g.push($),v())},I=n.call(h&&h.instances[c],l,r,x);let S=Promise.resolve(I);n.length<3&&(S=S.then(x)),S.catch($=>k($))})}function Oi(n,l,r,h){const c=[];for(const g of n)for(const v in g.components){let k=g.components[v];if(!(l!=="beforeRouteEnter"&&!g.instances[v]))if(U5(k)){const I=(k.__vccOpts||k)[l];I&&c.push(Rl(I,r,h,g,v))}else{let x=k();c.push(()=>x.then(I=>{if(!I)return Promise.reject(new Error(`Couldn't resolve component "${v}" at "${g.path}"`));const S=t5(I)?I.default:I;g.components[v]=S;const B=(S.__vccOpts||S)[l];return B&&Rl(B,r,h,g,v)()}))}}return c}function U5(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function E1(n){const l=de(qh),r=de(np),h=q(()=>l.resolve(je(n.to))),c=q(()=>{const{matched:x}=h.value,{length:I}=x,S=x[I-1],$=r.matched;if(!S||!$.length)return-1;const B=$.findIndex(eo.bind(null,S));if(B>-1)return B;const P=V1(x[I-2]);return I>1&&V1(S)===P&&$[$.length-1].path!==P?$.findIndex(eo.bind(null,x[I-2])):B}),g=q(()=>c.value>-1&&Q5(r.params,h.value.params)),v=q(()=>c.value>-1&&c.value===r.matched.length-1&&qu(r.params,h.value.params));function k(x={}){return K5(x)?l[je(n.replace)?"replace":"push"](je(n.to)).catch(Wo):Promise.resolve()}return{route:h,href:q(()=>h.value.href),isActive:g,isExactActive:v,navigate:k}}const G5=Cr({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:E1,setup(n,{slots:l}){const r=Ze(E1(n)),{options:h}=de(qh),c=q(()=>({[_1(n.activeClass,h.linkActiveClass,"router-link-active")]:r.isActive,[_1(n.exactActiveClass,h.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const g=l.default&&l.default(r);return n.custom?g:Ln("a",{"aria-current":r.isExactActive?n.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:c.value},g)}}}),Z5=G5;function K5(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const l=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(l))return}return n.preventDefault&&n.preventDefault(),!0}}function Q5(n,l){for(const r in l){const h=l[r],c=n[r];if(typeof h=="string"){if(h!==c)return!1}else if(!Kn(c)||c.length!==h.length||h.some((g,v)=>g!==c[v]))return!1}return!0}function V1(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const _1=(n,l,r)=>n??l??r,J5=Cr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:l,slots:r}){const h=de(I0),c=q(()=>n.route||h.value),g=de(T1,0),v=q(()=>{let I=je(g);const{matched:S}=c.value;let $;for(;($=S[I])&&!$.components;)I++;return I}),k=q(()=>c.value.matched[v.value]);Se(T1,q(()=>v.value+1)),Se(Y5,k),Se(I0,c);const x=Lt();return _t(()=>[x.value,k.value,n.name],([I,S,$],[B,P,D])=>{S&&(S.instances[$]=I,P&&P!==S&&I&&I===B&&(S.leaveGuards.size||(S.leaveGuards=P.leaveGuards),S.updateGuards.size||(S.updateGuards=P.updateGuards))),I&&S&&(!P||!eo(S,P)||!B)&&(S.enterCallbacks[$]||[]).forEach(F=>F(I))},{flush:"post"}),()=>{const I=c.value,S=n.name,$=k.value,B=$&&$.components[S];if(!B)return W1(r.default,{Component:B,route:I});const P=$.props[S],D=P?P===!0?I.params:typeof P=="function"?P(I):P:null,X=Ln(B,fe({},D,l,{onVnodeUnmounted:R=>{R.component.isUnmounted&&($.instances[S]=null)},ref:x}));return W1(r.default,{Component:X,route:I})||X}}});function W1(n,l){if(!n)return null;const r=n(l);return r.length===1?r[0]:r}const lp=J5;function tm(n){const l=$5(n.routes,n),r=n.parseQuery||X5,h=n.stringifyQuery||R1,c=n.history,g=$o(),v=$o(),k=$o(),x=Wt(Pl);let I=Pl;Wr&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const S=Li.bind(null,pt=>""+pt),$=Li.bind(null,W5),B=Li.bind(null,wa);function P(pt,Nt){let jt,bt;return Uu(pt)?(jt=l.getRecordMatcher(pt),bt=Nt):bt=pt,l.addRoute(bt,jt)}function D(pt){const Nt=l.getRecordMatcher(pt);Nt&&l.removeRoute(Nt)}function F(){return l.getRoutes().map(pt=>pt.record)}function X(pt){return!!l.getRecordMatcher(pt)}function R(pt,Nt){if(Nt=fe({},Nt||x.value),typeof pt=="string"){const at=Di(r,pt,Nt.path),ct=l.resolve({path:at.path},Nt),kt=c.createHref(at.fullPath);return fe(at,ct,{params:B(ct.params),hash:wa(at.hash),redirectedFrom:void 0,href:kt})}let jt;if("path"in pt)jt=fe({},pt,{path:Di(r,pt.path,Nt.path).path});else{const at=fe({},pt.params);for(const ct in at)at[ct]==null&&delete at[ct];jt=fe({},pt,{params:$(at)}),Nt.params=$(Nt.params)}const bt=l.resolve(jt,Nt),ft=pt.hash||"";bt.params=S(B(bt.params));const J=l5(h,fe({},pt,{hash:E5(ft),path:bt.path})),lt=c.createHref(J);return fe({fullPath:J,hash:ft,query:h===R1?q5(pt.query):pt.query||{}},bt,{redirectedFrom:void 0,href:lt})}function H(pt){return typeof pt=="string"?Di(r,pt,x.value.path):fe({},pt)}function U(pt,Nt){if(I!==pt)return no(8,{from:Nt,to:pt})}function W(pt){return nt(pt)}function _(pt){return W(fe(H(pt),{replace:!0}))}function tt(pt){const Nt=pt.matched[pt.matched.length-1];if(Nt&&Nt.redirect){const{redirect:jt}=Nt;let bt=typeof jt=="function"?jt(pt):jt;return typeof bt=="string"&&(bt=bt.includes("?")||bt.includes("#")?bt=H(bt):{path:bt},bt.params={}),fe({query:pt.query,hash:pt.hash,params:"path"in bt?{}:pt.params},bt)}}function nt(pt,Nt){const jt=I=R(pt),bt=x.value,ft=pt.state,J=pt.force,lt=pt.replace===!0,at=tt(jt);if(at)return nt(fe(H(at),{state:typeof at=="object"?fe({},ft,at.state):ft,force:J,replace:lt}),Nt||jt);const ct=jt;ct.redirectedFrom=Nt;let kt;return!J&&r5(h,bt,jt)&&(kt=no(16,{to:ct,from:bt}),Tt(bt,bt,!0,!1)),(kt?Promise.resolve(kt):et(ct,bt)).catch(yt=>dl(yt)?dl(yt,2)?yt:At(yt):gt(yt,ct,bt)).then(yt=>{if(yt){if(dl(yt,2))return nt(fe({replace:lt},H(yt.to),{state:typeof yt.to=="object"?fe({},ft,yt.to.state):ft,force:J}),Nt||ct)}else yt=rt(ct,bt,!0,lt,ft);return st(ct,bt,yt),yt})}function Y(pt,Nt){const jt=U(pt,Nt);return jt?Promise.reject(jt):Promise.resolve()}function G(pt){const Nt=Jt.values().next().value;return Nt&&typeof Nt.runWithContext=="function"?Nt.runWithContext(pt):pt()}function et(pt,Nt){let jt;const[bt,ft,J]=em(pt,Nt);jt=Oi(bt.reverse(),"beforeRouteLeave",pt,Nt);for(const at of bt)at.leaveGuards.forEach(ct=>{jt.push(Rl(ct,pt,Nt))});const lt=Y.bind(null,pt,Nt);return jt.push(lt),ut(jt).then(()=>{jt=[];for(const at of g.list())jt.push(Rl(at,pt,Nt));return jt.push(lt),ut(jt)}).then(()=>{jt=Oi(ft,"beforeRouteUpdate",pt,Nt);for(const at of ft)at.updateGuards.forEach(ct=>{jt.push(Rl(ct,pt,Nt))});return jt.push(lt),ut(jt)}).then(()=>{jt=[];for(const at of J)if(at.beforeEnter)if(Kn(at.beforeEnter))for(const ct of at.beforeEnter)jt.push(Rl(ct,pt,Nt));else jt.push(Rl(at.beforeEnter,pt,Nt));return jt.push(lt),ut(jt)}).then(()=>(pt.matched.forEach(at=>at.enterCallbacks={}),jt=Oi(J,"beforeRouteEnter",pt,Nt),jt.push(lt),ut(jt))).then(()=>{jt=[];for(const at of v.list())jt.push(Rl(at,pt,Nt));return jt.push(lt),ut(jt)}).catch(at=>dl(at,8)?at:Promise.reject(at))}function st(pt,Nt,jt){k.list().forEach(bt=>G(()=>bt(pt,Nt,jt)))}function rt(pt,Nt,jt,bt,ft){const J=U(pt,Nt);if(J)return J;const lt=Nt===Pl,at=Wr?history.state:{};jt&&(bt||lt?c.replace(pt.fullPath,fe({scroll:lt&&at&&at.scroll},ft)):c.push(pt.fullPath,ft)),x.value=pt,Tt(pt,Nt,jt,lt),At()}let ht;function dt(){ht||(ht=c.listen((pt,Nt,jt)=>{if(!Et.listening)return;const bt=R(pt),ft=tt(bt);if(ft){nt(fe(ft,{replace:!0}),bt).catch(Wo);return}I=bt;const J=x.value;Wr&&u5(H1(J.fullPath,jt.delta),Ga()),et(bt,J).catch(lt=>dl(lt,12)?lt:dl(lt,2)?(nt(lt.to,bt).then(at=>{dl(at,20)&&!jt.delta&&jt.type===rs.pop&&c.go(-1,!1)}).catch(Wo),Promise.reject()):(jt.delta&&c.go(-jt.delta,!1),gt(lt,bt,J))).then(lt=>{lt=lt||rt(bt,J,!1),lt&&(jt.delta&&!dl(lt,8)?c.go(-jt.delta,!1):jt.type===rs.pop&&dl(lt,20)&&c.go(-1,!1)),st(bt,J,lt)}).catch(Wo)}))}let Ct=$o(),xt=$o(),wt;function gt(pt,Nt,jt){At(pt);const bt=xt.list();return bt.length?bt.forEach(ft=>ft(pt,Nt,jt)):console.error(pt),Promise.reject(pt)}function It(){return wt&&x.value!==Pl?Promise.resolve():new Promise((pt,Nt)=>{Ct.add([pt,Nt])})}function At(pt){return wt||(wt=!pt,dt(),Ct.list().forEach(([Nt,jt])=>pt?jt(pt):Nt()),Ct.reset()),pt}function Tt(pt,Nt,jt,bt){const{scrollBehavior:ft}=n;if(!Wr||!ft)return Promise.resolve();const J=!jt&&p5(H1(pt.fullPath,0))||(bt||!jt)&&history.state&&history.state.scroll||null;return we().then(()=>ft(pt,Nt,J)).then(lt=>lt&&c5(lt)).catch(lt=>gt(lt,pt,Nt))}const Ft=pt=>c.go(pt);let Qt;const Jt=new Set,Et={currentRoute:x,listening:!0,addRoute:P,removeRoute:D,hasRoute:X,getRoutes:F,resolve:R,options:n,push:W,replace:_,go:Ft,back:()=>Ft(-1),forward:()=>Ft(1),beforeEach:g.add,beforeResolve:v.add,afterEach:k.add,onError:xt.add,isReady:It,install(pt){const Nt=this;pt.component("RouterLink",Z5),pt.component("RouterView",lp),pt.config.globalProperties.$router=Nt,Object.defineProperty(pt.config.globalProperties,"$route",{enumerable:!0,get:()=>je(x)}),Wr&&!Qt&&x.value===Pl&&(Qt=!0,W(c.location).catch(ft=>{}));const jt={};for(const ft in Pl)Object.defineProperty(jt,ft,{get:()=>x.value[ft],enumerable:!0});pt.provide(qh,Nt),pt.provide(np,fh(jt)),pt.provide(I0,x);const bt=pt.unmount;Jt.add(pt),pt.unmount=function(){Jt.delete(pt),Jt.size<1&&(I=Pl,ht&&ht(),ht=null,x.value=Pl,Qt=!1,wt=!1),bt()}}};function ut(pt){return pt.reduce((Nt,jt)=>Nt.then(()=>G(jt)),Promise.resolve())}return Et}function em(n,l){const r=[],h=[],c=[],g=Math.max(l.matched.length,n.matched.length);for(let v=0;veo(I,k))?h.push(k):r.push(k));const x=n.matched[v];x&&(l.matched.find(I=>eo(I,x))||c.push(x))}return[r,h,c]}const nm=Cr({__name:"App",setup(n){return(l,r)=>(xs(),_a(je(lp)))}}),lm="modulepreload",rm=function(n){return"/"+n},X1={},en=function(l,r,h){if(!r||r.length===0)return l();const c=document.getElementsByTagName("link");return Promise.all(r.map(g=>{if(g=rm(g),g in X1)return;X1[g]=!0;const v=g.endsWith(".css"),k=v?'[rel="stylesheet"]':"";if(!!h)for(let S=c.length-1;S>=0;S--){const $=c[S];if($.href===g&&(!v||$.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${g}"]${k}`))return;const I=document.createElement("link");if(I.rel=v?"stylesheet":lm,v||(I.as="script",I.crossOrigin=""),I.href=g,document.head.appendChild(I),v)return new Promise((S,$)=>{I.addEventListener("load",S),I.addEventListener("error",()=>$(new Error(`Unable to preload CSS for ${g}`)))})})).then(()=>l()).catch(g=>{const v=new Event("vite:preloadError",{cancelable:!0});if(v.payload=g,window.dispatchEvent(v),!v.defaultPrevented)throw g})},om={path:"/main",meta:{requiresAuth:!0},redirect:"/main/dashboard/default",component:()=>en(()=>import("./FullLayout-f333ed84.js"),["assets/FullLayout-f333ed84.js","assets/LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js","assets/md5-cee6f11c.js"]),children:[{name:"Dashboard",path:"/",component:()=>en(()=>import("./DefaultDashboard-328030e1.js"),["assets/DefaultDashboard-328030e1.js","assets/_plugin-vue_export-helper-c27b6911.js"])},{name:"Extensions",path:"/extension",component:()=>en(()=>import("./ExtensionPage-565f8b3e.js"),[])},{name:"Configs",path:"/config",component:()=>en(()=>import("./ConfigPage-35ca1d09.js"),["assets/ConfigPage-35ca1d09.js","assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js"])},{name:"Default",path:"/dashboard/default",component:()=>en(()=>import("./DefaultDashboard-328030e1.js"),["assets/DefaultDashboard-328030e1.js","assets/_plugin-vue_export-helper-c27b6911.js"])},{name:"Console",path:"/console",component:()=>en(()=>import("./ConsolePage-b0a46fa8.js"),["assets/ConsolePage-b0a46fa8.js","assets/ConsolePage-ff373be6.css"])},{name:"Tabler Icons",path:"/icons/tabler",component:()=>en(()=>import("./TablerIcons-8f1b7164.js"),["assets/TablerIcons-8f1b7164.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js"])},{name:"Material Icons",path:"/icons/material",component:()=>en(()=>import("./MaterialIcons-bca66dd4.js"),["assets/MaterialIcons-bca66dd4.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js"])},{name:"Typography",path:"/utils/typography",component:()=>en(()=>import("./TypographyPage-ec6a8f68.js"),["assets/TypographyPage-ec6a8f68.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js"])},{name:"Shadows",path:"/utils/shadows",component:()=>en(()=>import("./ShadowPage-b4e2aa62.js"),["assets/ShadowPage-b4e2aa62.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js"])},{name:"Colors",path:"/utils/colors",component:()=>en(()=>import("./ColorPage-7353c785.js"),["assets/ColorPage-7353c785.js","assets/BaseBreadcrumb.vue_vue_type_style_index_0_lang-e4df418f.js","assets/BaseBreadcrumb-4d676ba5.css","assets/UiParentCard.vue_vue_type_script_setup_true_lang-0734075c.js"])}]},sm={path:"/auth",component:()=>en(()=>import("./BlankLayout-cfe30392.js"),[]),meta:{requiresAuth:!1},children:[{name:"Login",path:"/auth/login",component:()=>en(()=>import("./LoginPage-ecd03b0f.js"),["assets/LoginPage-ecd03b0f.js","assets/LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js","assets/md5-cee6f11c.js","assets/LoginPage-74e85ca7.css"])},{name:"Register",path:"/auth/register",component:()=>en(()=>import("./RegisterPage-8bd0ba09.js"),["assets/RegisterPage-8bd0ba09.js","assets/LogoDark.vue_vue_type_script_setup_true_lang-ae7b1a25.js","assets/RegisterPage-799ed804.css"])},{name:"Error 404",path:"/pages/error",component:()=>en(()=>import("./Error404Page-2ad23ac9.js"),["assets/Error404Page-2ad23ac9.js","assets/_plugin-vue_export-helper-c27b6911.js","assets/Error404Page-11cf087a.css"])}]};function rp(n,l){return function(){return n.apply(l,arguments)}}const{toString:am}=Object.prototype,{getPrototypeOf:Yh}=Object,Za=(n=>l=>{const r=am.call(l);return n[r]||(n[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),il=n=>(n=n.toLowerCase(),l=>Za(l)===n),Ka=n=>l=>typeof l===n,{isArray:po}=Array,os=Ka("undefined");function im(n){return n!==null&&!os(n)&&n.constructor!==null&&!os(n.constructor)&&jn(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const op=il("ArrayBuffer");function hm(n){let l;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?l=ArrayBuffer.isView(n):l=n&&n.buffer&&op(n.buffer),l}const dm=Ka("string"),jn=Ka("function"),sp=Ka("number"),Qa=n=>n!==null&&typeof n=="object",cm=n=>n===!0||n===!1,ra=n=>{if(Za(n)!=="object")return!1;const l=Yh(n);return(l===null||l===Object.prototype||Object.getPrototypeOf(l)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},um=il("Date"),pm=il("File"),gm=il("Blob"),wm=il("FileList"),vm=n=>Qa(n)&&jn(n.pipe),fm=n=>{let l;return n&&(typeof FormData=="function"&&n instanceof FormData||jn(n.append)&&((l=Za(n))==="formdata"||l==="object"&&jn(n.toString)&&n.toString()==="[object FormData]"))},mm=il("URLSearchParams"),km=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ys(n,l,{allOwnKeys:r=!1}={}){if(n===null||typeof n>"u")return;let h,c;if(typeof n!="object"&&(n=[n]),po(n))for(h=0,c=n.length;h0;)if(c=r[h],l===c.toLowerCase())return c;return null}const ip=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),hp=n=>!os(n)&&n!==ip;function y0(){const{caseless:n}=hp(this)&&this||{},l={},r=(h,c)=>{const g=n&&ap(l,c)||c;ra(l[g])&&ra(h)?l[g]=y0(l[g],h):ra(h)?l[g]=y0({},h):po(h)?l[g]=h.slice():l[g]=h};for(let h=0,c=arguments.length;h(ys(l,(c,g)=>{r&&jn(c)?n[g]=rp(c,r):n[g]=c},{allOwnKeys:h}),n),Mm=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),xm=(n,l,r,h)=>{n.prototype=Object.create(l.prototype,h),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:l.prototype}),r&&Object.assign(n.prototype,r)},zm=(n,l,r,h)=>{let c,g,v;const k={};if(l=l||{},n==null)return l;do{for(c=Object.getOwnPropertyNames(n),g=c.length;g-- >0;)v=c[g],(!h||h(v,n,l))&&!k[v]&&(l[v]=n[v],k[v]=!0);n=r!==!1&&Yh(n)}while(n&&(!r||r(n,l))&&n!==Object.prototype);return l},Im=(n,l,r)=>{n=String(n),(r===void 0||r>n.length)&&(r=n.length),r-=l.length;const h=n.indexOf(l,r);return h!==-1&&h===r},ym=n=>{if(!n)return null;if(po(n))return n;let l=n.length;if(!sp(l))return null;const r=new Array(l);for(;l-- >0;)r[l]=n[l];return r},Cm=(n=>l=>n&&l instanceof n)(typeof Uint8Array<"u"&&Yh(Uint8Array)),Sm=(n,l)=>{const h=(n&&n[Symbol.iterator]).call(n);let c;for(;(c=h.next())&&!c.done;){const g=c.value;l.call(n,g[0],g[1])}},$m=(n,l)=>{let r;const h=[];for(;(r=n.exec(l))!==null;)h.push(r);return h},Am=il("HTMLFormElement"),Bm=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,h,c){return h.toUpperCase()+c}),q1=(({hasOwnProperty:n})=>(l,r)=>n.call(l,r))(Object.prototype),Hm=il("RegExp"),dp=(n,l)=>{const r=Object.getOwnPropertyDescriptors(n),h={};ys(r,(c,g)=>{let v;(v=l(c,g,n))!==!1&&(h[g]=v||c)}),Object.defineProperties(n,h)},Nm=n=>{dp(n,(l,r)=>{if(jn(n)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const h=n[r];if(jn(h)){if(l.enumerable=!1,"writable"in l){l.writable=!1;return}l.set||(l.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},jm=(n,l)=>{const r={},h=c=>{c.forEach(g=>{r[g]=!0})};return po(n)?h(n):h(String(n).split(l)),r},Pm=()=>{},Lm=(n,l)=>(n=+n,Number.isFinite(n)?n:l),Fi="abcdefghijklmnopqrstuvwxyz",Y1="0123456789",cp={DIGIT:Y1,ALPHA:Fi,ALPHA_DIGIT:Fi+Fi.toUpperCase()+Y1},Dm=(n=16,l=cp.ALPHA_DIGIT)=>{let r="";const{length:h}=l;for(;n--;)r+=l[Math.random()*h|0];return r};function Om(n){return!!(n&&jn(n.append)&&n[Symbol.toStringTag]==="FormData"&&n[Symbol.iterator])}const Fm=n=>{const l=new Array(10),r=(h,c)=>{if(Qa(h)){if(l.indexOf(h)>=0)return;if(!("toJSON"in h)){l[c]=h;const g=po(h)?[]:{};return ys(h,(v,k)=>{const x=r(v,c+1);!os(x)&&(g[k]=x)}),l[c]=void 0,g}}return h};return r(n,0)},Rm=il("AsyncFunction"),Tm=n=>n&&(Qa(n)||jn(n))&&jn(n.then)&&jn(n.catch),St={isArray:po,isArrayBuffer:op,isBuffer:im,isFormData:fm,isArrayBufferView:hm,isString:dm,isNumber:sp,isBoolean:cm,isObject:Qa,isPlainObject:ra,isUndefined:os,isDate:um,isFile:pm,isBlob:gm,isRegExp:Hm,isFunction:jn,isStream:vm,isURLSearchParams:mm,isTypedArray:Cm,isFileList:wm,forEach:ys,merge:y0,extend:bm,trim:km,stripBOM:Mm,inherits:xm,toFlatObject:zm,kindOf:Za,kindOfTest:il,endsWith:Im,toArray:ym,forEachEntry:Sm,matchAll:$m,isHTMLForm:Am,hasOwnProperty:q1,hasOwnProp:q1,reduceDescriptors:dp,freezeMethods:Nm,toObjectSet:jm,toCamelCase:Bm,noop:Pm,toFiniteNumber:Lm,findKey:ap,global:ip,isContextDefined:hp,ALPHABET:cp,generateString:Dm,isSpecCompliantForm:Om,toJSONObject:Fm,isAsyncFn:Rm,isThenable:Tm};function pe(n,l,r,h,c){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",l&&(this.code=l),r&&(this.config=r),h&&(this.request=h),c&&(this.response=c)}St.inherits(pe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:St.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const up=pe.prototype,pp={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{pp[n]={value:n}});Object.defineProperties(pe,pp);Object.defineProperty(up,"isAxiosError",{value:!0});pe.from=(n,l,r,h,c,g)=>{const v=Object.create(up);return St.toFlatObject(n,v,function(x){return x!==Error.prototype},k=>k!=="isAxiosError"),pe.call(v,n.message,l,r,h,c),v.cause=n,v.name=n.name,g&&Object.assign(v,g),v};const Em=null;function C0(n){return St.isPlainObject(n)||St.isArray(n)}function gp(n){return St.endsWith(n,"[]")?n.slice(0,-2):n}function U1(n,l,r){return n?n.concat(l).map(function(c,g){return c=gp(c),!r&&g?"["+c+"]":c}).join(r?".":""):l}function Vm(n){return St.isArray(n)&&!n.some(C0)}const _m=St.toFlatObject(St,{},null,function(l){return/^is[A-Z]/.test(l)});function Ja(n,l,r){if(!St.isObject(n))throw new TypeError("target must be an object");l=l||new FormData,r=St.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(F,X){return!St.isUndefined(X[F])});const h=r.metaTokens,c=r.visitor||S,g=r.dots,v=r.indexes,x=(r.Blob||typeof Blob<"u"&&Blob)&&St.isSpecCompliantForm(l);if(!St.isFunction(c))throw new TypeError("visitor must be a function");function I(D){if(D===null)return"";if(St.isDate(D))return D.toISOString();if(!x&&St.isBlob(D))throw new pe("Blob is not supported. Use a Buffer instead.");return St.isArrayBuffer(D)||St.isTypedArray(D)?x&&typeof Blob=="function"?new Blob([D]):Buffer.from(D):D}function S(D,F,X){let R=D;if(D&&!X&&typeof D=="object"){if(St.endsWith(F,"{}"))F=h?F:F.slice(0,-2),D=JSON.stringify(D);else if(St.isArray(D)&&Vm(D)||(St.isFileList(D)||St.endsWith(F,"[]"))&&(R=St.toArray(D)))return F=gp(F),R.forEach(function(U,W){!(St.isUndefined(U)||U===null)&&l.append(v===!0?U1([F],W,g):v===null?F:F+"[]",I(U))}),!1}return C0(D)?!0:(l.append(U1(X,F,g),I(D)),!1)}const $=[],B=Object.assign(_m,{defaultVisitor:S,convertValue:I,isVisitable:C0});function P(D,F){if(!St.isUndefined(D)){if($.indexOf(D)!==-1)throw Error("Circular reference detected in "+F.join("."));$.push(D),St.forEach(D,function(R,H){(!(St.isUndefined(R)||R===null)&&c.call(l,R,St.isString(H)?H.trim():H,F,B))===!0&&P(R,F?F.concat(H):[H])}),$.pop()}}if(!St.isObject(n))throw new TypeError("data must be an object");return P(n),l}function G1(n){const l={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(h){return l[h]})}function Uh(n,l){this._pairs=[],n&&Ja(n,this,l)}const wp=Uh.prototype;wp.append=function(l,r){this._pairs.push([l,r])};wp.toString=function(l){const r=l?function(h){return l.call(this,h,G1)}:G1;return this._pairs.map(function(c){return r(c[0])+"="+r(c[1])},"").join("&")};function Wm(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function vp(n,l,r){if(!l)return n;const h=r&&r.encode||Wm,c=r&&r.serialize;let g;if(c?g=c(l,r):g=St.isURLSearchParams(l)?l.toString():new Uh(l,r).toString(h),g){const v=n.indexOf("#");v!==-1&&(n=n.slice(0,v)),n+=(n.indexOf("?")===-1?"?":"&")+g}return n}class Xm{constructor(){this.handlers=[]}use(l,r,h){return this.handlers.push({fulfilled:l,rejected:r,synchronous:h?h.synchronous:!1,runWhen:h?h.runWhen:null}),this.handlers.length-1}eject(l){this.handlers[l]&&(this.handlers[l]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(l){St.forEach(this.handlers,function(h){h!==null&&l(h)})}}const Z1=Xm,fp={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},qm=typeof URLSearchParams<"u"?URLSearchParams:Uh,Ym=typeof FormData<"u"?FormData:null,Um=typeof Blob<"u"?Blob:null,Gm={isBrowser:!0,classes:{URLSearchParams:qm,FormData:Ym,Blob:Um},protocols:["http","https","file","blob","url","data"]},mp=typeof window<"u"&&typeof document<"u",Zm=(n=>mp&&["ReactNative","NativeScript","NS"].indexOf(n)<0)(typeof navigator<"u"&&navigator.product),Km=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Qm=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:mp,hasStandardBrowserEnv:Zm,hasStandardBrowserWebWorkerEnv:Km},Symbol.toStringTag,{value:"Module"})),nl={...Qm,...Gm};function Jm(n,l){return Ja(n,new nl.classes.URLSearchParams,Object.assign({visitor:function(r,h,c,g){return nl.isNode&&St.isBuffer(r)?(this.append(h,r.toString("base64")),!1):g.defaultVisitor.apply(this,arguments)}},l))}function tk(n){return St.matchAll(/\w+|\[(\w*)]/g,n).map(l=>l[0]==="[]"?"":l[1]||l[0])}function ek(n){const l={},r=Object.keys(n);let h;const c=r.length;let g;for(h=0;h=r.length;return v=!v&&St.isArray(c)?c.length:v,x?(St.hasOwnProp(c,v)?c[v]=[c[v],h]:c[v]=h,!k):((!c[v]||!St.isObject(c[v]))&&(c[v]=[]),l(r,h,c[v],g)&&St.isArray(c[v])&&(c[v]=ek(c[v])),!k)}if(St.isFormData(n)&&St.isFunction(n.entries)){const r={};return St.forEachEntry(n,(h,c)=>{l(tk(h),c,r,0)}),r}return null}function nk(n,l,r){if(St.isString(n))try{return(l||JSON.parse)(n),St.trim(n)}catch(h){if(h.name!=="SyntaxError")throw h}return(r||JSON.stringify)(n)}const Gh={transitional:fp,adapter:["xhr","http"],transformRequest:[function(l,r){const h=r.getContentType()||"",c=h.indexOf("application/json")>-1,g=St.isObject(l);if(g&&St.isHTMLForm(l)&&(l=new FormData(l)),St.isFormData(l))return c&&c?JSON.stringify(kp(l)):l;if(St.isArrayBuffer(l)||St.isBuffer(l)||St.isStream(l)||St.isFile(l)||St.isBlob(l))return l;if(St.isArrayBufferView(l))return l.buffer;if(St.isURLSearchParams(l))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),l.toString();let k;if(g){if(h.indexOf("application/x-www-form-urlencoded")>-1)return Jm(l,this.formSerializer).toString();if((k=St.isFileList(l))||h.indexOf("multipart/form-data")>-1){const x=this.env&&this.env.FormData;return Ja(k?{"files[]":l}:l,x&&new x,this.formSerializer)}}return g||c?(r.setContentType("application/json",!1),nk(l)):l}],transformResponse:[function(l){const r=this.transitional||Gh.transitional,h=r&&r.forcedJSONParsing,c=this.responseType==="json";if(l&&St.isString(l)&&(h&&!this.responseType||c)){const v=!(r&&r.silentJSONParsing)&&c;try{return JSON.parse(l)}catch(k){if(v)throw k.name==="SyntaxError"?pe.from(k,pe.ERR_BAD_RESPONSE,this,null,this.response):k}}return l}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:nl.classes.FormData,Blob:nl.classes.Blob},validateStatus:function(l){return l>=200&&l<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};St.forEach(["delete","get","head","post","put","patch"],n=>{Gh.headers[n]={}});const Zh=Gh,lk=St.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),rk=n=>{const l={};let r,h,c;return n&&n.split(` `).forEach(function(v){c=v.indexOf(":"),r=v.substring(0,c).trim().toLowerCase(),h=v.substring(c+1).trim(),!(!r||l[r]&&lk[r])&&(r==="set-cookie"?l[r]?l[r].push(h):l[r]=[h]:l[r]=l[r]?l[r]+", "+h:h)}),l},K1=Symbol("internals");function Ao(n){return n&&String(n).trim().toLowerCase()}function oa(n){return n===!1||n==null?n:St.isArray(n)?n.map(oa):String(n)}function ok(n){const l=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let h;for(;h=r.exec(n);)l[h[1]]=h[2];return l}const sk=n=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(n.trim());function Ri(n,l,r,h,c){if(St.isFunction(h))return h.call(this,l,r);if(c&&(l=r),!!St.isString(l)){if(St.isString(h))return l.indexOf(h)!==-1;if(St.isRegExp(h))return h.test(l)}}function ak(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(l,r,h)=>r.toUpperCase()+h)}function ik(n,l){const r=St.toCamelCase(" "+l);["get","set","has"].forEach(h=>{Object.defineProperty(n,h+r,{value:function(c,g,v){return this[h].call(this,l,c,g,v)},configurable:!0})})}class ti{constructor(l){l&&this.set(l)}set(l,r,h){const c=this;function g(k,x,I){const S=Ao(x);if(!S)throw new Error("header name must be a non-empty string");const $=St.findKey(c,S);(!$||c[$]===void 0||I===!0||I===void 0&&c[$]!==!1)&&(c[$||x]=oa(k))}const v=(k,x)=>St.forEach(k,(I,S)=>g(I,S,x));return St.isPlainObject(l)||l instanceof this.constructor?v(l,r):St.isString(l)&&(l=l.trim())&&!sk(l)?v(rk(l),r):l!=null&&g(r,l,h),this}get(l,r){if(l=Ao(l),l){const h=St.findKey(this,l);if(h){const c=this[h];if(!r)return c;if(r===!0)return ok(c);if(St.isFunction(r))return r.call(this,c,h);if(St.isRegExp(r))return r.exec(c);throw new TypeError("parser must be boolean|regexp|function")}}}has(l,r){if(l=Ao(l),l){const h=St.findKey(this,l);return!!(h&&this[h]!==void 0&&(!r||Ri(this,this[h],h,r)))}return!1}delete(l,r){const h=this;let c=!1;function g(v){if(v=Ao(v),v){const k=St.findKey(h,v);k&&(!r||Ri(h,h[k],k,r))&&(delete h[k],c=!0)}}return St.isArray(l)?l.forEach(g):g(l),c}clear(l){const r=Object.keys(this);let h=r.length,c=!1;for(;h--;){const g=r[h];(!l||Ri(this,this[g],g,l,!0))&&(delete this[g],c=!0)}return c}normalize(l){const r=this,h={};return St.forEach(this,(c,g)=>{const v=St.findKey(h,g);if(v){r[v]=oa(c),delete r[g];return}const k=l?ak(g):String(g).trim();k!==g&&delete r[g],r[k]=oa(c),h[k]=!0}),this}concat(...l){return this.constructor.concat(this,...l)}toJSON(l){const r=Object.create(null);return St.forEach(this,(h,c)=>{h!=null&&h!==!1&&(r[c]=l&&St.isArray(h)?h.join(", "):h)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([l,r])=>l+": "+r).join(` `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(l){return l instanceof this?l:new this(l)}static concat(l,...r){const h=new this(l);return r.forEach(c=>h.set(c)),h}static accessor(l){const h=(this[K1]=this[K1]={accessors:{}}).accessors,c=this.prototype;function g(v){const k=Ao(v);h[k]||(ik(c,v),h[k]=!0)}return St.isArray(l)?l.forEach(g):g(l),this}}ti.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);St.reduceDescriptors(ti.prototype,({value:n},l)=>{let r=l[0].toUpperCase()+l.slice(1);return{get:()=>n,set(h){this[r]=h}}});St.freezeMethods(ti);const ml=ti;function Ti(n,l){const r=this||Zh,h=l||r,c=ml.from(h.headers);let g=h.data;return St.forEach(n,function(k){g=k.call(r,g,c.normalize(),l?l.status:void 0)}),c.normalize(),g}function bp(n){return!!(n&&n.__CANCEL__)}function Cs(n,l,r){pe.call(this,n??"canceled",pe.ERR_CANCELED,l,r),this.name="CanceledError"}St.inherits(Cs,pe,{__CANCEL__:!0});function hk(n,l,r){const h=r.config.validateStatus;!r.status||!h||h(r.status)?n(r):l(new pe("Request failed with status code "+r.status,[pe.ERR_BAD_REQUEST,pe.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}const dk=nl.hasStandardBrowserEnv?{write(n,l,r,h,c,g){const v=[n+"="+encodeURIComponent(l)];St.isNumber(r)&&v.push("expires="+new Date(r).toGMTString()),St.isString(h)&&v.push("path="+h),St.isString(c)&&v.push("domain="+c),g===!0&&v.push("secure"),document.cookie=v.join("; ")},read(n){const l=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return l?decodeURIComponent(l[3]):null},remove(n){this.write(n,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function ck(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function uk(n,l){return l?n.replace(/\/+$/,"")+"/"+l.replace(/^\/+/,""):n}function Mp(n,l){return n&&!ck(l)?uk(n,l):l}const pk=nl.hasStandardBrowserEnv?function(){const l=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");let h;function c(g){let v=g;return l&&(r.setAttribute("href",v),v=r.href),r.setAttribute("href",v),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return h=c(window.location.href),function(v){const k=St.isString(v)?c(v):v;return k.protocol===h.protocol&&k.host===h.host}}():function(){return function(){return!0}}();function gk(n){const l=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return l&&l[1]||""}function wk(n,l){n=n||10;const r=new Array(n),h=new Array(n);let c=0,g=0,v;return l=l!==void 0?l:1e3,function(x){const I=Date.now(),S=h[g];v||(v=I),r[c]=x,h[c]=I;let $=g,B=0;for(;$!==c;)B+=r[$++],$=$%n;if(c=(c+1)%n,c===g&&(g=(g+1)%n),I-v{const g=c.loaded,v=c.lengthComputable?c.total:void 0,k=g-r,x=h(k),I=g<=v;r=g;const S={loaded:g,total:v,progress:v?g/v:void 0,bytes:k,rate:x||void 0,estimated:x&&v&&I?(v-g)/x:void 0,event:c};S[l?"download":"upload"]=!0,n(S)}}const vk=typeof XMLHttpRequest<"u",fk=vk&&function(n){return new Promise(function(r,h){let c=n.data;const g=ml.from(n.headers).normalize();let{responseType:v,withXSRFToken:k}=n,x;function I(){n.cancelToken&&n.cancelToken.unsubscribe(x),n.signal&&n.signal.removeEventListener("abort",x)}let S;if(St.isFormData(c)){if(nl.hasStandardBrowserEnv||nl.hasStandardBrowserWebWorkerEnv)g.setContentType(!1);else if((S=g.getContentType())!==!1){const[F,...X]=S?S.split(";").map(R=>R.trim()).filter(Boolean):[];g.setContentType([F||"multipart/form-data",...X].join("; "))}}let $=new XMLHttpRequest;if(n.auth){const F=n.auth.username||"",X=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";g.set("Authorization","Basic "+btoa(F+":"+X))}const B=Mp(n.baseURL,n.url);$.open(n.method.toUpperCase(),vp(B,n.params,n.paramsSerializer),!0),$.timeout=n.timeout;function P(){if(!$)return;const F=ml.from("getAllResponseHeaders"in $&&$.getAllResponseHeaders()),R={data:!v||v==="text"||v==="json"?$.responseText:$.response,status:$.status,statusText:$.statusText,headers:F,config:n,request:$};hk(function(U){r(U),I()},function(U){h(U),I()},R),$=null}if("onloadend"in $?$.onloadend=P:$.onreadystatechange=function(){!$||$.readyState!==4||$.status===0&&!($.responseURL&&$.responseURL.indexOf("file:")===0)||setTimeout(P)},$.onabort=function(){$&&(h(new pe("Request aborted",pe.ECONNABORTED,n,$)),$=null)},$.onerror=function(){h(new pe("Network Error",pe.ERR_NETWORK,n,$)),$=null},$.ontimeout=function(){let X=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const R=n.transitional||fp;n.timeoutErrorMessage&&(X=n.timeoutErrorMessage),h(new pe(X,R.clarifyTimeoutError?pe.ETIMEDOUT:pe.ECONNABORTED,n,$)),$=null},nl.hasStandardBrowserEnv&&(k&&St.isFunction(k)&&(k=k(n)),k||k!==!1&&pk(B))){const F=n.xsrfHeaderName&&n.xsrfCookieName&&dk.read(n.xsrfCookieName);F&&g.set(n.xsrfHeaderName,F)}c===void 0&&g.setContentType(null),"setRequestHeader"in $&&St.forEach(g.toJSON(),function(X,R){$.setRequestHeader(R,X)}),St.isUndefined(n.withCredentials)||($.withCredentials=!!n.withCredentials),v&&v!=="json"&&($.responseType=n.responseType),typeof n.onDownloadProgress=="function"&&$.addEventListener("progress",Q1(n.onDownloadProgress,!0)),typeof n.onUploadProgress=="function"&&$.upload&&$.upload.addEventListener("progress",Q1(n.onUploadProgress)),(n.cancelToken||n.signal)&&(x=F=>{$&&(h(!F||F.type?new Cs(null,n,$):F),$.abort(),$=null)},n.cancelToken&&n.cancelToken.subscribe(x),n.signal&&(n.signal.aborted?x():n.signal.addEventListener("abort",x)));const D=gk(B);if(D&&nl.protocols.indexOf(D)===-1){h(new pe("Unsupported protocol "+D+":",pe.ERR_BAD_REQUEST,n));return}$.send(c||null)})},S0={http:Em,xhr:fk};St.forEach(S0,(n,l)=>{if(n){try{Object.defineProperty(n,"name",{value:l})}catch{}Object.defineProperty(n,"adapterName",{value:l})}});const J1=n=>`- ${n}`,mk=n=>St.isFunction(n)||n===null||n===!1,xp={getAdapter:n=>{n=St.isArray(n)?n:[n];const{length:l}=n;let r,h;const c={};for(let g=0;g`adapter ${k} `+(x===!1?"is not supported by the environment":"is not available in the build"));let v=l?g.length>1?`since : `+g.map(J1).join(` -`):" "+J1(g[0]):"as no adapter specified";throw new pe("There is no suitable adapter to dispatch the request "+v,"ERR_NOT_SUPPORT")}return h},adapters:S0};function Ei(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new Cs(null,n)}function td(n){return Ei(n),n.headers=ml.from(n.headers),n.data=Ti.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),xp.getAdapter(n.adapter||Zh.adapter)(n).then(function(h){return Ei(n),h.data=Ti.call(n,n.transformResponse,h),h.headers=ml.from(h.headers),h},function(h){return bp(h)||(Ei(n),h&&h.response&&(h.response.data=Ti.call(n,n.transformResponse,h.response),h.response.headers=ml.from(h.response.headers))),Promise.reject(h)})}const ed=n=>n instanceof ml?n.toJSON():n;function lo(n,l){l=l||{};const r={};function h(I,S,$){return St.isPlainObject(I)&&St.isPlainObject(S)?St.merge.call({caseless:$},I,S):St.isPlainObject(S)?St.merge({},S):St.isArray(S)?S.slice():S}function c(I,S,$){if(St.isUndefined(S)){if(!St.isUndefined(I))return h(void 0,I,$)}else return h(I,S,$)}function g(I,S){if(!St.isUndefined(S))return h(void 0,S)}function v(I,S){if(St.isUndefined(S)){if(!St.isUndefined(I))return h(void 0,I)}else return h(void 0,S)}function k(I,S,$){if($ in l)return h(I,S);if($ in n)return h(void 0,I)}const x={url:g,method:g,data:g,baseURL:v,transformRequest:v,transformResponse:v,paramsSerializer:v,timeout:v,timeoutMessage:v,withCredentials:v,withXSRFToken:v,adapter:v,responseType:v,xsrfCookieName:v,xsrfHeaderName:v,onUploadProgress:v,onDownloadProgress:v,decompress:v,maxContentLength:v,maxBodyLength:v,beforeRedirect:v,transport:v,httpAgent:v,httpsAgent:v,cancelToken:v,socketPath:v,responseEncoding:v,validateStatus:k,headers:(I,S)=>c(ed(I),ed(S),!0)};return St.forEach(Object.keys(Object.assign({},n,l)),function(S){const $=x[S]||c,B=$(n[S],l[S],S);St.isUndefined(B)&&$!==k||(r[S]=B)}),r}const zp="1.6.2",Kh={};["object","boolean","number","function","string","symbol"].forEach((n,l)=>{Kh[n]=function(h){return typeof h===n||"a"+(l<1?"n ":" ")+n}});const nd={};Kh.transitional=function(l,r,h){function c(g,v){return"[Axios v"+zp+"] Transitional option '"+g+"'"+v+(h?". "+h:"")}return(g,v,k)=>{if(l===!1)throw new pe(c(v," has been removed"+(r?" in "+r:"")),pe.ERR_DEPRECATED);return r&&!nd[v]&&(nd[v]=!0,console.warn(c(v," has been deprecated since v"+r+" and will be removed in the near future"))),l?l(g,v,k):!0}};function kk(n,l,r){if(typeof n!="object")throw new pe("options must be an object",pe.ERR_BAD_OPTION_VALUE);const h=Object.keys(n);let c=h.length;for(;c-- >0;){const g=h[c],v=l[g];if(v){const k=n[g],x=k===void 0||v(k,g,n);if(x!==!0)throw new pe("option "+g+" must be "+x,pe.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new pe("Unknown option "+g,pe.ERR_BAD_OPTION)}}const $0={assertOptions:kk,validators:Kh},Ll=$0.validators;class va{constructor(l){this.defaults=l,this.interceptors={request:new Z1,response:new Z1}}request(l,r){typeof l=="string"?(r=r||{},r.url=l):r=l||{},r=lo(this.defaults,r);const{transitional:h,paramsSerializer:c,headers:g}=r;h!==void 0&&$0.assertOptions(h,{silentJSONParsing:Ll.transitional(Ll.boolean),forcedJSONParsing:Ll.transitional(Ll.boolean),clarifyTimeoutError:Ll.transitional(Ll.boolean)},!1),c!=null&&(St.isFunction(c)?r.paramsSerializer={serialize:c}:$0.assertOptions(c,{encode:Ll.function,serialize:Ll.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let v=g&&St.merge(g.common,g[r.method]);g&&St.forEach(["delete","get","head","post","put","patch","common"],D=>{delete g[D]}),r.headers=ml.concat(v,g);const k=[];let x=!0;this.interceptors.request.forEach(function(F){typeof F.runWhen=="function"&&F.runWhen(r)===!1||(x=x&&F.synchronous,k.unshift(F.fulfilled,F.rejected))});const I=[];this.interceptors.response.forEach(function(F){I.push(F.fulfilled,F.rejected)});let S,$=0,B;if(!x){const D=[td.bind(this),void 0];for(D.unshift.apply(D,k),D.push.apply(D,I),B=D.length,S=Promise.resolve(r);${if(!h._listeners)return;let g=h._listeners.length;for(;g-- >0;)h._listeners[g](c);h._listeners=null}),this.promise.then=c=>{let g;const v=new Promise(k=>{h.subscribe(k),g=k}).then(c);return v.cancel=function(){h.unsubscribe(g)},v},l(function(g,v,k){h.reason||(h.reason=new Cs(g,v,k),r(h.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(l){if(this.reason){l(this.reason);return}this._listeners?this._listeners.push(l):this._listeners=[l]}unsubscribe(l){if(!this._listeners)return;const r=this._listeners.indexOf(l);r!==-1&&this._listeners.splice(r,1)}static source(){let l;return{token:new Qh(function(c){l=c}),cancel:l}}}const bk=Qh;function Mk(n){return function(r){return n.apply(null,r)}}function xk(n){return St.isObject(n)&&n.isAxiosError===!0}const A0={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(A0).forEach(([n,l])=>{A0[l]=n});const zk=A0;function Ip(n){const l=new sa(n),r=rp(sa.prototype.request,l);return St.extend(r,sa.prototype,l,{allOwnKeys:!0}),St.extend(r,l,null,{allOwnKeys:!0}),r.create=function(c){return Ip(lo(n,c))},r}const Re=Ip(Zh);Re.Axios=sa;Re.CanceledError=Cs;Re.CancelToken=bk;Re.isCancel=bp;Re.VERSION=zp;Re.toFormData=Ja;Re.AxiosError=pe;Re.Cancel=Re.CanceledError;Re.all=function(l){return Promise.all(l)};Re.spread=Mk;Re.isAxiosError=xk;Re.mergeConfig=lo;Re.AxiosHeaders=ml;Re.formToJSON=n=>kp(St.isHTMLForm(n)?new FormData(n):n);Re.getAdapter=xp.getAdapter;Re.HttpStatusCode=zk;Re.default=Re;const Ik=Re,yk=Jf({id:"auth",state:()=>({user:JSON.parse(localStorage.getItem("user")),returnUrl:null}),actions:{async login(n,l){Ik.post("/api/authenticate",{username:n,password:l}).then(r=>{console.log("auth",r),this.user=r.data.data,localStorage.setItem("user",JSON.stringify(this.user)),fa.push(this.returnUrl||"/dashboard/default")})},logout(){this.user=null,localStorage.removeItem("user"),fa.push("/auth/login")}}}),fa=tm({history:f5("/"),routes:[{path:"/:pathMatch(.*)*",component:()=>en(()=>import("./Error404Page-0951219d.js"),["assets/Error404Page-0951219d.js","assets/_plugin-vue_export-helper-c27b6911.js","assets/Error404Page-11cf087a.css"])},om,sm]});fa.beforeEach(async(n,l,r)=>{const c=!["/auth/login"].includes(n.path),g=yk();if(n.matched.some(v=>v.meta.requiresAuth)){if(c&&!g.user)return g.returnUrl=n.fullPath,r("/auth/login");r()}else r()});const ze=typeof window<"u",Jh=ze&&"IntersectionObserver"in window,Ck=ze&&("ontouchstart"in window||window.navigator.maxTouchPoints>0);function ld(n,l,r){Sk(n,l),l.set(n,r)}function Sk(n,l){if(l.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function $k(n,l,r){var h=yp(n,l,"set");return Ak(n,h,r),r}function Ak(n,l,r){if(l.set)l.set.call(n,r);else{if(!l.writable)throw new TypeError("attempted to set read only private field");l.value=r}}function sr(n,l){var r=yp(n,l,"get");return Bk(n,r)}function yp(n,l,r){if(!l.has(n))throw new TypeError("attempted to "+r+" private field on non-instance");return l.get(n)}function Bk(n,l){return l.get?l.get.call(n):l.value}function Cp(n,l,r){const h=l.length-1;if(h<0)return n===void 0?r:n;for(let c=0;cSr(n[h],l[h]))}function B0(n,l,r){return n==null||!l||typeof l!="string"?r:n[l]!==void 0?n[l]:(l=l.replace(/\[(\w+)\]/g,".$1"),l=l.replace(/^\./,""),Cp(n,l.split("."),r))}function ln(n,l,r){if(l==null)return n===void 0?r:n;if(n!==Object(n)){if(typeof l!="function")return r;const c=l(n,r);return typeof c>"u"?r:c}if(typeof l=="string")return B0(n,l,r);if(Array.isArray(l))return Cp(n,l,r);if(typeof l!="function")return r;const h=l(n,r);return typeof h>"u"?r:h}function gl(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:n},(r,h)=>l+h)}function qt(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(!(n==null||n===""))return isNaN(+n)?String(n):isFinite(+n)?`${Number(n)}${l}`:void 0}function H0(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function N0(n){return n&&"$el"in n?n.$el:n}const rd=Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16}),j0=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function Sp(n){return Object.keys(n)}function cr(n,l){return l.every(r=>n.hasOwnProperty(r))}function Mr(n,l,r){const h=Object.create(null),c=Object.create(null);for(const g in n)l.some(v=>v instanceof RegExp?v.test(g):v===g)&&!(r!=null&&r.some(v=>v===g))?h[g]=n[g]:c[g]=n[g];return[h,c]}function On(n,l){const r={...n};return l.forEach(h=>delete r[h]),r}const $p=/^on[^a-z]/,t2=n=>$p.test(n),Hk=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"];function $r(n){const[l,r]=Mr(n,[$p]),h=On(l,Hk),[c,g]=Mr(r,["class","style","id",/^data-/]);return Object.assign(c,l),Object.assign(g,h),[c,g]}function Pn(n){return n==null?[]:Array.isArray(n)?n:[n]}function rn(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(l,Math.min(r,n))}function od(n){const l=n.toString().trim();return l.includes(".")?l.length-l.indexOf(".")-1:0}function sd(n,l){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return n+r.repeat(Math.max(0,l-n.length))}function Nk(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const r=[];let h=0;for(;h1&&arguments[1]!==void 0?arguments[1]:1e3;if(n=l&&h0&&arguments[0]!==void 0?arguments[0]:{},l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;const h={};for(const c in n)h[c]=n[c];for(const c in l){const g=n[c],v=l[c];if(H0(g)&&H0(v)){h[c]=Nn(g,v,r);continue}if(Array.isArray(g)&&Array.isArray(v)&&r){h[c]=r(g,v);continue}h[c]=v}return h}function Ap(n){return n.map(l=>l.type===Kt?Ap(l.children):l).flat()}function vr(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(vr.cache.has(n))return vr.cache.get(n);const l=n.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return vr.cache.set(n,l),l}vr.cache=new Map;function qo(n,l){if(!l||typeof l!="object")return[];if(Array.isArray(l))return l.map(r=>qo(n,r)).flat(1);if(Array.isArray(l.children))return l.children.map(r=>qo(n,r)).flat(1);if(l.component){if(Object.getOwnPropertySymbols(l.component.provides).includes(n))return[l.component];if(l.component.subTree)return qo(n,l.component.subTree).flat(1)}return[]}var Us=new WeakMap,Fr=new WeakMap;class jk{constructor(l){ld(this,Us,{writable:!0,value:[]}),ld(this,Fr,{writable:!0,value:0}),this.size=l}push(l){sr(this,Us)[sr(this,Fr)]=l,$k(this,Fr,(sr(this,Fr)+1)%this.size)}values(){return sr(this,Us).slice(sr(this,Fr)).concat(sr(this,Us).slice(0,sr(this,Fr)))}}function Pk(n){return"touches"in n?{clientX:n.touches[0].clientX,clientY:n.touches[0].clientY}:{clientX:n.clientX,clientY:n.clientY}}function e2(n){const l=Ze({}),r=q(n);return bn(()=>{for(const h in r.value)l[h]=r.value[h]},{flush:"sync"}),vs(l)}function ma(n,l){return n.includes(l)}function Bp(n){return n[2].toLowerCase()+n.slice(3)}const ol=()=>[Function,Array];function id(n,l){return l="on"+Il(l),!!(n[l]||n[`${l}Once`]||n[`${l}Capture`]||n[`${l}OnceCapture`]||n[`${l}CaptureOnce`])}function n2(n){for(var l=arguments.length,r=new Array(l>1?l-1:0),h=1;h1&&arguments[1]!==void 0?arguments[1]:!0;const r=["button","[href]",'input:not([type="hidden"])',"select","textarea","[tabindex]"].map(h=>`${h}${l?':not([tabindex="-1"])':""}:not([disabled])`).join(", ");return[...n.querySelectorAll(r)]}function Hp(n,l,r){let h,c=n.indexOf(document.activeElement);const g=l==="next"?1:-1;do c+=g,h=n[c];while((!h||h.offsetParent==null||!((r==null?void 0:r(h))??!0))&&c=0);return h}function ka(n,l){var h,c,g,v;const r=ss(n);if(!l)(n===document.activeElement||!n.contains(document.activeElement))&&((h=r[0])==null||h.focus());else if(l==="first")(c=r[0])==null||c.focus();else if(l==="last")(g=r.at(-1))==null||g.focus();else if(typeof l=="number")(v=r[l])==null||v.focus();else{const k=Hp(r,l);k?k.focus():ka(n,l==="next"?"first":"last")}}function Np(){}function ro(n,l){if(!(ze&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${l})`)))return null;try{return!!n&&n.matches(l)}catch{return null}}const jp=["top","bottom"],Lk=["start","end","left","right"];function P0(n,l){let[r,h]=n.split(" ");return h||(h=ma(jp,r)?"start":ma(Lk,r)?"top":"center"),{side:L0(r,l),align:L0(h,l)}}function L0(n,l){return n==="start"?l?"right":"left":n==="end"?l?"left":"right":n}function Vi(n){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[n.side],align:n.align}}function _i(n){return{side:n.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[n.align]}}function hd(n){return{side:n.align,align:n.side}}function dd(n){return ma(jp,n.side)?"y":"x"}class Kr{constructor(l){let{x:r,y:h,width:c,height:g}=l;this.x=r,this.y=h,this.width=c,this.height=g}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function cd(n,l){return{x:{before:Math.max(0,l.left-n.left),after:Math.max(0,n.right-l.right)},y:{before:Math.max(0,l.top-n.top),after:Math.max(0,n.bottom-l.bottom)}}}function l2(n){const l=n.getBoundingClientRect(),r=getComputedStyle(n),h=r.transform;if(h){let c,g,v,k,x;if(h.startsWith("matrix3d("))c=h.slice(9,-1).split(/, /),g=+c[0],v=+c[5],k=+c[12],x=+c[13];else if(h.startsWith("matrix("))c=h.slice(7,-1).split(/, /),g=+c[0],v=+c[3],k=+c[4],x=+c[5];else return new Kr(l);const I=r.transformOrigin,S=l.x-k-(1-g)*parseFloat(I),$=l.y-x-(1-v)*parseFloat(I.slice(I.indexOf(" ")+1)),B=g?l.width/g:n.offsetWidth+1,P=v?l.height/v:n.offsetHeight+1;return new Kr({x:S,y:$,width:B,height:P})}else return new Kr(l)}function ur(n,l,r){if(typeof n.animate>"u")return{finished:Promise.resolve()};let h;try{h=n.animate(l,r)}catch{return{finished:Promise.resolve()}}return typeof h.finished>"u"&&(h.finished=new Promise(c=>{h.onfinish=()=>{c(h)}})),h}const aa=new WeakMap;function Dk(n,l){Object.keys(l).forEach(r=>{if(t2(r)){const h=Bp(r),c=aa.get(n);if(l[r]==null)c==null||c.forEach(g=>{const[v,k]=g;v===h&&(n.removeEventListener(h,k),c.delete(g))});else if(!c||![...c].some(g=>g[0]===h&&g[1]===l[r])){n.addEventListener(h,l[r]);const g=c||new Set;g.add([h,l[r]]),aa.has(n)||aa.set(n,g)}}else l[r]==null?n.removeAttribute(r):n.setAttribute(r,l[r])})}function Ok(n,l){Object.keys(l).forEach(r=>{if(t2(r)){const h=Bp(r),c=aa.get(n);c==null||c.forEach(g=>{const[v,k]=g;v===h&&(n.removeEventListener(h,k),c.delete(g))})}else n.removeAttribute(r)})}const Rr=2.4,ud=.2126729,pd=.7151522,gd=.072175,Fk=.55,Rk=.58,Tk=.57,Ek=.62,Gs=.03,wd=1.45,Vk=5e-4,_k=1.25,Wk=1.25,vd=.078,fd=12.82051282051282,Zs=.06,md=.001;function kd(n,l){const r=(n.r/255)**Rr,h=(n.g/255)**Rr,c=(n.b/255)**Rr,g=(l.r/255)**Rr,v=(l.g/255)**Rr,k=(l.b/255)**Rr;let x=r*ud+h*pd+c*gd,I=g*ud+v*pd+k*gd;if(x<=Gs&&(x+=(Gs-x)**wd),I<=Gs&&(I+=(Gs-I)**wd),Math.abs(I-x)x){const $=(I**Fk-x**Rk)*_k;S=$-md?0:$>-vd?$-$*fd*Zs:$+Zs}return S*100}function Xk(n,l){l=Array.isArray(l)?l.slice(0,-1).map(r=>`'${r}'`).join(", ")+` or '${l.at(-1)}'`:`'${l}'`}const ba=.20689655172413793,qk=n=>n>ba**3?Math.cbrt(n):n/(3*ba**2)+4/29,Yk=n=>n>ba?n**3:3*ba**2*(n-4/29);function Pp(n){const l=qk,r=l(n[1]);return[116*r-16,500*(l(n[0]/.95047)-r),200*(r-l(n[2]/1.08883))]}function Lp(n){const l=Yk,r=(n[0]+16)/116;return[l(r+n[1]/500)*.95047,l(r),l(r-n[2]/200)*1.08883]}const Uk=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],Gk=n=>n<=.0031308?n*12.92:1.055*n**(1/2.4)-.055,Zk=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],Kk=n=>n<=.04045?n/12.92:((n+.055)/1.055)**2.4;function Dp(n){const l=Array(3),r=Gk,h=Uk;for(let c=0;c<3;++c)l[c]=Math.round(rn(r(h[c][0]*n[0]+h[c][1]*n[1]+h[c][2]*n[2]))*255);return{r:l[0],g:l[1],b:l[2]}}function r2(n){let{r:l,g:r,b:h}=n;const c=[0,0,0],g=Kk,v=Zk;l=g(l/255),r=g(r/255),h=g(h/255);for(let k=0;k<3;++k)c[k]=v[k][0]*l+v[k][1]*r+v[k][2]*h;return c}function bd(n){return!!n&&/^(#|var\(--|(rgb|hsl)a?\()/.test(n)}const Md=/^(?(?:rgb|hsl)a?)\((?.+)\)/,Qk={rgb:(n,l,r,h)=>({r:n,g:l,b:r,a:h}),rgba:(n,l,r,h)=>({r:n,g:l,b:r,a:h}),hsl:(n,l,r,h)=>xd({h:n,s:l,l:r,a:h}),hsla:(n,l,r,h)=>xd({h:n,s:l,l:r,a:h}),hsv:(n,l,r,h)=>bl({h:n,s:l,v:r,a:h}),hsva:(n,l,r,h)=>bl({h:n,s:l,v:r,a:h})};function Yn(n){if(typeof n=="number")return{r:(n&16711680)>>16,g:(n&65280)>>8,b:n&255};if(typeof n=="string"&&Md.test(n)){const{groups:l}=n.match(Md),{fn:r,values:h}=l,c=h.split(/,\s*/).map(g=>g.endsWith("%")&&["hsl","hsla","hsv","hsva"].includes(r)?parseFloat(g)/100:parseFloat(g));return Qk[r](...c)}else if(typeof n=="string"){let l=n.startsWith("#")?n.slice(1):n;return[3,4].includes(l.length)?l=l.split("").map(r=>r+r).join(""):[6,8].includes(l.length),Ep(l)}else if(typeof n=="object"){if(cr(n,["r","g","b"]))return n;if(cr(n,["h","s","l"]))return bl(o2(n));if(cr(n,["h","s","v"]))return bl(n)}throw new TypeError(`Invalid color: ${n==null?n:String(n)||n.constructor.name} +`):" "+J1(g[0]):"as no adapter specified";throw new pe("There is no suitable adapter to dispatch the request "+v,"ERR_NOT_SUPPORT")}return h},adapters:S0};function Ei(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new Cs(null,n)}function td(n){return Ei(n),n.headers=ml.from(n.headers),n.data=Ti.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),xp.getAdapter(n.adapter||Zh.adapter)(n).then(function(h){return Ei(n),h.data=Ti.call(n,n.transformResponse,h),h.headers=ml.from(h.headers),h},function(h){return bp(h)||(Ei(n),h&&h.response&&(h.response.data=Ti.call(n,n.transformResponse,h.response),h.response.headers=ml.from(h.response.headers))),Promise.reject(h)})}const ed=n=>n instanceof ml?n.toJSON():n;function lo(n,l){l=l||{};const r={};function h(I,S,$){return St.isPlainObject(I)&&St.isPlainObject(S)?St.merge.call({caseless:$},I,S):St.isPlainObject(S)?St.merge({},S):St.isArray(S)?S.slice():S}function c(I,S,$){if(St.isUndefined(S)){if(!St.isUndefined(I))return h(void 0,I,$)}else return h(I,S,$)}function g(I,S){if(!St.isUndefined(S))return h(void 0,S)}function v(I,S){if(St.isUndefined(S)){if(!St.isUndefined(I))return h(void 0,I)}else return h(void 0,S)}function k(I,S,$){if($ in l)return h(I,S);if($ in n)return h(void 0,I)}const x={url:g,method:g,data:g,baseURL:v,transformRequest:v,transformResponse:v,paramsSerializer:v,timeout:v,timeoutMessage:v,withCredentials:v,withXSRFToken:v,adapter:v,responseType:v,xsrfCookieName:v,xsrfHeaderName:v,onUploadProgress:v,onDownloadProgress:v,decompress:v,maxContentLength:v,maxBodyLength:v,beforeRedirect:v,transport:v,httpAgent:v,httpsAgent:v,cancelToken:v,socketPath:v,responseEncoding:v,validateStatus:k,headers:(I,S)=>c(ed(I),ed(S),!0)};return St.forEach(Object.keys(Object.assign({},n,l)),function(S){const $=x[S]||c,B=$(n[S],l[S],S);St.isUndefined(B)&&$!==k||(r[S]=B)}),r}const zp="1.6.2",Kh={};["object","boolean","number","function","string","symbol"].forEach((n,l)=>{Kh[n]=function(h){return typeof h===n||"a"+(l<1?"n ":" ")+n}});const nd={};Kh.transitional=function(l,r,h){function c(g,v){return"[Axios v"+zp+"] Transitional option '"+g+"'"+v+(h?". "+h:"")}return(g,v,k)=>{if(l===!1)throw new pe(c(v," has been removed"+(r?" in "+r:"")),pe.ERR_DEPRECATED);return r&&!nd[v]&&(nd[v]=!0,console.warn(c(v," has been deprecated since v"+r+" and will be removed in the near future"))),l?l(g,v,k):!0}};function kk(n,l,r){if(typeof n!="object")throw new pe("options must be an object",pe.ERR_BAD_OPTION_VALUE);const h=Object.keys(n);let c=h.length;for(;c-- >0;){const g=h[c],v=l[g];if(v){const k=n[g],x=k===void 0||v(k,g,n);if(x!==!0)throw new pe("option "+g+" must be "+x,pe.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new pe("Unknown option "+g,pe.ERR_BAD_OPTION)}}const $0={assertOptions:kk,validators:Kh},Ll=$0.validators;class va{constructor(l){this.defaults=l,this.interceptors={request:new Z1,response:new Z1}}request(l,r){typeof l=="string"?(r=r||{},r.url=l):r=l||{},r=lo(this.defaults,r);const{transitional:h,paramsSerializer:c,headers:g}=r;h!==void 0&&$0.assertOptions(h,{silentJSONParsing:Ll.transitional(Ll.boolean),forcedJSONParsing:Ll.transitional(Ll.boolean),clarifyTimeoutError:Ll.transitional(Ll.boolean)},!1),c!=null&&(St.isFunction(c)?r.paramsSerializer={serialize:c}:$0.assertOptions(c,{encode:Ll.function,serialize:Ll.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let v=g&&St.merge(g.common,g[r.method]);g&&St.forEach(["delete","get","head","post","put","patch","common"],D=>{delete g[D]}),r.headers=ml.concat(v,g);const k=[];let x=!0;this.interceptors.request.forEach(function(F){typeof F.runWhen=="function"&&F.runWhen(r)===!1||(x=x&&F.synchronous,k.unshift(F.fulfilled,F.rejected))});const I=[];this.interceptors.response.forEach(function(F){I.push(F.fulfilled,F.rejected)});let S,$=0,B;if(!x){const D=[td.bind(this),void 0];for(D.unshift.apply(D,k),D.push.apply(D,I),B=D.length,S=Promise.resolve(r);${if(!h._listeners)return;let g=h._listeners.length;for(;g-- >0;)h._listeners[g](c);h._listeners=null}),this.promise.then=c=>{let g;const v=new Promise(k=>{h.subscribe(k),g=k}).then(c);return v.cancel=function(){h.unsubscribe(g)},v},l(function(g,v,k){h.reason||(h.reason=new Cs(g,v,k),r(h.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(l){if(this.reason){l(this.reason);return}this._listeners?this._listeners.push(l):this._listeners=[l]}unsubscribe(l){if(!this._listeners)return;const r=this._listeners.indexOf(l);r!==-1&&this._listeners.splice(r,1)}static source(){let l;return{token:new Qh(function(c){l=c}),cancel:l}}}const bk=Qh;function Mk(n){return function(r){return n.apply(null,r)}}function xk(n){return St.isObject(n)&&n.isAxiosError===!0}const A0={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(A0).forEach(([n,l])=>{A0[l]=n});const zk=A0;function Ip(n){const l=new sa(n),r=rp(sa.prototype.request,l);return St.extend(r,sa.prototype,l,{allOwnKeys:!0}),St.extend(r,l,null,{allOwnKeys:!0}),r.create=function(c){return Ip(lo(n,c))},r}const Re=Ip(Zh);Re.Axios=sa;Re.CanceledError=Cs;Re.CancelToken=bk;Re.isCancel=bp;Re.VERSION=zp;Re.toFormData=Ja;Re.AxiosError=pe;Re.Cancel=Re.CanceledError;Re.all=function(l){return Promise.all(l)};Re.spread=Mk;Re.isAxiosError=xk;Re.mergeConfig=lo;Re.AxiosHeaders=ml;Re.formToJSON=n=>kp(St.isHTMLForm(n)?new FormData(n):n);Re.getAdapter=xp.getAdapter;Re.HttpStatusCode=zk;Re.default=Re;const Ik=Re,yk=Jf({id:"auth",state:()=>({user:JSON.parse(localStorage.getItem("user")),returnUrl:null}),actions:{async login(n,l){Ik.post("/api/authenticate",{username:n,password:l}).then(r=>{console.log("auth",r),this.user=r.data.data,localStorage.setItem("user",JSON.stringify(this.user)),fa.push(this.returnUrl||"/dashboard/default")})},logout(){this.user=null,localStorage.removeItem("user"),fa.push("/auth/login")}}}),fa=tm({history:f5("/"),routes:[{path:"/:pathMatch(.*)*",component:()=>en(()=>import("./Error404Page-2ad23ac9.js"),["assets/Error404Page-2ad23ac9.js","assets/_plugin-vue_export-helper-c27b6911.js","assets/Error404Page-11cf087a.css"])},om,sm]});fa.beforeEach(async(n,l,r)=>{const c=!["/auth/login"].includes(n.path),g=yk();if(n.matched.some(v=>v.meta.requiresAuth)){if(c&&!g.user)return g.returnUrl=n.fullPath,r("/auth/login");r()}else r()});const ze=typeof window<"u",Jh=ze&&"IntersectionObserver"in window,Ck=ze&&("ontouchstart"in window||window.navigator.maxTouchPoints>0);function ld(n,l,r){Sk(n,l),l.set(n,r)}function Sk(n,l){if(l.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function $k(n,l,r){var h=yp(n,l,"set");return Ak(n,h,r),r}function Ak(n,l,r){if(l.set)l.set.call(n,r);else{if(!l.writable)throw new TypeError("attempted to set read only private field");l.value=r}}function sr(n,l){var r=yp(n,l,"get");return Bk(n,r)}function yp(n,l,r){if(!l.has(n))throw new TypeError("attempted to "+r+" private field on non-instance");return l.get(n)}function Bk(n,l){return l.get?l.get.call(n):l.value}function Cp(n,l,r){const h=l.length-1;if(h<0)return n===void 0?r:n;for(let c=0;cSr(n[h],l[h]))}function B0(n,l,r){return n==null||!l||typeof l!="string"?r:n[l]!==void 0?n[l]:(l=l.replace(/\[(\w+)\]/g,".$1"),l=l.replace(/^\./,""),Cp(n,l.split("."),r))}function ln(n,l,r){if(l==null)return n===void 0?r:n;if(n!==Object(n)){if(typeof l!="function")return r;const c=l(n,r);return typeof c>"u"?r:c}if(typeof l=="string")return B0(n,l,r);if(Array.isArray(l))return Cp(n,l,r);if(typeof l!="function")return r;const h=l(n,r);return typeof h>"u"?r:h}function gl(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:n},(r,h)=>l+h)}function qt(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(!(n==null||n===""))return isNaN(+n)?String(n):isFinite(+n)?`${Number(n)}${l}`:void 0}function H0(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function N0(n){return n&&"$el"in n?n.$el:n}const rd=Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16}),j0=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function Sp(n){return Object.keys(n)}function cr(n,l){return l.every(r=>n.hasOwnProperty(r))}function Mr(n,l,r){const h=Object.create(null),c=Object.create(null);for(const g in n)l.some(v=>v instanceof RegExp?v.test(g):v===g)&&!(r!=null&&r.some(v=>v===g))?h[g]=n[g]:c[g]=n[g];return[h,c]}function On(n,l){const r={...n};return l.forEach(h=>delete r[h]),r}const $p=/^on[^a-z]/,t2=n=>$p.test(n),Hk=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"];function $r(n){const[l,r]=Mr(n,[$p]),h=On(l,Hk),[c,g]=Mr(r,["class","style","id",/^data-/]);return Object.assign(c,l),Object.assign(g,h),[c,g]}function Pn(n){return n==null?[]:Array.isArray(n)?n:[n]}function rn(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(l,Math.min(r,n))}function od(n){const l=n.toString().trim();return l.includes(".")?l.length-l.indexOf(".")-1:0}function sd(n,l){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return n+r.repeat(Math.max(0,l-n.length))}function Nk(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const r=[];let h=0;for(;h1&&arguments[1]!==void 0?arguments[1]:1e3;if(n=l&&h0&&arguments[0]!==void 0?arguments[0]:{},l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;const h={};for(const c in n)h[c]=n[c];for(const c in l){const g=n[c],v=l[c];if(H0(g)&&H0(v)){h[c]=Nn(g,v,r);continue}if(Array.isArray(g)&&Array.isArray(v)&&r){h[c]=r(g,v);continue}h[c]=v}return h}function Ap(n){return n.map(l=>l.type===Kt?Ap(l.children):l).flat()}function vr(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(vr.cache.has(n))return vr.cache.get(n);const l=n.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return vr.cache.set(n,l),l}vr.cache=new Map;function qo(n,l){if(!l||typeof l!="object")return[];if(Array.isArray(l))return l.map(r=>qo(n,r)).flat(1);if(Array.isArray(l.children))return l.children.map(r=>qo(n,r)).flat(1);if(l.component){if(Object.getOwnPropertySymbols(l.component.provides).includes(n))return[l.component];if(l.component.subTree)return qo(n,l.component.subTree).flat(1)}return[]}var Us=new WeakMap,Fr=new WeakMap;class jk{constructor(l){ld(this,Us,{writable:!0,value:[]}),ld(this,Fr,{writable:!0,value:0}),this.size=l}push(l){sr(this,Us)[sr(this,Fr)]=l,$k(this,Fr,(sr(this,Fr)+1)%this.size)}values(){return sr(this,Us).slice(sr(this,Fr)).concat(sr(this,Us).slice(0,sr(this,Fr)))}}function Pk(n){return"touches"in n?{clientX:n.touches[0].clientX,clientY:n.touches[0].clientY}:{clientX:n.clientX,clientY:n.clientY}}function e2(n){const l=Ze({}),r=q(n);return bn(()=>{for(const h in r.value)l[h]=r.value[h]},{flush:"sync"}),vs(l)}function ma(n,l){return n.includes(l)}function Bp(n){return n[2].toLowerCase()+n.slice(3)}const ol=()=>[Function,Array];function id(n,l){return l="on"+Il(l),!!(n[l]||n[`${l}Once`]||n[`${l}Capture`]||n[`${l}OnceCapture`]||n[`${l}CaptureOnce`])}function n2(n){for(var l=arguments.length,r=new Array(l>1?l-1:0),h=1;h1&&arguments[1]!==void 0?arguments[1]:!0;const r=["button","[href]",'input:not([type="hidden"])',"select","textarea","[tabindex]"].map(h=>`${h}${l?':not([tabindex="-1"])':""}:not([disabled])`).join(", ");return[...n.querySelectorAll(r)]}function Hp(n,l,r){let h,c=n.indexOf(document.activeElement);const g=l==="next"?1:-1;do c+=g,h=n[c];while((!h||h.offsetParent==null||!((r==null?void 0:r(h))??!0))&&c=0);return h}function ka(n,l){var h,c,g,v;const r=ss(n);if(!l)(n===document.activeElement||!n.contains(document.activeElement))&&((h=r[0])==null||h.focus());else if(l==="first")(c=r[0])==null||c.focus();else if(l==="last")(g=r.at(-1))==null||g.focus();else if(typeof l=="number")(v=r[l])==null||v.focus();else{const k=Hp(r,l);k?k.focus():ka(n,l==="next"?"first":"last")}}function Np(){}function ro(n,l){if(!(ze&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${l})`)))return null;try{return!!n&&n.matches(l)}catch{return null}}const jp=["top","bottom"],Lk=["start","end","left","right"];function P0(n,l){let[r,h]=n.split(" ");return h||(h=ma(jp,r)?"start":ma(Lk,r)?"top":"center"),{side:L0(r,l),align:L0(h,l)}}function L0(n,l){return n==="start"?l?"right":"left":n==="end"?l?"left":"right":n}function Vi(n){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[n.side],align:n.align}}function _i(n){return{side:n.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[n.align]}}function hd(n){return{side:n.align,align:n.side}}function dd(n){return ma(jp,n.side)?"y":"x"}class Kr{constructor(l){let{x:r,y:h,width:c,height:g}=l;this.x=r,this.y=h,this.width=c,this.height=g}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function cd(n,l){return{x:{before:Math.max(0,l.left-n.left),after:Math.max(0,n.right-l.right)},y:{before:Math.max(0,l.top-n.top),after:Math.max(0,n.bottom-l.bottom)}}}function l2(n){const l=n.getBoundingClientRect(),r=getComputedStyle(n),h=r.transform;if(h){let c,g,v,k,x;if(h.startsWith("matrix3d("))c=h.slice(9,-1).split(/, /),g=+c[0],v=+c[5],k=+c[12],x=+c[13];else if(h.startsWith("matrix("))c=h.slice(7,-1).split(/, /),g=+c[0],v=+c[3],k=+c[4],x=+c[5];else return new Kr(l);const I=r.transformOrigin,S=l.x-k-(1-g)*parseFloat(I),$=l.y-x-(1-v)*parseFloat(I.slice(I.indexOf(" ")+1)),B=g?l.width/g:n.offsetWidth+1,P=v?l.height/v:n.offsetHeight+1;return new Kr({x:S,y:$,width:B,height:P})}else return new Kr(l)}function ur(n,l,r){if(typeof n.animate>"u")return{finished:Promise.resolve()};let h;try{h=n.animate(l,r)}catch{return{finished:Promise.resolve()}}return typeof h.finished>"u"&&(h.finished=new Promise(c=>{h.onfinish=()=>{c(h)}})),h}const aa=new WeakMap;function Dk(n,l){Object.keys(l).forEach(r=>{if(t2(r)){const h=Bp(r),c=aa.get(n);if(l[r]==null)c==null||c.forEach(g=>{const[v,k]=g;v===h&&(n.removeEventListener(h,k),c.delete(g))});else if(!c||![...c].some(g=>g[0]===h&&g[1]===l[r])){n.addEventListener(h,l[r]);const g=c||new Set;g.add([h,l[r]]),aa.has(n)||aa.set(n,g)}}else l[r]==null?n.removeAttribute(r):n.setAttribute(r,l[r])})}function Ok(n,l){Object.keys(l).forEach(r=>{if(t2(r)){const h=Bp(r),c=aa.get(n);c==null||c.forEach(g=>{const[v,k]=g;v===h&&(n.removeEventListener(h,k),c.delete(g))})}else n.removeAttribute(r)})}const Rr=2.4,ud=.2126729,pd=.7151522,gd=.072175,Fk=.55,Rk=.58,Tk=.57,Ek=.62,Gs=.03,wd=1.45,Vk=5e-4,_k=1.25,Wk=1.25,vd=.078,fd=12.82051282051282,Zs=.06,md=.001;function kd(n,l){const r=(n.r/255)**Rr,h=(n.g/255)**Rr,c=(n.b/255)**Rr,g=(l.r/255)**Rr,v=(l.g/255)**Rr,k=(l.b/255)**Rr;let x=r*ud+h*pd+c*gd,I=g*ud+v*pd+k*gd;if(x<=Gs&&(x+=(Gs-x)**wd),I<=Gs&&(I+=(Gs-I)**wd),Math.abs(I-x)x){const $=(I**Fk-x**Rk)*_k;S=$-md?0:$>-vd?$-$*fd*Zs:$+Zs}return S*100}function Xk(n,l){l=Array.isArray(l)?l.slice(0,-1).map(r=>`'${r}'`).join(", ")+` or '${l.at(-1)}'`:`'${l}'`}const ba=.20689655172413793,qk=n=>n>ba**3?Math.cbrt(n):n/(3*ba**2)+4/29,Yk=n=>n>ba?n**3:3*ba**2*(n-4/29);function Pp(n){const l=qk,r=l(n[1]);return[116*r-16,500*(l(n[0]/.95047)-r),200*(r-l(n[2]/1.08883))]}function Lp(n){const l=Yk,r=(n[0]+16)/116;return[l(r+n[1]/500)*.95047,l(r),l(r-n[2]/200)*1.08883]}const Uk=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],Gk=n=>n<=.0031308?n*12.92:1.055*n**(1/2.4)-.055,Zk=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],Kk=n=>n<=.04045?n/12.92:((n+.055)/1.055)**2.4;function Dp(n){const l=Array(3),r=Gk,h=Uk;for(let c=0;c<3;++c)l[c]=Math.round(rn(r(h[c][0]*n[0]+h[c][1]*n[1]+h[c][2]*n[2]))*255);return{r:l[0],g:l[1],b:l[2]}}function r2(n){let{r:l,g:r,b:h}=n;const c=[0,0,0],g=Kk,v=Zk;l=g(l/255),r=g(r/255),h=g(h/255);for(let k=0;k<3;++k)c[k]=v[k][0]*l+v[k][1]*r+v[k][2]*h;return c}function bd(n){return!!n&&/^(#|var\(--|(rgb|hsl)a?\()/.test(n)}const Md=/^(?(?:rgb|hsl)a?)\((?.+)\)/,Qk={rgb:(n,l,r,h)=>({r:n,g:l,b:r,a:h}),rgba:(n,l,r,h)=>({r:n,g:l,b:r,a:h}),hsl:(n,l,r,h)=>xd({h:n,s:l,l:r,a:h}),hsla:(n,l,r,h)=>xd({h:n,s:l,l:r,a:h}),hsv:(n,l,r,h)=>bl({h:n,s:l,v:r,a:h}),hsva:(n,l,r,h)=>bl({h:n,s:l,v:r,a:h})};function Yn(n){if(typeof n=="number")return{r:(n&16711680)>>16,g:(n&65280)>>8,b:n&255};if(typeof n=="string"&&Md.test(n)){const{groups:l}=n.match(Md),{fn:r,values:h}=l,c=h.split(/,\s*/).map(g=>g.endsWith("%")&&["hsl","hsla","hsv","hsva"].includes(r)?parseFloat(g)/100:parseFloat(g));return Qk[r](...c)}else if(typeof n=="string"){let l=n.startsWith("#")?n.slice(1):n;return[3,4].includes(l.length)?l=l.split("").map(r=>r+r).join(""):[6,8].includes(l.length),Ep(l)}else if(typeof n=="object"){if(cr(n,["r","g","b"]))return n;if(cr(n,["h","s","l"]))return bl(o2(n));if(cr(n,["h","s","v"]))return bl(n)}throw new TypeError(`Invalid color: ${n==null?n:String(n)||n.constructor.name} Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function bl(n){const{h:l,s:r,v:h,a:c}=n,g=k=>{const x=(k+l/60)%6;return h-h*r*Math.max(Math.min(x,4-x,1),0)},v=[g(5),g(3),g(1)].map(k=>Math.round(k*255));return{r:v[0],g:v[1],b:v[2],a:c}}function xd(n){return bl(o2(n))}function ei(n){if(!n)return{h:0,s:1,v:1,a:1};const l=n.r/255,r=n.g/255,h=n.b/255,c=Math.max(l,r,h),g=Math.min(l,r,h);let v=0;c!==g&&(c===l?v=60*(0+(r-h)/(c-g)):c===r?v=60*(2+(h-l)/(c-g)):c===h&&(v=60*(4+(l-r)/(c-g)))),v<0&&(v=v+360);const k=c===0?0:(c-g)/c,x=[v,k,c];return{h:x[0],s:x[1],v:x[2],a:n.a}}function Op(n){const{h:l,s:r,v:h,a:c}=n,g=h-h*r/2,v=g===1||g===0?0:(h-g)/Math.min(g,1-g);return{h:l,s:v,l:g,a:c}}function o2(n){const{h:l,s:r,l:h,a:c}=n,g=h+r*Math.min(h,1-h),v=g===0?0:2-2*h/g;return{h:l,s:v,v:g,a:c}}function Fp(n){let{r:l,g:r,b:h,a:c}=n;return c===void 0?`rgb(${l}, ${r}, ${h})`:`rgba(${l}, ${r}, ${h}, ${c})`}function Rp(n){return Fp(bl(n))}function Ks(n){const l=Math.round(n).toString(16);return("00".substr(0,2-l.length)+l).toUpperCase()}function Tp(n){let{r:l,g:r,b:h,a:c}=n;return`#${[Ks(l),Ks(r),Ks(h),c!==void 0?Ks(Math.round(c*255)):""].join("")}`}function Ep(n){n=t6(n);let[l,r,h,c]=Nk(n,2).map(g=>parseInt(g,16));return c=c===void 0?c:c/255,{r:l,g:r,b:h,a:c}}function Jk(n){const l=Ep(n);return ei(l)}function Vp(n){return Tp(bl(n))}function t6(n){return n.startsWith("#")&&(n=n.slice(1)),n=n.replace(/([^0-9a-f])/gi,"F"),(n.length===3||n.length===4)&&(n=n.split("").map(l=>l+l).join("")),n.length!==6&&(n=sd(sd(n,6),8,"F")),n}function e6(n,l){const r=Pp(r2(n));return r[0]=r[0]+l*10,Dp(Lp(r))}function n6(n,l){const r=Pp(r2(n));return r[0]=r[0]-l*10,Dp(Lp(r))}function D0(n){const l=Yn(n);return r2(l)[1]}function l6(n,l){const r=D0(n),h=D0(l),c=Math.max(r,h),g=Math.min(r,h);return(c+.05)/(g+.05)}function _p(n){const l=Math.abs(kd(Yn(0),Yn(n)));return Math.abs(kd(Yn(16777215),Yn(n)))>Math.min(l,50)?"#fff":"#000"}function mt(n,l){return r=>Object.keys(n).reduce((h,c)=>{const v=typeof n[c]=="object"&&n[c]!=null&&!Array.isArray(n[c])?n[c]:{type:n[c]};return r&&c in r?h[c]={...v,default:r[c]}:h[c]=v,l&&!h[c].source&&(h[c].source=l),h},{})}const Xt=mt({class:[String,Array],style:{type:[String,Array,Object],default:null}},"component");function Fn(n){if(n._setup=n._setup??n.setup,!n.name)return n;if(n._setup){n.props=mt(n.props??{},n.name)();const l=Object.keys(n.props);n.filterProps=function(h){return Mr(h,l,["class","style"])},n.props._as=String,n.setup=function(h,c){const g=i2();if(!g.value)return n._setup(h,c);const{props:v,provideSubDefaults:k}=c6(h,h._as??n.name,g),x=n._setup(v,c);return k(),x}}return n}function Bt(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return l=>(n?Fn:Cr)(l)}function Qn(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",r=arguments.length>2?arguments[2]:void 0;return Bt()({name:r??Il(Sn(n.replace(/__/g,"-"))),props:{tag:{type:String,default:l},...Xt()},setup(h,c){let{slots:g}=c;return()=>{var v;return Ln(h.tag,{class:[n,h.class],style:h.style},(v=g.default)==null?void 0:v.call(g))}}})}function Wp(n){if(typeof n.getRootNode!="function"){for(;n.parentNode;)n=n.parentNode;return n!==document?null:document}const l=n.getRootNode();return l!==document&&l.getRootNode({composed:!0})!==document?null:l}const as="cubic-bezier(0.4, 0, 0.2, 1)",r6="cubic-bezier(0.0, 0, 0.2, 1)",o6="cubic-bezier(0.4, 0, 1, 1)";function Ye(n,l){const r=al();if(!r)throw new Error(`[Vuetify] ${n} ${l||"must be called from inside a setup function"}`);return r}function Cl(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"composables";const l=Ye(n).type;return vr((l==null?void 0:l.aliasName)||(l==null?void 0:l.name))}let Xp=0,ia=new WeakMap;function hn(){const n=Ye("getUid");if(ia.has(n))return ia.get(n);{const l=Xp++;return ia.set(n,l),l}}hn.reset=()=>{Xp=0,ia=new WeakMap};function s2(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;n;){if(l?s6(n):a2(n))return n;n=n.parentElement}return document.scrollingElement}function Ma(n,l){const r=[];if(l&&n&&!l.contains(n))return r;for(;n&&(a2(n)&&r.push(n),n!==l);)n=n.parentElement;return r}function a2(n){if(!n||n.nodeType!==Node.ELEMENT_NODE)return!1;const l=window.getComputedStyle(n);return l.overflowY==="scroll"||l.overflowY==="auto"&&n.scrollHeight>n.clientHeight}function s6(n){if(!n||n.nodeType!==Node.ELEMENT_NODE)return!1;const l=window.getComputedStyle(n);return["scroll","auto"].includes(l.overflowY)}function a6(n){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ye("injectSelf");const{provides:r}=l;if(r&&n in r)return r[n]}function i6(n){for(;n;){if(window.getComputedStyle(n).position==="fixed")return!0;n=n.offsetParent}return!1}function Dt(n){const l=Ye("useRender");l.render=n}const oo=Symbol.for("vuetify:defaults");function h6(n){return Lt(n)}function i2(){const n=de(oo);if(!n)throw new Error("[Vuetify] Could not find defaults instance");return n}function Te(n,l){const r=i2(),h=Lt(n),c=q(()=>{if(je(l==null?void 0:l.disabled))return r.value;const v=je(l==null?void 0:l.scoped),k=je(l==null?void 0:l.reset),x=je(l==null?void 0:l.root);if(h.value==null&&!(v||k||x))return r.value;let I=Nn(h.value,{prev:r.value});if(v)return I;if(k||x){const S=Number(k||1/0);for(let $=0;$<=S&&!(!I||!("prev"in I));$++)I=I.prev;return I&&typeof x=="string"&&x in I&&(I=Nn(Nn(I,{prev:I}),I[x])),I}return I.prev?Nn(I.prev,I):I});return Se(oo,c),c}function d6(n,l){var r,h;return typeof((r=n.props)==null?void 0:r[l])<"u"||typeof((h=n.props)==null?void 0:h[vr(l)])<"u"}function c6(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i2();const h=Ye("useDefaults");if(l=l??h.type.name??h.type.__name,!l)throw new Error("[Vuetify] Could not determine component name");const c=q(()=>{var x;return(x=r.value)==null?void 0:x[n._as??l]}),g=new Proxy(n,{get(x,I){var $,B,P,D;const S=Reflect.get(x,I);return I==="class"||I==="style"?[($=c.value)==null?void 0:$[I],S].filter(F=>F!=null):typeof I=="string"&&!d6(h.vnode,I)?((B=c.value)==null?void 0:B[I])??((D=(P=r.value)==null?void 0:P.global)==null?void 0:D[I])??S:S}}),v=Wt();bn(()=>{if(c.value){const x=Object.entries(c.value).filter(I=>{let[S]=I;return S.startsWith(S[0].toUpperCase())});v.value=x.length?Object.fromEntries(x):void 0}else v.value=void 0});function k(){const x=a6(oo,h);Se(oo,q(()=>v.value?Nn((x==null?void 0:x.value)??{},v.value):x==null?void 0:x.value))}return{props:g,provideSubDefaults:k}}const ni=["sm","md","lg","xl","xxl"],O0=Symbol.for("vuetify:display"),zd={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},u6=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:zd;return Nn(zd,n)};function Id(n){return ze&&!n?window.innerWidth:typeof n=="object"&&n.clientWidth||0}function yd(n){return ze&&!n?window.innerHeight:typeof n=="object"&&n.clientHeight||0}function Cd(n){const l=ze&&!n?window.navigator.userAgent:"ssr";function r(D){return!!l.match(D)}const h=r(/android/i),c=r(/iphone|ipad|ipod/i),g=r(/cordova/i),v=r(/electron/i),k=r(/chrome/i),x=r(/edge/i),I=r(/firefox/i),S=r(/opera/i),$=r(/win/i),B=r(/mac/i),P=r(/linux/i);return{android:h,ios:c,cordova:g,electron:v,chrome:k,edge:x,firefox:I,opera:S,win:$,mac:B,linux:P,touch:Ck,ssr:l==="ssr"}}function p6(n,l){const{thresholds:r,mobileBreakpoint:h}=u6(n),c=Wt(yd(l)),g=Wt(Cd(l)),v=Ze({}),k=Wt(Id(l));function x(){c.value=yd(),k.value=Id()}function I(){x(),g.value=Cd()}return bn(()=>{const S=k.value=r.xxl,X=S?"xs":$?"sm":B?"md":P?"lg":D?"xl":"xxl",R=typeof h=="number"?h:r[h],H=k.valueLn(d2,{...n,class:"mdi"})},ee=[String,Function,Object,Array],F0=Symbol.for("vuetify:icons"),li=mt({icon:{type:ee},tag:{type:String,required:!0}},"icon"),R0=Bt()({name:"VComponentIcon",props:li(),setup(n,l){let{slots:r}=l;return()=>{const h=n.icon;return t(n.tag,null,{default:()=>{var c;return[n.icon?t(h,null,null):(c=r.default)==null?void 0:c.call(r)]}})}}}),h2=Fn({name:"VSvgIcon",inheritAttrs:!1,props:li(),setup(n,l){let{attrs:r}=l;return()=>t(n.tag,o(r,{style:null}),{default:()=>[t("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(n.icon)?n.icon.map(h=>Array.isArray(h)?t("path",{d:h[0],"fill-opacity":h[1]},null):t("path",{d:h},null)):t("path",{d:n.icon},null)])]})}}),v6=Fn({name:"VLigatureIcon",props:li(),setup(n){return()=>t(n.tag,null,{default:()=>[n.icon]})}}),d2=Fn({name:"VClassIcon",props:li(),setup(n){return()=>t(n.tag,{class:n.icon},null)}}),f6={svg:{component:h2},class:{component:d2}};function m6(n){return Nn({defaultSet:"mdi",sets:{...f6,mdi:w6},aliases:{...g6,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z"}},n)}const k6=n=>{const l=de(F0);if(!l)throw new Error("Missing Vuetify Icons provide!");return{iconData:q(()=>{var x;const h=je(n);if(!h)return{component:R0};let c=h;if(typeof c=="string"&&(c=c.trim(),c.startsWith("$")&&(c=(x=l.aliases)==null?void 0:x[c.slice(1)])),!c)throw new Error(`Could not find aliased icon "${h}"`);if(Array.isArray(c))return{component:h2,icon:c};if(typeof c!="string")return{component:R0,icon:c};const g=Object.keys(l.sets).find(I=>typeof c=="string"&&c.startsWith(`${I}:`)),v=g?c.slice(g.length+1):c;return{component:l.sets[g??l.defaultSet].component,icon:v}})}},b6={badge:"Badge",open:"Open",close:"Close",dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{ok:"OK",cancel:"Cancel",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},timePicker:{am:"AM",pm:"PM"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"}},M6={af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1};function Zl(n,l){let r;function h(){r=io(),r.run(()=>l.length?l(()=>{r==null||r.stop(),h()}):l())}_t(n,c=>{c&&!r?h():c||(r==null||r.stop(),r=void 0)},{immediate:!0}),sn(()=>{r==null||r.stop()})}function ne(n,l,r){let h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:$=>$,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:$=>$;const g=Ye("useProxiedModel"),v=Lt(n[l]!==void 0?n[l]:r),k=vr(l),I=q(k!==l?()=>{var $,B,P,D;return n[l],!!((($=g.vnode.props)!=null&&$.hasOwnProperty(l)||(B=g.vnode.props)!=null&&B.hasOwnProperty(k))&&((P=g.vnode.props)!=null&&P.hasOwnProperty(`onUpdate:${l}`)||(D=g.vnode.props)!=null&&D.hasOwnProperty(`onUpdate:${k}`)))}:()=>{var $,B;return n[l],!!(($=g.vnode.props)!=null&&$.hasOwnProperty(l)&&((B=g.vnode.props)!=null&&B.hasOwnProperty(`onUpdate:${l}`)))});Zl(()=>!I.value,()=>{_t(()=>n[l],$=>{v.value=$})});const S=q({get(){const $=n[l];return h(I.value?$:v.value)},set($){const B=c($),P=le(I.value?n[l]:v.value);P===B||h(P)===$||(v.value=B,g==null||g.emit(`update:${l}`,B))}});return Object.defineProperty(S,"externalValue",{get:()=>I.value?n[l]:v.value}),S}const Sd="$vuetify.",$d=(n,l)=>n.replace(/\{(\d+)\}/g,(r,h)=>String(l[+h])),qp=(n,l,r)=>function(h){for(var c=arguments.length,g=new Array(c>1?c-1:0),v=1;vnew Intl.NumberFormat([n.value,l.value],h).format(r)}function Wi(n,l,r){const h=ne(n,l,n[l]??r.value);return h.value=n[l]??r.value,_t(r,c=>{n[l]==null&&(h.value=r.value)}),h}function Up(n){return l=>{const r=Wi(l,"locale",n.current),h=Wi(l,"fallback",n.fallback),c=Wi(l,"messages",n.messages);return{name:"vuetify",current:r,fallback:h,messages:c,t:qp(r,h,c),n:Yp(r,h),provide:Up({current:r,fallback:h,messages:c})}}}function x6(n){const l=Wt((n==null?void 0:n.locale)??"en"),r=Wt((n==null?void 0:n.fallback)??"en"),h=Lt({en:b6,...n==null?void 0:n.messages});return{name:"vuetify",current:l,fallback:r,messages:h,t:qp(l,r,h),n:Yp(l,r),provide:Up({current:l,fallback:r,messages:h})}}const so=Symbol.for("vuetify:locale");function z6(n){return n.name!=null}function I6(n){const l=n!=null&&n.adapter&&z6(n==null?void 0:n.adapter)?n==null?void 0:n.adapter:x6(n),r=C6(l,n);return{...l,...r}}function Rn(){const n=de(so);if(!n)throw new Error("[Vuetify] Could not find injected locale instance");return n}function y6(n){const l=de(so);if(!l)throw new Error("[Vuetify] Could not find injected locale instance");const r=l.provide(n),h=S6(r,l.rtl,n),c={...r,...h};return Se(so,c),c}function C6(n,l){const r=Lt((l==null?void 0:l.rtl)??M6),h=q(()=>r.value[n.current.value]??!1);return{isRtl:h,rtl:r,rtlClasses:q(()=>`v-locale--is-${h.value?"rtl":"ltr"}`)}}function S6(n,l,r){const h=q(()=>r.rtl??l.value[n.current.value]??!1);return{isRtl:h,rtl:l,rtlClasses:q(()=>`v-locale--is-${h.value?"rtl":"ltr"}`)}}function Ue(){const n=de(so);if(!n)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:n.isRtl,rtlClasses:n.rtlClasses}}const is=Symbol.for("vuetify:theme"),ue=mt({theme:String},"theme"),Bo={defaultTheme:"light",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#6200EE","primary-darken-1":"#3700B3",secondary:"#03DAC6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#212529","theme-on-kbd":"#FFFFFF","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-variant":"#BDBDBD","on-surface-variant":"#424242",primary:"#BB86FC","primary-darken-1":"#3700B3",secondary:"#03DAC5","secondary-darken-1":"#03DAC5",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#212529","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}}};function $6(){var r,h;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Bo;if(!n)return{...Bo,isDisabled:!0};const l={};for(const[c,g]of Object.entries(n.themes??{})){const v=g.dark||c==="dark"?(r=Bo.themes)==null?void 0:r.dark:(h=Bo.themes)==null?void 0:h.light;l[c]=Nn(v,g)}return Nn(Bo,{...n,themes:l})}function A6(n){const l=$6(n),r=Lt(l.defaultTheme),h=Lt(l.themes),c=q(()=>{const S={};for(const[$,B]of Object.entries(h.value)){const P=S[$]={...B,colors:{...B.colors}};if(l.variations)for(const D of l.variations.colors){const F=P.colors[D];if(F)for(const X of["lighten","darken"]){const R=X==="lighten"?e6:n6;for(const H of gl(l.variations[X],1))P.colors[`${D}-${X}-${H}`]=Tp(R(Yn(F),H))}}for(const D of Object.keys(P.colors)){if(/^on-[a-z]/.test(D)||P.colors[`on-${D}`])continue;const F=`on-${D}`,X=Yn(P.colors[D]);P.colors[F]=_p(X)}}return S}),g=q(()=>c.value[r.value]),v=q(()=>{const S=[];g.value.dark&&ar(S,":root",["color-scheme: dark"]),ar(S,":root",Ad(g.value));for(const[D,F]of Object.entries(c.value))ar(S,`.v-theme--${D}`,[`color-scheme: ${F.dark?"dark":"normal"}`,...Ad(F)]);const $=[],B=[],P=new Set(Object.values(c.value).flatMap(D=>Object.keys(D.colors)));for(const D of P)/^on-[a-z]/.test(D)?ar(B,`.${D}`,[`color: rgb(var(--v-theme-${D})) !important`]):(ar($,`.bg-${D}`,[`--v-theme-overlay-multiplier: var(--v-theme-${D}-overlay-multiplier)`,`background-color: rgb(var(--v-theme-${D})) !important`,`color: rgb(var(--v-theme-on-${D})) !important`]),ar(B,`.text-${D}`,[`color: rgb(var(--v-theme-${D})) !important`]),ar(B,`.border-${D}`,[`--v-border-color: var(--v-theme-${D})`]));return S.push(...$,...B),S.map((D,F)=>F===0?D:` ${D}`).join("")});function k(){return{style:[{children:v.value,id:"vuetify-theme-stylesheet",nonce:l.cspNonce||!1}]}}function x(S){if(l.isDisabled)return;const $=S._context.provides.usehead;if($)if($.push){const B=$.push(k);ze&&_t(v,()=>{B.patch(k)})}else ze?($.addHeadObjs(q(k)),bn(()=>$.updateDOM())):$.addHeadObjs(k());else{let P=function(){if(typeof document<"u"&&!B){const D=document.createElement("style");D.type="text/css",D.id="vuetify-theme-stylesheet",l.cspNonce&&D.setAttribute("nonce",l.cspNonce),B=D,document.head.appendChild(B)}B&&(B.innerHTML=v.value)},B=ze?document.getElementById("vuetify-theme-stylesheet"):null;ze?_t(v,P,{immediate:!0}):P()}}const I=q(()=>l.isDisabled?void 0:`v-theme--${r.value}`);return{install:x,isDisabled:l.isDisabled,name:r,themes:h,current:g,computedThemes:c,themeClasses:I,styles:v,global:{name:r,current:g}}}function ve(n){Ye("provideTheme");const l=de(is,null);if(!l)throw new Error("Could not find Vuetify theme injection");const r=q(()=>n.theme??(l==null?void 0:l.name.value)),h=q(()=>l.isDisabled?void 0:`v-theme--${r.value}`),c={...l,name:r,themeClasses:h};return Se(is,c),c}function Gp(){Ye("useTheme");const n=de(is,null);if(!n)throw new Error("Could not find Vuetify theme injection");return n}function ar(n,l,r){n.push(`${l} { `,...r.map(h=>` ${h}; `),`} diff --git a/addons/dashboard/dist/assets/md5-6a8a08e9.js b/addons/dashboard/dist/assets/md5-cee6f11c.js similarity index 99% rename from addons/dashboard/dist/assets/md5-6a8a08e9.js rename to addons/dashboard/dist/assets/md5-cee6f11c.js index 0a839b729..8f8bac521 100644 --- a/addons/dashboard/dist/assets/md5-6a8a08e9.js +++ b/addons/dashboard/dist/assets/md5-cee6f11c.js @@ -1,4 +1,4 @@ -import{ap as K,aq as Y,ar as V}from"./index-70ea897e.js";var C={exports:{}};const $={},k=Object.freeze(Object.defineProperty({__proto__:null,default:$},Symbol.toStringTag,{value:"Module"})),z=K(k);/** +import{ap as K,aq as Y,ar as V}from"./index-0719535f.js";var C={exports:{}};const $={},k=Object.freeze(Object.defineProperty({__proto__:null,default:$},Symbol.toStringTag,{value:"Module"})),z=K(k);/** * [js-md5]{@link https://github.com/emn178/js-md5} * * @namespace md5 diff --git a/addons/dashboard/dist/index.html b/addons/dashboard/dist/index.html index 899952879..98bb071dc 100644 --- a/addons/dashboard/dist/index.html +++ b/addons/dashboard/dist/index.html @@ -11,7 +11,7 @@ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&family=Roboto:wght@400;500;700&display=swap" /> AstrBot - 仪表盘 - + diff --git a/addons/dashboard/helper.py b/addons/dashboard/helper.py index b3d7f59a7..9f7957c6f 100644 --- a/addons/dashboard/helper.py +++ b/addons/dashboard/helper.py @@ -10,6 +10,7 @@ import os import threading import time import asyncio +from util.plugin_dev.api.v1.config import update_config def shutdown_bot(delay_s: int): @@ -46,29 +47,29 @@ class DashBoardHelper(): def on_post_configs(post_configs: dict): try: # self.logger.log(f"收到配置更新请求", gu.LEVEL_INFO, tag="可视化面板") - self.save_config(post_configs) + self.save_config(post_configs['base_config'], namespace='') # 基础配置 + self.save_config(post_configs['config'], namespace=post_configs['namespace']) # 选定配置 self.parse_default_config(self.dashboard_data, self.cc.get_all()) # 重启 threading.Thread(target=shutdown_bot, args=(2,), daemon=True).start() except Exception as e: # self.logger.log(f"在保存配置时发生错误:{e}", gu.LEVEL_ERROR, tag="可视化面板") raise e - # 将 config.yaml、 中的配置解析到 dashboard_data.configs 中 def parse_default_config(self, dashboard_data: DashBoardData, config: dict): try: - bot_platform_group = DashBoardConfig( + qq_official_platform_group = DashBoardConfig( config_type="group", - name="机器人平台配置", - description="机器人平台配置描述", + name="QQ_OFFICIAL 平台配置", + description="", body=[ DashBoardConfig( config_type="item", val_type="bool", - name="启用 QQ 频道平台", - description="就是你想到的那个 QQ 频道平台。详见 q.qq.com", + name="启用 QQ_OFFICIAL 平台", + description="官方的接口,仅支持 QQ 频道。详见 q.qq.com", value=config['qqbot']['enable'], path="qqbot.enable", ), @@ -97,8 +98,20 @@ class DashBoardHelper(): path="qqbot_secret", ), DashBoardConfig( - config_type="divider" + config_type="item", + val_type="bool", + name="是否允许 QQ 频道私聊", + description="如果启用,机器人会响应私聊消息。", + value=config['direct_message_mode'], + path="direct_message_mode", ), + ] + ) + qq_gocq_platform_group = DashBoardConfig( + config_type="group", + name="GO-CQHTTP 平台配置", + description="", + body=[ DashBoardConfig( config_type="item", val_type="bool", @@ -106,118 +119,7 @@ class DashBoardHelper(): description="gocq 是一个基于 HTTP 协议的 CQHTTP 协议的实现。详见 github.com/Mrs4s/go-cqhttp", value=config['gocqbot']['enable'], path="gocqbot.enable", - ) - ] - ) - - proxy_group = DashBoardConfig( - config_type="group", - name="代理配置", - description="代理配置描述", - body=[ - DashBoardConfig( - config_type="item", - val_type="string", - name="HTTP 代理地址", - description="建议上下一致", - value=config['http_proxy'], - path="proxy", ), - DashBoardConfig( - config_type="item", - val_type="string", - name="HTTPS 代理地址", - description="建议上下一致", - value=config['https_proxy'], - path="proxy", - ) - ] - ) - general_platform_detail_group = DashBoardConfig( - config_type="group", - name="通用平台配置", - description="", - body=[ - DashBoardConfig( - config_type="item", - val_type="bool", - name="启动消息文字转图片", - description="启动后,机器人会将消息转换为图片发送,以降低风控风险。", - value=config['qq_pic_mode'], - path="qq_pic_mode", - ), - DashBoardConfig( - config_type="item", - val_type="int", - name="消息限制时间", - description="在此时间内,机器人不会回复同一个用户的消息。单位:秒", - value=config['limit']['time'], - path="limit.time", - ), - DashBoardConfig( - config_type="item", - val_type="int", - name="消息限制次数", - description="在上面的时间内,如果用户发送消息超过此次数,则机器人不会回复。单位:次", - value=config['limit']['count'], - path="limit.count", - ), - DashBoardConfig( - config_type="item", - val_type="string", - name="回复前缀", - description="[xxxx] 你好! 其中xxxx是你可以填写的前缀。如果为空则不显示。", - value=config['reply_prefix'], - path="reply_prefix", - ), - DashBoardConfig( - config_type="item", - val_type="string", - name="管理员用户 ID", - description="对机器人 !myid 即可获得。如果此功能不可用,请加群 322154837", - value=config['gocq_qqchan_admin'], - path="gocq_qqchan_admin", - ), - DashBoardConfig( - config_type="item", - val_type="list", - name="通用管理员用户 ID(同上,此项支持多个管理员)", - description="", - value=config['other_admins'], - path="other_admins", - ), - DashBoardConfig( - config_type="item", - val_type="bool", - name="独立会话", - description="是否启用独立会话模式,即 1 个用户自然账号 1 个会话。", - value=config['uniqueSessionMode'], - path="uniqueSessionMode", - ), - DashBoardConfig( - config_type="item", - val_type="bool", - name="是否允许 QQ 频道私聊", - description="仅针对 QQ 频道 SDK,而非 GO-CQHTTP。如果启用,那么机器人会响应私聊消息。", - value=config['direct_message_mode'], - path="direct_message_mode", - ), - DashBoardConfig( - config_type="item", - val_type="string", - name="LLM 唤醒词", - description="如果不为空, 那么只有当消息以此词开头时,才会调用大语言模型进行回复。如设置为 /chat,那么只有当消息以 /chat 开头时,才会调用大语言模型进行回复。", - value=config['llm_wake_prefix'], - path="llm_wake_prefix", - ) - ] - ) - - gocq_platform_detail_group = DashBoardConfig( - config_type="group", - name="GO-CQHTTP 平台配置", - description="", - body=[ DashBoardConfig( config_type="item", val_type="string", @@ -285,7 +187,71 @@ class DashBoardHelper(): ] ) - llm_group = DashBoardConfig( + general_platform_detail_group = DashBoardConfig( + config_type="group", + name="通用平台配置", + description="", + body=[ + DashBoardConfig( + config_type="item", + val_type="bool", + name="启动消息文字转图片", + description="启动后,机器人会将消息转换为图片发送,以降低风控风险。", + value=config['qq_pic_mode'], + path="qq_pic_mode", + ), + DashBoardConfig( + config_type="item", + val_type="int", + name="消息限制时间", + description="在此时间内,机器人不会回复同一个用户的消息。单位:秒", + value=config['limit']['time'], + path="limit.time", + ), + DashBoardConfig( + config_type="item", + val_type="int", + name="消息限制次数", + description="在上面的时间内,如果用户发送消息超过此次数,则机器人不会回复。单位:次", + value=config['limit']['count'], + path="limit.count", + ), + DashBoardConfig( + config_type="item", + val_type="string", + name="回复前缀", + description="[xxxx] 你好! 其中xxxx是你可以填写的前缀。如果为空则不显示。", + value=config['reply_prefix'], + path="reply_prefix", + ), + DashBoardConfig( + config_type="item", + val_type="list", + name="通用管理员用户 ID(支持多个管理员)。通过 !myid 指令获取。", + description="", + value=config['other_admins'], + path="other_admins", + ), + DashBoardConfig( + config_type="item", + val_type="bool", + name="独立会话", + description="是否启用独立会话模式,即 1 个用户自然账号 1 个会话。", + value=config['uniqueSessionMode'], + path="uniqueSessionMode", + ), + DashBoardConfig( + config_type="item", + val_type="string", + name="LLM 唤醒词", + description="如果不为空, 那么只有当消息以此词开头时,才会调用大语言模型进行回复。如设置为 /chat,那么只有当消息以 /chat 开头时,才会调用大语言模型进行回复。", + value=config['llm_wake_prefix'], + path="llm_wake_prefix", + ) + ] + ) + + openai_official_llm_group = DashBoardConfig( config_type="group", name="OpenAI 官方接口类设置", description="", @@ -293,15 +259,15 @@ class DashBoardHelper(): DashBoardConfig( config_type="item", val_type="list", - name="OpenAI API KEY", - description="OpenAI API 的 KEY。支持使用非官方但是兼容的 API(第三方中转key)。", + name="OpenAI API Key", + description="OpenAI API 的 Key。支持使用非官方但兼容的 API(第三方中转key)。", value=config['openai']['key'], path="openai.key", ), DashBoardConfig( config_type="item", val_type="string", - name="OpenAI API 节点地址", + name="OpenAI API 节点地址(api base)", description="OpenAI API 的节点地址,配合非官方 API 使用。如果不想填写,那么请填写 none", value=config['openai']['api_base'], path="openai.api_base", @@ -309,15 +275,15 @@ class DashBoardHelper(): DashBoardConfig( config_type="item", val_type="string", - name="OpenAI 模型", - description="OpenAI 模型。详见 https://platform.openai.com/docs/api-reference/chat", + name="OpenAI model", + description="OpenAI LLM 模型。详见 https://platform.openai.com/docs/api-reference/chat", value=config['openai']['chatGPTConfigs']['model'], path="openai.chatGPTConfigs.model", ), DashBoardConfig( config_type="item", val_type="int", - name="OpenAI 最大生成长度", + name="OpenAI max_tokens", description="OpenAI 最大生成长度。详见 https://platform.openai.com/docs/api-reference/chat", value=config['openai']['chatGPTConfigs']['max_tokens'], path="openai.chatGPTConfigs.max_tokens", @@ -325,7 +291,7 @@ class DashBoardHelper(): DashBoardConfig( config_type="item", val_type="float", - name="OpenAI 温度", + name="OpenAI temperature", description="OpenAI 温度。详见 https://platform.openai.com/docs/api-reference/chat", value=config['openai']['chatGPTConfigs']['temperature'], path="openai.chatGPTConfigs.temperature", @@ -397,11 +363,19 @@ class DashBoardHelper(): DashBoardConfig( config_type="item", val_type="string", - name="大语言模型问题题首提示词", + name="问题题首提示词", description="如果填写了此项,在每个对大语言模型的请求中,都会在问题前加上此提示词。", value=config['llm_env_prompt'], path="llm_env_prompt", ), + DashBoardConfig( + config_type="item", + val_type="string", + name="默认人格文本", + description="默认人格文本", + value=config['default_personality_str'], + path="default_personality_str", + ), ] ) @@ -414,7 +388,7 @@ class DashBoardHelper(): new_accs.append(i) config['rev_ChatGPT']['account'] = new_accs - rev_chatgpt_group = DashBoardConfig( + rev_chatgpt_llm_group = DashBoardConfig( config_type="group", name="逆向语言模型服务设置", description="", @@ -489,21 +463,26 @@ class DashBoardHelper(): ] ) - - other_group = DashBoardConfig( config_type="group", name="其他配置", description="其他配置描述", body=[ - # 人格 DashBoardConfig( config_type="item", val_type="string", - name="默认人格文本", - description="默认人格文本", - value=config['default_personality_str'], - path="default_personality_str", + name="HTTP 代理地址", + description="建议上下一致", + value=config['http_proxy'], + path="http_proxy", + ), + DashBoardConfig( + config_type="item", + val_type="string", + name="HTTPS 代理地址", + description="建议上下一致", + value=config['https_proxy'], + path="https_proxy", ), DashBoardConfig( config_type="item", @@ -517,30 +496,26 @@ class DashBoardHelper(): ) dashboard_data.configs['data'] = [ - bot_platform_group, + qq_official_platform_group, + qq_gocq_platform_group, general_platform_detail_group, - gocq_platform_detail_group, - proxy_group, - llm_group, - rev_chatgpt_group, + openai_official_llm_group, + rev_chatgpt_llm_group, other_group, baidu_aip_group ] - + except Exception as e: self.logger.log(f"配置文件解析错误:{e}", gu.LEVEL_ERROR) raise e - def save_config(self, post_config: dict): + def save_config(self, post_config: list, namespace: str): ''' 根据 path 解析并保存配置 ''' - queue = [] - for config in post_config['data']: - queue.append(config) - + queue = post_config while len(queue) > 0: config = queue.pop(0) if config['config_type'] == "group": @@ -555,27 +530,34 @@ class DashBoardHelper(): continue if config['val_type'] == "bool": - self.cc.put_by_dot_str(config['path'], config['value']) + self._write_config(namespace, config['path'], config['value']) elif config['val_type'] == "string": - self.cc.put_by_dot_str(config['path'], config['value']) + self._write_config(namespace, config['path'], config['value']) elif config['val_type'] == "int": try: - self.cc.put_by_dot_str(config['path'], int(config['value'])) + self._write_config(namespace, config['path'], int(config['value'])) except: raise ValueError(f"配置项 {config['name']} 的值必须是整数") elif config['val_type'] == "float": try: - self.cc.put_by_dot_str(config['path'], float(config['value'])) + self._write_config(namespace, config['path'], float(config['value'])) except: raise ValueError(f"配置项 {config['name']} 的值必须是浮点数") elif config['val_type'] == "list": if config['value'] is None: - self.cc.put_by_dot_str(config['path'], []) + self._write_config(namespace, config['path'], []) elif not isinstance(config['value'], list): raise ValueError(f"配置项 {config['name']} 的值必须是列表") - self.cc.put_by_dot_str(config['path'], config['value']) + self._write_config(namespace, config['path'], config['value']) else: - raise NotImplementedError(f"未知或者未实现的的配置项类型:{config['val_type']}") + raise NotImplementedError(f"未知或者未实现的配置项类型:{config['val_type']}") + + def _write_config(self, namespace: str, key: str, value): + if namespace == "" or namespace.startswith("internal_"): + # 机器人自带配置,存到 config.yaml + self.cc.put_by_dot_str(key, value) + else: + update_config(namespace, key, value) def run(self): self.dashboard.run() \ No newline at end of file diff --git a/addons/dashboard/server.py b/addons/dashboard/server.py index 58413f2b9..0e437e32c 100644 --- a/addons/dashboard/server.py +++ b/addons/dashboard/server.py @@ -1,7 +1,6 @@ from flask import Flask, request from flask.logging import default_handler from werkzeug.serving import make_server -import datetime from util import general_utils as gu from dataclasses import dataclass import logging @@ -12,7 +11,7 @@ import websockets import json import threading import asyncio -import time +import os @dataclass class DashBoardData(): @@ -109,10 +108,59 @@ class AstrBotDashBoard(): @self.dashboard_be.get("/api/configs") def get_configs(): + # 如果params中有namespace,则返回该namespace下的配置 + # 否则返回所有配置 + namespace = "" if "namespace" not in request.args else request.args["namespace"] + conf = self._get_configs(namespace) return Response( status="success", message="", - data=self.dashboard_data.configs + data=conf + ).__dict__ + + @self.dashboard_be.get("/api/config_outline") + def get_config_outline(): + sample = [ + { + "name": "配置通用消息平台", + "body": [ + { + "title": "通用", + "desc": "通用平台配置", + "namespace": "internal_platform_general" + }, + { + "title": "QQ_OFFICIAL", + "desc": "QQ官方API,仅支持频道", + "namespace": "internal_platform_qq_official" + }, + { + "title": "QQ_GOCQ", + "desc": "go-cqhttp", + "namespace": "internal_platform_qq_gocq" + } + ] + }, + { + "name": "配置 LLM", + "body": [ + { + "title": "OpenAI Official", + "desc": "也支持使用官方接口的中转服务", + "namespace": "internal_llm_openai_official" + }, + { + "title": "Rev ChatGPT", + "desc": "早期的逆向ChatGPT,不推荐", + "namespace": "internal_llm_rev_chatgpt" + } + ] + } + ] + return Response( + status="success", + message="", + data=sample ).__dict__ @self.dashboard_be.post("/api/configs") @@ -228,6 +276,34 @@ class AstrBotDashBoard(): pass return 'ok' + def _get_configs(self, namespace: str): + if namespace == "": + ret = [self.dashboard_data.configs['data'][5], + self.dashboard_data.configs['data'][6],] + elif namespace == "internal_platform_qq_official": + ret = [self.dashboard_data.configs['data'][0],] + elif namespace == "internal_platform_qq_gocq": + ret = [self.dashboard_data.configs['data'][1],] + elif namespace == "internal_platform_general": # 全局平台配置 + ret = [self.dashboard_data.configs['data'][2],] + elif namespace == "internal_llm_openai_official": + ret = [self.dashboard_data.configs['data'][3],] + elif namespace == "internal_llm_rev_chatgpt": + ret = [self.dashboard_data.configs['data'][4],] + else: + path = f"data/config/{namespace}.json" + if not os.path.exists(path): + return [] + with open(path, "r", encoding="utf-8-sig") as f: + ret = { + "config_type": "group", + "name": namespace + " 插件配置", + "description": "", + "body": list(json.load(f).values()) + } + return ret + + def register(self, name: str): def decorator(func): self.funcs[name] = func diff --git a/cores/qqbot/core.py b/cores/qqbot/core.py index a4fa6a571..ade964af4 100644 --- a/cores/qqbot/core.py +++ b/cores/qqbot/core.py @@ -139,9 +139,9 @@ def initBot(cfg): if 'reply_prefix' in cfg: # 适配旧版配置 if isinstance(cfg['reply_prefix'], dict): - for k in cfg['reply_prefix']: - _global_object.reply_prefix = cfg['reply_prefix'][k] - break + _global_object.reply_prefix = "" + cfg['reply_prefix'] = "" + cc.put("reply_prefix", "") else: _global_object.reply_prefix = cfg['reply_prefix'] diff --git a/main.py b/main.py index 3c0329752..939f2c999 100644 --- a/main.py +++ b/main.py @@ -36,6 +36,10 @@ def main(): # 检查并创建 temp 文件夹 if not os.path.exists(abs_path + "temp"): os.mkdir(abs_path+"temp") + if not os.path.exists(abs_path + "data"): + os.mkdir(abs_path+"data") + if not os.path.exists(abs_path + "data/config"): + os.mkdir(abs_path+"data/config") # 启动主程序(cores/qqbot/core.py) qqBot.initBot(cfg) diff --git a/model/command/command.py b/model/command/command.py index 009a51789..2847533aa 100644 --- a/model/command/command.py +++ b/model/command/command.py @@ -1,13 +1,6 @@ import json from util import general_utils as gu -has_git = True -try: - import git.exc - from git.repo import Repo -except BaseException as e: - has_git = False import os -import sys import requests from model.provider.provider import Provider import json @@ -19,9 +12,7 @@ from nakuru.entities.components import ( Plain, Image ) -from PIL import Image as PILImage from cores.qqbot.global_object import GlobalObject, AstrMessageEvent -from pip._internal import main as pipmain from cores.qqbot.global_object import CommandResult PLATFORM_QQCHAN = 'qqchan' @@ -42,6 +33,7 @@ class Command: message_obj): # 插件 cached_plugins = self.global_object.cached_plugins + # 将消息封装成 AstrMessageEvent 对象 ame = AstrMessageEvent( message_str=message, message_obj=message_obj, @@ -52,6 +44,7 @@ class Command: global_object=self.global_object, session_id = session_id ) + # 从已启动的插件中查找是否有匹配的指令 for k, v in cached_plugins.items(): try: result = v["clsobj"].run(ame) @@ -91,7 +84,6 @@ class Command: if self.command_start_with(message, "ip"): ip = requests.get("https://myip.ipip.net", timeout=5).text return True, f"机器人 IP 信息:{ip}", "ip" - return False, None @@ -128,8 +120,6 @@ class Command: 插件指令 ''' def plugin_oper(self, message: str, role: str, cached_plugins: dict, platform: str): - if not has_git: - return False, "你正在运行在无Git环境下,暂时将无法使用插件、热更新功能。", "plugin" l = message.split(" ") if len(l) < 2: p = gu.create_text_image("【插件指令面板】", "安装插件: \nplugin i 插件Github地址\n卸载插件: \nplugin d 插件名 \n重载插件: \nplugin reload\n查看插件列表:\nplugin l\n更新插件: plugin u 插件名\n") @@ -316,8 +306,6 @@ class Command: return False, "设置失败: "+str(e), "keyword" def update(self, message: str, role: str): - if not has_git: - return False, "你正在运行在无Git环境下,暂时将无法使用插件、热更新功能。", "update" if role != "admin": return True, "你没有权限使用该指令", "keyword" l = message.split(" ") diff --git a/model/command/openai_official.py b/model/command/openai_official.py index c90603c9b..d73ab0ae9 100644 --- a/model/command/openai_official.py +++ b/model/command/openai_official.py @@ -18,6 +18,8 @@ class CommandOpenAIOfficial(Command): platform: str, message_obj): self.platform = platform + + # 检查基础指令 hit, res = super().check_command( message, session_id, @@ -26,6 +28,7 @@ class CommandOpenAIOfficial(Command): message_obj ) + # 这里是这个 LLM 的专属指令 if hit: return True, res if self.command_start_with(message, "reset", "重置"): diff --git a/model/platform/qq_gocq.py b/model/platform/qq_gocq.py index d42c55a66..3acbe1f2c 100644 --- a/model/platform/qq_gocq.py +++ b/model/platform/qq_gocq.py @@ -145,7 +145,6 @@ class QQGOCQ(Platform): # 解析 role sender_id = str(message.user_id) if sender_id == self.cc.get('admin_qq', '') or \ - sender_id == self.cc.get('gocq_qqchan_admin', '') or \ sender_id in self.cc.get('other_admins', []): role = 'admin' else: diff --git a/util/cmd_config.py b/util/cmd_config.py index 1d5d423d0..688335e75 100644 --- a/util/cmd_config.py +++ b/util/cmd_config.py @@ -99,10 +99,8 @@ def init_astrbot_config_items(): cc.init_attributes("gocq_react_guild", True) cc.init_attributes("gocq_react_friend", True) cc.init_attributes("gocq_react_group_increase", True) - cc.init_attributes("gocq_qqchan_admin", "") cc.init_attributes("other_admins", []) cc.init_attributes("CHATGPT_BASE_URL", "") - cc.init_attributes("qqbot_appid", "") cc.init_attributes("qqbot_secret", "") cc.init_attributes("admin_qq", "") cc.init_attributes("nick_qq", ["!", "!", "ai"]) diff --git a/util/plugin_dev/api/v1/config.py b/util/plugin_dev/api/v1/config.py new file mode 100644 index 000000000..0e7615efa --- /dev/null +++ b/util/plugin_dev/api/v1/config.py @@ -0,0 +1,82 @@ +from cores.qqbot.global_object import GlobalObject +from typing import Union +import os +import json + +def load_config(namespace: str) -> Union[dict, bool]: + ''' + 从配置文件中加载配置。 + namespace: str, 配置的唯一识别符,也就是配置文件的名字。 + 返回值: 当配置文件存在时,返回 namespace 对应配置文件的内容dict,否则返回 False。 + ''' + path = f"data/config/{namespace}.json" + if not os.path.exists(path): + return False + with open(path, "r", encoding="utf-8-sig") as f: + ret = {} + data = json.load(f) + for k in data: + ret[k] = data[k]["value"] + return ret + + +def put_config(namespace: str, name: str, key: str, value, description: str): + ''' + 将配置写入配置文件。当前 value 仅支持 str, int, float, bool, list 类型(暂不支持 dict)。 + namespace: str, 配置的唯一识别符,也就是配置文件的名字。 + name: str, 配置项的显示名字。 + key: str, 配置项的键。 + value: str, int, float, bool, list, 配置项的值。 + description: str, 配置项的描述。 + 注意:只有当 namespace 为插件名(info 函数中的 name)时,该配置才会显示到可视化面板上。 + ''' + if namespace == "": + raise ValueError("namespace 不能为空。") + if namespace.startswith("internal_"): + raise ValueError("namespace 不能以 internal_ 开头。") + if not isinstance(key, str): + raise ValueError("key 只支持 str 类型。") + if not isinstance(value, (str, int, float, bool, list)): + raise ValueError("value 只支持 str, int, float, bool, list 类型。") + path = f"data/config/{namespace}.json" + if not os.path.exists(path): + with open(path, "w", encoding="utf-8-sig") as f: + f.write("{}") + with open(path, "r", encoding="utf-8-sig") as f: + d = json.load(f) + assert(isinstance(d, dict)) + d[key] = { + "config_type": "item", + "name": name, + "description": description, + "path": key, + "value": value, + "val_type": type(value).__name__ + } + with open(path, "w", encoding="utf-8-sig") as f: + json.dump(d, f, indent=2, ensure_ascii=False) + f.flush() + +def update_config(namespace: str, key: str, value): + ''' + 更新配置文件中的配置项。 + namespace: str, 配置的唯一识别符,也就是配置文件的名字。 + key: str, 配置项的键。 + value: str, int, float, bool, list, 配置项的值。 + ''' + path = f"data/config/{namespace}.json" + if not os.path.exists(path): + raise FileNotFoundError(f"配置文件 {namespace}.json 不存在。") + with open(path, "r", encoding="utf-8-sig") as f: + d = json.load(f) + assert(isinstance(d, dict)) + if key not in d: + raise KeyError(f"配置项 {key} 不存在。") + d[key]["value"] = value + with open(path, "w", encoding="utf-8-sig") as f: + json.dump(d, f, indent=2, ensure_ascii=False) + f.flush() + + + + \ No newline at end of file