From 9369fcec3f5a3912a67233c8f6a4f0d0620b6ebd Mon Sep 17 00:00:00 2001 From: xboard Date: Thu, 9 Jan 2025 01:38:53 +0800 Subject: [PATCH] fix: correct know file issues --- app/Http/Controllers/V2/Admin/StatController.php | 16 ---------------- app/Http/Controllers/V2/Admin/UserController.php | 12 ++++++++++-- app/Services/AuthService.php | 2 +- app/Services/ThemeService.php | 2 +- public/assets/admin/assets/index.js | 16 ++++++++-------- public/assets/admin/assets/vendor.js | 8 ++++---- 6 files changed, 24 insertions(+), 32 deletions(-) diff --git a/app/Http/Controllers/V2/Admin/StatController.php b/app/Http/Controllers/V2/Admin/StatController.php index ed8229b..058d604 100644 --- a/app/Http/Controllers/V2/Admin/StatController.php +++ b/app/Http/Controllers/V2/Admin/StatController.php @@ -69,8 +69,6 @@ class StatController extends Controller 'start_date' => 'nullable|date_format:Y-m-d', 'end_date' => 'nullable|date_format:Y-m-d', 'type' => 'nullable|in:paid_total,paid_count,commission_total,commission_count', - 'page' => 'nullable|integer|min:1', - 'page_size' => 'nullable|integer|min:1|max:100' ]); $query = Stat::where('record_type', 'd'); @@ -83,15 +81,7 @@ class StatController extends Controller $query->where('record_at', '<=', strtotime($request->input('end_date') . ' 23:59:59')); } - // Get total count for pagination - $total = $query->count(); - - // Apply pagination - $pageSize = $request->input('page_size', 31); - $page = $request->input('page', 1); - $statistics = $query->orderBy('record_at', 'DESC') - ->forPage($page, $pageSize) ->get() ->toArray(); @@ -157,12 +147,6 @@ class StatController extends Controller 'data' => [ 'list' => array_reverse($dailyStats), 'summary' => $summary, - 'pagination' => [ - 'total' => $total, - 'current_page' => $page, - 'page_size' => $pageSize, - 'total_pages' => ceil($total / $pageSize) - ] ] ]; } diff --git a/app/Http/Controllers/V2/Admin/UserController.php b/app/Http/Controllers/V2/Admin/UserController.php index 376808d..bec9bfe 100644 --- a/app/Http/Controllers/V2/Admin/UserController.php +++ b/app/Http/Controllers/V2/Admin/UserController.php @@ -70,7 +70,9 @@ class UserController extends Controller $this->applyFiltersAndSorts($request, $userModel); $users = $userModel->orderBy('id', 'desc')->paginate($pageSize, ['*'], 'page', $current); $users->getCollection()->transform(function ($user) { - $user->subscribe_url = Helper::getSubscribeUrl( $user->token); + $user->subscribe_url = Helper::getSubscribeUrl($user->token); + $user->balance = $user->balance / 100; + $user->commission_balance = $user->commission_balance / 100; return $user; }); return response([ @@ -127,7 +129,13 @@ class UserController extends Controller if (isset($params['banned']) && (int) $params['banned'] === 1) { $authService = new AuthService($user); - $authService->removeAllSession(); + $authService->removeSession(); + } + if (isset($params['balance'])) { + $params['balance'] = $params['balance'] * 100; + } + if (isset($params['commission_balance'])) { + $params['commission_balance'] = $params['commission_balance'] * 100; } try { diff --git a/app/Services/AuthService.php b/app/Services/AuthService.php index b5c4f89..9398894 100644 --- a/app/Services/AuthService.php +++ b/app/Services/AuthService.php @@ -42,7 +42,7 @@ class AuthService return $this->user->tokens()->get()->toArray(); } - public function removeSession(string $sessionId): bool + public function removeSession(): bool { $this->user->tokens()->delete(); return true; diff --git a/app/Services/ThemeService.php b/app/Services/ThemeService.php index 76606d7..c6369b2 100644 --- a/app/Services/ThemeService.php +++ b/app/Services/ThemeService.php @@ -129,7 +129,7 @@ class ThemeService */ public function delete(string $theme): bool { - if ($theme === admin_setting('current_theme')) { + if ($theme === admin_setting('current_theme') || in_array($theme, ['Xboard', 'v2board'])) { throw new Exception('Cannot delete active theme'); } diff --git a/public/assets/admin/assets/index.js b/public/assets/admin/assets/index.js index 4e13e7e..58d3931 100644 --- a/public/assets/admin/assets/index.js +++ b/public/assets/admin/assets/index.js @@ -1,7 +1,7 @@ -import{r as i,j as e,t as tl,c as al,I as oa,a as ys,S as Ut,u as Ze,b as gt,d as nl,O as Gt,e as rl,f as V,g as ll,h as il,i as ol,Q as cl,k as dl,R as xl,l as ml,P as ul,m as hl,B as jl,n as Ia,F as gl,C as fl,o as pl,p as vl,q as bl,s as yl,v as Nl,z as o,w as Va,x as Z,y as ee,A as Ra,D as ft,E as pt,G as Bt,H as Le,T as vt,J as bt,K as Ma,L as za,M as wl,N as _l,U as Cl,V as Sl,W as Ea,X as Yt,Y as Oa,Z as kl,_ as La,$ as $a,a0 as Aa,a1 as Ha,a2 as us,a3 as Ka,a4 as Tl,a5 as qa,a6 as Ua,a7 as Dl,a8 as Pl,a9 as Fl,aa as Il,ab as Ga,ac as Vl,ad as Rl,ae as Ns,af as Ba,ag as Ml,ah as zl,ai as Ya,aj as El,ak as Ol,al as ca,am as Ll,an as Wa,ao as $l,ap as Ja,aq as Al,ar as Hl,as as Kl,at as ql,au as Ul,av as Gl,aw as Qa,ax as Bl,ay as Yl,az as Wl,aA as ye,aB as Jl,aC as Ql,aD as Zl,aE as Xl,aF as Za,aG as Xa,aH as en,aI as ei,aJ as sn,aK as tn,aL as an,aM as si,aN as Bs,aO as K,aP as ds,aQ as ti,aR as ai,aS as ni,aT as ri,aU as li,aV as ii,aW as da,aX as xa,aY as oi,aZ as ci,a_ as di,a$ as xi,b0 as mi,b1 as ui,b2 as nn,b3 as hi,b4 as ji,b5 as gi,b6 as rn,b7 as fi,b8 as Qe,b9 as ln,ba as pi,bb as on,bc as vi,bd as cn,be as bi,bf as dn,bg as xn,bh as yi,bi as Ni,bj as mn,bk as wi,bl as _i,bm as un,bn as Ci,bo as hn,bp as Si,bq as ki,br as jn,bs as Ti,bt as Di,bu as gn,bv as Pi,bw as tt,bx as Fi,by as ma,bz as Mt,bA as zt,bB as Ii,bC as yt,bD as fn,bE as Vi,bF as Wt,bG as Ri,bH as Mi,bI as zi,bJ as Ei,bK as Oi,bL as pn,bM as Li,bN as $i,bO as Ai,bP as Hi,bQ as vn,bR as Ki,bS as Et,bT as qi,bU as Ui,bV as mt,bW as ve,bX as ua,bY as Gi,bZ as bn,b_ as yn,b$ as Nn,c0 as wn,c1 as _n,c2 as Cn,c3 as Bi,c4 as Yi,c5 as Wi,c6 as Nt,c7 as ws,c8 as Xe,c9 as Re,ca as Me,cb as $e,cc as Ae,cd as He,ce as ha,cf as Ot,cg as es,ch as ss,ci as Sn,cj as kn,ck as Ms,cl as Ji,cm as Qi,cn as ja,co as Tn,cp as ga,cq as ut,cr as Zi,cs as Xi,ct as Dn,cu as eo,cv as so,cw as Pn,cx as Lt,cy as Fn,cz as to,cA as In,cB as ao,cC as no,cD as ro,cE as lo,cF as io}from"./vendor.js";import"./index.js";var Uu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Gu(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function oo(s){if(s.__esModule)return s;var t=s.default;if(typeof t=="function"){var a=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};a.prototype=t.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(s).forEach(function(n){var r=Object.getOwnPropertyDescriptor(s,n);Object.defineProperty(a,n,r.get?r:{enumerable:!0,get:function(){return s[n]}})}),a}const co={theme:"system",setTheme:()=>null},Vn=i.createContext(co);function xo({children:s,defaultTheme:t="system",storageKey:a="vite-ui-theme",...n}){const[r,l]=i.useState(()=>localStorage.getItem(a)||t);i.useEffect(()=>{const d=window.document.documentElement;if(d.classList.remove("light","dark"),r==="system"){const m=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";d.classList.add(m);return}d.classList.add(r)},[r]);const c={theme:r,setTheme:d=>{localStorage.setItem(a,d),l(d)}};return e.jsx(Vn.Provider,{...n,value:c,children:s})}const mo=()=>{const s=i.useContext(Vn);if(s===void 0)throw new Error("useTheme must be used within a ThemeProvider");return s},uo=function(){const t=typeof document<"u"&&document.createElement("link").relList;return t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"}(),ho=function(s,t){return new URL(s,t).href},fa={},Q=function(t,a,n){let r=Promise.resolve();if(a&&a.length>0){const c=document.getElementsByTagName("link"),d=document.querySelector("meta[property=csp-nonce]"),m=d?.nonce||d?.getAttribute("nonce");r=Promise.allSettled(a.map(w=>{if(w=ho(w,n),w in fa)return;fa[w]=!0;const j=w.endsWith(".css"),b=j?'[rel="stylesheet"]':"";if(!!n)for(let D=c.length-1;D>=0;D--){const T=c[D];if(T.href===w&&(!j||T.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${w}"]${b}`))return;const y=document.createElement("link");if(y.rel=j?"stylesheet":uo,j||(y.as="script"),y.crossOrigin="",y.href=w,m&&y.setAttribute("nonce",m),document.head.appendChild(y),j)return new Promise((D,T)=>{y.addEventListener("load",D),y.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${w}`)))})}))}function l(c){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=c,window.dispatchEvent(d),!d.defaultPrevented)throw c}return r.then(c=>{for(const d of c||[])d.status==="rejected"&&l(d.reason);return t().catch(l)})};function f(...s){return tl(al(s))}const Ie=ys("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),k=i.forwardRef(({className:s,variant:t,size:a,asChild:n=!1,children:r,disabled:l,loading:c=!1,leftSection:d,rightSection:m,...w},j)=>{const b=n?Ut:"button";return e.jsxs(b,{className:f(Ie({variant:t,size:a,className:s})),disabled:c||l,ref:j,...w,children:[(d&&c||!d&&!m&&c)&&e.jsx(oa,{className:"mr-2 h-4 w-4 animate-spin"}),!c&&d&&e.jsx("div",{className:"mr-2",children:d}),r,!c&&m&&e.jsx("div",{className:"ml-2",children:m}),m&&c&&e.jsx(oa,{className:"ml-2 h-4 w-4 animate-spin"})]})});k.displayName="Button";function Ss({className:s,minimal:t=!1}){const a=Ze();return e.jsx("div",{className:f("h-svh w-full",s),children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[!t&&e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"500"}),e.jsxs("span",{className:"font-medium",children:["Oops! Something went wrong ",":')"]}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["We apologize for the inconvenience. ",e.jsx("br",{})," Please try again later."]}),!t&&e.jsxs("div",{className:"mt-6 flex gap-4",children:[e.jsx(k,{variant:"outline",onClick:()=>a(-1),children:"Go Back"}),e.jsx(k,{onClick:()=>a("/"),children:"Back to Home"})]})]})})}function pa(){const s=Ze();return e.jsx("div",{className:"h-svh",children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"404"}),e.jsx("span",{className:"font-medium",children:"Oops! Page Not Found!"}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["It seems like the page you're looking for ",e.jsx("br",{}),"does not exist or might have been removed."]}),e.jsxs("div",{className:"mt-6 flex gap-4",children:[e.jsx(k,{variant:"outline",onClick:()=>s(-1),children:"Go Back"}),e.jsx(k,{onClick:()=>s("/"),children:"Back to Home"})]})]})})}function jo(){return e.jsx("div",{className:"h-svh",children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"503"}),e.jsx("span",{className:"font-medium",children:"Website is under maintenance!"}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["The site is not available at the moment. ",e.jsx("br",{}),"We'll be back online shortly."]}),e.jsx("div",{className:"mt-6 flex gap-4",children:e.jsx(k,{variant:"outline",children:"Learn more"})})]})})}function go(s){return typeof s>"u"}function fo(s){return s===null}function po(s){return fo(s)||go(s)}class vo{storage;prefixKey;constructor(t){this.storage=t.storage,this.prefixKey=t.prefixKey}getKey(t){return`${this.prefixKey}${t}`.toUpperCase()}set(t,a,n=null){const r=JSON.stringify({value:a,time:Date.now(),expire:n!==null?new Date().getTime()+n*1e3:null});this.storage.setItem(this.getKey(t),r)}get(t,a=null){const n=this.storage.getItem(this.getKey(t));if(!n)return{value:a,time:0};try{const r=JSON.parse(n),{value:l,time:c,expire:d}=r;return po(d)||d>new Date().getTime()?{value:l,time:c}:(this.remove(t),{value:a,time:0})}catch{return this.remove(t),{value:a,time:0}}}remove(t){this.storage.removeItem(this.getKey(t))}clear(){this.storage.clear()}}function Rn({prefixKey:s="",storage:t=sessionStorage}){return new vo({prefixKey:s,storage:t})}const Mn="Xboard_",bo=function(s={}){return Rn({prefixKey:s.prefixKey||"",storage:localStorage})},yo=function(s={}){return Rn({prefixKey:s.prefixKey||"",storage:sessionStorage})},wt=bo({prefixKey:Mn});yo({prefixKey:Mn});const zn="access_token";function Ys(){return wt.get(zn)}function En(){wt.remove(zn)}const va=["/sign-in","/sign-in-2","/sign-up","/forgot-password","/otp"];function No({children:s}){const t=Ze(),a=gt(),n=Ys();return i.useEffect(()=>{if(!n.value&&!va.includes(a.pathname)){const r=encodeURIComponent(a.pathname+a.search);t(`/sign-in?redirect=${r}`)}},[n.value,a.pathname,a.search,t]),va.includes(a.pathname)||n.value?e.jsx(e.Fragment,{children:s}):null}const wo=()=>e.jsx(No,{children:e.jsx(Gt,{})}),_o=nl([{path:"/sign-in",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Uo);return{default:s}},void 0,import.meta.url)).default})},{element:e.jsx(wo,{}),children:[{path:"/",lazy:async()=>({Component:(await Q(()=>Promise.resolve().then(()=>rc),void 0,import.meta.url)).default}),errorElement:e.jsx(Ss,{}),children:[{index:!0,lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Cd);return{default:s}},void 0,import.meta.url)).default})},{path:"config",errorElement:e.jsx(Ss,{}),children:[{path:"system",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Td);return{default:s}},void 0,import.meta.url)).default}),children:[{index:!0,lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Rd);return{default:s}},void 0,import.meta.url)).default})},{path:"safe",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Ld);return{default:s}},void 0,import.meta.url)).default})},{path:"subscribe",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Kd);return{default:s}},void 0,import.meta.url)).default})},{path:"invite",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Yd);return{default:s}},void 0,import.meta.url)).default})},{path:"frontend",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Xd);return{default:s}},void 0,import.meta.url)).default})},{path:"server",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>nx);return{default:s}},void 0,import.meta.url)).default})},{path:"email",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>cx);return{default:s}},void 0,import.meta.url)).default})},{path:"telegram",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>hx);return{default:s}},void 0,import.meta.url)).default})},{path:"APP",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>vx);return{default:s}},void 0,import.meta.url)).default})}]},{path:"payment",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Fx);return{default:s}},void 0,import.meta.url)).default})},{path:"theme",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Rx);return{default:s}},void 0,import.meta.url)).default})},{path:"notice",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Ax);return{default:s}},void 0,import.meta.url)).default})},{path:"knowledge",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Wx);return{default:s}},void 0,import.meta.url)).default})}]},{path:"server",errorElement:e.jsx(Ss,{}),children:[{path:"manage",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>vm);return{default:s}},void 0,import.meta.url)).default})},{path:"group",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>_m);return{default:s}},void 0,import.meta.url)).default})},{path:"route",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Pm);return{default:s}},void 0,import.meta.url)).default})}]},{path:"finance",errorElement:e.jsx(Ss,{}),children:[{path:"plan",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Lm);return{default:s}},void 0,import.meta.url)).default})},{path:"order",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Ym);return{default:s}},void 0,import.meta.url)).default})},{path:"coupon",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>au);return{default:s}},void 0,import.meta.url)).default})}]},{path:"user",errorElement:e.jsx(Ss,{}),children:[{path:"manage",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Cu);return{default:s}},void 0,import.meta.url)).default})},{path:"ticket",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Hu);return{default:s}},void 0,import.meta.url)).default})}]}]}]},{path:"/500",Component:Ss},{path:"/404",Component:pa},{path:"/503",Component:jo},{path:"*",Component:pa}]),Co="locale";function So(){return wt.get(Co)}function On(){En();const s=window.location.pathname,t=s&&!["/404","/sign-in"].includes(s);window.location.href="sign-in"+(t?`?redirect=${s}`:"")}const ko=["/passport/auth/login","/passport/auth/token2Login","/passport/auth/register","/guest/comm/config","/passport/comm/sendEmailVerify","/passport/auth/forget"];function To(){const s=window.settings?.base_url||"/";return s.endsWith("/")?s+"api/v2":s+"/api/v2"}const I=rl.create({baseURL:To(),timeout:12e3,headers:{"Content-Type":"application/json"}});I.interceptors.request.use(s=>{s.method?.toLowerCase()==="get"&&(s.params={...s.params,t:Date.now()});const t=Ys();if(!ko.includes(s.url?.split("?")[0]||"")){if(!t.value)return On(),Promise.reject({code:-1,message:"未登录"});s.headers.Authorization=t.value}return s.headers["Content-Language"]=So().value||"zh-CN",s},s=>Promise.reject(s));I.interceptors.response.use(s=>{const t=s?.data||{code:-1,message:"未知错误"};return Promise.resolve(t)},s=>{const t=s.response?.data||{data:null,code:-1,message:"未知错误"},a=s.response?.status;let n=t.message;return a===401||a===403?(On(),n=a===401?n||"登录已过期":n||"没有权限"):a===404?n=n||"资源或接口不存在":n=n||"未知异常",V.error(n),Promise.resolve(t)});function Do(){return I.get("/user/info")}const Pt={token:Ys()?.value||"",userInfo:null,isLoggedIn:!!Ys()?.value,loading:!1,error:null},Us=ll("user/fetchUserInfo",async()=>(await Do()).data,{condition:(s,{getState:t})=>{const{user:a}=t();return!!a.token&&!a.loading}}),Ln=il({name:"user",initialState:Pt,reducers:{setToken(s,t){s.token=t.payload,s.isLoggedIn=!!t.payload},resetUserState:()=>Pt},extraReducers:s=>{s.addCase(Us.pending,t=>{t.loading=!0,t.error=null}).addCase(Us.fulfilled,(t,a)=>{t.loading=!1,t.userInfo=a.payload,t.error=null}).addCase(Us.rejected,(t,a)=>{if(t.loading=!1,t.error=a.error.message||"Failed to fetch user info",!t.token)return Pt})}}),{setToken:Po,resetUserState:Fo}=Ln.actions,Io=s=>s.user.userInfo,Vo=Ln.reducer,$n=ol({reducer:{user:Vo}});Ys()?.value&&$n.dispatch(Us());const Ro=new cl;dl.createRoot(document.getElementById("root")).render(e.jsx(xl.StrictMode,{children:e.jsx(ml,{client:Ro,children:e.jsx(ul,{store:$n,children:e.jsxs(xo,{defaultTheme:"light",storageKey:"vite-ui-theme",children:[e.jsx(hl,{router:_o}),e.jsx(jl,{richColors:!0,position:"top-right"})]})})})}));const _e=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:f("rounded-xl border bg-card text-card-foreground shadow",s),...t}));_e.displayName="Card";const Te=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:f("flex flex-col space-y-1.5 p-6",s),...t}));Te.displayName="CardHeader";const Oe=i.forwardRef(({className:s,...t},a)=>e.jsx("h3",{ref:a,className:f("font-semibold leading-none tracking-tight",s),...t}));Oe.displayName="CardTitle";const Vs=i.forwardRef(({className:s,...t},a)=>e.jsx("p",{ref:a,className:f("text-sm text-muted-foreground",s),...t}));Vs.displayName="CardDescription";const De=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:f("p-6 pt-0",s),...t}));De.displayName="CardContent";const Mo=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:f("flex items-center p-6 pt-0",s),...t}));Mo.displayName="CardFooter";const zo=ys("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),An=i.forwardRef(({className:s,...t},a)=>e.jsx(Ia,{ref:a,className:f(zo(),s),...t}));An.displayName=Ia.displayName;const se=gl,Hn=i.createContext({}),h=({...s})=>e.jsx(Hn.Provider,{value:{name:s.name},children:e.jsx(fl,{...s})}),_t=()=>{const s=i.useContext(Hn),t=i.useContext(Kn),{getFieldState:a,formState:n}=pl(),r=a(s.name,n);if(!s)throw new Error("useFormField should be used within ");const{id:l}=t;return{id:l,name:s.name,formItemId:`${l}-form-item`,formDescriptionId:`${l}-form-item-description`,formMessageId:`${l}-form-item-message`,...r}},Kn=i.createContext({}),u=i.forwardRef(({className:s,...t},a)=>{const n=i.useId();return e.jsx(Kn.Provider,{value:{id:n},children:e.jsx("div",{ref:a,className:f("space-y-2",s),...t})})});u.displayName="FormItem";const g=i.forwardRef(({className:s,...t},a)=>{const{error:n,formItemId:r}=_t();return e.jsx(An,{ref:a,className:f(n&&"text-destructive",s),htmlFor:r,...t})});g.displayName="FormLabel";const v=i.forwardRef(({...s},t)=>{const{error:a,formItemId:n,formDescriptionId:r,formMessageId:l}=_t();return e.jsx(Ut,{ref:t,id:n,"aria-describedby":a?`${r} ${l}`:`${r}`,"aria-invalid":!!a,...s})});v.displayName="FormControl";const P=i.forwardRef(({className:s,...t},a)=>{const{formDescriptionId:n}=_t();return e.jsx("p",{ref:a,id:n,className:f("text-[0.8rem] text-muted-foreground",s),...t})});P.displayName="FormDescription";const S=i.forwardRef(({className:s,children:t,...a},n)=>{const{error:r,formMessageId:l}=_t(),c=r?String(r?.message):t;return c?e.jsx("p",{ref:n,id:l,className:f("text-[0.8rem] font-medium text-destructive",s),...a,children:c}):null});S.displayName="FormMessage";const C=i.forwardRef(({className:s,type:t,...a},n)=>e.jsx("input",{type:t,className:f("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:n,...a}));C.displayName="Input";const qn=i.forwardRef(({className:s,...t},a)=>{const[n,r]=i.useState(!1);return e.jsxs("div",{className:"relative rounded-md",children:[e.jsx("input",{type:n?"text":"password",className:f("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:a,...t}),e.jsx(k,{type:"button",size:"icon",variant:"ghost",className:"absolute right-1 top-1/2 h-6 w-6 -translate-y-1/2 rounded-md text-muted-foreground",onClick:()=>r(l=>!l),children:n?e.jsx(vl,{size:18}):e.jsx(bl,{size:18})})]})});qn.displayName="PasswordInput";const Eo=s=>I({url:"/passport/auth/login",method:"post",data:s}),$t=s=>s;function X(s=void 0,t="YYYY-MM-DD HH:mm:ss"){return s==null?"":(Math.floor(s).toString().length===10&&(s=s*1e3),yl(s).format(t))}function Oo(s=void 0,t="YYYY-MM-DD"){return X(s,t)}function Ts(s){const t=typeof s=="string"?parseFloat(s):s;return isNaN(t)?"0.00":t.toFixed(2)}function As(s){const t=typeof s=="string"?parseFloat(s):s;return isNaN(t)?"0.00":(t/100).toFixed(2)}function At(s){navigator.clipboard?navigator.clipboard.writeText(s).then(()=>{V.success($t("复制成功"))}).catch(t=>{console.error("复制到剪贴板时出错:",t),ba(s)}):ba(s)}function ba(s){const t=document.createElement("button"),a=new Nl(t,{text:()=>s});a.on("success",()=>{V.success($t("复制成功")),a.destroy()}),a.on("error",()=>{V.error($t("复制失败")),a.destroy()}),t.click()}function Fs(s){const t=s/1024,a=t/1024,n=a/1024,r=n/1024;return r>=1?Ts(r)+" TB":n>=1?Ts(n)+" GB":a>=1?Ts(a)+" MB":Ts(t)+" KB"}const Lo="access_token";function $o(s){wt.set(Lo,s)}const Ao=o.object({email:o.string().min(1,{message:"请输入邮箱地址"}).email({message:"邮箱地址格式不正确"}),password:o.string().min(1,{message:"请输入密码"}).min(7,{message:"密码长度至少为7个字符"})});function Ho({className:s,onForgotPassword:t,...a}){const n=Ze(),r=Va(),l=Z({resolver:ee(Ao),defaultValues:{email:"",password:""}});async function c(d){try{const{data:m}=await Eo(d);m&&($o(m.auth_data),r(Po(m.auth_data)),await r(Us()).unwrap(),n("/"))}catch(m){const w=m instanceof Error?m.message:"登录失败";V.error(w)}}return e.jsx("div",{className:f("grid gap-6",s),...a,children:e.jsx(se,{...l,children:e.jsx("form",{onSubmit:l.handleSubmit(c),children:e.jsxs("div",{className:"grid gap-2",children:[e.jsx(h,{control:l.control,name:"email",render:({field:d})=>e.jsxs(u,{className:"space-y-1",children:[e.jsx(g,{children:"邮箱地址"}),e.jsx(v,{children:e.jsx(C,{placeholder:"name@example.com",...d})}),e.jsx(S,{})]})}),e.jsx(h,{control:l.control,name:"password",render:({field:d})=>e.jsxs(u,{className:"space-y-1",children:[e.jsx(g,{children:"密码"}),e.jsx(v,{children:e.jsx(qn,{placeholder:"请输入密码",...d})}),e.jsx(S,{})]})}),e.jsx(k,{className:"mt-2",loading:l.formState.isSubmitting,children:"登录"}),e.jsx(k,{variant:"link",type:"button",className:"mt-1 text-sm text-muted-foreground hover:text-primary",onClick:t,children:"忘记密码?"})]})})})})}const ue=Ra,Pe=Ma,Ko=za,Xs=Bt,Un=i.forwardRef(({className:s,...t},a)=>e.jsx(ft,{ref:a,className:f("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...t}));Un.displayName=ft.displayName;const de=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(Ko,{children:[e.jsx(Un,{}),e.jsxs(pt,{ref:n,className:f("max-h-[95%] overflow-auto fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...a,children:[t,e.jsxs(Bt,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e.jsx(Le,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));de.displayName=pt.displayName;const ge=({className:s,...t})=>e.jsx("div",{className:f("flex flex-col space-y-1.5 text-center sm:text-left",s),...t});ge.displayName="DialogHeader";const Fe=({className:s,...t})=>e.jsx("div",{className:f("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t});Fe.displayName="DialogFooter";const he=i.forwardRef(({className:s,...t},a)=>e.jsx(vt,{ref:a,className:f("text-lg font-semibold leading-none tracking-tight",s),...t}));he.displayName=vt.displayName;const ze=i.forwardRef(({className:s,...t},a)=>e.jsx(bt,{ref:a,className:f("text-sm text-muted-foreground",s),...t}));ze.displayName=bt.displayName;const Rs=ys("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),H=i.forwardRef(({className:s,variant:t,size:a,asChild:n=!1,...r},l)=>{const c=n?Ut:"button";return e.jsx(c,{className:f(Rs({variant:t,size:a,className:s})),ref:l,...r})});H.displayName="Button";function qo(){const[s,t]=i.useState(!1),a=async r=>{try{await navigator.clipboard.writeText(r),V.success("命令已复制到剪贴板")}catch{V.error("复制失败,请手动复制")}},n="php artisan reset:password 管理员邮箱";return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"container grid h-svh flex-col items-center justify-center bg-primary-foreground lg:max-w-none lg:px-0",children:e.jsxs("div",{className:"mx-auto flex w-full flex-col justify-center space-y-2 sm:w-[480px] lg:p-8",children:[e.jsx("div",{className:"mb-4 flex items-center justify-center",children:e.jsx("h1",{className:"text-3xl font-medium",children:window?.settings?.title})}),e.jsxs(_e,{className:"p-6",children:[e.jsxs("div",{className:"flex flex-col space-y-2 text-left",children:[e.jsx("h1",{className:"text-2xl font-semibold tracking-tight",children:"登录"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"请输入您的邮箱和密码登录系统"})]}),e.jsx(Ho,{onForgotPassword:()=>t(!0)})]})]})}),e.jsx(ue,{open:s,onOpenChange:t,children:e.jsx(de,{children:e.jsxs(ge,{children:[e.jsx(he,{children:"忘记密码"}),e.jsx(ze,{children:"在站点目录下执行以下命令找回密码"}),e.jsx("div",{className:"mt-2",children:e.jsxs("div",{className:"relative",children:[e.jsx("pre",{className:"rounded-md bg-secondary p-4 pr-12",children:n}),e.jsx(H,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-8 w-8 hover:bg-secondary-foreground/10",onClick:()=>a(n),children:e.jsx(wl,{className:"h-4 w-4"})})]})})]})})})]})}const Uo=Object.freeze(Object.defineProperty({__proto__:null,default:qo},Symbol.toStringTag,{value:"Module"})),fe=i.forwardRef(({className:s,fadedBelow:t=!1,fixedHeight:a=!1,...n},r)=>e.jsx("div",{ref:r,className:f("relative flex h-full w-full flex-col",t&&"after:pointer-events-none after:absolute after:bottom-0 after:left-0 after:hidden after:h-32 after:w-full after:bg-[linear-gradient(180deg,_transparent_10%,_hsl(var(--background))_70%)] after:md:block",a&&"md:h-svh",s),...n}));fe.displayName="Layout";const pe=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:f("flex h-[var(--header-height)] flex-none items-center gap-4 bg-background p-4 md:px-8",s),...t}));pe.displayName="LayoutHeader";const Ne=i.forwardRef(({className:s,fixedHeight:t,...a},n)=>e.jsx("div",{ref:n,className:f("flex-1 overflow-hidden px-4 py-6 md:px-8",t&&"h-[calc(100%-var(--header-height))]",s),...a}));Ne.displayName="LayoutBody";const Gn=_l,Bn=Cl,Yn=Sl,vs=Dl,bs=Pl,Go=Fl,Bo=i.forwardRef(({className:s,inset:t,children:a,...n},r)=>e.jsxs(Ea,{ref:r,className:f("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",s),...n,children:[a,e.jsx(Yt,{className:"ml-auto h-4 w-4"})]}));Bo.displayName=Ea.displayName;const Yo=i.forwardRef(({className:s,...t},a)=>e.jsx(Oa,{ref:a,className:f("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...t}));Yo.displayName=Oa.displayName;const ms=i.forwardRef(({className:s,sideOffset:t=4,...a},n)=>e.jsx(kl,{children:e.jsx(La,{ref:n,sideOffset:t,className:f("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...a})}));ms.displayName=La.displayName;const oe=i.forwardRef(({className:s,inset:t,...a},n)=>e.jsx($a,{ref:n,className:f("relative flex cursor-default cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",s),...a}));oe.displayName=$a.displayName;const Wo=i.forwardRef(({className:s,children:t,checked:a,...n},r)=>e.jsxs(Aa,{ref:r,className:f("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),checked:a,...n,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Ha,{children:e.jsx(us,{className:"h-4 w-4"})})}),t]}));Wo.displayName=Aa.displayName;const Jo=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(Ka,{ref:n,className:f("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...a,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Ha,{children:e.jsx(Tl,{className:"h-4 w-4 fill-current"})})}),t]}));Jo.displayName=Ka.displayName;const Jt=i.forwardRef(({className:s,inset:t,...a},n)=>e.jsx(qa,{ref:n,className:f("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",s),...a}));Jt.displayName=qa.displayName;const Ws=i.forwardRef(({className:s,...t},a)=>e.jsx(Ua,{ref:a,className:f("-mx-1 my-1 h-px bg-muted",s),...t}));Ws.displayName=Ua.displayName;const Ht=({className:s,...t})=>e.jsx("span",{className:f("ml-auto text-xs tracking-widest opacity-60",s),...t});Ht.displayName="DropdownMenuShortcut";const ce=Il,ne=Vl,re=Rl,te=i.forwardRef(({className:s,sideOffset:t=4,...a},n)=>e.jsx(Ga,{ref:n,sideOffset:t,className:f("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...a}));te.displayName=Ga.displayName;function Ct(){const{pathname:s}=gt();return{checkActiveNav:a=>{if(a==="/"&&s==="/")return!0;const n=a.replace(/^\//,""),r=s.replace(/^\//,"");return n?r.startsWith(n):!1}}}function Wn({key:s,defaultValue:t}){const[a,n]=i.useState(()=>{const r=localStorage.getItem(s);return r!==null?JSON.parse(r):t});return i.useEffect(()=>{localStorage.setItem(s,JSON.stringify(a))},[a,s]),[a,n]}function Qo(){const[s,t]=Wn({key:"expanded-sidebar-items",defaultValue:["仪表盘","系统管理","节点管理","订阅管理","用户管理"]});return{expandedItems:s,toggleItem:n=>{t(r=>r.includes(n)?r.filter(l=>l!==n):[...r,n])},isExpanded:n=>s.includes(n)}}function Zo({links:s,isCollapsed:t,className:a,closeNav:n}){const r=({sub:l,...c})=>{const d=`${c.title}-${c.href}`;return t&&l?i.createElement(sc,{...c,sub:l,key:d,closeNav:n}):t?i.createElement(ec,{...c,key:d,closeNav:n}):l?i.createElement(Xo,{...c,sub:l,key:d,closeNav:n}):i.createElement(Jn,{...c,key:d,closeNav:n})};return e.jsx("div",{"data-collapsed":t,className:f("group border-b bg-background py-2 transition-[max-height,padding] duration-500 data-[collapsed=true]:py-2 md:border-none",a),children:e.jsx(ce,{delayDuration:0,children:e.jsx("nav",{className:"grid gap-1 group-[[data-collapsed=true]]:justify-center group-[[data-collapsed=true]]:px-2",children:s.map(r)})})})}function Jn({title:s,icon:t,label:a,href:n,closeNav:r,subLink:l=!1}){const{checkActiveNav:c}=Ct();return e.jsxs(Ns,{to:n,onClick:r,className:f(Ie({variant:c(n)?"secondary":"ghost",size:"sm"}),"h-12 justify-start text-wrap rounded-none px-6",l&&"h-10 w-full border-l border-l-slate-500 px-2"),"aria-current":c(n)?"page":void 0,children:[e.jsx("div",{className:"mr-2",children:t}),s,a&&e.jsx("div",{className:"ml-2 rounded-lg bg-primary px-1 text-[0.625rem] text-primary-foreground",children:a})]})}function Xo({title:s,icon:t,label:a,sub:n,closeNav:r}){const{checkActiveNav:l}=Ct(),{isExpanded:c,toggleItem:d}=Qo(),m=!!n?.find(j=>l(j.href)),w=c(s)||m;return e.jsxs(Gn,{open:w,onOpenChange:()=>d(s),children:[e.jsxs(Bn,{className:f(Ie({variant:"ghost",size:"sm"}),"group h-12 w-full justify-start rounded-none px-6"),children:[e.jsx("div",{className:"mr-2",children:t}),s,a&&e.jsx("div",{className:"ml-2 rounded-lg bg-primary px-1 text-[0.625rem] text-primary-foreground",children:a}),e.jsx("span",{className:f('ml-auto transition-all group-data-[state="open"]:-rotate-180'),children:e.jsx(Ba,{stroke:1})})]}),e.jsx(Yn,{className:"collapsibleDropdown",asChild:!0,children:e.jsx("ul",{children:n.map(j=>e.jsx("li",{className:"my-1 ml-8",children:e.jsx(Jn,{...j,subLink:!0,closeNav:r})},j.title))})})]})}function ec({title:s,icon:t,label:a,href:n}){const{checkActiveNav:r}=Ct();return e.jsxs(ne,{delayDuration:0,children:[e.jsx(re,{asChild:!0,children:e.jsxs(Ns,{to:n,className:f(Ie({variant:r(n)?"secondary":"ghost",size:"icon"}),"h-12 w-12"),children:[t,e.jsx("span",{className:"sr-only",children:s})]})}),e.jsxs(te,{side:"right",className:"flex items-center gap-4",children:[s,a&&e.jsx("span",{className:"ml-auto text-muted-foreground",children:a})]})]})}function sc({title:s,icon:t,label:a,sub:n}){const{checkActiveNav:r}=Ct(),l=!!n?.find(c=>r(c.href));return e.jsxs(vs,{children:[e.jsxs(ne,{delayDuration:0,children:[e.jsx(re,{asChild:!0,children:e.jsx(bs,{asChild:!0,children:e.jsx(k,{variant:l?"secondary":"ghost",size:"icon",className:"h-12 w-12",children:t})})}),e.jsxs(te,{side:"right",className:"flex items-center gap-4",children:[s," ",a&&e.jsx("span",{className:"ml-auto text-muted-foreground",children:a}),e.jsx(Ba,{size:18,className:"-rotate-90 text-muted-foreground"})]})]}),e.jsxs(ms,{side:"right",align:"start",sideOffset:4,children:[e.jsxs(Jt,{children:[s," ",a?`(${a})`:""]}),e.jsx(Ws,{}),n.map(({title:c,icon:d,label:m,href:w})=>e.jsx(oe,{asChild:!0,children:e.jsxs(Ns,{to:w,className:`${r(w)?"bg-secondary":""}`,children:[d," ",e.jsx("span",{className:"ml-2 max-w-52 text-wrap",children:c}),m&&e.jsx("span",{className:"ml-auto text-xs",children:m})]})},`${c}-${w}`))]})]})}const Qn=[{title:"仪表盘",label:"",href:"/",icon:e.jsx(Ml,{size:18})},{title:"系统管理",label:"",href:"",icon:e.jsx(zl,{size:18}),sub:[{title:"系统配置",label:"",href:"/config/system",icon:e.jsx(Ya,{size:18})},{title:"主题配置",label:"",href:"/config/theme",icon:e.jsx(El,{size:18})},{title:"公告管理",label:"",href:"/config/notice",icon:e.jsx(Ol,{size:18})},{title:"支付配置",label:"",href:"/config/payment",icon:e.jsx(ca,{size:18})},{title:"知识库管理",label:"",href:"/config/knowledge",icon:e.jsx(Ll,{size:18})}]},{title:"节点管理",label:"",href:"",icon:e.jsx(Wa,{size:18}),sub:[{title:"节点管理",label:"",href:"/server/manage",icon:e.jsx($l,{size:18})},{title:"权限组管理",label:"",href:"/server/group",icon:e.jsx(Ja,{size:18})},{title:"路由管理",label:"",href:"/server/route",icon:e.jsx(Al,{size:18})}]},{title:"订阅管理",label:"",href:"",icon:e.jsx(Hl,{size:18}),sub:[{title:"套餐管理",label:"",href:"/finance/plan",icon:e.jsx(Kl,{size:18})},{title:"订单管理",label:"",href:"/finance/order",icon:e.jsx(ca,{size:18})},{title:"优惠券管理",label:"",href:"/finance/coupon",icon:e.jsx(ql,{size:18})}]},{title:"用户管理",label:"",href:"",icon:e.jsx(Ul,{size:18}),sub:[{title:"用户管理",label:"",href:"/user/manage",icon:e.jsx(Gl,{size:18})},{title:"工单管理",label:"",href:"/user/ticket",icon:e.jsx(Qa,{size:18})}]}];function tc({className:s,isCollapsed:t,setIsCollapsed:a}){const[n,r]=i.useState(!1);return i.useEffect(()=>{n?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")},[n]),e.jsxs("aside",{className:f(`fixed left-0 right-0 top-0 z-50 w-full border-r-2 border-r-muted transition-[width] md:bottom-0 md:right-auto md:h-svh ${t?"md:w-14":"md:w-64"}`,s),children:[e.jsx("div",{onClick:()=>r(!1),className:`absolute inset-0 transition-[opacity] delay-100 duration-700 ${n?"h-svh opacity-50":"h-0 opacity-0"} w-full bg-black md:hidden`}),e.jsxs(fe,{children:[e.jsxs(pe,{className:"sticky top-0 justify-between px-4 py-3 shadow md:px-4",children:[e.jsxs("div",{className:`flex items-center ${t?"":"gap-2"}`,children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",className:`transition-all ${t?"h-6 w-6":"h-8 w-8"}`,children:[e.jsx("rect",{width:"256",height:"256",fill:"none"}),e.jsx("line",{x1:"208",y1:"128",x2:"128",y2:"208",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16"}),e.jsx("line",{x1:"192",y1:"40",x2:"40",y2:"192",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16"}),e.jsx("span",{className:"sr-only",children:"Website Name"})]}),e.jsx("div",{className:`flex flex-col justify-end truncate ${t?"invisible w-0":"visible w-auto"}`,children:e.jsx("span",{className:"font-medium",children:window?.settings?.title})})]}),e.jsx(k,{variant:"ghost",size:"icon",className:"md:hidden","aria-label":"Toggle Navigation","aria-controls":"sidebar-menu","aria-expanded":n,onClick:()=>r(l=>!l),children:n?e.jsx(Bl,{}):e.jsx(Yl,{})})]}),e.jsx(Zo,{id:"sidebar-menu",className:`h-full flex-1 overflow-auto ${n?"max-h-screen":"max-h-0 py-0 md:max-h-screen md:py-2"}`,closeNav:()=>r(!1),isCollapsed:t,links:Qn}),e.jsx(k,{onClick:()=>a(l=>!l),size:"icon",variant:"outline",className:"absolute -right-5 top-1/2 hidden rounded-full md:inline-flex",children:e.jsx(Wl,{stroke:1.5,className:`h-5 w-5 ${t?"rotate-180":""}`})})]})]})}function ac(){const[s,t]=Wn({key:"collapsed-sidebar",defaultValue:!1});return i.useEffect(()=>{const a=()=>{t(window.innerWidth<768?!1:s)};return a(),window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a)}},[s,t]),[s,t]}function nc(){const[s,t]=ac();return e.jsxs("div",{className:"relative h-full overflow-hidden bg-background",children:[e.jsx(tc,{isCollapsed:s,setIsCollapsed:t}),e.jsx("main",{id:"content",className:`overflow-x-hidden pt-16 transition-[margin] md:overflow-y-hidden md:pt-0 ${s?"md:ml-14":"md:ml-64"} h-full`,children:e.jsx(Gt,{})})]})}const rc=Object.freeze(Object.defineProperty({__proto__:null,default:nc},Symbol.toStringTag,{value:"Module"})),ts=i.forwardRef(({className:s,...t},a)=>e.jsx(ye,{ref:a,className:f("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",s),...t}));ts.displayName=ye.displayName;const lc=({children:s,...t})=>e.jsx(ue,{...t,children:e.jsx(de,{className:"overflow-hidden p-0",children:e.jsx(ts,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:s})})}),hs=i.forwardRef(({className:s,...t},a)=>e.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e.jsx(Jl,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(ye.Input,{ref:a,className:f("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",s),...t})]}));hs.displayName=ye.Input.displayName;const as=i.forwardRef(({className:s,...t},a)=>e.jsx(ye.List,{ref:a,className:f("max-h-[300px] overflow-y-auto overflow-x-hidden",s),...t}));as.displayName=ye.List.displayName;const js=i.forwardRef((s,t)=>e.jsx(ye.Empty,{ref:t,className:"py-6 text-center text-sm",...s}));js.displayName=ye.Empty.displayName;const be=i.forwardRef(({className:s,...t},a)=>e.jsx(ye.Group,{ref:a,className:f("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",s),...t}));be.displayName=ye.Group.displayName;const _s=i.forwardRef(({className:s,...t},a)=>e.jsx(ye.Separator,{ref:a,className:f("-mx-1 h-px bg-border",s),...t}));_s.displayName=ye.Separator.displayName;const me=i.forwardRef(({className:s,...t},a)=>e.jsx(ye.Item,{ref:a,className:f("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...t}));me.displayName=ye.Item.displayName;function ic(){const s=[];for(const t of Qn)if(t.href&&s.push(t),t.sub)for(const a of t.sub)s.push({...a,parent:t.title});return s}function Ce(){const[s,t]=i.useState(!1),a=Ze(),n=ic();i.useEffect(()=>{const l=c=>{c.key==="k"&&(c.metaKey||c.ctrlKey)&&(c.preventDefault(),t(d=>!d))};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[]);const r=i.useCallback(l=>{t(!1),a(l)},[a]);return e.jsxs(e.Fragment,{children:[e.jsxs(H,{variant:"outline",className:"relative h-9 w-9 p-0 xl:h-10 xl:w-60 xl:justify-start xl:px-3 xl:py-2",onClick:()=>t(!0),children:[e.jsx(Ql,{className:"h-4 w-4 xl:mr-2"}),e.jsx("span",{className:"hidden xl:inline-flex",children:"搜索..."}),e.jsx("span",{className:"sr-only",children:"搜索"}),e.jsxs("kbd",{className:"pointer-events-none absolute right-1.5 top-2 hidden h-6 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 xl:flex",children:[e.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),e.jsxs(lc,{open:s,onOpenChange:t,children:[e.jsx(hs,{placeholder:"搜索所有菜单和功能..."}),e.jsxs(as,{children:[e.jsx(js,{children:"未找到相关结果"}),e.jsx(be,{heading:"菜单导航",children:n.map(l=>e.jsxs(me,{value:`${l.parent?l.parent+" ":""}${l.title}`,onSelect:()=>r(l.href),children:[e.jsx("div",{className:"mr-2",children:l.icon}),e.jsx("span",{children:l.title}),l.parent&&e.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:l.parent})]},l.href))})]})]})]})}function Se(){const{theme:s,setTheme:t}=mo();return i.useEffect(()=>{const a=s==="dark"?"#020817":"#fff",n=document.querySelector("meta[name='theme-color']");n&&n.setAttribute("content",a)},[s]),e.jsx(k,{size:"icon",variant:"ghost",className:"rounded-full",onClick:()=>t(s==="light"?"dark":"light"),children:s==="light"?e.jsx(Zl,{size:20}):e.jsx(Xl,{size:20})})}const Zn=i.forwardRef(({className:s,...t},a)=>e.jsx(Za,{ref:a,className:f("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",s),...t}));Zn.displayName=Za.displayName;const Xn=i.forwardRef(({className:s,...t},a)=>e.jsx(Xa,{ref:a,className:f("aspect-square h-full w-full",s),...t}));Xn.displayName=Xa.displayName;const er=i.forwardRef(({className:s,...t},a)=>e.jsx(en,{ref:a,className:f("flex h-full w-full items-center justify-center rounded-full bg-muted",s),...t}));er.displayName=en.displayName;function ke(){const s=Ze(),t=Va(),a=ei(Io),n=()=>{En(),t(Fo()),s("/sign-in")},r=a?.email?.split("@")[0]||"User",l=r.substring(0,2).toUpperCase();return e.jsxs(vs,{children:[e.jsx(bs,{asChild:!0,children:e.jsx(k,{variant:"ghost",className:"relative h-8 w-8 rounded-full",children:e.jsxs(Zn,{className:"h-8 w-8",children:[e.jsx(Xn,{src:a?.avatar_url,alt:r}),e.jsx(er,{children:l})]})})}),e.jsxs(ms,{className:"w-56",align:"end",forceMount:!0,children:[e.jsx(Jt,{className:"font-normal",children:e.jsxs("div",{className:"flex flex-col space-y-1",children:[e.jsx("p",{className:"text-sm font-medium leading-none",children:r}),e.jsx("p",{className:"text-xs leading-none text-muted-foreground",children:a?.email||"user@example.com"})]})}),e.jsx(Ws,{}),e.jsx(oe,{asChild:!0,children:e.jsxs(Ns,{to:"/config/system",children:["设置",e.jsx(Ht,{children:"⌘S"})]})}),e.jsx(Ws,{}),e.jsxs(oe,{onClick:n,children:["退出登录",e.jsx(Ht,{children:"⇧⌘Q"})]})]})]})}const M=window?.settings?.secure_path,oc=()=>I.get(M+"/stat/getOrder"),cc=()=>I.get(M+"/stat/getStats"),ya=s=>I.get(M+"/stat/getTrafficRank",{params:s}),dc=()=>I.get(M+"/theme/getThemes"),xc=s=>I.post(M+"/theme/getThemeConfig",{name:s}),mc=(s,t)=>I.post(M+"/theme/saveThemeConfig",{name:s,config:t}),uc=s=>{const t=new FormData;return t.append("file",s),I.post(M+"/theme/upload",t,{headers:{"Content-Type":"multipart/form-data"}})},hc=s=>I.post(M+"/theme/delete",{name:s}),jc=s=>I.post(M+"/config/save",s),sr=()=>I.get(M+"/server/manage/getNodes"),gc=s=>I.post(M+"/server/manage/save",s),fc=s=>I.post(M+"/server/manage/drop",s),pc=s=>I.post(M+"/server/manage/copy",s),vc=s=>I.post(M+"/server/manage/update",s),bc=s=>I.post(M+"/server/manage/sort",s),St=()=>I.get(M+"/server/group/fetch"),yc=s=>I.post(M+"/server/group/save",s),Nc=s=>I.post(M+"/server/group/drop",s),tr=()=>I.get(M+"/server/route/fetch"),wc=s=>I.post(M+"/server/route/save",s),_c=s=>I.post(M+"/server/route/drop",s),Cc=()=>I.get(M+"/payment/fetch"),Sc=()=>I.get(M+"/payment/getPaymentMethods"),kc=s=>I.post(M+"/payment/getPaymentForm",s),Tc=s=>I.post(M+"/payment/save",s),Dc=s=>I.post(M+"/payment/drop",s),Pc=s=>I.post(M+"/payment/show",s),Fc=s=>I.post(M+"/payment/sort",s),Ic=()=>I.get(M+"/notice/fetch"),Vc=s=>I.post(M+"/notice/save",s),Rc=s=>I.post(M+"/notice/drop",s),Mc=s=>I.post(M+"/notice/show",s),zc=()=>I.get(M+"/knowledge/fetch"),Ec=s=>I.get(M+"/knowledge/fetch?id="+s),Oc=s=>I.post(M+"/knowledge/save",s),Lc=s=>I.post(M+"/knowledge/drop",s),$c=s=>I.post(M+"/knowledge/show",s),Ac=s=>I.post(M+"/knowledge/sort",s),zs=()=>I.get(M+"/plan/fetch"),Hc=s=>I.post(M+"/plan/save",s),Ft=s=>I.post(M+"/plan/update",s),Kc=s=>I.post(M+"/plan/drop",s),qc=s=>I.post(M+"/plan/sort",{ids:s}),ar=async s=>I.post(M+"/order/fetch",s),Uc=s=>I.post(M+"/order/detail",s),Gc=s=>I.post(M+"/order/paid",s),Bc=s=>I.post(M+"/order/cancel",s),Na=s=>I.post(M+"/order/update",s),Yc=s=>I.post(M+"/order/assign",s),Wc=s=>I.post(M+"/coupon/fetch",s),Jc=s=>I.post(M+"/coupon/generate",s),Qc=s=>I.post(M+"/coupon/drop",s),Zc=s=>I.post(M+"/coupon/update",s),Xc=s=>I.post(M+"/user/fetch",s),ed=s=>I.post(M+"/user/update",s),sd=s=>I.post(M+"/user/resetSecret",s),td=s=>I.post(M+"/user/generate",s),ad=s=>I.post(M+"/stat/getStatUser",s),nr=s=>I.post(M+"/ticket/fetch",s),nd=s=>I.get(M+"/ticket/fetch?id= "+s),rd=s=>I.post(M+"/ticket/reply",s),rr=s=>I.post(M+"/ticket/close",{id:s}),ns=(s="")=>I.get(M+"/config/fetch?key="+s),rs=s=>I.post(M+"/config/save",s),ld=()=>I.get(M+"/config/getEmailTemplate"),id=()=>I.post(M+"/config/testSendMail"),od=()=>I.post(M+"/config/setTelegramWebhook"),lr=si,Qt=i.forwardRef(({className:s,...t},a)=>e.jsx(sn,{ref:a,className:f("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",s),...t}));Qt.displayName=sn.displayName;const Js=i.forwardRef(({className:s,...t},a)=>e.jsx(tn,{ref:a,className:f("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",s),...t}));Js.displayName=tn.displayName;const cd=i.forwardRef(({className:s,...t},a)=>e.jsx(an,{ref:a,className:f("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",s),...t}));cd.displayName=an.displayName;const is={income:{main:"hsl(var(--primary))",gradient:{start:"hsl(var(--primary))",end:"transparent"}},commission:{main:"hsl(var(--secondary))",gradient:{start:"hsl(var(--secondary))",end:"transparent"}}},qs=s=>(s/100).toFixed(2),dd=({active:s,payload:t,label:a})=>s&&t&&t.length?e.jsxs("div",{className:"rounded-lg border bg-background p-3 shadow-sm",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:a}),t.map((n,r)=>e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{className:"h-2 w-2 rounded-full",style:{backgroundColor:n.color}}),e.jsxs("span",{className:"text-muted-foreground",children:[n.name,":"]}),e.jsx("span",{className:"font-medium",children:n.name.includes("金额")?`¥${qs(n.value)}`:`${n.value}笔`})]},r))]}):null;function xd(){const[s,t]=i.useState("amount"),a=new Date,n=Bs(a,30),{data:r}=K({queryKey:["orderStat",{start_date:ds(n,"yyyy-MM-dd"),end_date:ds(a,"yyyy-MM-dd"),page_size:31}],queryFn:async()=>{const{data:l}=await oc({start_date:ds(n,"yyyy-MM-dd"),end_date:ds(a,"yyyy-MM-dd"),page_size:31});return l},refetchInterval:3e4});return r?e.jsxs(_e,{children:[e.jsxs(Te,{children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx(Oe,{children:"收入趋势"}),e.jsx(Vs,{children:`${r.summary.start_date} 至 ${r.summary.end_date}`})]}),e.jsx(lr,{value:s,onValueChange:l=>t(l),children:e.jsxs(Qt,{children:[e.jsx(Js,{value:"amount",children:"金额"}),e.jsx(Js,{value:"count",children:"笔数"})]})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"总收入"}),e.jsxs("div",{className:"text-2xl font-bold",children:["¥",qs(r.summary.paid_total)]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["共 ",r.summary.paid_count," 笔"]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["平均订单金额 ¥",qs(r.summary.avg_paid_amount)]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"总佣金"}),e.jsxs("div",{className:"text-2xl font-bold",children:["¥",qs(r.summary.commission_total)]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["共 ",r.summary.commission_count," 笔"]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["佣金比率 ",r.summary.commission_rate.toFixed(2),"%"]})]})]})]}),e.jsx(De,{children:e.jsx("div",{className:"h-[400px] w-full",children:e.jsx(ti,{width:"100%",height:"100%",children:e.jsxs(ai,{data:r.list,margin:{top:20,right:20,left:0,bottom:0},children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"incomeGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:is.income.gradient.start,stopOpacity:.2}),e.jsx("stop",{offset:"100%",stopColor:is.income.gradient.end,stopOpacity:.1})]}),e.jsxs("linearGradient",{id:"commissionGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:is.commission.gradient.start,stopOpacity:.2}),e.jsx("stop",{offset:"100%",stopColor:is.commission.gradient.end,stopOpacity:.1})]})]}),e.jsx(ni,{dataKey:"date",axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:l=>ds(new Date(l),"MM-dd",{locale:oi})}),e.jsx(ri,{axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:l=>s==="amount"?`¥${qs(l)}`:`${l}笔`}),e.jsx(li,{strokeDasharray:"3 3",vertical:!1,stroke:"hsl(var(--border))",opacity:.3}),e.jsx(ii,{content:e.jsx(dd,{})}),s==="amount"?e.jsxs(e.Fragment,{children:[e.jsx(da,{type:"monotone",dataKey:"paid_total",name:"收款金额",stroke:is.income.main,fill:"url(#incomeGradient)",strokeWidth:2}),e.jsx(da,{type:"monotone",dataKey:"commission_total",name:"佣金金额",stroke:is.commission.main,fill:"url(#commissionGradient)",strokeWidth:2})]}):e.jsxs(e.Fragment,{children:[e.jsx(xa,{dataKey:"paid_count",name:"收款笔数",fill:is.income.main,radius:[4,4,0,0],maxBarSize:40}),e.jsx(xa,{dataKey:"commission_count",name:"佣金笔数",fill:is.commission.main,radius:[4,4,0,0],maxBarSize:40})]})]})})})})]}):e.jsxs(_e,{children:[e.jsxs(Te,{children:[e.jsx(Oe,{children:"收入趋势"}),e.jsx(Vs,{children:"加载中..."})]}),e.jsx(De,{children:e.jsx("div",{className:"flex h-[400px] w-full items-center justify-center",children:e.jsx("div",{className:"animate-pulse",children:"Loading..."})})})]})}var ie=(s=>(s[s.PENDING=0]="PENDING",s[s.PROCESSING=1]="PROCESSING",s[s.CANCELLED=2]="CANCELLED",s[s.COMPLETED=3]="COMPLETED",s[s.DISCOUNTED=4]="DISCOUNTED",s))(ie||{});const ks={0:"待支付",1:"开通中",2:"已取消",3:"已完成",4:"已折抵"},Hs={0:"yellow-500",1:"blue-500",2:"red-500",3:"green-500",4:"green-500"},md={1:"新购",2:"续费",3:"升级",5:"流量重置"};var xe=(s=>(s[s.PENDING=0]="PENDING",s[s.PROCESSING=1]="PROCESSING",s[s.VALID=2]="VALID",s[s.INVALID=3]="INVALID",s))(xe||{});const at={0:"待确认",1:"发放中",2:"有效",3:"无效"},nt={0:"yellow-500",1:"blue-500",2:"green-500",3:"red-500"};var Ds=(s=>(s.MONTH_PRICE="month_price",s.QUARTER_PRICE="quarter_price",s.HALF_YEAR_PRICE="half_year_price",s.YEAR_PRICE="year_price",s.TWO_YEAR_PRICE="two_year_price",s.THREE_YEAR_PRICE="three_year_price",s.ONETIME_PRICE="onetime_price",s.RESET_PRICE="reset_price",s))(Ds||{});const ht={month_price:"月付",quarter_price:"季付",half_year_price:"半年付",year_price:"年付",two_year_price:"两年付",three_year_price:"三年付",onetime_price:"一次性",reset_price:"流量重置包"};var je=(s=>(s.Shadowsocks="shadowsocks",s.Vmess="vmess",s.Trojan="trojan",s.Hysteria="hysteria",s.Vless="vless",s))(je||{});const ps=[{type:"shadowsocks",label:"Shadowsocks"},{type:"vmess",label:"VMess"},{type:"trojan",label:"Trojan"},{type:"hysteria",label:"Hysteria"},{type:"vless",label:"VLess"}],Je={shadowsocks:"#489851",vmess:"#CB3180",trojan:"#EBB749",hysteria:"#5684e6",vless:"#1a1a1a"};var kt=(s=>(s[s.AMOUNT=1]="AMOUNT",s[s.PERCENTAGE=2]="PERCENTAGE",s))(kt||{});const Zt={1:"按金额优惠",2:"按比例优惠"},ud={0:"正常",1:"锁定"};var Ps=(s=>(s[s.OPENING=0]="OPENING",s[s.CLOSED=1]="CLOSED",s))(Ps||{});const hd={0:"开启",1:"已关闭"};var We=(s=>(s[s.LOW=0]="LOW",s[s.MIDDLE=1]="MIDDLE",s[s.HIGH=2]="HIGH",s))(We||{});const Gs={0:"低",1:"中",2:"高"};function jd(){const s=Ze(),{data:t}=K({queryKey:["pendingTickets"],queryFn:()=>nr({filter:[{id:"status",value:0}]}),staleTime:1e3*30,refetchInterval:1e3*30}),{data:a}=K({queryKey:["pendingCommissions"],queryFn:()=>ar({filter:[{id:"commission_status",value:xe.PENDING},{id:"status",value:ie.COMPLETED}]}),staleTime:1e3*30,refetchInterval:1e3*30}),n=t?.data||[],r=a?.data||[],l=()=>{s("/finance/order",{state:{filters:[{id:"commission_status",value:xe.PENDING},{id:"status",value:ie.COMPLETED}]}})};return e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[e.jsxs(_e,{className:`cursor-pointer transition-colors hover:bg-muted/50 ${n.length>0?"border-orange-500/50":""}`,onClick:()=>s("/user/ticket"),children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(Oe,{className:"text-sm font-medium",children:"待处理工单"}),e.jsx(ci,{className:`h-4 w-4 ${n.length>0?"text-orange-500":"text-muted-foreground"}`})]}),e.jsxs(De,{children:[e.jsx("div",{className:"text-2xl font-bold",children:n.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:n.length>0?"有待处理的工单需要关注":"暂无待处理工单"})]})]}),e.jsxs(_e,{className:`cursor-pointer transition-colors hover:bg-muted/50 ${r.length>0?"border-blue-500/50":""}`,onClick:l,children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(Oe,{className:"text-sm font-medium",children:"待处理佣金"}),e.jsx(di,{className:`h-4 w-4 ${r.length>0?"text-blue-500":"text-muted-foreground"}`})]}),e.jsxs(De,{children:[e.jsx("div",{className:"text-2xl font-bold",children:r.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r.length>0?"有待处理的佣金需要确认":"暂无待处理佣金"})]})]})]})}function Ve({className:s,...t}){return e.jsx("div",{className:f("animate-pulse rounded-md bg-primary/10",s),...t})}function gd(){return e.jsxs(_e,{children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(Ve,{className:"h-4 w-[100px]"}),e.jsx(Ve,{className:"h-4 w-4"})]}),e.jsxs(De,{children:[e.jsx(Ve,{className:"h-8 w-[120px]"}),e.jsx("div",{className:"flex items-center pt-1",children:e.jsx(Ve,{className:"h-4 w-[100px]"})})]})]})}function fd(){return e.jsx("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-4",children:Array.from({length:4}).map((s,t)=>e.jsx(gd,{},t))})}function rt({title:s,value:t,icon:a,trend:n,className:r}){return e.jsxs(_e,{className:f("transition-colors hover:border-primary/50",r),children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(Oe,{className:"text-sm font-medium",children:s}),a]}),e.jsxs(De,{children:[e.jsx("div",{className:"text-2xl font-bold",children:t}),e.jsxs("div",{className:"flex items-center pt-1",children:[e.jsx(hi,{className:f("h-4 w-4",n.isPositive?"text-emerald-500":"text-red-500")}),e.jsxs("span",{className:f("ml-1 text-xs",n.isPositive?"text-emerald-500":"text-red-500"),children:[n.isPositive?"+":"-",Math.abs(n.value),"%"]}),e.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:n.label})]})]})]})}function pd({className:s}){const{data:t,isLoading:a}=K({queryKey:["dashboardStats"],queryFn:async()=>(await cc()).data,refetchInterval:3e5});return a||!t?e.jsx(fd,{}):e.jsxs("div",{className:f("grid gap-4 md:grid-cols-2 lg:grid-cols-4",s),children:[e.jsx(rt,{title:"本月收入",value:`¥${t.currentMonthIncome/100}`,icon:e.jsx(xi,{className:"h-4 w-4 text-emerald-500"}),trend:{value:t.monthIncomeGrowth,label:"vs 上月",isPositive:t.monthIncomeGrowth>0}}),e.jsx(rt,{title:"上月收入",value:`¥${t.lastMonthIncome/100}`,icon:e.jsx(mi,{className:"h-4 w-4 text-muted-foreground"}),trend:{value:t.lastMonthIncomeGrowth,label:"vs 上上月",isPositive:t.lastMonthIncomeGrowth>0}}),e.jsx(rt,{title:"上月佣金支出",value:`¥${t.lastMonthCommissionPayout/100}`,icon:e.jsx(ui,{className:"h-4 w-4 text-destructive"}),trend:{value:t.commissionGrowth,label:"vs 上上月",isPositive:t.commissionGrowth>0}}),e.jsx(rt,{title:"本月新增用户",value:t.currentMonthNewUsers,icon:e.jsx(nn,{className:"h-4 w-4 text-blue-500"}),trend:{value:t.userGrowth,label:"vs 上月",isPositive:t.userGrowth>0}})]})}const B=ji,os=wi,Y=gi,U=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(rn,{ref:n,className:f("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...a,children:[t,e.jsx(fi,{asChild:!0,children:e.jsx(Qe,{className:"h-4 w-4 opacity-50"})})]}));U.displayName=rn.displayName;const ir=i.forwardRef(({className:s,...t},a)=>e.jsx(ln,{ref:a,className:f("flex cursor-default items-center justify-center py-1",s),...t,children:e.jsx(pi,{className:"h-4 w-4"})}));ir.displayName=ln.displayName;const or=i.forwardRef(({className:s,...t},a)=>e.jsx(on,{ref:a,className:f("flex cursor-default items-center justify-center py-1",s),...t,children:e.jsx(Qe,{className:"h-4 w-4"})}));or.displayName=on.displayName;const G=i.forwardRef(({className:s,children:t,position:a="popper",...n},r)=>e.jsx(vi,{children:e.jsxs(cn,{ref:r,className:f("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:a,...n,children:[e.jsx(ir,{}),e.jsx(bi,{className:f("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),e.jsx(or,{})]})}));G.displayName=cn.displayName;const vd=i.forwardRef(({className:s,...t},a)=>e.jsx(dn,{ref:a,className:f("px-2 py-1.5 text-sm font-semibold",s),...t}));vd.displayName=dn.displayName;const A=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(xn,{ref:n,className:f("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...a,children:[e.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(yi,{children:e.jsx(us,{className:"h-4 w-4"})})}),e.jsx(Ni,{children:t})]}));A.displayName=xn.displayName;const bd=i.forwardRef(({className:s,...t},a)=>e.jsx(mn,{ref:a,className:f("-mx-1 my-1 h-px bg-muted",s),...t}));bd.displayName=mn.displayName;function et({className:s,classNames:t,showOutsideDays:a=!0,...n}){return e.jsx(_i,{showOutsideDays:a,className:f("p-3",s),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:f(Rs({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:f("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",n.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:f(Rs({variant:"ghost"}),"h-8 w-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start",day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:({className:r,...l})=>e.jsx(un,{className:f("h-4 w-4",r),...l}),IconRight:({className:r,...l})=>e.jsx(Yt,{className:f("h-4 w-4",r),...l})},...n})}et.displayName="Calendar";const Be=Si,Ye=ki,Ke=i.forwardRef(({className:s,align:t="center",sideOffset:a=4,...n},r)=>e.jsx(Ci,{children:e.jsx(hn,{ref:r,align:t,sideOffset:a,className:f("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...n})}));Ke.displayName=hn.displayName;const Kt=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(jn,{ref:n,className:f("relative overflow-hidden",s),...a,children:[e.jsx(Ti,{className:"h-full w-full rounded-[inherit]",children:t}),e.jsx(jt,{}),e.jsx(Di,{})]}));Kt.displayName=jn.displayName;const jt=i.forwardRef(({className:s,orientation:t="vertical",...a},n)=>e.jsx(gn,{ref:n,orientation:t,className:f("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",s),...a,children:e.jsx(Pi,{className:"relative flex-1 rounded-full bg-border"})}));jt.displayName=gn.displayName;const qt={today:{label:"今天",getValue:()=>({start:Ii(),end:new Date})},last7days:{label:"最近7天",getValue:()=>({start:Bs(new Date,7),end:new Date})},last30days:{label:"最近30天",getValue:()=>({start:Bs(new Date,30),end:new Date})},custom:{label:"自定义范围",getValue:()=>null}};function wa({selectedRange:s,customDateRange:t,onRangeChange:a,onCustomRangeChange:n}){return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs(B,{value:s,onValueChange:a,children:[e.jsx(U,{className:"w-[140px]",children:e.jsx(Y,{placeholder:"选择时间范围"})}),e.jsx(G,{position:"popper",className:"z-50",children:Object.entries(qt).map(([r,{label:l}])=>e.jsx(A,{value:r,children:l},r))})]}),s==="custom"&&e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsxs(H,{variant:"outline",className:f("justify-start text-left font-normal",!t&&"text-muted-foreground"),children:[e.jsx(yt,{className:"mr-2 h-4 w-4"}),t?.from?t.to?e.jsxs(e.Fragment,{children:[ds(t.from,"yyyy-MM-dd")," -"," ",ds(t.to,"yyyy-MM-dd")]}):ds(t.from,"yyyy-MM-dd"):e.jsx("span",{children:"选择日期范围"})]})}),e.jsx(Ke,{className:"w-auto p-0",align:"end",children:e.jsx(et,{initialFocus:!0,mode:"range",defaultMonth:t?.from,selected:{from:t?.from,to:t?.to},onSelect:r=>{r?.from&&r?.to&&n({from:r.from,to:r.to})},numberOfMonths:2})})]})]})}function yd({className:s}){const[t,a]=i.useState("today"),[n,r]=i.useState({from:Bs(new Date,7),to:new Date}),[l,c]=i.useState("today"),[d,m]=i.useState({from:Bs(new Date,7),to:new Date}),w=i.useMemo(()=>t==="custom"?{start:n.from,end:n.to}:qt[t].getValue(),[t,n]),j=i.useMemo(()=>l==="custom"?{start:d.from,end:d.to}:qt[l].getValue(),[l,d]),{data:b}=K({queryKey:["nodeTrafficRank",w.start,w.end],queryFn:()=>ya({type:"node",start_time:tt.round(w.start.getTime()/1e3),end_time:tt.round(w.end.getTime()/1e3)}),refetchInterval:3e4}),{data:x}=K({queryKey:["userTrafficRank",j.start,j.end],queryFn:()=>ya({type:"user",start_time:tt.round(j.start.getTime()/1e3),end_time:tt.round(j.end.getTime()/1e3)}),refetchInterval:3e4});return e.jsxs("div",{className:f("grid gap-4 md:grid-cols-2",s),children:[e.jsxs(_e,{children:[e.jsx(Te,{className:"flex-none pb-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(Oe,{className:"flex items-center text-base font-medium",children:[e.jsx(Fi,{className:"mr-2 h-4 w-4"}),"节点流量排行"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(wa,{selectedRange:t,customDateRange:n,onRangeChange:a,onCustomRangeChange:r}),e.jsx(ma,{className:"h-4 w-4 text-muted-foreground"})]})]})}),e.jsx(De,{className:"flex-1",children:b?.data?e.jsxs(Kt,{className:"h-[400px] pr-4",children:[e.jsx("div",{className:"space-y-3",children:b.data.map(y=>e.jsx("div",{className:"flex items-center justify-between space-x-2 rounded-lg bg-muted/50 p-2",children:e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"truncate text-sm font-medium",children:y.name}),e.jsxs("span",{className:f("ml-2 flex items-center text-xs font-medium",y.change>=0?"text-green-600":"text-red-600"),children:[y.change>=0?e.jsx(Mt,{className:"mr-1 h-3 w-3"}):e.jsx(zt,{className:"mr-1 h-3 w-3"}),Math.abs(y.change),"%"]})]}),e.jsxs("div",{className:"mt-1 flex items-center gap-2",children:[e.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-muted",children:e.jsx("div",{className:"h-full bg-primary transition-all",style:{width:`${y.value/b.data[0].value*100}%`}})}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[(y.value/1024/1024/1024).toFixed(2)," GB"]})]})]})},y.id))}),e.jsx(jt,{orientation:"vertical"})]}):e.jsx("div",{className:"flex h-[400px] items-center justify-center",children:e.jsx("div",{className:"animate-pulse",children:"Loading..."})})})]}),e.jsxs(_e,{children:[e.jsx(Te,{className:"flex-none pb-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(Oe,{className:"flex items-center text-base font-medium",children:[e.jsx(nn,{className:"mr-2 h-4 w-4"}),"用户流量排行"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(wa,{selectedRange:l,customDateRange:d,onRangeChange:c,onCustomRangeChange:m}),e.jsx(ma,{className:"h-4 w-4 text-muted-foreground"})]})]})}),e.jsx(De,{className:"flex-1",children:x?.data?e.jsxs(Kt,{className:"h-[400px] pr-4",children:[e.jsx("div",{className:"space-y-3",children:x.data.map(y=>e.jsx("div",{className:"flex items-center justify-between space-x-2 rounded-lg bg-muted/50 p-2",children:e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"truncate text-sm font-medium",children:y.name}),e.jsxs("span",{className:f("ml-2 flex items-center text-xs font-medium",y.change>=0?"text-green-600":"text-red-600"),children:[y.change>=0?e.jsx(Mt,{className:"mr-1 h-3 w-3"}):e.jsx(zt,{className:"mr-1 h-3 w-3"}),Math.abs(y.change),"%"]})]}),e.jsxs("div",{className:"mt-1 flex items-center gap-2",children:[e.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-muted",children:e.jsx("div",{className:"h-full bg-primary transition-all",style:{width:`${y.value/x.data[0].value*100}%`}})}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[(y.value/1024/1024/1024).toFixed(2)," GB"]})]})]})},y.id))}),e.jsx(jt,{orientation:"vertical"})]}):e.jsx("div",{className:"flex h-[400px] items-center justify-center",children:e.jsx("div",{className:"animate-pulse",children:"Loading..."})})})]})]})}const Nd=ys("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/10",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function E({className:s,variant:t,...a}){return e.jsx("div",{className:f(Nd({variant:t}),s),...a})}const Ks=window?.settings?.secure_path,_a={getSystemStatus:()=>I.get(`${Ks}/system/getSystemStatus`),getQueueStats:()=>I.get(`${Ks}/system/getQueueStats`),getQueueWorkload:()=>I.get(`${Ks}/system/getQueueWorkload`),getQueueMasters:()=>I.get(`${Ks}/system/getQueueMasters`),getSystemLog:s=>I.get(`${Ks}/system/getSystemLog`,{params:s})},xt=i.forwardRef(({className:s,value:t,...a},n)=>e.jsx(fn,{ref:n,className:f("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",s),...a,children:e.jsx(Vi,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));xt.displayName=fn.displayName;function wd(){const[s,t]=i.useState(null),[a,n]=i.useState(null),[r,l]=i.useState(!0),[c,d]=i.useState(!1),m=async()=>{try{d(!0);const[b,x]=await Promise.all([_a.getSystemStatus(),_a.getQueueStats()]);t(b.data),n(x.data)}catch(b){console.error("Error fetching system data:",b)}finally{l(!1),d(!1)}};i.useEffect(()=>{m();const b=setInterval(m,3e4);return()=>clearInterval(b)},[]);const w=()=>{m()};if(r)return e.jsx("div",{className:"flex items-center justify-center p-6",children:e.jsx(Wt,{className:"h-6 w-6 animate-spin"})});const j=b=>b?e.jsx(Ei,{className:"h-5 w-5 text-green-500"}):e.jsx(Oi,{className:"h-5 w-5 text-red-500"});return e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs(_e,{children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Oe,{className:"flex items-center gap-2",children:[e.jsx(Ri,{className:"h-5 w-5"}),"队列状态"]}),e.jsx(Vs,{children:"当前队列运行状态"})]}),e.jsx(H,{variant:"outline",size:"icon",onClick:w,disabled:c,children:e.jsx(Mi,{className:f("h-4 w-4",c&&"animate-spin")})})]}),e.jsx(De,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[j(a?.status||!1),e.jsx("span",{className:"font-medium",children:"运行状态"})]}),e.jsx(E,{variant:a?.status?"secondary":"destructive",children:a?.status?"正常":"异常"})]}),e.jsxs("div",{className:"text-sm text-muted-foreground",children:["当前等待时间:",a?.wait?.default||0," 秒"]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"近期任务数"}),e.jsx("p",{className:"text-2xl font-bold",children:a?.recentJobs||0}),e.jsx(xt,{value:(a?.recentJobs||0)/(a?.periods?.recentJobs||1)*100,className:"h-1"})]})}),e.jsx(te,{children:e.jsxs("p",{children:["统计时间范围: ",a?.periods?.recentJobs||0," 小时"]})})]})}),e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"每分钟处理量"}),e.jsx("p",{className:"text-2xl font-bold",children:a?.jobsPerMinute||0}),e.jsx(xt,{value:(a?.jobsPerMinute||0)/(a?.queueWithMaxThroughput?.throughput||1)*100,className:"h-1"})]})}),e.jsx(te,{children:e.jsxs("p",{children:["最高吞吐量:"," ",a?.queueWithMaxThroughput?.throughput||0]})})]})})]})]})})]}),e.jsxs(_e,{children:[e.jsxs(Te,{children:[e.jsxs(Oe,{className:"flex items-center gap-2",children:[e.jsx(zi,{className:"h-5 w-5"}),"作业详情"]}),e.jsx(Vs,{children:"队列处理详细信息"})]}),e.jsx(De,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"7日报错数量"}),e.jsx("p",{className:"text-2xl font-bold text-destructive",children:a?.failedJobs||0}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["保留 ",a?.periods?.failedJobs||0," 小时"]})]}),e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"最长运行队列"}),e.jsxs("p",{className:"text-2xl font-bold",children:[a?.queueWithMaxRuntime?.runtime||0,"s"]}),e.jsx("div",{className:"truncate text-xs text-muted-foreground",children:a?.queueWithMaxRuntime?.name||"N/A"})]})]}),e.jsxs("div",{className:"rounded-lg bg-muted/50 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"活跃进程"}),e.jsxs("span",{className:"font-medium",children:[a?.processes||0," /"," ",(a?.processes||0)+(a?.pausedMasters||0)]})]}),e.jsx(xt,{value:(a?.processes||0)/((a?.processes||0)+(a?.pausedMasters||0))*100,className:"mt-2 h-1"})]})]})})]})]})}function _d(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx("div",{className:"flex items-center",children:e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:"仪表盘"})}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ce,{}),e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsx(Ne,{children:e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"border-b pb-6",children:e.jsx(jd,{})}),e.jsxs("div",{className:"grid gap-6",children:[e.jsx(pd,{}),e.jsx(xd,{}),e.jsx(yd,{}),e.jsx(wd,{})]})]})})]})}const Cd=Object.freeze(Object.defineProperty({__proto__:null,default:_d},Symbol.toStringTag,{value:"Module"})),le=i.forwardRef(({className:s,orientation:t="horizontal",decorative:a=!0,...n},r)=>e.jsx(pn,{ref:r,decorative:a,orientation:t,className:f("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",s),...n}));le.displayName=pn.displayName;function Sd({className:s,items:t,...a}){const{pathname:n}=gt(),r=Ze(),[l,c]=i.useState(n??"/settings"),d=m=>{c(m),r(m)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"p-1 md:hidden",children:e.jsxs(B,{value:l,onValueChange:d,children:[e.jsx(U,{className:"h-12 sm:w-48",children:e.jsx(Y,{placeholder:"Theme"})}),e.jsx(G,{children:t.map(m=>e.jsx(A,{value:m.href,children:e.jsxs("div",{className:"flex gap-x-4 px-2 py-1",children:[e.jsx("span",{className:"scale-125",children:m.icon}),e.jsx("span",{className:"text-md",children:m.title})]})},m.href))})]})}),e.jsx("div",{className:"hidden w-full overflow-x-auto bg-background px-1 py-2 md:block",children:e.jsx("nav",{className:f("flex space-x-2 lg:flex-col lg:space-x-0 lg:space-y-1",s),...a,children:t.map(m=>e.jsxs(Ns,{to:m.href,className:f(Ie({variant:"ghost"}),n===m.href?"bg-muted hover:bg-muted":"hover:bg-transparent hover:underline","justify-start"),children:[e.jsx("span",{className:"mr-2",children:m.icon}),m.title]},m.href))})})]})}const cr=[{title:"站点设置",key:"site",icon:e.jsx(Li,{size:18}),href:"/config/system",description:"配置站点基本信息,包括站点名称、描述、货币单位等核心设置。"},{title:"安全设置",key:"safe",icon:e.jsx(Ja,{size:18}),href:"/config/system/safe",description:"配置系统安全相关选项,包括登录验证、密码策略、API访问等安全设置。"},{title:"订阅设置",key:"subscribe",icon:e.jsx(Qa,{size:18}),href:"/config/system/subscribe",description:"管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。"},{title:"邀请&佣金",key:"invite",icon:e.jsx($i,{size:18}),href:"/config/system/invite",description:"管理用户邀请和佣金系统,配置邀请奖励、分销规则等。"},{title:"节点配置",key:"server",icon:e.jsx(Wa,{size:18}),href:"/config/system/server",description:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"},{title:"邮件设置",key:"email",icon:e.jsx(Ai,{size:18}),href:"/config/system/email",description:"配置系统邮件服务,用于发送验证码、密码重置、通知等邮件,支持多种SMTP服务商。"},{title:"Telegram设置",key:"telegram",icon:e.jsx(Hi,{size:18}),href:"/config/system/telegram",description:"配置Telegram机器人功能,实现用户通知、账户绑定、指令交互等自动化服务。"},{title:"APP设置",key:"app",icon:e.jsx(Ya,{size:18}),href:"/config/system/app",description:"管理移动应用程序相关配置,包括API接口、版本控制、推送通知等功能设置。"}];function kd(){return e.jsxs(fe,{fadedBelow:!0,fixedHeight:!0,children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:"系统设置"}),e.jsx("div",{className:"text-muted-foreground",children:"管理系统核心配置,包括站点、安全、订阅、邀请佣金、节点、邮件和通知等设置"})]}),e.jsx(le,{className:"my-6"}),e.jsxs("div",{className:"flex flex-1 flex-col space-y-8 overflow-auto lg:flex-row lg:space-x-12 lg:space-y-0",children:[e.jsx("aside",{className:"sticky top-0 lg:w-1/5",children:e.jsx(Sd,{items:cr})}),e.jsx("div",{className:"w-full p-1 pr-4 lg:max-w-xl",children:e.jsx("div",{className:"pb-16",children:e.jsx(Gt,{})})})]})]})]})}const Td=Object.freeze(Object.defineProperty({__proto__:null,default:kd},Symbol.toStringTag,{value:"Module"}));function Dd({title:s,description:t,children:a}){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),e.jsx(le,{}),a]})}const O=i.forwardRef(({className:s,...t},a)=>e.jsx(vn,{className:f("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",s),...t,ref:a,children:e.jsx(Ki,{className:f("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));O.displayName=vn.displayName;const Pd=o.object({logo:o.string().nullable().nullable(),force_https:o.number().nullable(),stop_register:o.number().nullable(),app_name:o.string().nullable(),app_description:o.string().nullable(),app_url:o.string().nullable(),subscribe_url:o.string().nullable(),try_out_plan_id:o.number().nullable(),try_out_hour:o.number().nullable(),tos_url:o.string().nullable(),currency:o.string().nullable(),currency_symbol:o.string().nullable()}),Fd={logo:"",force_https:0,stop_register:0,app_name:"",app_description:"",app_url:"",subscribe_url:"",try_out_plan_id:0,try_out_hour:0,tos_url:"",currency:"USD",currency_symbol:"$"};function Id(){const{data:s}=K({queryKey:["settings","site"],queryFn:()=>ns("site")}),{data:t}=K({queryKey:["plans"],queryFn:()=>zs()}),a=Z({resolver:ee(Pd),defaultValues:Fd,mode:"onChange"});i.useEffect(()=>{if(s?.data?.site){const r=s?.data?.site;Object.entries(r).forEach(([l,c])=>{a.setValue(l,c)})}},[s]);function n(r){rs(r).then(({data:l})=>{l&&V.success("更新成功")})}return e.jsx(se,{...a,children:e.jsxs("form",{onSubmit:a.handleSubmit(n),className:"space-y-8",children:[e.jsx(h,{control:a.control,name:"app_name",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"站点名称"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入站点名称",...r})}),e.jsx(P,{children:"用于显示需要站点名称的地方。"}),e.jsx(S,{})]})}),e.jsx(h,{control:a.control,name:"app_description",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"站点描述"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入站点描述",...r})}),e.jsx(P,{children:"用于显示需要站点名称的地方。"}),e.jsx(S,{})]})}),e.jsx(h,{control:a.control,name:"app_url",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"站点网址"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入站点URL,末尾不要/",...r})}),e.jsx(P,{children:"当前网站最新网址,将会在邮件等需要用于网址处体现。"}),e.jsx(S,{})]})}),e.jsx(h,{control:a.control,name:"force_https",render:({field:r})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"强制HTTPS"}),e.jsx(P,{children:"当站点没有使用HTTPS,CDN或反代开启强制HTTPS时需要开启。"})]}),e.jsx(v,{children:e.jsx(O,{checked:r.value,onCheckedChange:r.onChange})})]})}),e.jsx(h,{control:a.control,name:"logo",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"LOGO"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入LOGO URL,末尾不要/",...r})}),e.jsx(P,{children:"用于显示需要LOGO的地方。"}),e.jsx(S,{})]})}),e.jsx(h,{control:a.control,name:"subscribe_url",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"订阅URL"}),e.jsx(v,{children:e.jsx(C,{placeholder:'用于订阅所使用,多个订阅地址用","隔开.留空则为站点URL。',...r})}),e.jsx(P,{children:"用于订阅所使用,留空则为站点URL。"}),e.jsx(S,{})]})}),e.jsx(h,{control:a.control,name:"tos_url",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"用户条款(TOS)URL"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入用户条款URL,末尾不要/",...r})}),e.jsx(P,{children:"用于跳转到用户条款(TOS)"}),e.jsx(S,{})]})}),e.jsx(h,{control:a.control,name:"stop_register",render:({field:r})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"停止新用户注册"}),e.jsx(P,{children:"开启后任何人都将无法进行注册。"})]}),e.jsx(v,{children:e.jsx(O,{checked:r.value,onCheckedChange:r.onChange})})]})}),e.jsx(h,{control:a.control,name:"try_out_plan_id",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"注册试用"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(v,{children:e.jsxs("select",{className:f(Ie({variant:"outline"}),"w-[200px] appearance-none font-normal"),...r,value:r.value||0,onChange:l=>r.onChange(Number(l.target.value)),children:[e.jsx("option",{value:0,children:"关闭"}),t?.data?.map(l=>e.jsx("option",{value:l.id,children:l.name},l.id))]})}),e.jsx(Qe,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(P,{children:"选择需要试用的订阅,如果没有选项请先前往订阅管理添加。"}),e.jsx(S,{})]})}),e.jsx(h,{control:a.control,name:"currency",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"货币单位"}),e.jsx(v,{children:e.jsx(C,{placeholder:"CNY",...r})}),e.jsx(P,{children:"仅用于展示使用,更改后系统中所有的货币单位都将发生变更。"}),e.jsx(S,{})]})}),e.jsx(h,{control:a.control,name:"currency_symbol",render:({field:r})=>e.jsxs(u,{children:[e.jsx(g,{children:"货币符号"}),e.jsx(v,{children:e.jsx(C,{placeholder:"¥",...r})}),e.jsx(P,{children:"仅用于展示使用,更改后系统中所有的货币单位都将发生变更。"}),e.jsx(S,{})]})}),e.jsx(k,{type:"submit",children:"更新配置"})]})})}function Vd(){const s=cr.find(t=>t.key==="site");return e.jsx(Dd,{title:s.title,description:s.description,children:e.jsx(Id,{})})}const Rd=Object.freeze(Object.defineProperty({__proto__:null,default:Vd},Symbol.toStringTag,{value:"Module"})),gs=i.forwardRef(({className:s,...t},a)=>e.jsx("textarea",{className:f("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:a,...t}));gs.displayName="Textarea";const Md=o.object({email_verify:o.boolean().nullable(),safe_mode_enable:o.boolean().nullable(),secure_path:o.string().nullable(),email_whitelist_enable:o.boolean().nullable(),email_whitelist_suffix:o.array(o.string().nullable()).nullable(),email_gmail_limit_enable:o.boolean().nullable(),recaptcha_enable:o.boolean().nullable(),recaptcha_key:o.string().nullable(),recaptcha_site_key:o.string().nullable(),register_limit_by_ip_enable:o.boolean().nullable(),register_limit_count:o.coerce.string().transform(s=>s===""?null:s).nullable(),register_limit_expire:o.coerce.string().transform(s=>s===""?null:s).nullable(),password_limit_enable:o.boolean().nullable(),password_limit_count:o.coerce.string().transform(s=>s===""?null:s).nullable(),password_limit_expire:o.coerce.string().transform(s=>s===""?null:s).nullable()}),zd={email_verify:!1,safe_mode_enable:!1,secure_path:"",email_whitelist_enable:!1,email_whitelist_suffix:[],email_gmail_limit_enable:!1,recaptcha_enable:!1,recaptcha_key:"",recaptcha_site_key:"",register_limit_by_ip_enable:!1,register_limit_count:"",register_limit_expire:"",password_limit_enable:!1,password_limit_count:"",password_limit_expire:""};function Ed(){const s=Z({resolver:ee(Md),defaultValues:zd,mode:"onChange"}),{data:t}=K({queryKey:["settings","safe"],queryFn:()=>ns("safe")});i.useEffect(()=>{if(t?.data.safe){const n=t.data.safe;Object.entries(n).forEach(([r,l])=>{typeof l=="number"?s.setValue(r,String(l)):s.setValue(r,l)})}},[t,s]);function a(n){rs(n).then(({data:r})=>{r&&V.success("保存成功")})}return e.jsx(se,{...s,children:e.jsxs("form",{onSubmit:s.handleSubmit(a),className:"space-y-8",children:[e.jsx(h,{control:s.control,name:"email_verify",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"邮箱验证"}),e.jsx(P,{children:"开启后将会强制要求用户进行邮箱验证。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:s.control,name:"email_gmail_limit_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"禁止使用Gmail多别名"}),e.jsx(P,{children:"开启后Gmail多别名将无法注册。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:s.control,name:"safe_mode_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"安全模式"}),e.jsx(P,{children:"开启后除了站点URL以外的绑定本站点的域名访问都将会被403。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:s.control,name:"secure_path",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"后台路径"}),e.jsx(v,{children:e.jsx(C,{placeholder:"admin",...n})}),e.jsx(P,{children:"后台管理路径,修改后将会改变原有的admin路径"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"email_whitelist_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"邮箱后缀白名单"}),e.jsx(P,{children:"开启后在名单中的邮箱后缀才允许进行注册。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),s.watch("email_whitelist_enable")&&e.jsx(h,{control:s.control,name:"email_whitelist_suffix",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"白名单后缀"}),e.jsx(v,{children:e.jsx(gs,{placeholder:"请输入后缀域名,逗号分割 如:qq.com,gmail.com",value:n.value?.length&&n.value.join(","),onChange:r=>{r.target.value&&n.onChange(r.target.value.split(","))}})}),e.jsx(P,{children:"请使用逗号进行分割,如:qq.com,gmail.com。"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"recaptcha_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"防机器人"}),e.jsx(P,{children:"开启后将会使用Google reCAPTCHA防止机器人。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),s.watch("recaptcha_enable")&&e.jsx(h,{control:s.control,name:"recaptcha_key",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"密钥"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"在Google reCAPTCHA申请的密钥。"}),e.jsx(S,{})]})}),s.watch("recaptcha_enable")&&e.jsx(h,{control:s.control,name:"recaptcha_site_key",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"网站密钥"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"在Google reCAPTCH申请的网站密钥。"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"register_limit_by_ip_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"IP注册限制"}),e.jsx(P,{children:"开启后如果IP注册账户达到规则要求将会被限制注册,请注意IP判断可能因为CDN或前置代理导致问题。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),s.watch("register_limit_by_ip_enable")&&e.jsx(h,{control:s.control,name:"register_limit_count",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"次数"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"达到注册次数后开启惩罚。"}),e.jsx(S,{})]})}),s.watch("register_limit_by_ip_enable")&&e.jsx(h,{control:s.control,name:"register_limit_expire",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"惩罚时间(分钟)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"需要等待惩罚时间过后才可以再次注册。"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"password_limit_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"IP注册限制"}),e.jsx(P,{children:"开启后如果IP注册账户达到规则要求将会被限制注册,请注意IP判断可能因为CDN或前置代理导致问题。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),s.watch("password_limit_enable")&&e.jsx(h,{control:s.control,name:"password_limit_count",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"次数"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"达到注册次数后开启惩罚。"}),e.jsx(S,{})]})}),s.watch("password_limit_enable")&&e.jsx(h,{control:s.control,name:"password_limit_expire",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"惩罚时间(分钟)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"需要等待惩罚时间过后才可以再次登陆。"}),e.jsx(S,{})]})}),e.jsx(k,{type:"submit",children:"保存配置"})]})})}function Od(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"安全设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置系统安全相关选项,包括登录验证、密码策略、API访问等安全设置。"})]}),e.jsx(le,{}),e.jsx(Ed,{})]})}const Ld=Object.freeze(Object.defineProperty({__proto__:null,default:Od},Symbol.toStringTag,{value:"Module"})),$d=o.object({plan_change_enable:o.boolean().nullable().default(!1),reset_traffic_method:o.coerce.number().nullable().default(0),surplus_enable:o.boolean().nullable().default(!1),new_order_event_id:o.coerce.number().nullable().default(0),renew_order_event_id:o.coerce.number().nullable().default(0),change_order_event_id:o.coerce.number().nullable().default(0),show_info_to_server_enable:o.boolean().nullable().default(!1),show_protocol_to_server_enable:o.boolean().nullable().default(!1),default_remind_expire:o.boolean().nullable().default(!1),default_remind_traffic:o.boolean().nullable().default(!1),remind_mail_enable:o.boolean().nullable().default(!1)});function Ad(){const{data:s}=K({queryKey:["settings","subscribe"],queryFn:()=>ns("subscribe")}),t=Z({resolver:ee($d),mode:"onChange"});i.useEffect(()=>{if(s?.data?.subscribe){const n=s?.data?.subscribe;Object.entries(n).forEach(([r,l])=>{t.setValue(r,l)})}},[s]);function a(n){rs(n).then(({data:r})=>{r&&V.success("更新成功")})}return e.jsx(se,{...t,children:e.jsxs("form",{onSubmit:t.handleSubmit(a),className:"space-y-8",children:[e.jsx(h,{control:t.control,name:"plan_change_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"允许用户更改订阅"}),e.jsx(P,{children:"开启后用户将会可以对订阅计划进行变更。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"reset_traffic_method",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"月流量重置方式"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(v,{children:e.jsxs("select",{className:f(Ie({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"0",children:"每月1号"}),e.jsx("option",{value:"1",children:"按月重置"}),e.jsx("option",{value:"2",children:"不重置"}),e.jsx("option",{value:"3",children:"每年1月1号"}),e.jsx("option",{value:"4",children:"按年重置"})]})}),e.jsx(Qe,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(P,{children:"全局流量重置方式,默认每月1号。可以在订阅管理为订阅单独设置。"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"surplus_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"开启折抵方案"}),e.jsx(P,{children:"开启后用户更换订阅将会由系统对原有订阅进行折抵,方案参考文档。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"new_order_event_id",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"当订阅新购时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(v,{children:e.jsxs("select",{className:f(Ie({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(Qe,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(P,{children:"新购订阅完成时将触发该任务。"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"renew_order_event_id",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"当订阅续费时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(v,{children:e.jsxs("select",{className:f(Ie({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(Qe,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(P,{children:"续费订阅完成时将触发该任务。"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"change_order_event_id",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"当订阅变更时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(v,{children:e.jsxs("select",{className:f(Ie({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(Qe,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(P,{children:"变更订阅完成时将触发该任务。"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"show_info_to_server_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"在订阅中展示订阅信息"}),e.jsx(P,{children:"开启后将会在用户订阅节点时输出订阅信息。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"show_protocol_to_server_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"在订阅中线路名称中显示协议名称"}),e.jsx(P,{children:"开启后订阅线路会附带协议名称(例如: [Hy2]香港)"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"remind_mail_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"邮件提醒"}),e.jsx(P,{children:"开启后用户订阅即将到期时和流量告急时时将发送邮件通知。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value||!1,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"default_remind_expire",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"用户订阅到期提醒的默认设置"}),e.jsx(P,{children:"开启后新注册用户将默认接收订阅到期提醒。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value||!1,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"default_remind_traffic",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"用户流量告急提醒的默认设置"}),e.jsx(P,{children:"开启后新注册用户将默认接收流量告急提醒。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value||!1,onCheckedChange:n.onChange})})]})}),e.jsx(k,{type:"submit",children:"保存设置"})]})})}function Hd(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"订阅设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。"})]}),e.jsx(le,{}),e.jsx(Ad,{})]})}const Kd=Object.freeze(Object.defineProperty({__proto__:null,default:Hd},Symbol.toStringTag,{value:"Module"})),qd=o.object({invite_force:o.boolean().default(!1),invite_commission:o.coerce.string().default("0"),invite_gen_limit:o.coerce.string().default("0"),invite_never_expire:o.boolean().default(!1),commission_first_time_enable:o.boolean().default(!1),commission_auto_check_enable:o.boolean().default(!1),commission_withdraw_limit:o.coerce.string().default("0"),commission_withdraw_method:o.array(o.string()).default(["支付宝","USDT","Paypal"]),withdraw_close_enable:o.boolean().default(!1),commission_distribution_enable:o.boolean().default(!1),commission_distribution_l1:o.coerce.number().default(0),commission_distribution_l2:o.coerce.number().default(0),commission_distribution_l3:o.coerce.number().default(0)}),Ud={invite_force:!1,invite_commission:"0",invite_gen_limit:"0",invite_never_expire:!1,commission_first_time_enable:!1,commission_auto_check_enable:!1,commission_withdraw_limit:"0",commission_withdraw_method:["支付宝","USDT","Paypal"],withdraw_close_enable:!1,commission_distribution_enable:!1,commission_distribution_l1:0,commission_distribution_l2:0,commission_distribution_l3:0};function Gd(){const{data:s}=K({queryKey:["settings","invite"],queryFn:()=>ns("invite")}),t=Z({resolver:ee(qd),defaultValues:Ud,mode:"onChange"});i.useEffect(()=>{if(s?.data?.invite){const n=s?.data?.invite;Object.entries(n).forEach(([r,l])=>{typeof l=="number"?t.setValue(r,String(l)):t.setValue(r,l)})}},[s,t]);function a(n){rs(n).then(r=>{r.data&&V.success("更新成功")})}return e.jsx(se,{...t,children:e.jsxs("form",{onSubmit:t.handleSubmit(a),className:"space-y-8",children:[e.jsx(h,{control:t.control,name:"invite_force",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"开启强制邀请"}),e.jsx(P,{children:"开启后只有被邀请的用户才可以进行注册。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"invite_commission",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"邀请佣金百分比"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"默认全局的佣金分配比例,你可以在用户管理单独配置单个比例。"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"invite_gen_limit",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"用户可创建邀请码上限"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"用户可创建邀请码上限"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"invite_never_expire",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"邀请码永不失效"}),e.jsx(P,{children:"开启后邀请码被使用后将不会失效,否则使用过后即失效。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"commission_first_time_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"佣金仅首次发放"}),e.jsx(P,{children:"开启后被邀请人首次支付时才会产生佣金,可以在用户管理对用户进行单独配置。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"commission_auto_check_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"佣金自动确认"}),e.jsx(P,{children:"开启后佣金将会在订单完成3日后自动进行确认。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"commission_withdraw_limit",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"提现单申请门槛(元)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"小于门槛金额的提现单将不会被提交。"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"commission_withdraw_method",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"提现方式"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"可以支持的提现方式。"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"withdraw_close_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"关闭提现"}),e.jsx(P,{children:"关闭后将禁止用户申请提现,且邀请佣金将会直接进入用户余额。"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"commission_distribution_enable",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"三级分销"}),e.jsxs(P,{children:["开启后将佣金将按照设置的3成比例进行分成,三成比例合计请不要",">","100%。"]})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),t.watch("commission_distribution_enable")&&e.jsxs(e.Fragment,{children:[e.jsx(h,{control:t.control,name:"commission_distribution_l1",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"一级邀请人比例"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入比例如:50",...n})}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"commission_distribution_l2",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"二级邀请人比例"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入比例如:50",...n})}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"commission_distribution_l3",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"三级邀请人比例"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入比例如:50",...n})}),e.jsx(S,{})]})})]}),e.jsx(k,{type:"submit",children:"保存设置"})]})})}function Bd(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"邀请&佣金设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"邀请注册、佣金相关设置。"})]}),e.jsx(le,{}),e.jsx(Gd,{})]})}const Yd=Object.freeze(Object.defineProperty({__proto__:null,default:Bd},Symbol.toStringTag,{value:"Module"})),Wd=o.object({frontend_theme:o.string().nullable(),frontend_theme_sidebar:o.string().nullable(),frontend_theme_header:o.string().nullable(),frontend_theme_color:o.string().nullable(),frontend_background_url:o.string().url().nullable()}),Jd={frontend_theme:"",frontend_theme_sidebar:"",frontend_theme_header:"",frontend_theme_color:"",frontend_background_url:""};function Qd(){const{data:s}=K({queryKey:["settings","frontend"],queryFn:()=>ns("frontend")}),t=Z({resolver:ee(Wd),defaultValues:Jd,mode:"onChange"});i.useEffect(()=>{if(s?.data?.frontend){const n=s?.data?.frontend;Object.entries(n).forEach(([r,l])=>{t.setValue(r,l)})}},[s]);function a(n){rs(n).then(({data:r})=>{r&&V.success("更新成功")})}return e.jsx(se,{...t,children:e.jsxs("form",{onSubmit:t.handleSubmit(a),className:"space-y-8",children:[e.jsx(h,{control:t.control,name:"frontend_theme_sidebar",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"边栏风格"}),e.jsx(P,{children:"边栏风格"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"frontend_theme_header",render:({field:n})=>e.jsxs(u,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(g,{className:"text-base",children:"头部风格"}),e.jsx(P,{children:"边栏风格"})]}),e.jsx(v,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(h,{control:t.control,name:"frontend_theme_color",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"主题色"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(v,{children:e.jsxs("select",{className:f(Ie({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"default",children:"默认"}),e.jsx("option",{value:"black",children:"黑色"}),e.jsx("option",{value:"blackblue",children:"暗蓝色"}),e.jsx("option",{value:"green",children:"奶绿色"})]})}),e.jsx(Qe,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(P,{children:"主题色"}),e.jsx(S,{})]})}),e.jsx(h,{control:t.control,name:"frontend_background_url",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"背景"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入图片地址",...n})}),e.jsx(P,{children:"将会在后台登录页面进行展示。"}),e.jsx(S,{})]})}),e.jsx(k,{type:"submit",children:"保存设置"})]})})}function Zd(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"个性化设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"自定义系统界面外观,包括主题风格、布局、颜色方案、背景图等个性化选项。"})]}),e.jsx(le,{}),e.jsx(Qd,{})]})}const Xd=Object.freeze(Object.defineProperty({__proto__:null,default:Zd},Symbol.toStringTag,{value:"Module"})),ex=o.object({server_pull_interval:o.coerce.number().nullable(),server_push_interval:o.coerce.number().nullable(),server_token:o.string().nullable()}),sx={server_pull_interval:0,server_push_interval:0,server_token:""};function tx(){const s=Z({resolver:ee(ex),defaultValues:sx,mode:"onChange"}),{data:t}=K({queryKey:["settings","server"],queryFn:()=>ns("server")});i.useEffect(()=>{if(t?.data.server){const n=t.data.server;Object.entries(n).forEach(([r,l])=>{s.setValue(r,l)})}},[t]);function a(n){rs(n).then(({data:r})=>{r&&V.success("保存成功")})}return e.jsx(se,{...s,children:e.jsxs("form",{onSubmit:s.handleSubmit(a),className:"space-y-8",children:[e.jsx(h,{control:s.control,name:"server_token",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"通讯密钥"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"Xboard与节点通讯的密钥,以便数据不会被他人获取。"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"server_pull_interval",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"节点拉取动作轮询间隔"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"节点从面板获取数据的间隔频率。"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"server_push_interval",render:({field:n})=>e.jsxs(u,{children:[e.jsx(g,{children:"节点推送动作轮询间隔"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...n})}),e.jsx(P,{children:"节点推送数据到面板的间隔频率。"}),e.jsx(S,{})]})}),e.jsx(k,{type:"submit",children:"保存设置"})]})})}function ax(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"节点配置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"})]}),e.jsx(le,{}),e.jsx(tx,{})]})}const nx=Object.freeze(Object.defineProperty({__proto__:null,default:ax},Symbol.toStringTag,{value:"Module"})),rx=o.object({email_template:o.string().nullable(),email_host:o.string().nullable(),email_port:o.string().regex(/^\d+$/).nullable(),email_username:o.string().nullable(),email_password:o.string().nullable(),email_encryption:o.string().nullable(),email_from_address:o.string().email().nullable()}),lx={email_template:"classic",email_host:"",email_port:"465",email_username:"",email_password:"",email_encryption:"",email_from_address:""};function ix(){const s=Z({resolver:ee(rx),defaultValues:lx,mode:"onChange"}),{data:t}=K({queryKey:["settings","email"],queryFn:()=>ns("email")}),{data:a}=K({queryKey:["emailTemplate"],queryFn:()=>ld()});i.useEffect(()=>{if(t?.data.email){const l=t.data.email;Object.entries(l).forEach(([c,d])=>{s.setValue(c,d)})}},[t]);const{isLoading:n,refetch:r}=K({queryKey:["sendTestMail"],queryFn:()=>id().then(()=>V.success("发送成功")),enabled:!1});return e.jsxs(se,{...s,children:[e.jsx(h,{control:s.control,name:"email_host",render:({field:l})=>e.jsxs(u,{children:[e.jsx(g,{children:"SMTP服务器地址"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...l})}),e.jsx(P,{children:"由邮件服务商提供的服务地址"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"email_port",render:({field:l})=>e.jsxs(u,{children:[e.jsx(g,{children:"SMTP服务端口"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...l})}),e.jsx(P,{children:"常见的端口有25, 465, 587"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"email_encryption",render:({field:l})=>e.jsxs(u,{children:[e.jsx(g,{children:"SMTP加密方式"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...l})}),e.jsx(P,{children:"465端口加密方式一般为SSL,587端口加密方式一般为TLS"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"email_username",render:({field:l})=>e.jsxs(u,{children:[e.jsx(g,{children:"SMTP账号"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...l})}),e.jsx(P,{children:"由邮件服务商提供的账号"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"email_password",render:({field:l})=>e.jsxs(u,{children:[e.jsx(g,{children:"SMTP密码"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...l})}),e.jsx(P,{children:"由邮件服务商提供的密码"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"email_from_address",render:({field:l})=>e.jsxs(u,{children:[e.jsx(g,{children:"发件地址"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入",...l})}),e.jsx(P,{children:"由邮件服务商提供的发件地址"}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"email_template",render:({field:l})=>e.jsxs(u,{children:[e.jsx(g,{children:"邮件模板"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(v,{children:e.jsx("select",{className:f(Ie({variant:"outline"}),"w-[200px] appearance-none font-normal"),...l,children:a?.data?.map(c=>e.jsx("option",{value:c,children:c},c))})}),e.jsx(Qe,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(P,{children:"你可以在文档查看如何自定义邮件模板"}),e.jsx(S,{})]})}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx(k,{type:"submit",onClick:()=>{s.handleSubmit(l=>{console.log(l),rs(l).then(({data:c})=>{c&&V.success("保存成功")})})()},children:"保存设置"}),e.jsx(k,{loading:n,onClick:()=>{r()},children:"发送测试邮件"})]})]})}function ox(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"邮件设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置系统邮件服务,用于发送验证码、密码重置、通知等邮件,支持多种SMTP服务商。"})]}),e.jsx(le,{}),e.jsx(ix,{})]})}const cx=Object.freeze(Object.defineProperty({__proto__:null,default:ox},Symbol.toStringTag,{value:"Module"})),dx=o.object({telegram_bot_enable:o.boolean().nullable(),telegram_bot_token:o.string().nullable(),telegram_discuss_link:o.string().nullable()}),xx={telegram_bot_enable:!1,telegram_bot_token:"",telegram_discuss_link:""};function mx(){const s=Z({resolver:ee(dx),defaultValues:xx,mode:"onChange"}),{data:t}=K({queryKey:["settings","telegram"],queryFn:()=>ns("telegram")});i.useEffect(()=>{if(t?.data.telegram){const c=t.data.telegram;Object.entries(c).forEach(([d,m])=>{s.setValue(d,m)})}},[t]);const{mutate:a,status:n}=Et({mutationFn:c=>rs(c).then(({data:d})=>d&&V.success("保存成功")),mutationKey:["settings","telegram"]}),{mutate:r,status:l}=Et({mutationFn:c=>od().then(({data:d})=>d&&V.success("保存成功")),mutationKey:["settings","settelegramWebhook"]});return e.jsxs(se,{...s,children:[e.jsx(h,{control:s.control,name:"telegram_bot_token",render:({field:c})=>e.jsxs(u,{children:[e.jsx(g,{children:"机器人Token"}),e.jsx(v,{children:e.jsx(C,{placeholder:"0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx",...c})}),e.jsx(P,{children:"请输入由Botfather提供的token。"}),e.jsx(S,{})]})}),s.watch("telegram_bot_token")&&e.jsxs(u,{children:[e.jsx(g,{children:"设置Webhook"}),e.jsx("div",{children:e.jsx(k,{loading:l=="pending",onClick:()=>{r()},children:"一键设置"})}),e.jsx(P,{children:"对机器人进行Webhook设置,不设置将无法收到Telegram通知。"}),e.jsx(S,{})]}),e.jsx(h,{control:s.control,name:"telegram_bot_enable",render:({field:c})=>e.jsxs(u,{children:[e.jsx(g,{children:"开启机器人通知"}),e.jsx(P,{children:"开启后bot将会对绑定了telegram的管理员和用户进行基础通知。"}),e.jsx(v,{children:e.jsx(O,{checked:c.value,onCheckedChange:c.onChange})}),e.jsx(S,{})]})}),e.jsx(h,{control:s.control,name:"telegram_discuss_link",render:({field:c})=>e.jsxs(u,{children:[e.jsx(g,{children:"群组地址"}),e.jsx(v,{children:e.jsx(C,{placeholder:"https://t.me/xxxxxx",...c})}),e.jsx(P,{children:"填写后将会在用户端展示,或者被用于需要的地方。"}),e.jsx(S,{})]})}),e.jsx(k,{type:"submit",loading:n==="pending",onClick:()=>{s.handleSubmit(c=>{console.log(c),a(c)})()},children:"保存设置"})]})}function ux(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"Telegram设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置Telegram机器人功能,实现用户通知、账户绑定、指令交互等自动化服务。"})]}),e.jsx(le,{}),e.jsx(mx,{})]})}const hx=Object.freeze(Object.defineProperty({__proto__:null,default:ux},Symbol.toStringTag,{value:"Module"})),jx=o.object({windows_version:o.string().nullable(),windows_download_url:o.string().nullable(),macos_version:o.string().nullable(),macos_download_url:o.string().nullable(),android_version:o.string().nullable(),android_download_url:o.string().nullable()}),gx={windows_version:"",windows_download_url:"",macos_version:"",macos_download_url:"",android_version:"",android_download_url:""};function fx(){const s=Z({resolver:ee(jx),defaultValues:gx,mode:"onChange"}),{data:t}=K({queryKey:["settings","app"],queryFn:()=>ns("app")});i.useEffect(()=>{if(t?.data.app){const r=t.data.app;Object.entries(r).forEach(([l,c])=>{s.setValue(l,c)})}},[t]);const{mutate:a,status:n}=Et({mutationFn:r=>rs(r).then(({data:l})=>l&&V.success("保存成功")),mutationKey:["settings","app","update"]});return e.jsxs(se,{...s,children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Windows"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Windows端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(h,{control:s.control,name:"windows_version",render:({field:r})=>e.jsxs(u,{children:[e.jsx(v,{children:e.jsx(C,{placeholder:"1.0.0",...r})}),e.jsx(S,{})]})})}),e.jsx("div",{children:e.jsx(h,{control:s.control,name:"windows_download_url",render:({field:r})=>e.jsxs(u,{children:[e.jsx(v,{children:e.jsx(C,{placeholder:"https://xxx.com/xxx.exe",...r})}),e.jsx(S,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"macOS"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"macOS端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(h,{control:s.control,name:"mac_version",render:({field:r})=>e.jsxs(u,{children:[e.jsx(v,{children:e.jsx(C,{placeholder:"1.0.0",...r})}),e.jsx(S,{})]})})}),e.jsx("div",{children:e.jsx(h,{control:s.control,name:"mac_download_url",render:({field:r})=>e.jsxs(u,{children:[e.jsx(v,{children:e.jsx(C,{placeholder:"https://xxx.com/xxx.dmg",...r})}),e.jsx(S,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Android"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Android端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(h,{control:s.control,name:"android_version",render:({field:r})=>e.jsxs(u,{children:[e.jsx(v,{children:e.jsx(C,{placeholder:"1.0.0",...r})}),e.jsx(S,{})]})})}),e.jsx("div",{children:e.jsx(h,{control:s.control,name:"android_download_url",render:({field:r})=>e.jsxs(u,{children:[e.jsx(v,{children:e.jsx(C,{placeholder:"https://xxx.com/xxx.apk",...r})}),e.jsx(S,{})]})})})]})]}),e.jsx(k,{type:"submit",loading:n=="pending",onClick:()=>{s.handleSubmit(r=>{a(r)})()},children:"保存设置"})]})}function px(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"APP设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"管理移动应用程序相关配置,包括API接口、版本控制、推送通知等功能设置。"})]}),e.jsx(le,{}),e.jsx(fx,{})]})}const vx=Object.freeze(Object.defineProperty({__proto__:null,default:px},Symbol.toStringTag,{value:"Module"})),Xt=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:a,className:f("w-full caption-bottom text-sm",s),...t})}));Xt.displayName="Table";const ea=i.forwardRef(({className:s,...t},a)=>e.jsx("thead",{ref:a,className:f("[&_tr]:border-b",s),...t}));ea.displayName="TableHeader";const sa=i.forwardRef(({className:s,...t},a)=>e.jsx("tbody",{ref:a,className:f("[&_tr:last-child]:border-0",s),...t}));sa.displayName="TableBody";const bx=i.forwardRef(({className:s,...t},a)=>e.jsx("tfoot",{ref:a,className:f("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",s),...t}));bx.displayName="TableFooter";const xs=i.forwardRef(({className:s,...t},a)=>e.jsx("tr",{ref:a,className:f("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",s),...t}));xs.displayName="TableRow";const ta=i.forwardRef(({className:s,...t},a)=>e.jsx("th",{ref:a,className:f("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...t}));ta.displayName="TableHead";const Is=i.forwardRef(({className:s,...t},a)=>e.jsx("td",{ref:a,className:f("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...t}));Is.displayName="TableCell";const yx=i.forwardRef(({className:s,...t},a)=>e.jsx("caption",{ref:a,className:f("mt-4 text-sm text-muted-foreground",s),...t}));yx.displayName="TableCaption";function Nx({table:s}){const[t,a]=i.useState("");i.useEffect(()=>{a((s.getState().pagination.pageIndex+1).toString())},[s.getState().pagination.pageIndex]);const n=r=>{const l=parseInt(r);!isNaN(l)&&l>=1&&l<=s.getPageCount()?s.setPageIndex(l-1):a((s.getState().pagination.pageIndex+1).toString())};return e.jsxs("div",{className:"flex flex-col-reverse gap-4 px-2 py-4 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs("div",{className:"flex-1 text-sm text-muted-foreground",children:["已选择 ",s.getFilteredSelectedRowModel().rows.length," 项, 共"," ",s.getFilteredRowModel().rows.length," 项"]}),e.jsxs("div",{className:"flex flex-col-reverse items-center gap-4 sm:flex-row sm:gap-6 lg:gap-8",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"每页显示"}),e.jsxs(B,{value:`${s.getState().pagination.pageSize}`,onValueChange:r=>{s.setPageSize(Number(r))},children:[e.jsx(U,{className:"h-8 w-[70px]",children:e.jsx(Y,{placeholder:s.getState().pagination.pageSize})}),e.jsx(G,{side:"top",children:[10,20,30,40,50,100,500].map(r=>e.jsx(A,{value:`${r}`,children:r},r))})]})]}),e.jsxs("div",{className:"flex items-center justify-center space-x-2 text-sm font-medium",children:[e.jsx("span",{children:"第"}),e.jsx(C,{type:"text",value:t,onChange:r=>a(r.target.value),onBlur:r=>n(r.target.value),onKeyDown:r=>{r.key==="Enter"&&n(r.currentTarget.value)},className:"h-8 w-[50px] text-center"}),e.jsxs("span",{children:["页,共 ",s.getPageCount()," 页"]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs(k,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>s.setPageIndex(0),disabled:!s.getCanPreviousPage(),children:[e.jsx("span",{className:"sr-only",children:"跳转到第一页"}),e.jsx(qi,{className:"h-4 w-4"})]}),e.jsxs(k,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>s.previousPage(),disabled:!s.getCanPreviousPage(),children:[e.jsx("span",{className:"sr-only",children:"上一页"}),e.jsx(un,{className:"h-4 w-4"})]}),e.jsxs(k,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>s.nextPage(),disabled:!s.getCanNextPage(),children:[e.jsx("span",{className:"sr-only",children:"下一页"}),e.jsx(Yt,{className:"h-4 w-4"})]}),e.jsxs(k,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>s.setPageIndex(s.getPageCount()-1),disabled:!s.getCanNextPage(),children:[e.jsx("span",{className:"sr-only",children:"跳转到最后一页"}),e.jsx(Ui,{className:"h-4 w-4"})]})]})]})]})}function qe({table:s,toolbar:t,draggable:a=!1,onDragStart:n,onDragEnd:r,onDragOver:l,onDragLeave:c,onDrop:d,showPagination:m=!0,isLoading:w=!1}){const j=i.useRef(null),b=s.getAllColumns().filter(T=>T.getIsPinned()==="left"),x=s.getAllColumns().filter(T=>T.getIsPinned()==="right"),y=T=>b.slice(0,T).reduce((p,_)=>p+(_.getSize()??0),0),D=T=>x.slice(T+1).reduce((p,_)=>p+(_.getSize()??0),0);return e.jsxs("div",{className:"space-y-4",children:[typeof t=="function"?t(s):t,e.jsx("div",{ref:j,className:"relative overflow-auto rounded-md border bg-card",children:e.jsx("div",{className:"overflow-auto",children:e.jsxs(Xt,{children:[e.jsx(ea,{children:s.getHeaderGroups().map(T=>e.jsx(xs,{className:"hover:bg-transparent",children:T.headers.map((p,_)=>{const z=p.column.getIsPinned()==="left",N=p.column.getIsPinned()==="right",R=z?y(b.indexOf(p.column)):void 0,W=N?D(x.indexOf(p.column)):void 0;return e.jsx(ta,{colSpan:p.colSpan,style:{width:p.getSize(),...z&&{left:R},...N&&{right:W}},className:f("h-11 bg-card px-4 text-muted-foreground",(z||N)&&["sticky z-20","before:absolute before:bottom-0 before:top-0 before:w-[1px] before:bg-border",z&&"before:right-0",N&&"before:left-0"]),children:p.isPlaceholder?null:mt(p.column.columnDef.header,p.getContext())},p.id)})},T.id))}),e.jsx(sa,{children:s.getRowModel().rows?.length?s.getRowModel().rows.map((T,p)=>e.jsx(xs,{"data-state":T.getIsSelected()&&"selected",className:"hover:bg-muted/50",draggable:a,onDragStart:_=>n?.(_,p),onDragEnd:r,onDragOver:l,onDragLeave:c,onDrop:_=>d?.(_,p),children:T.getVisibleCells().map((_,z)=>{const N=_.column.getIsPinned()==="left",R=_.column.getIsPinned()==="right",W=N?y(b.indexOf(_.column)):void 0,L=R?D(x.indexOf(_.column)):void 0;return e.jsx(Is,{style:{width:_.column.getSize(),...N&&{left:W},...R&&{right:L}},className:f("bg-card",(N||R)&&["sticky z-20","before:absolute before:bottom-0 before:top-0 before:w-[1px] before:bg-border",N&&"before:right-0",R&&"before:left-0"]),children:mt(_.column.columnDef.cell,_.getContext())},_.id)})},T.id)):e.jsx(xs,{children:e.jsx(Is,{colSpan:s.getAllColumns().length,className:"h-24 text-center",children:"暂无数据"})})})]})})}),m&&e.jsx(Nx,{table:s})]})}const dr=(s,t)=>{let a=null;switch(s.field_type){case"input":a=e.jsx(C,{placeholder:s.placeholder,...t});break;case"textarea":a=e.jsx(gs,{placeholder:s.placeholder,...t});break;case"select":a=e.jsx("select",{className:f(Rs({variant:"outline"}),"w-full appearance-none font-normal"),...t,children:s.select_options&&Object.keys(s.select_options).map(n=>e.jsx("option",{value:n,children:s.select_options?.[n]},n))});break;default:a=null;break}return a},wx=o.object({id:o.number().nullable(),name:o.string().min(2,"名称至少需要2个字符").max(30,"名称不能超过30个字符"),icon:o.string().optional().nullable(),notify_domain:o.string().refine(s=>!s||/^https?:\/\/\S+/.test(s),"请输入有效的URL").optional().nullable(),handling_fee_fixed:o.coerce.number().min(0).optional().nullable(),handling_fee_percent:o.coerce.number().min(0).max(100).optional().nullable(),payment:o.string().min(1,"请选择支付接口"),config:o.record(o.string(),o.string())}),Ca={id:null,name:"",icon:"",notify_domain:"",handling_fee_fixed:0,handling_fee_percent:0,payment:"",config:{}};function xr({refetch:s,dialogTrigger:t,type:a="add",defaultFormValues:n=Ca}){const[r,l]=i.useState(!1),[c,d]=i.useState(!1),[m,w]=i.useState([]),[j,b]=i.useState([]),x=Z({resolver:ee(wx),defaultValues:n,mode:"onChange"}),y=x.watch("payment");i.useEffect(()=>{r&&(async()=>{const{data:p}=await Sc();w(p)})()},[r]),i.useEffect(()=>{if(!y||!r)return;(async()=>{try{const p={payment:y,...a==="edit"&&{id:Number(x.getValues("id"))}},{data:_}=await kc(p);b(_);const z=_.reduce((N,R)=>(R.field_name&&(N[R.field_name]=R.value??""),N),{});x.setValue("config",z)}catch{V.error("获取支付方式表单失败")}})()},[y,r,x,a]);const D=async T=>{d(!0),(await Tc(T)).data&&(V.success("保存成功"),x.reset(Ca),s(),l(!1)),d(!1)};return e.jsxs(ue,{open:r,onOpenChange:l,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(k,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"})," ",e.jsx("div",{children:"添加支付方式"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsx(ge,{children:e.jsx(he,{children:a==="add"?"添加支付方式":"编辑支付方式"})}),e.jsx(se,{...x,children:e.jsxs("form",{onSubmit:x.handleSubmit(D),className:"space-y-4",children:[e.jsx(h,{control:x.control,name:"name",render:({field:T})=>e.jsxs(u,{children:[e.jsx(g,{children:"显示名称"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入支付名称",...T})}),e.jsx(P,{children:"用于前端显示"}),e.jsx(S,{})]})}),e.jsx(h,{control:x.control,name:"icon",render:({field:T})=>e.jsxs(u,{children:[e.jsx(g,{children:"图标URL"}),e.jsx(v,{children:e.jsx(C,{placeholder:"https://example.com/icon.svg",...T})}),e.jsx(P,{children:"用于前端显示的图标地址"}),e.jsx(S,{})]})}),e.jsx(h,{control:x.control,name:"notify_domain",render:({field:T})=>e.jsxs(u,{children:[e.jsx(g,{children:"通知域名"}),e.jsx(v,{children:e.jsx(C,{placeholder:"https://example.com",...T})}),e.jsx(P,{children:"网关通知将发送到该域名"}),e.jsx(S,{})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(h,{control:x.control,name:"handling_fee_percent",render:({field:T})=>e.jsxs(u,{children:[e.jsx(g,{children:"百分比手续费(%)"}),e.jsx(v,{children:e.jsx(C,{type:"number",placeholder:"0-100",...T})}),e.jsx(S,{})]})}),e.jsx(h,{control:x.control,name:"handling_fee_fixed",render:({field:T})=>e.jsxs(u,{children:[e.jsx(g,{children:"固定手续费"}),e.jsx(v,{children:e.jsx(C,{type:"number",placeholder:"0",...T})}),e.jsx(S,{})]})})]}),e.jsx(h,{control:x.control,name:"payment",render:({field:T})=>e.jsxs(u,{children:[e.jsx(g,{children:"支付接口"}),e.jsxs(B,{value:T.value,onValueChange:T.onChange,children:[e.jsx(v,{children:e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择支付接口"})})}),e.jsx(G,{children:m.map(p=>e.jsx(A,{value:p,children:p},p))})]}),e.jsx(S,{})]})}),j.map(T=>e.jsx(h,{control:x.control,name:`config.${T.field_name}`,render:({field:p})=>e.jsxs(u,{children:[e.jsx(g,{children:T.label}),e.jsx(v,{children:dr(T,p)}),e.jsx(S,{})]})},T.field_name)),e.jsxs(Fe,{className:"gap-2",children:[e.jsx(Xs,{asChild:!0,children:e.jsx(k,{type:"button",variant:"outline",children:"取消"})}),e.jsx(k,{type:"submit",disabled:c,className:f(c&&"cursor-not-allowed opacity-50"),children:c?"保存中...":"提交"})]})]})})]})]})}function F({column:s,title:t,tooltip:a,className:n}){return s.getCanSort()?e.jsx("div",{className:"flex items-center gap-1",children:e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs(k,{variant:"ghost",size:"default",className:f("-ml-3 flex h-8 items-center gap-2 text-nowrap font-medium hover:bg-muted/60",n),onClick:()=>s.toggleSorting(s.getIsSorted()==="asc"),children:[e.jsx("span",{children:t}),a&&e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(ua,{className:"h-4 w-4 cursor-pointer text-muted-foreground"})}),e.jsx(te,{children:a})]})}),s.getIsSorted()==="asc"?e.jsx(Mt,{className:"h-4 w-4 text-foreground/70"}):s.getIsSorted()==="desc"?e.jsx(zt,{className:"h-4 w-4 text-foreground/70"}):e.jsx(Gi,{className:"h-4 w-4 text-muted-foreground/70 transition-colors hover:text-foreground/70"})]})})}):e.jsxs("div",{className:f("flex items-center space-x-1 text-nowrap py-2 font-medium text-muted-foreground",n),children:[e.jsx("span",{children:t}),a&&e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{children:e.jsx(ua,{className:"h-4 w-4 text-muted-foreground"})}),e.jsx(te,{children:a})]})})]})}const _x=Bi,Cx=Yi,Sx=Wi,mr=i.forwardRef(({className:s,...t},a)=>e.jsx(bn,{className:f("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...t,ref:a}));mr.displayName=bn.displayName;const ur=i.forwardRef(({className:s,...t},a)=>e.jsxs(Sx,{children:[e.jsx(mr,{}),e.jsx(yn,{ref:a,className:f("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...t})]}));ur.displayName=yn.displayName;const hr=({className:s,...t})=>e.jsx("div",{className:f("flex flex-col space-y-2 text-center sm:text-left",s),...t});hr.displayName="AlertDialogHeader";const jr=({className:s,...t})=>e.jsx("div",{className:f("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t});jr.displayName="AlertDialogFooter";const gr=i.forwardRef(({className:s,...t},a)=>e.jsx(Nn,{ref:a,className:f("text-lg font-semibold",s),...t}));gr.displayName=Nn.displayName;const fr=i.forwardRef(({className:s,...t},a)=>e.jsx(wn,{ref:a,className:f("text-sm text-muted-foreground",s),...t}));fr.displayName=wn.displayName;const pr=i.forwardRef(({className:s,...t},a)=>e.jsx(_n,{ref:a,className:f(Rs(),s),...t}));pr.displayName=_n.displayName;const vr=i.forwardRef(({className:s,...t},a)=>e.jsx(Cn,{ref:a,className:f(Rs({variant:"outline"}),"mt-2 sm:mt-0",s),...t}));vr.displayName=Cn.displayName;function Ue({onConfirm:s,children:t,title:a="确认操作",description:n="确定要执行此操作吗?",cancelText:r="取消",confirmText:l="确认",variant:c="default",className:d}){return e.jsxs(_x,{children:[e.jsx(Cx,{asChild:!0,children:t}),e.jsxs(ur,{className:f("sm:max-w-[425px]",d),children:[e.jsxs(hr,{children:[e.jsx(gr,{children:a}),e.jsx(fr,{children:n})]}),e.jsxs(jr,{children:[e.jsx(vr,{asChild:!0,children:e.jsx(k,{variant:"outline",children:r})}),e.jsx(pr,{asChild:!0,children:e.jsx(k,{variant:c,onClick:s,children:l})})]})]})]})}const br=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M11.29 15.29a2 2 0 0 0-.12.15a.8.8 0 0 0-.09.18a.6.6 0 0 0-.06.18a1.4 1.4 0 0 0 0 .2a.84.84 0 0 0 .08.38a.9.9 0 0 0 .54.54a.94.94 0 0 0 .76 0a.9.9 0 0 0 .54-.54A1 1 0 0 0 13 16a1 1 0 0 0-.29-.71a1 1 0 0 0-1.42 0M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8 8 0 0 1-8 8m0-13a3 3 0 0 0-2.6 1.5a1 1 0 1 0 1.73 1A1 1 0 0 1 12 9a1 1 0 0 1 0 2a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-.18A3 3 0 0 0 12 7"})}),kx=({refetch:s,isSortMode:t=!1})=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:t?"cursor-move":"opacity-0",children:e.jsx(Nt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:a})=>e.jsx(F,{column:a,title:"ID"}),cell:({row:a})=>e.jsx(E,{variant:"outline",children:a.getValue("id")}),enableSorting:!0,size:60},{accessorKey:"enable",header:({column:a})=>e.jsx(F,{column:a,title:"启用"}),cell:({row:a})=>e.jsx(O,{defaultChecked:a.getValue("enable"),onCheckedChange:async()=>{const{data:n}=await Pc({id:a.original.id});n||s()}}),enableSorting:!1,size:100},{accessorKey:"name",header:({column:a})=>e.jsx(F,{column:a,title:"显示名称"}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[200px] truncate font-medium",children:a.getValue("name")})}),enableSorting:!1,size:200},{accessorKey:"payment",header:({column:a})=>e.jsx(F,{column:a,title:"支付接口"}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[200px] truncate font-medium",children:a.getValue("payment")})}),enableSorting:!1,size:200},{accessorKey:"notify_url",header:({column:a})=>e.jsxs("div",{className:"flex items-center",children:[e.jsx(F,{column:a,title:"通知地址"}),e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{className:"ml-1",children:e.jsx(br,{className:"h-4 w-4"})}),e.jsx(te,{children:"支付网关将会把数据通知到本地址,请通过防火墙放行本地址。"})]})})]}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[300px] truncate font-medium",children:a.getValue("notify_url")})}),enableSorting:!1,size:3e3},{id:"actions",header:({column:a})=>e.jsx(F,{className:"justify-end",column:a,title:"操作"}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center justify-end space-x-2",children:[e.jsx(xr,{refetch:s,dialogTrigger:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(ws,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:a.original}),e.jsx(Ue,{title:"删除确认",description:"确定要删除该支付方式吗?此操作无法撤销。",onConfirm:async()=>{const{data:n}=await Dc({id:a.original.id});n&&s()},children:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-destructive/10",children:[e.jsx(Xe,{className:"h-4 w-4 text-muted-foreground hover:text-destructive"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function Tx({table:s,refetch:t,saveOrder:a,isSortMode:n}){const r=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[n?e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽支付方式进行排序,完成后点击保存"}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(xr,{refetch:t}),e.jsx(C,{placeholder:"搜索支付方式...",value:s.getColumn("name")?.getFilterValue()??"",onChange:l=>s.getColumn("name")?.setFilterValue(l.target.value),className:"h-8 w-[250px]"}),r&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(k,{size:"sm",variant:n?"default":"outline",onClick:a,children:n?"保存排序":"编辑排序"})})]})}function Dx(){const[s,t]=i.useState([]),[a,n]=i.useState([]),[r,l]=i.useState(!1),[c,d]=i.useState([]),[m,w]=i.useState({"drag-handle":!1}),[j,b]=i.useState({pageSize:10,pageIndex:0}),{refetch:x}=K({queryKey:["paymentList"],queryFn:async()=>{const{data:_}=await Cc();return d(_?.map(z=>({...z,enable:!!z.enable}))||[]),_}});i.useEffect(()=>{w({"drag-handle":r}),b({pageSize:r?99999:10,pageIndex:0})},[r]);const y=(_,z)=>{r&&(_.dataTransfer.setData("text/plain",z.toString()),_.currentTarget.classList.add("opacity-50"))},D=(_,z)=>{if(!r)return;_.preventDefault(),_.currentTarget.classList.remove("bg-muted");const N=parseInt(_.dataTransfer.getData("text/plain"));if(N===z)return;const R=[...c],[W]=R.splice(N,1);R.splice(z,0,W),d(R)},T=async()=>{if(r)try{await Fc({ids:c.map(_=>_.id)}),await x(),l(!1),V.success("排序保存成功")}catch{V.error("排序保存失败")}else l(!0)},p=Re({data:c,columns:kx({refetch:x,isSortMode:r}),state:{sorting:a,columnFilters:s,columnVisibility:m,pagination:j},onSortingChange:n,onColumnFiltersChange:t,onColumnVisibilityChange:w,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),initialState:{columnPinning:{right:["actions"]}},pageCount:r?1:void 0});return e.jsx(qe,{table:p,toolbar:_=>e.jsx(Tx,{table:_,refetch:x,saveOrder:T,isSortMode:r}),draggable:r,onDragStart:y,onDragEnd:_=>_.currentTarget.classList.remove("opacity-50"),onDragOver:_=>{_.preventDefault(),_.currentTarget.classList.add("bg-muted")},onDragLeave:_=>_.currentTarget.classList.remove("bg-muted"),onDrop:D,showPagination:!r})}function Px(){return e.jsxs(fe,{children:[e.jsxs(pe,{className:"flex items-center justify-between",children:[e.jsx(Ce,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{children:[e.jsx("header",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("div",{className:"mb-2",children:e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"支付配置"})}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置支付方式,包括支付宝、微信等。"})]})}),e.jsx("section",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Dx,{})})]})]})}const Fx=Object.freeze(Object.defineProperty({__proto__:null,default:Px},Symbol.toStringTag,{value:"Module"}));function Ix({themeKey:s,themeInfo:t}){const[a,n]=i.useState(!1),[r,l]=i.useState(!1),[c,d]=i.useState(!1),m=Z({defaultValues:t.configs.reduce((b,x)=>(b[x.field_name]="",b),{})}),w=async()=>{try{l(!0);const{data:b}=await xc(s);Object.entries(b).forEach(([x,y])=>{m.setValue(x,y)})}catch{V.error("加载主题配置失败"),n(!1)}finally{l(!1)}},j=async b=>{try{d(!0),mc(s,b).then(()=>{V.success("保存成功"),n(!1)})}catch{V.error("保存失败")}finally{d(!1)}};return e.jsxs(ue,{open:a,onOpenChange:b=>{n(b),b?w():m.reset()},children:[e.jsx(Pe,{asChild:!0,children:e.jsx(k,{variant:"outline",children:"主题设置"})}),e.jsxs(de,{className:"max-h-[90vh] overflow-auto sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsxs(he,{children:["配置",t.name,"主题"]}),e.jsx(ze,{children:"修改主题的样式、布局和其他显示选项。"})]}),r?e.jsx("div",{className:"flex h-40 items-center justify-center",children:e.jsx(Wt,{className:"h-6 w-6 animate-spin"})}):e.jsx(se,{...m,children:e.jsxs("form",{onSubmit:m.handleSubmit(j),className:"space-y-4",children:[t.configs.map(b=>e.jsx(h,{control:m.control,name:b.field_name,render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:b.label}),e.jsx(v,{children:dr(b,x)}),e.jsx(S,{})]})},b.field_name)),e.jsxs(Fe,{className:"mt-6 gap-2",children:[e.jsx(k,{type:"button",variant:"secondary",onClick:()=>n(!1),children:"取消"}),e.jsx(k,{type:"submit",loading:c,children:"保存"})]})]})})]})]})}function Vx(){const[s,t]=i.useState(null),[a,n]=i.useState(!1),[r,l]=i.useState(!1),[c,d]=i.useState(!1),m=i.useRef(null),{data:w,isLoading:j,refetch:b}=K({queryKey:["themeList"],queryFn:async()=>{const{data:p}=await dc();return p}}),x=async p=>{try{t(p),await jc({frontend_theme:p}),V.success("主题切换成功"),b()}catch{V.error("主题切换失败")}finally{t(null)}},y=async p=>{if(!p.name.endsWith(".zip")){V.error("只支持上传 ZIP 格式的主题文件");return}try{n(!0),await uc(p),V.success("主题上传成功"),l(!1),b()}catch{V.error("主题上传失败")}finally{n(!1),m.current&&(m.current.value="")}},D=p=>{p.preventDefault(),p.stopPropagation(),p.type==="dragenter"||p.type==="dragover"?d(!0):p.type==="dragleave"&&d(!1)},T=p=>{p.preventDefault(),p.stopPropagation(),d(!1),p.dataTransfer.files&&p.dataTransfer.files[0]&&y(p.dataTransfer.files[0])};return e.jsxs(fe,{children:[e.jsxs(pe,{className:"flex items-center justify-between",children:[e.jsx(Ce,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"",children:[e.jsxs("header",{className:"mb-8",children:[e.jsx("div",{className:"mb-2",children:e.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"主题配置"})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("p",{className:"text-muted-foreground",children:"主题配置,包括主题色、字体大小等。如果你采用前后分离的方式部署V2board,那么主题配置将不会生效。"}),e.jsxs(k,{onClick:()=>l(!0),variant:"outline",className:"ml-4 shrink-0",size:"sm",children:[e.jsx(ha,{className:"mr-2 h-4 w-4"}),"上传主题"]})]})]}),e.jsx("section",{className:"grid gap-6 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:j?e.jsxs(e.Fragment,{children:[e.jsx(Sa,{}),e.jsx(Sa,{})]}):w?.themes&&Object.entries(w.themes).map(([p,_])=>e.jsxs(_e,{className:"relative transition-shadow hover:shadow-md",children:[p!==w.active&&e.jsx("div",{className:"absolute right-2 top-2",children:e.jsx(Ue,{title:"删除主题",description:"确定要删除该主题吗?删除后无法恢复。",confirmText:"删除",variant:"destructive",onConfirm:async()=>{if(p===w?.active){V.error("不能删除当前使用的主题");return}t(p),hc(p).then(()=>{V.success("主题删除成功"),b()}).catch(()=>{V.error("主题删除失败")}).finally(()=>{t(null)})},children:e.jsx(k,{disabled:s===p,loading:s===p,variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-destructive",children:e.jsx(Xe,{className:"h-4 w-4"})})})}),e.jsxs(Te,{children:[e.jsx(Oe,{children:_.name}),e.jsx(Vs,{children:_.description})]}),e.jsxs(De,{className:"flex items-center justify-end space-x-3",children:[e.jsx(Ix,{themeKey:p,themeInfo:_}),e.jsx(k,{onClick:()=>x(p),disabled:s===p||p===w.active,loading:s===p,variant:p===w.active?"secondary":"default",children:p===w.active?"当前主题":"激活主题"})]})]},p))}),e.jsx(ue,{open:r,onOpenChange:l,children:e.jsxs(de,{className:"sm:max-w-md",children:[e.jsxs(ge,{children:[e.jsx(he,{children:"上传主题"}),e.jsx(ze,{children:"请上传一个有效的主题压缩包(.zip 格式)。主题包应包含完整的主题文件结构。"})]}),e.jsxs("div",{className:f("relative mt-4 flex h-64 flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 px-5 py-10 text-center transition-colors",c&&"border-primary/50 bg-muted/50"),onDragEnter:D,onDragLeave:D,onDragOver:D,onDrop:T,children:[e.jsx("input",{type:"file",ref:m,className:"hidden",accept:".zip",onChange:p=>{const _=p.target.files?.[0];_&&y(_)}}),a?e.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[e.jsx("div",{className:"h-10 w-10 animate-spin rounded-full border-b-2 border-primary"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"正在上传..."})]}):e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[e.jsx("div",{className:"rounded-full border-2 border-muted-foreground/25 p-3",children:e.jsx(ha,{className:"h-6 w-6 text-muted-foreground/50"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"text-sm font-medium",children:["将主题文件拖放到此处,或者",e.jsx("button",{type:"button",onClick:()=>m.current?.click(),className:"mx-1 text-primary hover:underline",children:"点击选择"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"支持 .zip 格式的主题包"})]})]})})]})]})})]})]})}function Sa(){return e.jsxs(_e,{children:[e.jsxs(Te,{children:[e.jsx(Ve,{className:"h-6 w-[200px]"}),e.jsx(Ve,{className:"h-4 w-[300px]"})]}),e.jsxs(De,{className:"flex items-center justify-end space-x-3",children:[e.jsx(Ve,{className:"h-10 w-[100px]"}),e.jsx(Ve,{className:"h-10 w-[100px]"})]})]})}const Rx=Object.freeze(Object.defineProperty({__proto__:null,default:Vx},Symbol.toStringTag,{value:"Module"})),aa=i.forwardRef(({className:s,value:t,onChange:a,...n},r)=>{const[l,c]=i.useState("");i.useEffect(()=>{if(l.includes(",")){const m=new Set([...t,...l.split(",").map(w=>w.trim())]);a(Array.from(m)),c("")}},[l,a,t]);const d=()=>{if(l){const m=new Set([...t,l]);a(Array.from(m)),c("")}};return e.jsxs("div",{className:f(" has-[:focus-visible]:outline-none has-[:focus-visible]:ring-1 has-[:focus-visible]:ring-neutral-950 dark:has-[:focus-visible]:ring-neutral-300 flex w-full flex-wrap gap-2 rounded-md border border-input shadow-sm px-3 py-2 text-sm ring-offset-white disabled:cursor-not-allowed disabled:opacity-50",s),children:[t.map(m=>e.jsxs(E,{variant:"secondary",children:[m,e.jsx(H,{variant:"ghost",size:"icon",className:"ml-2 h-3 w-3",onClick:()=>{a(t.filter(w=>w!==m))},children:e.jsx(Ot,{className:"w-3"})})]},m)),e.jsx("input",{className:"flex-1 outline-none placeholder:text-muted-foreground bg-transparent",value:l,onChange:m=>c(m.target.value),onKeyDown:m=>{m.key==="Enter"||m.key===","?(m.preventDefault(),d()):m.key==="Backspace"&&l.length===0&&t.length>0&&(m.preventDefault(),a(t.slice(0,-1)))},...n,ref:r})]})});aa.displayName="InputTags";const Mx=o.object({id:o.number().nullable(),title:o.string().min(1).max(250),content:o.string().min(1),show:o.boolean(),tags:o.array(o.string()),img_url:o.string().nullable()}),zx={id:null,show:!1,tags:[],img_url:"",title:"",content:""};function yr({refetch:s,dialogTrigger:t,type:a="add",defaultFormValues:n=zx}){const[r,l]=i.useState(!1),c=Z({resolver:ee(Mx),defaultValues:n,mode:"onChange",shouldFocusError:!0});return e.jsx(se,{...c,children:e.jsxs(ue,{onOpenChange:l,open:r,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(k,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"})," ",e.jsx("div",{children:"添加公告"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:a==="add"?"添加公告":"编辑公告"}),e.jsx(ze,{})]}),e.jsx(h,{control:c.control,name:"title",render:({field:d})=>e.jsxs(u,{children:[e.jsx(g,{children:"标题"}),e.jsx("div",{className:"relative ",children:e.jsx(v,{children:e.jsx(C,{placeholder:"请输入公告标题",...d})})}),e.jsx(S,{})]})}),e.jsx(h,{control:c.control,name:"content",render:({field:d})=>e.jsxs(u,{children:[e.jsx(g,{children:"公告内容"}),e.jsx("div",{className:"relative",children:e.jsx(v,{children:e.jsx(gs,{className:"min-h-[150px]",placeholder:"请输入公告内容,支持HTML",...d})})}),e.jsx(S,{})]})}),e.jsx(h,{control:c.control,name:"img_url",render:({field:d})=>e.jsxs(u,{children:[e.jsx(g,{children:"公告背景"}),e.jsx("div",{className:"relative",children:e.jsx(v,{children:e.jsx(C,{type:"text",placeholder:"请输入公告背景图片URL",...d,value:d.value||""})})}),e.jsx(S,{})]})}),e.jsx(h,{control:c.control,name:"show",render:({field:d})=>e.jsxs(u,{children:[e.jsx(g,{children:"显示"}),e.jsx("div",{className:"relative py-2",children:e.jsx(v,{children:e.jsx(O,{checked:d.value,onCheckedChange:d.onChange})})}),e.jsx(S,{})]})}),e.jsx(h,{control:c.control,name:"tags",render:({field:d})=>e.jsxs(u,{children:[e.jsx(g,{children:"节点标签"}),e.jsx(v,{children:e.jsx(aa,{value:d.value,onChange:d.onChange,placeholder:"输入后回车添加标签",className:"w-full"})}),e.jsx(S,{})]})}),e.jsxs(Fe,{children:[e.jsx(Xs,{asChild:!0,children:e.jsx(k,{type:"button",variant:"outline",children:"取消"})}),e.jsx(k,{type:"submit",onClick:d=>{d.preventDefault(),c.handleSubmit(async m=>{try{(await Vc(m)).data&&(await s(),l(!1))}catch(w){console.error("Failed to save notice:",w)}})()},children:"提交"})]})]})]})})}function Ex({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between space-x-2 ",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsx(yr,{refetch:t}),e.jsx(C,{placeholder:"搜索公告标题...",value:s.getColumn("title")?.getFilterValue()??"",onChange:n=>s.getColumn("title")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),a&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-9 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center space-x-2"})]})}const Ox=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(F,{column:t,title:"ID"}),cell:({row:t})=>e.jsx(E,{variant:"outline",className:"font-mono",children:t.getValue("id")}),enableSorting:!0,size:60},{accessorKey:"show",header:({column:t})=>e.jsx(F,{column:t,title:"显示状态"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center",children:e.jsx(O,{defaultChecked:t.getValue("show"),onCheckedChange:async()=>{const{data:a}=await Mc({id:t.original.id});a||s()}})}),enableSorting:!1,size:100},{accessorKey:"title",header:({column:t})=>e.jsx(F,{column:t,title:"标题"}),cell:({row:t})=>e.jsx("div",{className:"flex max-w-[500px] items-center",children:e.jsx("span",{className:"truncate font-medium",children:t.getValue("title")})}),enableSorting:!1,size:6e3},{id:"actions",header:({column:t})=>e.jsx(F,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center justify-end space-x-2",children:[e.jsx(yr,{refetch:s,dialogTrigger:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(ws,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:t.original}),e.jsx(Ue,{title:"删除确认",description:"确定要删除该条公告吗?此操作无法撤销。",onConfirm:async()=>{Rc({id:t.original.id}).then(()=>{V.success("删除成功"),s()})},children:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(Xe,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function Lx(){const[s,t]=i.useState({}),[a,n]=i.useState({}),[r,l]=i.useState([]),[c,d]=i.useState([]),{data:m,isLoading:w,refetch:j}=K({queryKey:["notices"],queryFn:async()=>{const{data:x}=await Ic();return x}}),b=Re({data:m??[],columns:Ox(j),state:{sorting:c,columnVisibility:a,rowSelection:s,columnFilters:r},enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:b,toolbar:x=>e.jsx(Ex,{table:x,refetch:j})})}function $x(){return e.jsxs(fe,{children:[e.jsxs(pe,{className:"flex items-center justify-between",children:[e.jsx(Ce,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("div",{className:"mb-2",children:e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"公告管理"})}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置公告,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Lx,{})})]})]})}const Ax=Object.freeze(Object.defineProperty({__proto__:null,default:$x},Symbol.toStringTag,{value:"Module"})),Hx=o.object({id:o.number().nullable(),language:o.string().max(250),category:o.string().max(250),title:o.string().min(1).max(250),body:o.string().min(1),show:o.boolean()}),Kx={id:null,language:"zh-CN",category:"",title:"",body:"",show:!1};function Nr({refreshData:s,dialogTrigger:t,type:a="add",defaultFormValues:n=Kx}){const[r,l]=i.useState(!1),c=Z({resolver:ee(Hx),defaultValues:n,mode:"onChange",shouldFocusError:!0}),d=new Sn({html:!0});return i.useEffect(()=>{r&&n.id&&Ec(n.id).then(({data:m})=>{c.reset(m)})},[n.id,c,r]),e.jsxs(ue,{onOpenChange:l,open:r,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(k,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"})," ",e.jsx("div",{children:"添加知识"})]})}),e.jsxs(de,{className:"sm:max-w-[1025px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:a==="add"?"添加知识":"编辑知识"}),e.jsx(ze,{})]}),e.jsxs(se,{...c,children:[e.jsx(h,{control:c.control,name:"title",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"标题"}),e.jsx("div",{className:"relative ",children:e.jsx(v,{children:e.jsx(C,{placeholder:"请输入知识标题",...m})})}),e.jsx(S,{})]})}),e.jsx(h,{control:c.control,name:"category",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"分类"}),e.jsx("div",{className:"relative ",children:e.jsx(v,{children:e.jsx(C,{placeholder:"请输入分类,分类将会自动归类",...m})})}),e.jsx(S,{})]})}),e.jsx(h,{control:c.control,name:"language",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"语言"}),e.jsx(v,{children:e.jsxs(B,{value:m.value,onValueChange:m.onChange,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择语言"})}),e.jsx(G,{children:[{field:"English",value:"en-US"},{field:"日本語",value:"ja-JP"},{field:"한국어",value:"ko-KR"},{field:"Tiếng Việt",value:"vi-VN"},{field:"简体中文",value:"zh-CN"},{field:"繁體中文",value:"zh-TW"}].map(w=>e.jsx(A,{value:w.value,className:"cursor-pointer",children:w.field},w.value))})]})})]})}),e.jsx(h,{control:c.control,name:"body",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"内容"}),e.jsx(v,{children:e.jsx(kn,{style:{height:"500px"},value:m.value,renderHTML:w=>d.render(w),onChange:({text:w})=>{m.onChange(w)}})}),e.jsx(S,{})]})}),e.jsx(h,{control:c.control,name:"show",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"显示"}),e.jsx("div",{className:"relative py-2",children:e.jsx(v,{children:e.jsx(O,{checked:m.value,onCheckedChange:m.onChange})})}),e.jsx(S,{})]})}),e.jsxs(Fe,{children:[e.jsx(Xs,{asChild:!0,children:e.jsx(k,{type:"button",variant:"outline",children:"取消"})}),e.jsx(k,{type:"submit",onClick:()=>{c.handleSubmit(m=>{Oc(m).then(({data:w})=>{w&&(c.reset(),V.success("操作成功"),l(!1),s())})})()},children:"提交"})]})]})]})]})}function qx({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsxs(k,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(Ms,{className:"mr-2 h-4 w-4"}),t,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(l=>r.has(l.value)).map(l=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:l.label},l.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(ts,{children:[e.jsx(hs,{placeholder:t}),e.jsxs(as,{children:[e.jsx(js,{children:"No results found."}),e.jsx(be,{children:a.map(l=>{const c=r.has(l.value);return e.jsxs(me,{onSelect:()=>{c?r.delete(l.value):r.add(l.value);const d=Array.from(r);s?.setFilterValue(d.length?d:void 0)},children:[e.jsx("div",{className:f("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",c?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(us,{className:f("h-4 w-4")})}),l.icon&&e.jsx(l.icon,{className:"mr-2 h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:l.label}),n?.get(l.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(l.value)})]},l.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(_s,{}),e.jsx(be,{children:e.jsx(me,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}function Ux({table:s,refetch:t,saveOrder:a,isSortMode:n}){const r=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[n?e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽知识条目进行排序,完成后点击保存"}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Nr,{refreshData:t}),e.jsx(C,{placeholder:"搜索知识...",value:s.getColumn("title")?.getFilterValue()??"",onChange:l=>s.getColumn("title")?.setFilterValue(l.target.value),className:"h-8 w-[250px]"}),s.getColumn("category")&&e.jsx(qx,{column:s.getColumn("category"),title:"分类",options:Array.from(new Set(s.getCoreRowModel().rows.map(l=>l.getValue("category")))).map(l=>({label:l,value:l}))}),r&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(k,{variant:n?"default":"outline",onClick:a,size:"sm",children:n?"保存排序":"编辑排序"})})]})}const Gx=({refetch:s,isSortMode:t=!1})=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:t?"cursor-move":"opacity-0",children:e.jsx(Nt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:a})=>e.jsx(F,{column:a,title:"ID"}),cell:({row:a})=>e.jsx(E,{variant:"outline",className:"justify-center",children:a.getValue("id")}),enableSorting:!0,size:70},{accessorKey:"show",header:({column:a})=>e.jsx(F,{column:a,title:"状态"}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx(O,{defaultChecked:a.getValue("show"),onCheckedChange:async()=>{$c({id:a.original.id}).then(({data:n})=>{n||s()})}})}),enableSorting:!1,size:100},{accessorKey:"title",header:({column:a})=>e.jsx(F,{column:a,title:"标题"}),cell:({row:a})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"line-clamp-2 font-medium",children:a.getValue("title")})}),enableSorting:!0,size:600},{accessorKey:"category",header:({column:a})=>e.jsx(F,{column:a,title:"分类"}),cell:({row:a})=>e.jsx(E,{variant:"secondary",className:"max-w-[180px] truncate",children:a.getValue("category")}),enableSorting:!0,size:1800},{id:"actions",header:({column:a})=>e.jsx(F,{className:"justify-end",column:a,title:"操作"}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center justify-end space-x-1",children:[e.jsx(Nr,{refreshData:s,dialogTrigger:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(ws,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:a.original}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该知识库记录,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{Lc({id:a.original.id}).then(({data:n})=>{n&&(V.success("删除成功"),s())})},children:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(Xe,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function Bx(){const[s,t]=i.useState([]),[a,n]=i.useState([]),[r,l]=i.useState(!1),[c,d]=i.useState([]),[m,w]=i.useState({"drag-handle":!1}),[j,b]=i.useState({pageSize:10,pageIndex:0}),{refetch:x,isLoading:y,data:D}=K({queryKey:["knowledge"],queryFn:async()=>{const{data:N}=await zc();return d(N||[]),N}});i.useEffect(()=>{w({"drag-handle":r}),b({pageSize:r?99999:10,pageIndex:0})},[r]);const T=(N,R)=>{r&&(N.dataTransfer.setData("text/plain",R.toString()),N.currentTarget.classList.add("opacity-50"))},p=(N,R)=>{if(!r)return;N.preventDefault(),N.currentTarget.classList.remove("bg-muted");const W=parseInt(N.dataTransfer.getData("text/plain"));if(W===R)return;const L=[...c],[ae]=L.splice(W,1);L.splice(R,0,ae),d(L)},_=async()=>{if(r)try{await Ac({ids:c.map(N=>N.id)}),await x(),l(!1),V.success("排序保存成功")}catch{V.error("排序保存失败")}else l(!0)},z=Re({data:c,columns:Gx({refetch:x,isSortMode:r}),state:{sorting:a,columnFilters:s,columnVisibility:m,pagination:j},onSortingChange:n,onColumnFiltersChange:t,onColumnVisibilityChange:w,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:z,toolbar:N=>e.jsx(Ux,{table:N,refetch:x,saveOrder:_,isSortMode:r}),draggable:r,onDragStart:T,onDragEnd:N=>N.currentTarget.classList.remove("opacity-50"),onDragOver:N=>{N.preventDefault(),N.currentTarget.classList.add("bg-muted")},onDragLeave:N=>N.currentTarget.classList.remove("bg-muted"),onDrop:p,showPagination:!r})}function Yx(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight mb-2",children:"知识库管理"}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置知识库,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Bx,{})})]})]})}const Wx=Object.freeze(Object.defineProperty({__proto__:null,default:Yx},Symbol.toStringTag,{value:"Module"}));function Jx(s,t){const[a,n]=i.useState(s);return i.useEffect(()=>{const r=setTimeout(()=>n(s),t);return()=>{clearTimeout(r)}},[s,t]),a}function It(s,t){if(s.length===0)return{};if(!t)return{"":s};const a={};return s.forEach(n=>{const r=n[t]||"";a[r]||(a[r]=[]),a[r].push(n)}),a}function Qx(s,t){const a=JSON.parse(JSON.stringify(s));for(const[n,r]of Object.entries(a))a[n]=r.filter(l=>!t.find(c=>c.value===l.value));return a}function Zx(s,t){for(const[,a]of Object.entries(s))if(a.some(n=>t.find(r=>r.value===n.value)))return!0;return!1}const wr=i.forwardRef(({className:s,...t},a)=>Ji(r=>r.filtered.count===0)?e.jsx("div",{ref:a,className:f("py-6 text-center text-sm",s),"cmdk-empty":"",role:"presentation",...t}):null);wr.displayName="CommandEmpty";const Qs=i.forwardRef(({value:s,onChange:t,placeholder:a,defaultOptions:n=[],options:r,delay:l,onSearch:c,loadingIndicator:d,emptyIndicator:m,maxSelected:w=Number.MAX_SAFE_INTEGER,onMaxSelected:j,hidePlaceholderWhenSelected:b,disabled:x,groupBy:y,className:D,badgeClassName:T,selectFirstItem:p=!0,creatable:_=!1,triggerSearchOnFocus:z=!1,commandProps:N,inputProps:R,hideClearAllButton:W=!1},L)=>{const ae=i.useRef(null),[Ge,Cs]=i.useState(!1),Es=i.useRef(!1),[ra,la]=i.useState(!1),[q,Os]=i.useState(s||[]),[fs,ia]=i.useState(It(n,y)),[ls,Dt]=i.useState(""),Ls=Jx(ls,l||500);i.useImperativeHandle(L,()=>({selectedValue:[...q],input:ae.current,focus:()=>ae.current?.focus()}),[q]);const st=i.useCallback($=>{const J=q.filter(we=>we.value!==$.value);Os(J),t?.(J)},[t,q]),Jr=i.useCallback($=>{const J=ae.current;J&&(($.key==="Delete"||$.key==="Backspace")&&J.value===""&&q.length>0&&(q[q.length-1].fixed||st(q[q.length-1])),$.key==="Escape"&&J.blur())},[st,q]);i.useEffect(()=>{s&&Os(s)},[s]),i.useEffect(()=>{if(!r||c)return;const $=It(r||[],y);JSON.stringify($)!==JSON.stringify(fs)&&ia($)},[n,r,y,c,fs]),i.useEffect(()=>{const $=async()=>{la(!0);const we=await c?.(Ls);ia(It(we||[],y)),la(!1)};(async()=>{!c||!Ge||(z&&await $(),Ls&&await $())})()},[Ls,y,Ge,z]);const Qr=()=>{if(!_||Zx(fs,[{value:ls,label:ls}])||q.find(J=>J.value===ls))return;const $=e.jsx(me,{value:ls,className:"cursor-pointer",onMouseDown:J=>{J.preventDefault(),J.stopPropagation()},onSelect:J=>{if(q.length>=w){j?.(q.length);return}Dt("");const we=[...q,{value:J,label:J}];Os(we),t?.(we)},children:`Create "${ls}"`});if(!c&&ls.length>0||c&&Ls.length>0&&!ra)return $},Zr=i.useCallback(()=>{if(m)return c&&!_&&Object.keys(fs).length===0?e.jsx(me,{value:"-",disabled:!0,children:m}):e.jsx(wr,{children:m})},[_,m,c,fs]),Xr=i.useMemo(()=>Qx(fs,q),[fs,q]),el=i.useCallback(()=>{if(N?.filter)return N.filter;if(_)return($,J)=>$.toLowerCase().includes(J.toLowerCase())?1:-1},[_,N?.filter]),sl=i.useCallback(()=>{const $=q.filter(J=>J.fixed);Os($),t?.($)},[t,q]);return e.jsxs(ts,{...N,onKeyDown:$=>{Jr($),N?.onKeyDown?.($)},className:f("h-auto overflow-visible bg-transparent",N?.className),shouldFilter:N?.shouldFilter!==void 0?N.shouldFilter:!c,filter:el(),children:[e.jsx("div",{className:f("rounded-md border border-input text-sm ring-offset-background focus-within:ring-1 focus-within:ring-ring ",{"px-3 py-2":q.length!==0,"cursor-text":!x&&q.length!==0},D),onClick:()=>{x||ae.current?.focus()},children:e.jsxs("div",{className:"flex flex-wrap gap-1",children:[q.map($=>e.jsxs(E,{className:f("data-[disabled]:bg-muted-foreground data-[disabled]:text-muted data-[disabled]:hover:bg-muted-foreground","data-[fixed]:bg-muted-foreground data-[fixed]:text-muted data-[fixed]:hover:bg-muted-foreground",T),"data-fixed":$.fixed,"data-disabled":x||void 0,children:[$.label,e.jsx("button",{className:f("ml-1 rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",(x||$.fixed)&&"hidden"),onKeyDown:J=>{J.key==="Enter"&&st($)},onMouseDown:J=>{J.preventDefault(),J.stopPropagation()},onClick:()=>st($),children:e.jsx(Ot,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},$.value)),e.jsx(ye.Input,{...R,ref:ae,value:ls,disabled:x,onValueChange:$=>{Dt($),R?.onValueChange?.($)},onBlur:$=>{Es.current===!1&&Cs(!1),R?.onBlur?.($)},onFocus:$=>{Cs(!0),z&&c?.(Ls),R?.onFocus?.($)},placeholder:b&&q.length!==0?"":a,className:f("flex-1 bg-transparent outline-none placeholder:text-muted-foreground",{"w-full":b,"px-3 py-2":q.length===0,"ml-1":q.length!==0},R?.className)}),e.jsx("button",{type:"button",onClick:sl,className:f((W||x||q.length<1||q.filter($=>$.fixed).length===q.length)&&"hidden"),children:e.jsx(Ot,{})})]})}),e.jsx("div",{className:"relative",children:Ge&&e.jsx(as,{className:"absolute top-1 z-10 w-full rounded-md border bg-popover text-popover-foreground shadow-md outline-none animate-in",onMouseLeave:()=>{Es.current=!1},onMouseEnter:()=>{Es.current=!0},onMouseUp:()=>{ae.current?.focus()},children:ra?e.jsx(e.Fragment,{children:d}):e.jsxs(e.Fragment,{children:[Zr(),Qr(),!p&&e.jsx(me,{value:"-",className:"hidden"}),Object.entries(Xr).map(([$,J])=>e.jsx(be,{heading:$,className:"h-full overflow-auto",children:e.jsx(e.Fragment,{children:J.map(we=>e.jsx(me,{value:we.value,disabled:we.disable,onMouseDown:$s=>{$s.preventDefault(),$s.stopPropagation()},onSelect:()=>{if(q.length>=w){j?.(q.length);return}Dt("");const $s=[...q,we];Os($s),t?.($s)},className:f("cursor-pointer",we.disable&&"cursor-default text-muted-foreground"),children:we.label},we.value))})},$))]})})})]})});Qs.displayName="MultipleSelector";const Xx=o.object({id:o.number().optional(),name:o.string().min(2,"组名至少需要2个字符").max(50,"组名不能超过50个字符").regex(/^[a-zA-Z0-9\u4e00-\u9fa5_-]+$/,"组名只能包含字母、数字、中文、下划线和连字符")});function Tt({refetch:s,dialogTrigger:t,defaultValues:a={name:""},type:n="add"}){const r=Z({resolver:ee(Xx),defaultValues:a,mode:"onChange"}),[l,c]=i.useState(!1),[d,m]=i.useState(!1),w=async j=>{try{m(!0);const{data:b}=await yc(j);b&&(V.success(n==="edit"?"更新成功":"创建成功"),s&&s(),r.reset(),c(!1))}catch{V.error("操作失败,请重试")}finally{m(!1)}};return e.jsxs(ue,{open:l,onOpenChange:c,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(k,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("span",{children:"添加权限组"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:n==="edit"?"编辑权限组":"创建权限组"}),e.jsx(ze,{children:n==="edit"?"修改权限组信息,更新后会立即生效。":"创建新的权限组,可以为不同的用户分配不同的权限。"})]}),e.jsx(se,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(w),className:"space-y-4",children:[e.jsx(h,{control:r.control,name:"name",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"组名称"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入权限组名称",...j,className:"w-full"})}),e.jsx(P,{children:"权限组名称用于标识不同的用户组,建议使用有意义的名称。"}),e.jsx(S,{})]})}),e.jsxs(Fe,{className:"gap-2",children:[e.jsx(Xs,{asChild:!0,children:e.jsx(k,{type:"button",variant:"outline",children:"取消"})}),e.jsxs(k,{type:"submit",disabled:d||!r.formState.isValid,children:[d&&e.jsx(Wt,{className:"mr-2 h-4 w-4 animate-spin"}),n==="edit"?"更新":"创建"]})]})]})})]})]})}const _r=i.createContext(void 0);function em({children:s,refetch:t}){const[a,n]=i.useState(!1),[r,l]=i.useState(null),[c,d]=i.useState(je.Shadowsocks);return e.jsx(_r.Provider,{value:{isOpen:a,setIsOpen:n,editingServer:r,setEditingServer:l,serverType:c,setServerType:d,refetch:t},children:s})}function Cr(){const s=i.useContext(_r);if(s===void 0)throw new Error("useServerEdit must be used within a ServerEditProvider");return s}function Vt({dialogTrigger:s,value:t,setValue:a,templateType:n}){i.useEffect(()=>{console.log(t)},[t]);const[r,l]=i.useState(!1),[c,d]=i.useState(()=>{if(!t||Object.keys(t).length===0)return"";try{return JSON.stringify(t,null,2)}catch{return""}}),[m,w]=i.useState(null),j=p=>{if(!p)return null;try{const _=JSON.parse(p);return typeof _!="object"||_===null?"配置必须是一个JSON对象":null}catch{return"无效的JSON格式"}},b={tcp:{label:"TCP",content:{acceptProxyProtocol:!1,header:{type:"none"}}},"tcp-http":{label:"TCP + HTTP",content:{acceptProxyProtocol:!1,header:{type:"http",request:{version:"1.1",method:"GET",path:["/"],headers:{Host:["www.example.com"]}},response:{version:"1.1",status:"200",reason:"OK"}}}},grpc:{label:"gRPC",content:{serviceName:"GunService"}},ws:{label:"WebSocket",content:{path:"/",headers:{Host:"v2ray.com"}}}},x=()=>{switch(n){case"tcp":return["tcp","tcp-http"];case"grpc":return["grpc"];case"ws":return["ws"];default:return[]}},y=()=>{const p=j(c||"");if(p){V.error(p);return}try{if(!c){a(null),l(!1);return}a(JSON.parse(c)),l(!1)}catch{V.error("保存时发生错误")}},D=p=>{d(p),w(j(p))},T=p=>{const _=b[p];if(_){const z=JSON.stringify(_.content,null,2);d(z),w(null)}};return i.useEffect(()=>{r&&console.log(t)},[r,t]),i.useEffect(()=>{r&&t&&Object.keys(t).length>0&&d(JSON.stringify(t,null,2))},[r,t]),e.jsxs(ue,{open:r,onOpenChange:p=>{!p&&r&&y(),l(p)},children:[e.jsx(Pe,{asChild:!0,children:s??e.jsx(H,{variant:"link",children:"编辑协议"})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsx(ge,{children:e.jsx(he,{children:"编辑协议配置"})}),e.jsxs("div",{className:"space-y-4",children:[x().length>0&&e.jsx("div",{className:"flex flex-wrap gap-2 pt-2",children:x().map(p=>e.jsxs(H,{variant:"outline",size:"sm",onClick:()=>T(p),children:["使用",b[p].label,"模板"]},p))}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(gs,{className:`min-h-[200px] font-mono text-sm ${m?"border-red-500 focus-visible:ring-red-500":""}`,value:c,placeholder:`请输入JSON配置${x().length>0?"或选择上方模板":""}`,onChange:p=>D(p.target.value)}),m&&e.jsx("p",{className:"text-sm text-red-500",children:m})]})]}),e.jsxs(Fe,{className:"gap-2",children:[e.jsx(H,{variant:"outline",onClick:()=>l(!1),children:"取消"}),e.jsx(H,{onClick:y,disabled:!!m,children:"确定"})]})]})]})}function Bu(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}const sm={},tm=Object.freeze(Object.defineProperty({__proto__:null,default:sm},Symbol.toStringTag,{value:"Module"})),Yu=oo(tm),ka=s=>s.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),am=()=>{try{const s=Qi.box.keyPair(),t=ka(ja.encodeBase64(s.secretKey)),a=ka(ja.encodeBase64(s.publicKey));return{privateKey:t,publicKey:a}}catch(s){throw console.error("Error generating x25519 key pair:",s),s}},nm=()=>{try{return am()}catch(s){throw console.error("Error generating key pair:",s),s}},rm=s=>{const t=new Uint8Array(Math.ceil(s/2));return window.crypto.getRandomValues(t),Array.from(t).map(a=>a.toString(16).padStart(2,"0")).join("").substring(0,s)},lm=()=>{const s=Math.floor(Math.random()*8)*2+2;return rm(s)},im=o.object({cipher:o.string().default("aes-128-gcm"),obfs:o.string().default("0"),obfs_settings:o.object({path:o.string().default(""),host:o.string().default("")}).default({})}),om=o.object({tls:o.coerce.number().default(0),tls_settings:o.object({server_name:o.string().default(""),allow_insecure:o.boolean().default(!1)}).default({}),network:o.string().default("tcp"),network_settings:o.record(o.any()).default({})}),cm=o.object({server_name:o.string().default(""),allow_insecure:o.boolean().default(!1),network:o.string().default("tcp"),network_settings:o.record(o.any()).default({})}),dm=o.object({version:o.coerce.number().default(2),alpn:o.string().default("h2"),obfs:o.object({open:o.coerce.boolean().default(!1),type:o.string().default("salamander"),password:o.string().default("")}).default({}),tls:o.object({server_name:o.string().default(""),allow_insecure:o.boolean().default(!1)}).default({}),bandwidth:o.object({up:o.string().default(""),down:o.string().default("")}).default({})}),xm=o.object({tls:o.coerce.number().default(0),tls_settings:o.object({server_name:o.string().default(""),allow_insecure:o.boolean().default(!1)}).default({}),reality_settings:o.object({server_port:o.coerce.number().default(443),server_name:o.string().default(""),allow_insecure:o.boolean().default(!1),public_key:o.string().default(""),private_key:o.string().default(""),short_id:o.string().default("")}).default({}),network:o.string().default("tcp"),network_settings:o.record(o.any()).default({}),flow:o.string().default("")}),cs={shadowsocks:{schema:im,ciphers:["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"]},vmess:{schema:om,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}]},trojan:{schema:cm,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}]},hysteria:{schema:dm,versions:["1","2"],alpnOptions:["hysteria","http/1.1","h2","h3"]},vless:{schema:xm,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}],flowOptions:["none","xtls-rprx-direct","xtls-rprx-splice","xtls-rprx-vision"]}},mm=({serverType:s,value:t,onChange:a})=>{const n=s?cs[s]:null,r=n?.schema||o.record(o.any()),l=Z({resolver:ee(r),defaultValues:t||(s?r.parse({}):{}),mode:"onChange"});return i.useEffect(()=>{if(!t||Object.keys(t).length===0){if(s){const x=r.parse({});l.reset(x)}}else l.reset(t)},[s,t,a,l,r]),i.useEffect(()=>{const x=l.watch(y=>{a(y)});return()=>x.unsubscribe()},[l,a]),!s||!n?null:{shadowsocks:()=>e.jsxs(e.Fragment,{children:[e.jsx(h,{control:l.control,name:"cipher",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"加密算法"}),e.jsx(v,{children:e.jsxs(B,{onValueChange:x.onChange,value:x.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择加密算法"})}),e.jsx(G,{children:e.jsx(os,{children:cs.shadowsocks.ciphers.map(y=>e.jsx(A,{value:y,children:y},y))})})]})})]})}),e.jsx(h,{control:l.control,name:"obfs",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"混淆"}),e.jsx(v,{children:e.jsxs(B,{onValueChange:x.onChange,value:x.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择混淆方式"})}),e.jsx(G,{children:e.jsxs(os,{children:[e.jsx(A,{value:"0",children:"无"}),e.jsx(A,{value:"http",children:"HTTP"})]})})]})})]})}),l.watch("obfs")==="http"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:l.control,name:"obfs_settings.path",render:({field:x})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(v,{children:e.jsx(C,{type:"text",placeholder:"路径",...x})}),e.jsx(S,{})]})}),e.jsx(h,{control:l.control,name:"obfs_settings.host",render:({field:x})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(v,{children:e.jsx(C,{type:"text",placeholder:"Host",...x})}),e.jsx(S,{})]})})]})]}),vmess:()=>e.jsxs(e.Fragment,{children:[e.jsx(h,{control:l.control,name:"tls",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"TLS"}),e.jsx(v,{children:e.jsxs(B,{value:x.value?.toString(),onValueChange:y=>x.onChange(Number(y)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择安全性"})}),e.jsxs(G,{children:[e.jsx(A,{value:"0",children:"不支持"}),e.jsx(A,{value:"1",children:"支持"})]})]})})]})}),l.watch("tls")==1&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:l.control,name:"tls_settings.server_name",render:({field:x})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"服务器名称指示(SNI)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"不使用请留空",...x})})]})}),e.jsx(h,{control:l.control,name:"tls_settings.allow_insecure",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(v,{children:e.jsx(O,{checked:x.value,onCheckedChange:x.onChange})})})]})})]}),e.jsx(h,{control:l.control,name:"network",render:({field:x})=>e.jsxs(u,{children:[e.jsxs(g,{children:["传输协议",e.jsx(Vt,{value:l.watch("network_settings"),setValue:y=>l.setValue("network_settings",y),templateType:l.watch("network")})]}),e.jsx(v,{children:e.jsxs(B,{onValueChange:x.onChange,value:x.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择传输协议"})}),e.jsx(G,{children:e.jsx(os,{children:cs.vmess.networkOptions.map(y=>e.jsx(A,{value:y.value,className:"cursor-pointer",children:y.label},y.value))})})]})})]})})]}),trojan:()=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:l.control,name:"server_name",render:({field:x})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"服务器名称指示(SNI)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"当节点地址于证书不一致时用于证书验证",...x,value:x.value||""})})]})}),e.jsx(h,{control:l.control,name:"allow_insecure",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(v,{children:e.jsx(O,{checked:x.value||!1,onCheckedChange:x.onChange})})})]})})]}),e.jsx(h,{control:l.control,name:"network",render:({field:x})=>e.jsxs(u,{children:[e.jsxs(g,{children:["传输协议",e.jsx(Vt,{value:l.watch("network_settings")||{},setValue:y=>l.setValue("network_settings",y),templateType:l.watch("network")||"tcp"})]}),e.jsx(v,{children:e.jsxs(B,{onValueChange:x.onChange,value:x.value||"tcp",children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择传输协议"})}),e.jsx(G,{children:e.jsx(os,{children:cs.trojan.networkOptions.map(y=>e.jsx(A,{value:y.value,className:"cursor-pointer",children:y.label},y.value))})})]})})]})})]}),hysteria:()=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:l.control,name:"version",render:({field:x})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(g,{children:"协议版本"}),e.jsx(v,{children:e.jsxs(B,{value:(x.value||2).toString(),onValueChange:y=>x.onChange(Number(y)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"协议版本"})}),e.jsx(G,{children:e.jsx(os,{children:cs.hysteria.versions.map(y=>e.jsxs(A,{value:y,className:"cursor-pointer",children:["V",y]},y))})})]})})]})}),l.watch("version")==1&&e.jsx(h,{control:l.control,name:"alpn",render:({field:x})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"ALPN"}),e.jsx(v,{children:e.jsxs(B,{value:x.value||"h2",onValueChange:x.onChange,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"ALPN"})}),e.jsx(G,{children:e.jsx(os,{children:cs.hysteria.alpnOptions.map(y=>e.jsx(A,{value:y,children:y},y))})})]})})]})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:l.control,name:"obfs.open",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"混淆"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(v,{children:e.jsx(O,{checked:x.value||!1,onCheckedChange:x.onChange})})})]})}),!!l.watch("obfs.open")&&e.jsxs(e.Fragment,{children:[l.watch("version")=="2"&&e.jsx(h,{control:l.control,name:"obfs.type",render:({field:x})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(g,{children:"混淆实现"}),e.jsx(v,{children:e.jsxs(B,{value:x.value||"salamander",onValueChange:x.onChange,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择混淆实现"})}),e.jsx(G,{children:e.jsx(os,{children:e.jsx(A,{value:"salamander",children:"Salamander"})})})]})})]})}),e.jsx(h,{control:l.control,name:"obfs.password",render:({field:x})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"混淆密码"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入混淆密码",...x,value:x.value||""})})]})})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:l.control,name:"tls.server_name",render:({field:x})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"服务器名称指示(SNI)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"当节点地址于证书不一致时用于证书验证",...x,value:x.value||""})})]})}),e.jsx(h,{control:l.control,name:"tls.allow_insecure",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(v,{children:e.jsx(O,{checked:x.value||!1,onCheckedChange:x.onChange})})})]})})]}),e.jsx(h,{control:l.control,name:"bandwidth.up",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"上行宽带"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(v,{children:e.jsx(C,{type:"number",placeholder:"请输入上行宽带"+(l.watch("version")==2?",留空则使用BBR":""),className:"rounded-br-none rounded-tr-none",...x,value:x.value||""})}),e.jsx("div",{className:"pointer-events-none z-[-1] flex items-center rounded-md rounded-bl-none rounded-tl-none border border-l-0 border-input px-3 shadow-sm",children:e.jsx("span",{className:"text-gray-500",children:"Mbps"})})]})]})}),e.jsx(h,{control:l.control,name:"bandwidth.down",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"下行宽带"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(v,{children:e.jsx(C,{type:"number",placeholder:"请输入下行宽带"+(l.watch("version")==2?",留空则使用BBR":""),className:"rounded-br-none rounded-tr-none",...x,value:x.value||""})}),e.jsx("div",{className:"pointer-events-none z-[-1] flex items-center rounded-md rounded-bl-none rounded-tl-none border border-l-0 border-input px-3 shadow-sm",children:e.jsx("span",{className:"text-gray-500",children:"Mbps"})})]})]})})]}),vless:()=>e.jsxs(e.Fragment,{children:[e.jsx(h,{control:l.control,name:"tls",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"安全性"}),e.jsx(v,{children:e.jsxs(B,{value:x.value?.toString(),onValueChange:y=>x.onChange(Number(y)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择安全性"})}),e.jsxs(G,{children:[e.jsx(A,{value:"0",children:"无"}),e.jsx(A,{value:"1",children:"TLS"}),e.jsx(A,{value:"2",children:"Reality"})]})]})})]})}),l.watch("tls")=="1"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:l.control,name:"tls_settings.server_name",render:({field:x})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"服务器名称指示(SNI)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"不使用请留空",...x})})]})}),e.jsx(h,{control:l.control,name:"tls_settings.allow_insecure",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(v,{children:e.jsx(O,{checked:x.value,onCheckedChange:x.onChange})})})]})})]}),l.watch("tls")==2&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:l.control,name:"reality_settings.server_name",render:({field:x})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"伪装站点(dest)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"例如:example.com",...x})})]})}),e.jsx(h,{control:l.control,name:"reality_settings.server_port",render:({field:x})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(g,{children:"端口(port)"}),e.jsx(v,{children:e.jsx(C,{placeholder:"例如:443",...x})})]})}),e.jsx(h,{control:l.control,name:"reality_settings.allow_insecure",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(v,{children:e.jsx(O,{checked:x.value,onCheckedChange:x.onChange})})})]})})]}),e.jsxs("div",{className:"flex items-end gap-2",children:[e.jsx(h,{control:l.control,name:"reality_settings.private_key",render:({field:x})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(g,{children:"私钥(Private key)"}),e.jsx(v,{children:e.jsx(C,{...x})})]})}),e.jsxs(H,{variant:"outline",className:"",onClick:()=>{try{const x=nm();l.setValue("reality_settings.private_key",x.privateKey),l.setValue("reality_settings.public_key",x.publicKey),V.success("密钥对生成成功")}catch{V.error("生成密钥对失败")}},children:[e.jsx(ve,{icon:"ion:key-outline",className:"mr-2 h-4 w-4"}),"生成密钥对"]})]}),e.jsx(h,{control:l.control,name:"reality_settings.public_key",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"公钥(Public key)"}),e.jsx(v,{children:e.jsx(C,{...x})})]})}),e.jsx(h,{control:l.control,name:"reality_settings.short_id",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"Short ID"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(v,{children:e.jsx(C,{...x,placeholder:"可留空,长度为2的倍数,最长16位"})}),e.jsxs(H,{variant:"outline",onClick:()=>{const y=lm();l.setValue("reality_settings.short_id",y),V.success("Short ID 生成成功")},children:[e.jsx(ve,{icon:"ion:refresh-outline",className:"mr-2 h-4 w-4"}),"生成"]})]}),e.jsx(P,{className:"text-xs text-muted-foreground",children:"客户端可用的 shortId 列表,可用于区分不同的客户端,使用0-f的十六进制字符"})]})})]}),e.jsx(h,{control:l.control,name:"network",render:({field:x})=>e.jsxs(u,{children:[e.jsxs(g,{children:["传输协议",e.jsx(Vt,{value:l.watch("network_settings"),setValue:y=>l.setValue("network_settings",y),templateType:l.watch("network")})]}),e.jsx(v,{children:e.jsxs(B,{onValueChange:x.onChange,value:x.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择传输协议"})}),e.jsx(G,{children:e.jsx(os,{children:cs.vless.networkOptions.map(y=>e.jsx(A,{value:y.value,className:"cursor-pointer",children:y.label},y.value))})})]})})]})}),e.jsx(h,{control:l.control,name:"flow",render:({field:x})=>e.jsxs(u,{children:[e.jsx(g,{children:"流控"}),e.jsx(v,{children:e.jsxs(B,{onValueChange:y=>x.onChange(y==="none"?null:y),value:x.value||"none",children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择流控"})}),e.jsx(G,{children:cs.vless.flowOptions.map(y=>e.jsx(A,{value:y,children:y},y))})]})})]})})]})}[s]?.()},um=o.object({id:o.number().optional().nullable(),code:o.string().optional(),name:o.string().min(1,"Please enter a valid name."),rate:o.string().min(1,"Please enter a valid rate."),tags:o.array(o.string()).default([]),excludes:o.array(o.string()).default([]),ips:o.array(o.string()).default([]),group_ids:o.array(o.string()).default([]),host:o.string().min(1,"Please enter a valid host."),port:o.string().min(1,"Please enter a valid port."),server_port:o.string().min(1,"Please enter a valid server port."),parent_id:o.string().default("0").nullable(),route_ids:o.array(o.string()).default([]),protocol_settings:o.record(o.any()).default({}).nullable()}),lt={id:null,code:"",name:"",rate:"1",tags:[],excludes:[],ips:[],group_ids:[],host:"",port:"",server_port:"",parent_id:"0",route_ids:[],protocol_settings:{}};function Sr(){const{isOpen:s,setIsOpen:t,editingServer:a,setEditingServer:n,serverType:r,setServerType:l,refetch:c}=Cr(),[d,m]=i.useState([]),[w,j]=i.useState([]),[b,x]=i.useState([]),y=Z({resolver:ee(um),defaultValues:lt,mode:"onChange"});i.useEffect(()=>{D()},[s]),i.useEffect(()=>{a?.type&&a.type!==r&&l(a.type)},[a,r,l]),i.useEffect(()=>{a?a.type===r&&y.reset({...lt,...a}):y.reset(lt)},[a,y,r]);const D=async()=>{if(!s)return;const[N,R,W]=await Promise.all([St(),tr(),sr()]);m(N.data?.map(L=>({label:L.name,value:L.id.toString()}))||[]),j(R.data?.map(L=>({label:L.remarks,value:L.id.toString()}))||[]),x(W.data||[])},T=i.useMemo(()=>b?.filter(N=>(N.parent_id===0||N.parent_id===null)&&N.type===r&&N.id!==y.watch("id")),[r,b,y]),p=()=>e.jsxs(vs,{children:[e.jsx(bs,{asChild:!0,children:e.jsxs(k,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"添加节点"})]})}),e.jsx(ms,{align:"start",children:e.jsx(Go,{children:ps.map(({type:N,label:R})=>e.jsx(oe,{onClick:()=>{l(N),t(!0)},className:"cursor-pointer",children:e.jsx(E,{variant:"outline",className:"text-white",style:{background:Je[N]},children:R})},N))})})]}),_=()=>{t(!1),n(null),y.reset(lt)},z=async()=>{const N=y.getValues();(await gc({...N,type:r})).data&&(_(),V.success("提交成功"),c())};return e.jsxs(ue,{open:s,onOpenChange:_,children:[p(),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:a?"编辑节点":"新建节点"}),e.jsx(ze,{})]}),e.jsxs(se,{...y,children:[e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{control:y.control,name:"name",render:({field:N})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"节点名称"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入节点名称",...N})}),e.jsx(S,{})]})}),e.jsx(h,{control:y.control,name:"rate",render:({field:N})=>e.jsxs(u,{className:"flex-[1]",children:[e.jsx(g,{children:"倍率"}),e.jsx("div",{className:"relative flex",children:e.jsx(v,{children:e.jsx(C,{type:"number",min:"0",step:"0.1",...N})})}),e.jsx(S,{})]})})]}),e.jsx(h,{control:y.control,name:"code",render:({field:N})=>e.jsxs(u,{children:[e.jsxs(g,{children:["自定义节点ID",e.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:"(选填)"})]}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入自定义节点ID",...N,value:N.value||""})}),e.jsx(S,{})]})}),e.jsx(h,{control:y.control,name:"tags",render:({field:N})=>e.jsxs(u,{children:[e.jsx(g,{children:"节点标签"}),e.jsx(v,{children:e.jsx(aa,{value:N.value,onChange:N.onChange,placeholder:"输入后回车添加标签",className:"w-full"})}),e.jsx(S,{})]})}),e.jsx(h,{control:y.control,name:"group_ids",render:({field:N})=>e.jsxs(u,{children:[e.jsxs(g,{className:"flex items-center justify-between",children:["权限组",e.jsx(Tt,{dialogTrigger:e.jsx(k,{variant:"link",children:"添加权限组"}),refetch:D})]}),e.jsx(v,{children:e.jsx(Qs,{options:d,onChange:R=>N.onChange(R.map(W=>W.value)),value:d?.filter(R=>N.value.includes(R.value)),placeholder:"请选择权限组",emptyIndicator:e.jsx("p",{className:"text-center text-lg leading-10 text-gray-600 dark:text-gray-400",children:"no results found."})})}),e.jsx(S,{})]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(h,{control:y.control,name:"host",render:({field:N})=>e.jsxs(u,{children:[e.jsx(g,{children:"节点地址"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入节点域名或者IP",...N})}),e.jsx(S,{})]})}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(h,{control:y.control,name:"port",render:({field:N})=>e.jsxs(u,{className:"flex-1",children:[e.jsxs(g,{className:"flex items-center gap-1.5",children:["连接端口",e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(ve,{icon:"ph:info-light",className:"size-3.5 cursor-help text-muted-foreground"})}),e.jsx(te,{side:"top",className:"max-w-80 p-3",children:e.jsx("p",{children:"用户实际连接使用的端口,这是客户端配置中需要填写的端口号。如果使用了中转或隧道,这个端口可能与服务器实际监听的端口不同。"})})]})})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(v,{children:e.jsx(C,{placeholder:"用户连接端口",...N})}),e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(k,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0 text-muted-foreground/50 hover:text-muted-foreground",onClick:()=>{const R=N.value;R&&y.setValue("server_port",R)},children:e.jsx(ve,{icon:"tabler:arrows-right",className:"size-3"})})}),e.jsx(te,{side:"right",children:e.jsx("p",{children:"同步到服务端口"})})]})})]}),e.jsx(S,{})]})}),e.jsx(h,{control:y.control,name:"server_port",render:({field:N})=>e.jsxs(u,{className:"flex-1",children:[e.jsxs(g,{className:"flex items-center gap-1.5",children:["服务端口",e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(ve,{icon:"ph:info-light",className:"size-3.5 cursor-help text-muted-foreground"})}),e.jsx(te,{side:"top",className:"max-w-80 p-3",children:e.jsx("p",{children:"服务器实际监听的端口,这是在服务器上开放的真实端口。如果使用了中转或隧道,这个端口可能与用户连接端口不同。"})})]})})]}),e.jsx(v,{children:e.jsx(C,{placeholder:"服务端开放端口",...N})}),e.jsx(S,{})]})})]})]}),!!y.watch("protocol_settings")&&e.jsx(mm,{serverType:r,value:y.watch("protocol_settings"),onChange:N=>y.setValue("protocol_settings",N,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!0})}),e.jsx(h,{control:y.control,name:"parent_id",render:({field:N})=>e.jsxs(u,{children:[e.jsx(g,{children:"父节点"}),e.jsxs(B,{onValueChange:N.onChange,value:N.value?.toString()||"0",children:[e.jsx(v,{children:e.jsx(U,{children:e.jsx(Y,{placeholder:"选择父节点"})})}),e.jsxs(G,{children:[e.jsx(A,{value:"0",children:"无"}),T?.map(R=>e.jsx(A,{value:R.id.toString(),className:"cursor-pointer",children:R.name},R.id))]})]}),e.jsx(S,{})]})}),e.jsx(h,{control:y.control,name:"route_ids",render:({field:N})=>e.jsxs(u,{children:[e.jsx(g,{children:"路由组"}),e.jsx(v,{children:e.jsx(Qs,{options:w,onChange:R=>N.onChange(R.map(W=>W.value)),value:w?.filter(R=>N.value.includes(R.value)),placeholder:"选择路由组",emptyIndicator:e.jsx("p",{className:"text-center text-lg leading-10 text-gray-600 dark:text-gray-400",children:"no results found."})})}),e.jsx(S,{})]})})]}),e.jsxs(Fe,{className:"mt-6",children:[e.jsx(k,{type:"button",variant:"outline",onClick:_,children:"取消"}),e.jsx(k,{type:"submit",onClick:z,children:"提交"})]})]})]})]})}function Ta({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsxs(k,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(Ms,{className:"mr-2 h-4 w-4"}),t,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(l=>r.has(l.value)).map(l=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:l.label},l.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(ts,{children:[e.jsx(hs,{placeholder:t}),e.jsxs(as,{children:[e.jsx(js,{children:"No results found."}),e.jsx(be,{children:a.map(l=>{const c=r.has(l.value);return e.jsxs(me,{onSelect:()=>{c?r.delete(l.value):r.add(l.value);const d=Array.from(r);s?.setFilterValue(d.length?d:void 0)},className:"cursor-pointer",children:[e.jsx("div",{className:f("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",c?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(us,{className:f("h-4 w-4")})}),l.icon&&e.jsx(l.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${l.color}`}),e.jsx("span",{children:l.label}),n?.get(l.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(l.value)})]},l.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(_s,{}),e.jsx(be,{children:e.jsx(me,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center cursor-pointer",children:"Clear filters"})})]})]})]})})]})}const hm=[{value:je.Shadowsocks,label:ps.find(s=>s.type===je.Shadowsocks)?.label,color:Je[je.Shadowsocks]},{value:je.Vmess,label:ps.find(s=>s.type===je.Vmess)?.label,color:Je[je.Vmess]},{value:je.Trojan,label:ps.find(s=>s.type===je.Trojan)?.label,color:Je[je.Trojan]},{value:je.Hysteria,label:ps.find(s=>s.type===je.Hysteria)?.label,color:Je[je.Hysteria]},{value:je.Vless,label:ps.find(s=>s.type===je.Vless)?.label,color:Je[je.Vless]}];function jm({table:s,refetch:t,saveOrder:a,isSortMode:n,groups:r}){const l=s.getState().columnFilters.length>0,c=r.map(d=>({label:d,value:d}));return e.jsxs("div",{className:"flex items-center justify-between ",children:[e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[!n&&e.jsxs(e.Fragment,{children:[e.jsx(Sr,{refetch:t}),e.jsx(C,{placeholder:"搜索节点...",value:s.getColumn("name")?.getFilterValue()??"",onChange:d=>s.getColumn("name")?.setFilterValue(d.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),e.jsxs("div",{className:"flex gap-x-2",children:[s.getColumn("type")&&e.jsx(Ta,{column:s.getColumn("type"),title:"类型",options:hm}),s.getColumn("groups")&&e.jsx(Ta,{column:s.getColumn("groups"),title:"权限组",options:c})]}),l&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]}),n&&e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽节点进行排序,完成后点击保存"})})]}),e.jsx("div",{children:e.jsx(k,{size:"sm",variant:n?"default":"outline",className:"ml-auto hidden h-8 lg:flex",onClick:a,children:n?"保存排序":"编辑排序"})})]})}const Zs=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M15.71 12.71a6 6 0 1 0-7.42 0a10 10 0 0 0-6.22 8.18a1 1 0 0 0 2 .22a8 8 0 0 1 15.9 0a1 1 0 0 0 1 .89h.11a1 1 0 0 0 .88-1.1a10 10 0 0 0-6.25-8.19M12 12a4 4 0 1 1 4-4a4 4 0 0 1-4 4"})}),it={0:"bg-destructive/80 shadow-sm shadow-destructive/50",1:"bg-yellow-500/80 shadow-sm shadow-yellow-500/50",2:"bg-emerald-500/80 shadow-sm shadow-emerald-500/50"},ot={0:"未运行",1:"异常",2:"正常"},gm=s=>[{id:"drag-handle",header:({column:t})=>e.jsx(F,{column:t,title:"排序"}),cell:()=>e.jsx("div",{className:"flex items-center justify-center",children:e.jsx(Nt,{className:"size-4 cursor-move text-muted-foreground transition-colors hover:text-primary","aria-hidden":"true"})}),size:50},{accessorKey:"id",header:({column:t})=>e.jsx(F,{column:t,title:"节点ID"}),cell:({row:t})=>{const a=t.getValue("id"),n=t.original.code;return e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsxs("div",{className:"group/id flex items-center space-x-2",children:[e.jsxs(E,{variant:"outline",className:f("border-2 font-medium transition-all duration-200 hover:opacity-80","flex items-center gap-1.5"),style:{borderColor:Je[t.original.type]},children:[e.jsx(Tn,{className:"size-3"}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"flex items-center gap-0.5",children:n??a}),t.original.parent_id?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-sm text-muted-foreground/30",children:"→"}),e.jsx("span",{children:t.original.parent_id})]}):""]})]}),e.jsx(k,{variant:"ghost",size:"icon",className:"size-5 text-muted-foreground/40 opacity-0 transition-all duration-200 hover:text-muted-foreground group-hover/id:opacity-100",onClick:r=>{r.stopPropagation(),At(n||a.toString()),V.success(n?"已复制节点代码":"已复制节点ID")},children:e.jsx(ga,{className:"size-3"})})]})}),e.jsxs(te,{side:"top",className:"flex flex-col gap-1 p-3",children:[e.jsxs("p",{className:"font-medium",children:[ps.find(r=>r.type===t.original.type)?.label,t.original.parent_id?" (子节点)":""]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:n?"点击括号内容或复制按钮可复制节点代码":"点击复制按钮可复制节点ID"})]})]})})},size:200,enableSorting:!0},{accessorKey:"show",header:({column:t})=>e.jsx(F,{column:t,title:"显隐"}),cell:({row:t})=>{const[a,n]=i.useState(!!t.getValue("show"));return e.jsx(O,{checked:a,onCheckedChange:async r=>{n(r),vc({id:t.original.id,type:t.original.type,show:r?1:0}).catch(()=>{n(!r),s()})},style:{backgroundColor:a?Je[t.original.type]:void 0}})},size:50,enableSorting:!1},{accessorKey:"name",header:({column:t})=>e.jsx("div",{className:"flex items-center",children:e.jsx(F,{column:t,title:"节点",tooltip:e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-2",children:[e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:f("h-2.5 w-2.5 rounded-full",it[0])}),e.jsx("span",{className:"text-sm font-medium",children:ot[0]})]}),e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:f("h-2.5 w-2.5 rounded-full",it[1])}),e.jsx("span",{className:"text-sm font-medium",children:ot[1]})]}),e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:f("h-2.5 w-2.5 rounded-full",it[2])}),e.jsx("span",{className:"text-sm font-medium",children:ot[2]})]})]})})}),cell:({row:t})=>e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{children:e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:f("size-2.5 flex-shrink-0 rounded-full transition-all duration-200",it[t.original.available_status])}),e.jsx("span",{className:"text-left font-medium transition-colors hover:text-primary",children:t.getValue("name")})]})}),e.jsx(te,{children:e.jsx("p",{className:"font-medium",children:ot[t.original.available_status]})})]})}),enableSorting:!1,size:200},{accessorKey:"host",header:({column:t})=>e.jsx(F,{column:t,title:"地址"}),cell:({row:t})=>{const a=`${t.original.host}:${t.original.port}`,n=t.original.port!==t.original.server_port;return e.jsxs("div",{className:"group relative flex min-w-0 items-start",children:[e.jsxs("div",{className:"flex min-w-0 flex-wrap items-baseline gap-x-1 gap-y-0.5 pr-7",children:[e.jsx("div",{className:"flex items-center ",children:e.jsxs("span",{className:"font-mono text-sm font-medium text-foreground/90",children:[t.original.host,":",t.original.port]})}),n&&e.jsxs("span",{className:"whitespace-nowrap text-[0.7rem] tracking-tight text-muted-foreground/40",children:["(内部端口 ",t.original.server_port,")"]})]}),e.jsx("div",{className:"absolute right-0 top-0",children:e.jsx(ce,{delayDuration:0,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(k,{variant:"ghost",size:"icon",className:"size-6 text-muted-foreground/40 opacity-0 transition-all duration-200 hover:bg-muted/50 hover:text-muted-foreground group-hover:opacity-100",onClick:r=>{r.stopPropagation(),At(a)},children:e.jsx(ga,{className:"size-3"})})}),e.jsx(te,{side:"top",sideOffset:10,children:"复制连接地址"})]})})})]})},enableSorting:!1,enableHiding:!0},{accessorKey:"online",header:({column:t})=>e.jsx(F,{column:t,title:"在线人数",tooltip:"在线人数根据服务端上报频率而定"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(Zs,{className:"size-4"}),e.jsx("span",{className:"font-medium",children:t.getValue("online")})]}),size:80,enableSorting:!0,enableHiding:!0},{accessorKey:"rate",header:({column:t})=>e.jsx(F,{column:t,title:"倍率",tooltip:"流量扣费倍率"}),cell:({row:t})=>e.jsxs(E,{variant:"secondary",className:"font-medium",children:[t.getValue("rate")," x"]}),size:80,enableSorting:!1,enableHiding:!0},{accessorKey:"groups",header:({column:t})=>e.jsx(F,{column:t,title:"权限组",tooltip:"可订阅到该节点的权限组"}),cell:({row:t})=>{const a=t.getValue("groups")||[];return e.jsx("div",{className:"flex min-w-[300px] max-w-[600px] flex-wrap items-center gap-1.5",children:a.length>0?a.map((n,r)=>e.jsx(E,{variant:"secondary",className:f("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5"),children:n.name},r)):e.jsx("span",{className:"text-sm text-muted-foreground",children:"--"})})},enableSorting:!1,size:600,filterFn:(t,a,n)=>{const r=t.getValue(a);return r?n.some(l=>r.includes(l)):!1}},{accessorKey:"type",header:({column:t})=>e.jsx(F,{column:t,title:"类型"}),cell:({row:t})=>{const a=t.getValue("type");return e.jsx(E,{variant:"outline",className:"border-2 font-medium transition-colors",style:{borderColor:Je[a]},children:a})},enableSorting:!1,enableHiding:!0,enableColumnFilter:!1,size:8e3},{id:"actions",header:({column:t})=>e.jsx(F,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>{const{setIsOpen:a,setEditingServer:n,setServerType:r}=Cr();return e.jsx("div",{className:"flex justify-center",children:e.jsxs(vs,{modal:!1,children:[e.jsx(bs,{asChild:!0,children:e.jsx(k,{variant:"ghost",className:"h-8 w-8 p-0 hover:bg-muted","aria-label":"打开操作菜单",children:e.jsx(ut,{className:"size-4"})})}),e.jsxs(ms,{align:"end",className:"w-40",children:[e.jsx(oe,{className:"cursor-pointer",onClick:()=>{r(t.original.type),n(t.original),a(!0)},children:e.jsxs("div",{className:"flex w-full items-center",children:[e.jsx(Zi,{className:"mr-2 size-4"}),"编辑"]})}),e.jsxs(oe,{className:"cursor-pointer",onClick:async()=>{pc({id:t.original.id}).then(({data:l})=>{l&&(V.success("复制成功"),s())})},children:[e.jsx(Xi,{className:"mr-2 size-4"}),"复制"]}),e.jsx(Ws,{}),e.jsx(oe,{className:"cursor-pointer text-destructive focus:text-destructive",onSelect:l=>l.preventDefault(),children:e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该节点,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{fc({id:t.original.id}).then(({data:l})=>{l&&(V.success("删除成功"),s())})},children:e.jsxs("div",{className:"flex w-full items-center",children:[e.jsx(Xe,{className:"mr-2 size-4"}),"删除"]})})})]})]})})},size:50}];function fm(){const[s,t]=i.useState({}),[a,n]=i.useState({"drag-handle":!1}),[r,l]=i.useState([]),[c,d]=i.useState({pageSize:50,pageIndex:0}),[m,w]=i.useState([]),[j,b]=i.useState(!1),[x,y]=i.useState({}),[D,T]=i.useState([]),{refetch:p}=K({queryKey:["nodeList"],queryFn:async()=>{const{data:L}=await sr();return T(L),L}}),_=i.useMemo(()=>{const L=new Set;return D.forEach(ae=>{ae.groups&&ae.groups.forEach(Ge=>L.add(Ge.name))}),Array.from(L).sort()},[D]);i.useEffect(()=>{n({"drag-handle":j,show:!j,host:!j,online:!j,rate:!j,groups:!j,type:!1,actions:!j}),y({name:j?2e3:200}),d({pageSize:j?99999:50,pageIndex:0})},[j]);const z=(L,ae)=>{j&&(L.dataTransfer.setData("text/plain",ae.toString()),L.currentTarget.classList.add("opacity-50"))},N=(L,ae)=>{if(!j)return;L.preventDefault(),L.currentTarget.classList.remove("bg-muted");const Ge=parseInt(L.dataTransfer.getData("text/plain"));if(Ge===ae)return;const Cs=[...D],[Es]=Cs.splice(Ge,1);Cs.splice(ae,0,Es),T(Cs)},R=async()=>{if(!j){b(!0);return}try{const L=D?.map((ae,Ge)=>({id:ae.id,order:Ge+1}));await bc(L),V.success("排序保存成功"),b(!1),p()}catch{V.error("排序保存失败"),b(!1)}},W=Re({data:D||[],columns:gm(p),state:{sorting:m,columnVisibility:a,rowSelection:s,columnFilters:r,columnSizing:x,pagination:c},enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:w,onColumnFiltersChange:l,onColumnVisibilityChange:n,onColumnSizingChange:y,onPaginationChange:d,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(em,{refetch:p,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(qe,{table:W,toolbar:L=>e.jsx(jm,{table:L,refetch:p,saveOrder:R,isSortMode:j,groups:_}),draggable:j,onDragStart:z,onDragEnd:L=>L.currentTarget.classList.remove("opacity-50"),onDragOver:L=>{L.preventDefault(),L.currentTarget.classList.add("bg-muted")},onDragLeave:L=>L.currentTarget.classList.remove("bg-muted"),onDrop:N,showPagination:!j}),e.jsx(Sr,{})]})})}function pm(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"节点管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"管理所有节点,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(fm,{})})]})]})}const vm=Object.freeze(Object.defineProperty({__proto__:null,default:pm},Symbol.toStringTag,{value:"Module"}));function bm({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsx("div",{className:"flex items-center justify-between space-x-4",children:e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsx(Tt,{refetch:t}),e.jsx(C,{placeholder:"搜索权限组...",value:s.getColumn("name")?.getFilterValue()??"",onChange:n=>s.getColumn("name")?.setFilterValue(n.target.value),className:f("h-8 w-[150px] lg:w-[250px]",a&&"border-primary/50 ring-primary/20")}),a&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})})}const ym=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(F,{column:t,title:"组ID"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(E,{variant:"outline",children:t.getValue("id")})}),enableSorting:!0},{accessorKey:"name",header:({column:t})=>e.jsx(F,{column:t,title:"组名称"}),cell:({row:t})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium",children:t.getValue("name")})})},{accessorKey:"users_count",header:({column:t})=>e.jsx(F,{column:t,title:"用户数量"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(Zs,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:t.getValue("users_count")})]}),enableSorting:!0},{accessorKey:"server_count",header:({column:t})=>e.jsx(F,{column:t,title:"节点数量"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(Tn,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:t.getValue("server_count")})]}),enableSorting:!0,size:8e3},{id:"actions",header:({column:t})=>e.jsx(F,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx(Tt,{defaultValues:t.original,refetch:s,type:"edit",dialogTrigger:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(ws,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]})}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该权限组,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{Nc({id:t.original.id}).then(({data:a})=>{a&&(V.success("删除成功"),s())})},children:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(Xe,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}];function Nm(){const[s,t]=i.useState({}),[a,n]=i.useState({}),[r,l]=i.useState([]),[c,d]=i.useState([]),{data:m,refetch:w,isLoading:j}=K({queryKey:["serverGroupList"],queryFn:async()=>{const{data:x}=await St();return x}}),b=Re({data:m||[],columns:ym(w),state:{sorting:c,columnVisibility:a,rowSelection:s,columnFilters:r},enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:b,toolbar:x=>e.jsx(bm,{table:x,refetch:w}),isLoading:j})}function wm(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"权限组管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"管理所有权限组,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Nm,{})})]})]})}const _m=Object.freeze(Object.defineProperty({__proto__:null,default:wm},Symbol.toStringTag,{value:"Module"})),Cm=o.object({remarks:o.string().min(1,"Please enter a valid remarks."),match:o.array(o.string()),action:o.enum(["block","dns"]),action_value:o.string().optional()});function kr({refetch:s,dialogTrigger:t,defaultValues:a={remarks:"",match:[],action:"block",action_value:""},type:n="add"}){const r=Z({resolver:ee(Cm),defaultValues:a,mode:"onChange"}),[l,c]=i.useState(!1);return e.jsxs(ue,{open:l,onOpenChange:c,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(k,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"})," ",e.jsx("div",{children:"添加路由"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:n==="edit"?"编辑路由":"创建路由"}),e.jsx(ze,{})]}),e.jsxs(se,{...r,children:[e.jsx(h,{control:r.control,name:"remarks",render:({field:d})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"备注"}),e.jsx("div",{className:"relative",children:e.jsx(v,{children:e.jsx(C,{type:"text",placeholder:"请输入备注",...d})})}),e.jsx(S,{})]})}),e.jsx(h,{control:r.control,name:"match",render:({field:d})=>e.jsxs(u,{className:"flex-[2]",children:[e.jsx(g,{children:"备注"}),e.jsx("div",{className:"relative",children:e.jsx(v,{children:e.jsx(gs,{className:"min-h-[120px]",placeholder:`example.com +import{r as i,j as e,t as tl,c as al,I as oa,a as Ns,S as Ut,u as Xe,b as gt,d as nl,O as Gt,e as rl,f as R,g as ll,h as il,i as ol,Q as cl,k as dl,R as ul,l as xl,P as ml,m as hl,B as jl,n as Fa,F as gl,C as pl,o as fl,p as vl,q as bl,s as yl,v as Nl,z as c,w as Va,x as Z,y as ee,A as Ra,D as pt,E as ft,G as Bt,H as Le,T as vt,J as bt,K as Ma,L as za,M as wl,N as _l,U as Cl,V as Sl,W as Ea,X as Yt,Y as Oa,Z as kl,_ as La,$ as $a,a0 as Aa,a1 as Ha,a2 as hs,a3 as Ka,a4 as Tl,a5 as qa,a6 as Ua,a7 as Dl,a8 as Pl,a9 as Il,aa as Fl,ab as Ga,ac as Vl,ad as Rl,ae as ws,af as Ba,ag as Ml,ah as zl,ai as Ya,aj as El,ak as Ol,al as ca,am as Ll,an as Wa,ao as $l,ap as Ja,aq as Al,ar as Hl,as as Kl,at as ql,au as Ul,av as Gl,aw as Qa,ax as Bl,ay as Yl,az as Wl,aA as ye,aB as Jl,aC as Ql,aD as Zl,aE as Xl,aF as Za,aG as Xa,aH as en,aI as ei,aJ as sn,aK as tn,aL as an,aM as si,aN as ti,aO as ai,aP as nn,aQ as ni,aR as Ze,aS as rn,aT as ri,aU as ln,aV as li,aW as on,aX as ii,aY as cn,aZ as dn,a_ as oi,a$ as ci,b0 as un,b1 as di,b2 as K,b3 as us,b4 as ui,b5 as xi,b6 as mi,b7 as hi,b8 as ji,b9 as gi,ba as da,bb as ua,bc as Be,bd as pi,be as fi,bf as vi,bg as bi,bh as yi,bi as Ni,bj as xn,bk as wi,bl as _i,bm as mn,bn as Ci,bo as hn,bp as Si,bq as ki,br as jn,bs as Ti,bt as Di,bu as gn,bv as Pi,bw as tt,bx as Ii,by as xa,bz as Mt,bA as zt,bB as Fi,bC as Vi,bD as yt,bE as pn,bF as Ri,bG as Wt,bH as Mi,bI as zi,bJ as Ei,bK as Oi,bL as Li,bM as fn,bN as $i,bO as Ai,bP as Hi,bQ as Ki,bR as vn,bS as qi,bT as Et,bU as Ui,bV as Gi,bW as xt,bX as ve,bY as ma,bZ as Bi,b_ as bn,b$ as yn,c0 as Nn,c1 as wn,c2 as _n,c3 as Cn,c4 as Yi,c5 as Wi,c6 as Ji,c7 as Nt,c8 as _s,c9 as es,ca as Re,cb as Me,cc as $e,cd as Ae,ce as He,cf as ha,cg as Ot,ch as ss,ci as ts,cj as Sn,ck as kn,cl as zs,cm as Qi,cn as Zi,co as ja,cp as Tn,cq as ga,cr as mt,cs as Xi,ct as eo,cu as Dn,cv as so,cw as to,cx as Pn,cy as Lt,cz as In,cA as ao,cB as Fn,cC as no,cD as ro,cE as lo,cF as io,cG as oo}from"./vendor.js";import"./index.js";var Wm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Jm(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function co(s){if(s.__esModule)return s;var t=s.default;if(typeof t=="function"){var a=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};a.prototype=t.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(s).forEach(function(n){var r=Object.getOwnPropertyDescriptor(s,n);Object.defineProperty(a,n,r.get?r:{enumerable:!0,get:function(){return s[n]}})}),a}const uo={theme:"system",setTheme:()=>null},Vn=i.createContext(uo);function xo({children:s,defaultTheme:t="system",storageKey:a="vite-ui-theme",...n}){const[r,l]=i.useState(()=>localStorage.getItem(a)||t);i.useEffect(()=>{const d=window.document.documentElement;if(d.classList.remove("light","dark"),r==="system"){const x=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";d.classList.add(x);return}d.classList.add(r)},[r]);const o={theme:r,setTheme:d=>{localStorage.setItem(a,d),l(d)}};return e.jsx(Vn.Provider,{...n,value:o,children:s})}const mo=()=>{const s=i.useContext(Vn);if(s===void 0)throw new Error("useTheme must be used within a ThemeProvider");return s},ho=function(){const t=typeof document<"u"&&document.createElement("link").relList;return t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"}(),jo=function(s,t){return new URL(s,t).href},pa={},Q=function(t,a,n){let r=Promise.resolve();if(a&&a.length>0){const o=document.getElementsByTagName("link"),d=document.querySelector("meta[property=csp-nonce]"),x=d?.nonce||d?.getAttribute("nonce");r=Promise.allSettled(a.map(w=>{if(w=jo(w,n),w in pa)return;pa[w]=!0;const m=w.endsWith(".css"),v=m?'[rel="stylesheet"]':"";if(!!n)for(let D=o.length-1;D>=0;D--){const T=o[D];if(T.href===w&&(!m||T.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${w}"]${v}`))return;const y=document.createElement("link");if(y.rel=m?"stylesheet":ho,m||(y.as="script"),y.crossOrigin="",y.href=w,x&&y.setAttribute("nonce",x),document.head.appendChild(y),m)return new Promise((D,T)=>{y.addEventListener("load",D),y.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${w}`)))})}))}function l(o){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=o,window.dispatchEvent(d),!d.defaultPrevented)throw o}return r.then(o=>{for(const d of o||[])d.status==="rejected"&&l(d.reason);return t().catch(l)})};function g(...s){return tl(al(s))}const Fe=Ns("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),C=i.forwardRef(({className:s,variant:t,size:a,asChild:n=!1,children:r,disabled:l,loading:o=!1,leftSection:d,rightSection:x,...w},m)=>{const v=n?Ut:"button";return e.jsxs(v,{className:g(Fe({variant:t,size:a,className:s})),disabled:o||l,ref:m,...w,children:[(d&&o||!d&&!x&&o)&&e.jsx(oa,{className:"mr-2 h-4 w-4 animate-spin"}),!o&&d&&e.jsx("div",{className:"mr-2",children:d}),r,!o&&x&&e.jsx("div",{className:"ml-2",children:x}),x&&o&&e.jsx(oa,{className:"ml-2 h-4 w-4 animate-spin"})]})});C.displayName="Button";function ks({className:s,minimal:t=!1}){const a=Xe();return e.jsx("div",{className:g("h-svh w-full",s),children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[!t&&e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"500"}),e.jsxs("span",{className:"font-medium",children:["Oops! Something went wrong ",":')"]}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["We apologize for the inconvenience. ",e.jsx("br",{})," Please try again later."]}),!t&&e.jsxs("div",{className:"mt-6 flex gap-4",children:[e.jsx(C,{variant:"outline",onClick:()=>a(-1),children:"Go Back"}),e.jsx(C,{onClick:()=>a("/"),children:"Back to Home"})]})]})})}function fa(){const s=Xe();return e.jsx("div",{className:"h-svh",children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"404"}),e.jsx("span",{className:"font-medium",children:"Oops! Page Not Found!"}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["It seems like the page you're looking for ",e.jsx("br",{}),"does not exist or might have been removed."]}),e.jsxs("div",{className:"mt-6 flex gap-4",children:[e.jsx(C,{variant:"outline",onClick:()=>s(-1),children:"Go Back"}),e.jsx(C,{onClick:()=>s("/"),children:"Back to Home"})]})]})})}function go(){return e.jsx("div",{className:"h-svh",children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"503"}),e.jsx("span",{className:"font-medium",children:"Website is under maintenance!"}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["The site is not available at the moment. ",e.jsx("br",{}),"We'll be back online shortly."]}),e.jsx("div",{className:"mt-6 flex gap-4",children:e.jsx(C,{variant:"outline",children:"Learn more"})})]})})}function po(s){return typeof s>"u"}function fo(s){return s===null}function vo(s){return fo(s)||po(s)}class bo{storage;prefixKey;constructor(t){this.storage=t.storage,this.prefixKey=t.prefixKey}getKey(t){return`${this.prefixKey}${t}`.toUpperCase()}set(t,a,n=null){const r=JSON.stringify({value:a,time:Date.now(),expire:n!==null?new Date().getTime()+n*1e3:null});this.storage.setItem(this.getKey(t),r)}get(t,a=null){const n=this.storage.getItem(this.getKey(t));if(!n)return{value:a,time:0};try{const r=JSON.parse(n),{value:l,time:o,expire:d}=r;return vo(d)||d>new Date().getTime()?{value:l,time:o}:(this.remove(t),{value:a,time:0})}catch{return this.remove(t),{value:a,time:0}}}remove(t){this.storage.removeItem(this.getKey(t))}clear(){this.storage.clear()}}function Rn({prefixKey:s="",storage:t=sessionStorage}){return new bo({prefixKey:s,storage:t})}const Mn="Xboard_",yo=function(s={}){return Rn({prefixKey:s.prefixKey||"",storage:localStorage})},No=function(s={}){return Rn({prefixKey:s.prefixKey||"",storage:sessionStorage})},wt=yo({prefixKey:Mn});No({prefixKey:Mn});const zn="access_token";function Ys(){return wt.get(zn)}function En(){wt.remove(zn)}const va=["/sign-in","/sign-in-2","/sign-up","/forgot-password","/otp"];function wo({children:s}){const t=Xe(),a=gt(),n=Ys();return i.useEffect(()=>{if(!n.value&&!va.includes(a.pathname)){const r=encodeURIComponent(a.pathname+a.search);t(`/sign-in?redirect=${r}`)}},[n.value,a.pathname,a.search,t]),va.includes(a.pathname)||n.value?e.jsx(e.Fragment,{children:s}):null}const _o=()=>e.jsx(wo,{children:e.jsx(Gt,{})}),Co=nl([{path:"/sign-in",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Go);return{default:s}},void 0,import.meta.url)).default})},{element:e.jsx(_o,{}),children:[{path:"/",lazy:async()=>({Component:(await Q(()=>Promise.resolve().then(()=>lc),void 0,import.meta.url)).default}),errorElement:e.jsx(ks,{}),children:[{index:!0,lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Td);return{default:s}},void 0,import.meta.url)).default})},{path:"config",errorElement:e.jsx(ks,{}),children:[{path:"system",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Id);return{default:s}},void 0,import.meta.url)).default}),children:[{index:!0,lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Ed);return{default:s}},void 0,import.meta.url)).default})},{path:"safe",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Hd);return{default:s}},void 0,import.meta.url)).default})},{path:"subscribe",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Gd);return{default:s}},void 0,import.meta.url)).default})},{path:"invite",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Qd);return{default:s}},void 0,import.meta.url)).default})},{path:"frontend",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>tu);return{default:s}},void 0,import.meta.url)).default})},{path:"server",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>iu);return{default:s}},void 0,import.meta.url)).default})},{path:"email",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>xu);return{default:s}},void 0,import.meta.url)).default})},{path:"telegram",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>pu);return{default:s}},void 0,import.meta.url)).default})},{path:"APP",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Nu);return{default:s}},void 0,import.meta.url)).default})}]},{path:"payment",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Ru);return{default:s}},void 0,import.meta.url)).default})},{path:"theme",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Eu);return{default:s}},void 0,import.meta.url)).default})},{path:"notice",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>qu);return{default:s}},void 0,import.meta.url)).default})},{path:"knowledge",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Zu);return{default:s}},void 0,import.meta.url)).default})}]},{path:"server",errorElement:e.jsx(ks,{}),children:[{path:"manage",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Nx);return{default:s}},void 0,import.meta.url)).default})},{path:"group",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>kx);return{default:s}},void 0,import.meta.url)).default})},{path:"route",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Vx);return{default:s}},void 0,import.meta.url)).default})}]},{path:"finance",errorElement:e.jsx(ks,{}),children:[{path:"plan",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Hx);return{default:s}},void 0,import.meta.url)).default})},{path:"order",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Qx);return{default:s}},void 0,import.meta.url)).default})},{path:"coupon",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>lm);return{default:s}},void 0,import.meta.url)).default})}]},{path:"user",errorElement:e.jsx(ks,{}),children:[{path:"manage",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Dm);return{default:s}},void 0,import.meta.url)).default})},{path:"ticket",lazy:async()=>({Component:(await Q(async()=>{const{default:s}=await Promise.resolve().then(()=>Gm);return{default:s}},void 0,import.meta.url)).default})}]}]}]},{path:"/500",Component:ks},{path:"/404",Component:fa},{path:"/503",Component:go},{path:"*",Component:fa}]),So="locale";function ko(){return wt.get(So)}function On(){En();const s=window.location.pathname,t=s&&!["/404","/sign-in"].includes(s);window.location.href="sign-in"+(t?`?redirect=${s}`:"")}const To=["/passport/auth/login","/passport/auth/token2Login","/passport/auth/register","/guest/comm/config","/passport/comm/sendEmailVerify","/passport/auth/forget"];function Do(){const s=window.settings?.base_url||"/";return s.endsWith("/")?s+"api/v2":s+"/api/v2"}const I=rl.create({baseURL:Do(),timeout:12e3,headers:{"Content-Type":"application/json"}});I.interceptors.request.use(s=>{s.method?.toLowerCase()==="get"&&(s.params={...s.params,t:Date.now()});const t=Ys();if(!To.includes(s.url?.split("?")[0]||"")){if(!t.value)return On(),Promise.reject({code:-1,message:"未登录"});s.headers.Authorization=t.value}return s.headers["Content-Language"]=ko().value||"zh-CN",s},s=>Promise.reject(s));I.interceptors.response.use(s=>s?.data||{code:-1,message:"未知错误"},s=>{const t=s.response?.status,a=s.response?.data?.message;return(t===401||t===403)&&On(),R.error(a||{401:"登录已过期",403:"没有权限",404:"资源或接口不存在"}[t]||"未知异常"),Promise.reject(s.response?.data||{data:null,code:-1,message:"未知错误"})});function Po(){return I.get("/user/info")}const Pt={token:Ys()?.value||"",userInfo:null,isLoggedIn:!!Ys()?.value,loading:!1,error:null},Gs=ll("user/fetchUserInfo",async()=>(await Po()).data,{condition:(s,{getState:t})=>{const{user:a}=t();return!!a.token&&!a.loading}}),Ln=il({name:"user",initialState:Pt,reducers:{setToken(s,t){s.token=t.payload,s.isLoggedIn=!!t.payload},resetUserState:()=>Pt},extraReducers:s=>{s.addCase(Gs.pending,t=>{t.loading=!0,t.error=null}).addCase(Gs.fulfilled,(t,a)=>{t.loading=!1,t.userInfo=a.payload,t.error=null}).addCase(Gs.rejected,(t,a)=>{if(t.loading=!1,t.error=a.error.message||"Failed to fetch user info",!t.token)return Pt})}}),{setToken:Io,resetUserState:Fo}=Ln.actions,Vo=s=>s.user.userInfo,Ro=Ln.reducer,$n=ol({reducer:{user:Ro}});Ys()?.value&&$n.dispatch(Gs());const Mo=new cl;dl.createRoot(document.getElementById("root")).render(e.jsx(ul.StrictMode,{children:e.jsx(xl,{client:Mo,children:e.jsx(ml,{store:$n,children:e.jsxs(xo,{defaultTheme:"light",storageKey:"vite-ui-theme",children:[e.jsx(hl,{router:Co}),e.jsx(jl,{richColors:!0,position:"top-right"})]})})})}));const _e=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:g("rounded-xl border bg-card text-card-foreground shadow",s),...t}));_e.displayName="Card";const Te=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:g("flex flex-col space-y-1.5 p-6",s),...t}));Te.displayName="CardHeader";const Oe=i.forwardRef(({className:s,...t},a)=>e.jsx("h3",{ref:a,className:g("font-semibold leading-none tracking-tight",s),...t}));Oe.displayName="CardTitle";const Rs=i.forwardRef(({className:s,...t},a)=>e.jsx("p",{ref:a,className:g("text-sm text-muted-foreground",s),...t}));Rs.displayName="CardDescription";const De=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:g("p-6 pt-0",s),...t}));De.displayName="CardContent";const zo=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:g("flex items-center p-6 pt-0",s),...t}));zo.displayName="CardFooter";const Eo=Ns("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),An=i.forwardRef(({className:s,...t},a)=>e.jsx(Fa,{ref:a,className:g(Eo(),s),...t}));An.displayName=Fa.displayName;const se=gl,Hn=i.createContext({}),j=({...s})=>e.jsx(Hn.Provider,{value:{name:s.name},children:e.jsx(pl,{...s})}),_t=()=>{const s=i.useContext(Hn),t=i.useContext(Kn),{getFieldState:a,formState:n}=fl(),r=a(s.name,n);if(!s)throw new Error("useFormField should be used within ");const{id:l}=t;return{id:l,name:s.name,formItemId:`${l}-form-item`,formDescriptionId:`${l}-form-item-description`,formMessageId:`${l}-form-item-message`,...r}},Kn=i.createContext({}),h=i.forwardRef(({className:s,...t},a)=>{const n=i.useId();return e.jsx(Kn.Provider,{value:{id:n},children:e.jsx("div",{ref:a,className:g("space-y-2",s),...t})})});h.displayName="FormItem";const p=i.forwardRef(({className:s,...t},a)=>{const{error:n,formItemId:r}=_t();return e.jsx(An,{ref:a,className:g(n&&"text-destructive",s),htmlFor:r,...t})});p.displayName="FormLabel";const b=i.forwardRef(({...s},t)=>{const{error:a,formItemId:n,formDescriptionId:r,formMessageId:l}=_t();return e.jsx(Ut,{ref:t,id:n,"aria-describedby":a?`${r} ${l}`:`${r}`,"aria-invalid":!!a,...s})});b.displayName="FormControl";const F=i.forwardRef(({className:s,...t},a)=>{const{formDescriptionId:n}=_t();return e.jsx("p",{ref:a,id:n,className:g("text-[0.8rem] text-muted-foreground",s),...t})});F.displayName="FormDescription";const k=i.forwardRef(({className:s,children:t,...a},n)=>{const{error:r,formMessageId:l}=_t(),o=r?String(r?.message):t;return o?e.jsx("p",{ref:n,id:l,className:g("text-[0.8rem] font-medium text-destructive",s),...a,children:o}):null});k.displayName="FormMessage";const S=i.forwardRef(({className:s,type:t,...a},n)=>e.jsx("input",{type:t,className:g("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:n,...a}));S.displayName="Input";const qn=i.forwardRef(({className:s,...t},a)=>{const[n,r]=i.useState(!1);return e.jsxs("div",{className:"relative rounded-md",children:[e.jsx("input",{type:n?"text":"password",className:g("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:a,...t}),e.jsx(C,{type:"button",size:"icon",variant:"ghost",className:"absolute right-1 top-1/2 h-6 w-6 -translate-y-1/2 rounded-md text-muted-foreground",onClick:()=>r(l=>!l),children:n?e.jsx(vl,{size:18}):e.jsx(bl,{size:18})})]})});qn.displayName="PasswordInput";const Oo=s=>I({url:"/passport/auth/login",method:"post",data:s}),$t=s=>s;function X(s=void 0,t="YYYY-MM-DD HH:mm:ss"){return s==null?"":(Math.floor(s).toString().length===10&&(s=s*1e3),yl(s).format(t))}function Lo(s=void 0,t="YYYY-MM-DD"){return X(s,t)}function Ds(s){const t=typeof s=="string"?parseFloat(s):s;return isNaN(t)?"0.00":t.toFixed(2)}function Hs(s){const t=typeof s=="string"?parseFloat(s):s;return isNaN(t)?"0.00":(t/100).toFixed(2)}function At(s){navigator.clipboard?navigator.clipboard.writeText(s).then(()=>{R.success($t("复制成功"))}).catch(t=>{console.error("复制到剪贴板时出错:",t),ba(s)}):ba(s)}function ba(s){const t=document.createElement("button"),a=new Nl(t,{text:()=>s});a.on("success",()=>{R.success($t("复制成功")),a.destroy()}),a.on("error",()=>{R.error($t("复制失败")),a.destroy()}),t.click()}function Fs(s){const t=s/1024,a=t/1024,n=a/1024,r=n/1024;return r>=1?Ds(r)+" TB":n>=1?Ds(n)+" GB":a>=1?Ds(a)+" MB":Ds(t)+" KB"}const $o="access_token";function Ao(s){wt.set($o,s)}const Ho=c.object({email:c.string().min(1,{message:"请输入邮箱地址"}).email({message:"邮箱地址格式不正确"}),password:c.string().min(1,{message:"请输入密码"}).min(7,{message:"密码长度至少为7个字符"})});function Ko({className:s,onForgotPassword:t,...a}){const n=Xe(),r=Va(),l=Z({resolver:ee(Ho),defaultValues:{email:"",password:""}});async function o(d){try{const{data:x}=await Oo(d);x&&(Ao(x.auth_data),r(Io(x.auth_data)),await r(Gs()).unwrap(),n("/"))}catch(x){const w=x instanceof Error?x.message:"登录失败";R.error(w)}}return e.jsx("div",{className:g("grid gap-6",s),...a,children:e.jsx(se,{...l,children:e.jsx("form",{onSubmit:l.handleSubmit(o),children:e.jsxs("div",{className:"grid gap-2",children:[e.jsx(j,{control:l.control,name:"email",render:({field:d})=>e.jsxs(h,{className:"space-y-1",children:[e.jsx(p,{children:"邮箱地址"}),e.jsx(b,{children:e.jsx(S,{placeholder:"name@example.com",...d})}),e.jsx(k,{})]})}),e.jsx(j,{control:l.control,name:"password",render:({field:d})=>e.jsxs(h,{className:"space-y-1",children:[e.jsx(p,{children:"密码"}),e.jsx(b,{children:e.jsx(qn,{placeholder:"请输入密码",...d})}),e.jsx(k,{})]})}),e.jsx(C,{className:"mt-2",loading:l.formState.isSubmitting,children:"登录"}),e.jsx(C,{variant:"link",type:"button",className:"mt-1 text-sm text-muted-foreground hover:text-primary",onClick:t,children:"忘记密码?"})]})})})})}const me=Ra,Pe=Ma,qo=za,Xs=Bt,Un=i.forwardRef(({className:s,...t},a)=>e.jsx(pt,{ref:a,className:g("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...t}));Un.displayName=pt.displayName;const de=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(qo,{children:[e.jsx(Un,{}),e.jsxs(ft,{ref:n,className:g("max-h-[95%] overflow-auto fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...a,children:[t,e.jsxs(Bt,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e.jsx(Le,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));de.displayName=ft.displayName;const ge=({className:s,...t})=>e.jsx("div",{className:g("flex flex-col space-y-1.5 text-center sm:text-left",s),...t});ge.displayName="DialogHeader";const Ie=({className:s,...t})=>e.jsx("div",{className:g("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t});Ie.displayName="DialogFooter";const he=i.forwardRef(({className:s,...t},a)=>e.jsx(vt,{ref:a,className:g("text-lg font-semibold leading-none tracking-tight",s),...t}));he.displayName=vt.displayName;const ze=i.forwardRef(({className:s,...t},a)=>e.jsx(bt,{ref:a,className:g("text-sm text-muted-foreground",s),...t}));ze.displayName=bt.displayName;const Ms=Ns("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),H=i.forwardRef(({className:s,variant:t,size:a,asChild:n=!1,...r},l)=>{const o=n?Ut:"button";return e.jsx(o,{className:g(Ms({variant:t,size:a,className:s})),ref:l,...r})});H.displayName="Button";function Uo(){const[s,t]=i.useState(!1),a=async r=>{try{await navigator.clipboard.writeText(r),R.success("命令已复制到剪贴板")}catch{R.error("复制失败,请手动复制")}},n="php artisan reset:password 管理员邮箱";return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"container grid h-svh flex-col items-center justify-center bg-primary-foreground lg:max-w-none lg:px-0",children:e.jsxs("div",{className:"mx-auto flex w-full flex-col justify-center space-y-2 sm:w-[480px] lg:p-8",children:[e.jsx("div",{className:"mb-4 flex items-center justify-center",children:e.jsx("h1",{className:"text-3xl font-medium",children:window?.settings?.title})}),e.jsxs(_e,{className:"p-6",children:[e.jsxs("div",{className:"flex flex-col space-y-2 text-left",children:[e.jsx("h1",{className:"text-2xl font-semibold tracking-tight",children:"登录"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"请输入您的邮箱和密码登录系统"})]}),e.jsx(Ko,{onForgotPassword:()=>t(!0)})]})]})}),e.jsx(me,{open:s,onOpenChange:t,children:e.jsx(de,{children:e.jsxs(ge,{children:[e.jsx(he,{children:"忘记密码"}),e.jsx(ze,{children:"在站点目录下执行以下命令找回密码"}),e.jsx("div",{className:"mt-2",children:e.jsxs("div",{className:"relative",children:[e.jsx("pre",{className:"rounded-md bg-secondary p-4 pr-12",children:n}),e.jsx(H,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-8 w-8 hover:bg-secondary-foreground/10",onClick:()=>a(n),children:e.jsx(wl,{className:"h-4 w-4"})})]})})]})})})]})}const Go=Object.freeze(Object.defineProperty({__proto__:null,default:Uo},Symbol.toStringTag,{value:"Module"})),pe=i.forwardRef(({className:s,fadedBelow:t=!1,fixedHeight:a=!1,...n},r)=>e.jsx("div",{ref:r,className:g("relative flex h-full w-full flex-col",t&&"after:pointer-events-none after:absolute after:bottom-0 after:left-0 after:hidden after:h-32 after:w-full after:bg-[linear-gradient(180deg,_transparent_10%,_hsl(var(--background))_70%)] after:md:block",a&&"md:h-svh",s),...n}));pe.displayName="Layout";const fe=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{ref:a,className:g("flex h-[var(--header-height)] flex-none items-center gap-4 bg-background p-4 md:px-8",s),...t}));fe.displayName="LayoutHeader";const Ne=i.forwardRef(({className:s,fixedHeight:t,...a},n)=>e.jsx("div",{ref:n,className:g("flex-1 overflow-hidden px-4 py-6 md:px-8",t&&"h-[calc(100%-var(--header-height))]",s),...a}));Ne.displayName="LayoutBody";const Gn=_l,Bn=Cl,Yn=Sl,bs=Dl,ys=Pl,Bo=Il,Yo=i.forwardRef(({className:s,inset:t,children:a,...n},r)=>e.jsxs(Ea,{ref:r,className:g("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",s),...n,children:[a,e.jsx(Yt,{className:"ml-auto h-4 w-4"})]}));Yo.displayName=Ea.displayName;const Wo=i.forwardRef(({className:s,...t},a)=>e.jsx(Oa,{ref:a,className:g("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...t}));Wo.displayName=Oa.displayName;const ms=i.forwardRef(({className:s,sideOffset:t=4,...a},n)=>e.jsx(kl,{children:e.jsx(La,{ref:n,sideOffset:t,className:g("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...a})}));ms.displayName=La.displayName;const oe=i.forwardRef(({className:s,inset:t,...a},n)=>e.jsx($a,{ref:n,className:g("relative flex cursor-default cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",s),...a}));oe.displayName=$a.displayName;const Jo=i.forwardRef(({className:s,children:t,checked:a,...n},r)=>e.jsxs(Aa,{ref:r,className:g("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),checked:a,...n,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Ha,{children:e.jsx(hs,{className:"h-4 w-4"})})}),t]}));Jo.displayName=Aa.displayName;const Qo=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(Ka,{ref:n,className:g("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...a,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Ha,{children:e.jsx(Tl,{className:"h-4 w-4 fill-current"})})}),t]}));Qo.displayName=Ka.displayName;const Jt=i.forwardRef(({className:s,inset:t,...a},n)=>e.jsx(qa,{ref:n,className:g("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",s),...a}));Jt.displayName=qa.displayName;const Ws=i.forwardRef(({className:s,...t},a)=>e.jsx(Ua,{ref:a,className:g("-mx-1 my-1 h-px bg-muted",s),...t}));Ws.displayName=Ua.displayName;const Ht=({className:s,...t})=>e.jsx("span",{className:g("ml-auto text-xs tracking-widest opacity-60",s),...t});Ht.displayName="DropdownMenuShortcut";const ce=Fl,ne=Vl,re=Rl,te=i.forwardRef(({className:s,sideOffset:t=4,...a},n)=>e.jsx(Ga,{ref:n,sideOffset:t,className:g("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...a}));te.displayName=Ga.displayName;function Ct(){const{pathname:s}=gt();return{checkActiveNav:a=>{if(a==="/"&&s==="/")return!0;const n=a.replace(/^\//,""),r=s.replace(/^\//,"");return n?r.startsWith(n):!1}}}function Wn({key:s,defaultValue:t}){const[a,n]=i.useState(()=>{const r=localStorage.getItem(s);return r!==null?JSON.parse(r):t});return i.useEffect(()=>{localStorage.setItem(s,JSON.stringify(a))},[a,s]),[a,n]}function Zo(){const[s,t]=Wn({key:"expanded-sidebar-items",defaultValue:["仪表盘","系统管理","节点管理","订阅管理","用户管理"]});return{expandedItems:s,toggleItem:n=>{t(r=>r.includes(n)?r.filter(l=>l!==n):[...r,n])},isExpanded:n=>s.includes(n)}}function Xo({links:s,isCollapsed:t,className:a,closeNav:n}){const r=({sub:l,...o})=>{const d=`${o.title}-${o.href}`;return t&&l?i.createElement(tc,{...o,sub:l,key:d,closeNav:n}):t?i.createElement(sc,{...o,key:d,closeNav:n}):l?i.createElement(ec,{...o,sub:l,key:d,closeNav:n}):i.createElement(Jn,{...o,key:d,closeNav:n})};return e.jsx("div",{"data-collapsed":t,className:g("group border-b bg-background py-2 transition-[max-height,padding] duration-500 data-[collapsed=true]:py-2 md:border-none",a),children:e.jsx(ce,{delayDuration:0,children:e.jsx("nav",{className:"grid gap-1 group-[[data-collapsed=true]]:justify-center group-[[data-collapsed=true]]:px-2",children:s.map(r)})})})}function Jn({title:s,icon:t,label:a,href:n,closeNav:r,subLink:l=!1}){const{checkActiveNav:o}=Ct();return e.jsxs(ws,{to:n,onClick:r,className:g(Fe({variant:o(n)?"secondary":"ghost",size:"sm"}),"h-12 justify-start text-wrap rounded-none px-6",l&&"h-10 w-full border-l border-l-slate-500 px-2"),"aria-current":o(n)?"page":void 0,children:[e.jsx("div",{className:"mr-2",children:t}),s,a&&e.jsx("div",{className:"ml-2 rounded-lg bg-primary px-1 text-[0.625rem] text-primary-foreground",children:a})]})}function ec({title:s,icon:t,label:a,sub:n,closeNav:r}){const{checkActiveNav:l}=Ct(),{isExpanded:o,toggleItem:d}=Zo(),x=!!n?.find(m=>l(m.href)),w=o(s)||x;return e.jsxs(Gn,{open:w,onOpenChange:()=>d(s),children:[e.jsxs(Bn,{className:g(Fe({variant:"ghost",size:"sm"}),"group h-12 w-full justify-start rounded-none px-6"),children:[e.jsx("div",{className:"mr-2",children:t}),s,a&&e.jsx("div",{className:"ml-2 rounded-lg bg-primary px-1 text-[0.625rem] text-primary-foreground",children:a}),e.jsx("span",{className:g('ml-auto transition-all group-data-[state="open"]:-rotate-180'),children:e.jsx(Ba,{stroke:1})})]}),e.jsx(Yn,{className:"collapsibleDropdown",asChild:!0,children:e.jsx("ul",{children:n.map(m=>e.jsx("li",{className:"my-1 ml-8",children:e.jsx(Jn,{...m,subLink:!0,closeNav:r})},m.title))})})]})}function sc({title:s,icon:t,label:a,href:n}){const{checkActiveNav:r}=Ct();return e.jsxs(ne,{delayDuration:0,children:[e.jsx(re,{asChild:!0,children:e.jsxs(ws,{to:n,className:g(Fe({variant:r(n)?"secondary":"ghost",size:"icon"}),"h-12 w-12"),children:[t,e.jsx("span",{className:"sr-only",children:s})]})}),e.jsxs(te,{side:"right",className:"flex items-center gap-4",children:[s,a&&e.jsx("span",{className:"ml-auto text-muted-foreground",children:a})]})]})}function tc({title:s,icon:t,label:a,sub:n}){const{checkActiveNav:r}=Ct(),l=!!n?.find(o=>r(o.href));return e.jsxs(bs,{children:[e.jsxs(ne,{delayDuration:0,children:[e.jsx(re,{asChild:!0,children:e.jsx(ys,{asChild:!0,children:e.jsx(C,{variant:l?"secondary":"ghost",size:"icon",className:"h-12 w-12",children:t})})}),e.jsxs(te,{side:"right",className:"flex items-center gap-4",children:[s," ",a&&e.jsx("span",{className:"ml-auto text-muted-foreground",children:a}),e.jsx(Ba,{size:18,className:"-rotate-90 text-muted-foreground"})]})]}),e.jsxs(ms,{side:"right",align:"start",sideOffset:4,children:[e.jsxs(Jt,{children:[s," ",a?`(${a})`:""]}),e.jsx(Ws,{}),n.map(({title:o,icon:d,label:x,href:w})=>e.jsx(oe,{asChild:!0,children:e.jsxs(ws,{to:w,className:`${r(w)?"bg-secondary":""}`,children:[d," ",e.jsx("span",{className:"ml-2 max-w-52 text-wrap",children:o}),x&&e.jsx("span",{className:"ml-auto text-xs",children:x})]})},`${o}-${w}`))]})]})}const Qn=[{title:"仪表盘",label:"",href:"/",icon:e.jsx(Ml,{size:18})},{title:"系统管理",label:"",href:"",icon:e.jsx(zl,{size:18}),sub:[{title:"系统配置",label:"",href:"/config/system",icon:e.jsx(Ya,{size:18})},{title:"主题配置",label:"",href:"/config/theme",icon:e.jsx(El,{size:18})},{title:"公告管理",label:"",href:"/config/notice",icon:e.jsx(Ol,{size:18})},{title:"支付配置",label:"",href:"/config/payment",icon:e.jsx(ca,{size:18})},{title:"知识库管理",label:"",href:"/config/knowledge",icon:e.jsx(Ll,{size:18})}]},{title:"节点管理",label:"",href:"",icon:e.jsx(Wa,{size:18}),sub:[{title:"节点管理",label:"",href:"/server/manage",icon:e.jsx($l,{size:18})},{title:"权限组管理",label:"",href:"/server/group",icon:e.jsx(Ja,{size:18})},{title:"路由管理",label:"",href:"/server/route",icon:e.jsx(Al,{size:18})}]},{title:"订阅管理",label:"",href:"",icon:e.jsx(Hl,{size:18}),sub:[{title:"套餐管理",label:"",href:"/finance/plan",icon:e.jsx(Kl,{size:18})},{title:"订单管理",label:"",href:"/finance/order",icon:e.jsx(ca,{size:18})},{title:"优惠券管理",label:"",href:"/finance/coupon",icon:e.jsx(ql,{size:18})}]},{title:"用户管理",label:"",href:"",icon:e.jsx(Ul,{size:18}),sub:[{title:"用户管理",label:"",href:"/user/manage",icon:e.jsx(Gl,{size:18})},{title:"工单管理",label:"",href:"/user/ticket",icon:e.jsx(Qa,{size:18})}]}];function ac({className:s,isCollapsed:t,setIsCollapsed:a}){const[n,r]=i.useState(!1);return i.useEffect(()=>{n?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")},[n]),e.jsxs("aside",{className:g(`fixed left-0 right-0 top-0 z-50 w-full border-r-2 border-r-muted transition-[width] md:bottom-0 md:right-auto md:h-svh ${t?"md:w-14":"md:w-64"}`,s),children:[e.jsx("div",{onClick:()=>r(!1),className:`absolute inset-0 transition-[opacity] delay-100 duration-700 ${n?"h-svh opacity-50":"h-0 opacity-0"} w-full bg-black md:hidden`}),e.jsxs(pe,{children:[e.jsxs(fe,{className:"sticky top-0 justify-between px-4 py-3 shadow md:px-4",children:[e.jsxs("div",{className:`flex items-center ${t?"":"gap-2"}`,children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",className:`transition-all ${t?"h-6 w-6":"h-8 w-8"}`,children:[e.jsx("rect",{width:"256",height:"256",fill:"none"}),e.jsx("line",{x1:"208",y1:"128",x2:"128",y2:"208",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16"}),e.jsx("line",{x1:"192",y1:"40",x2:"40",y2:"192",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16"}),e.jsx("span",{className:"sr-only",children:"Website Name"})]}),e.jsx("div",{className:`flex flex-col justify-end truncate ${t?"invisible w-0":"visible w-auto"}`,children:e.jsx("span",{className:"font-medium",children:window?.settings?.title})})]}),e.jsx(C,{variant:"ghost",size:"icon",className:"md:hidden","aria-label":"Toggle Navigation","aria-controls":"sidebar-menu","aria-expanded":n,onClick:()=>r(l=>!l),children:n?e.jsx(Bl,{}):e.jsx(Yl,{})})]}),e.jsx(Xo,{id:"sidebar-menu",className:`h-full flex-1 overflow-auto ${n?"max-h-screen":"max-h-0 py-0 md:max-h-screen md:py-2"}`,closeNav:()=>r(!1),isCollapsed:t,links:Qn}),e.jsx(C,{onClick:()=>a(l=>!l),size:"icon",variant:"outline",className:"absolute -right-5 top-1/2 hidden rounded-full md:inline-flex",children:e.jsx(Wl,{stroke:1.5,className:`h-5 w-5 ${t?"rotate-180":""}`})})]})]})}function nc(){const[s,t]=Wn({key:"collapsed-sidebar",defaultValue:!1});return i.useEffect(()=>{const a=()=>{t(window.innerWidth<768?!1:s)};return a(),window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a)}},[s,t]),[s,t]}function rc(){const[s,t]=nc();return e.jsxs("div",{className:"relative h-full overflow-hidden bg-background",children:[e.jsx(ac,{isCollapsed:s,setIsCollapsed:t}),e.jsx("main",{id:"content",className:`overflow-x-hidden pt-16 transition-[margin] md:overflow-y-hidden md:pt-0 ${s?"md:ml-14":"md:ml-64"} h-full`,children:e.jsx(Gt,{})})]})}const lc=Object.freeze(Object.defineProperty({__proto__:null,default:rc},Symbol.toStringTag,{value:"Module"})),as=i.forwardRef(({className:s,...t},a)=>e.jsx(ye,{ref:a,className:g("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",s),...t}));as.displayName=ye.displayName;const ic=({children:s,...t})=>e.jsx(me,{...t,children:e.jsx(de,{className:"overflow-hidden p-0",children:e.jsx(as,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:s})})}),js=i.forwardRef(({className:s,...t},a)=>e.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e.jsx(Jl,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(ye.Input,{ref:a,className:g("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",s),...t})]}));js.displayName=ye.Input.displayName;const ns=i.forwardRef(({className:s,...t},a)=>e.jsx(ye.List,{ref:a,className:g("max-h-[300px] overflow-y-auto overflow-x-hidden",s),...t}));ns.displayName=ye.List.displayName;const gs=i.forwardRef((s,t)=>e.jsx(ye.Empty,{ref:t,className:"py-6 text-center text-sm",...s}));gs.displayName=ye.Empty.displayName;const be=i.forwardRef(({className:s,...t},a)=>e.jsx(ye.Group,{ref:a,className:g("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",s),...t}));be.displayName=ye.Group.displayName;const Cs=i.forwardRef(({className:s,...t},a)=>e.jsx(ye.Separator,{ref:a,className:g("-mx-1 h-px bg-border",s),...t}));Cs.displayName=ye.Separator.displayName;const xe=i.forwardRef(({className:s,...t},a)=>e.jsx(ye.Item,{ref:a,className:g("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...t}));xe.displayName=ye.Item.displayName;function oc(){const s=[];for(const t of Qn)if(t.href&&s.push(t),t.sub)for(const a of t.sub)s.push({...a,parent:t.title});return s}function Ce(){const[s,t]=i.useState(!1),a=Xe(),n=oc();i.useEffect(()=>{const l=o=>{o.key==="k"&&(o.metaKey||o.ctrlKey)&&(o.preventDefault(),t(d=>!d))};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[]);const r=i.useCallback(l=>{t(!1),a(l)},[a]);return e.jsxs(e.Fragment,{children:[e.jsxs(H,{variant:"outline",className:"relative h-9 w-9 p-0 xl:h-10 xl:w-60 xl:justify-start xl:px-3 xl:py-2",onClick:()=>t(!0),children:[e.jsx(Ql,{className:"h-4 w-4 xl:mr-2"}),e.jsx("span",{className:"hidden xl:inline-flex",children:"搜索..."}),e.jsx("span",{className:"sr-only",children:"搜索"}),e.jsxs("kbd",{className:"pointer-events-none absolute right-1.5 top-2 hidden h-6 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 xl:flex",children:[e.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),e.jsxs(ic,{open:s,onOpenChange:t,children:[e.jsx(js,{placeholder:"搜索所有菜单和功能..."}),e.jsxs(ns,{children:[e.jsx(gs,{children:"未找到相关结果"}),e.jsx(be,{heading:"菜单导航",children:n.map(l=>e.jsxs(xe,{value:`${l.parent?l.parent+" ":""}${l.title}`,onSelect:()=>r(l.href),children:[e.jsx("div",{className:"mr-2",children:l.icon}),e.jsx("span",{children:l.title}),l.parent&&e.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:l.parent})]},l.href))})]})]})]})}function Se(){const{theme:s,setTheme:t}=mo();return i.useEffect(()=>{const a=s==="dark"?"#020817":"#fff",n=document.querySelector("meta[name='theme-color']");n&&n.setAttribute("content",a)},[s]),e.jsx(C,{size:"icon",variant:"ghost",className:"rounded-full",onClick:()=>t(s==="light"?"dark":"light"),children:s==="light"?e.jsx(Zl,{size:20}):e.jsx(Xl,{size:20})})}const Zn=i.forwardRef(({className:s,...t},a)=>e.jsx(Za,{ref:a,className:g("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",s),...t}));Zn.displayName=Za.displayName;const Xn=i.forwardRef(({className:s,...t},a)=>e.jsx(Xa,{ref:a,className:g("aspect-square h-full w-full",s),...t}));Xn.displayName=Xa.displayName;const er=i.forwardRef(({className:s,...t},a)=>e.jsx(en,{ref:a,className:g("flex h-full w-full items-center justify-center rounded-full bg-muted",s),...t}));er.displayName=en.displayName;function ke(){const s=Xe(),t=Va(),a=ei(Vo),n=()=>{En(),t(Fo()),s("/sign-in")},r=a?.email?.split("@")[0]||"User",l=r.substring(0,2).toUpperCase();return e.jsxs(bs,{children:[e.jsx(ys,{asChild:!0,children:e.jsx(C,{variant:"ghost",className:"relative h-8 w-8 rounded-full",children:e.jsxs(Zn,{className:"h-8 w-8",children:[e.jsx(Xn,{src:a?.avatar_url,alt:r}),e.jsx(er,{children:l})]})})}),e.jsxs(ms,{className:"w-56",align:"end",forceMount:!0,children:[e.jsx(Jt,{className:"font-normal",children:e.jsxs("div",{className:"flex flex-col space-y-1",children:[e.jsx("p",{className:"text-sm font-medium leading-none",children:r}),e.jsx("p",{className:"text-xs leading-none text-muted-foreground",children:a?.email||"user@example.com"})]})}),e.jsx(Ws,{}),e.jsx(oe,{asChild:!0,children:e.jsxs(ws,{to:"/config/system",children:["设置",e.jsx(Ht,{children:"⌘S"})]})}),e.jsx(Ws,{}),e.jsxs(oe,{onClick:n,children:["退出登录",e.jsx(Ht,{children:"⇧⌘Q"})]})]})]})}const M=window?.settings?.secure_path,cc=s=>I.get(M+"/stat/getOrder",{params:s}),dc=()=>I.get(M+"/stat/getStats"),ya=s=>I.get(M+"/stat/getTrafficRank",{params:s}),uc=()=>I.get(M+"/theme/getThemes"),xc=s=>I.post(M+"/theme/getThemeConfig",{name:s}),mc=(s,t)=>I.post(M+"/theme/saveThemeConfig",{name:s,config:t}),hc=s=>{const t=new FormData;return t.append("file",s),I.post(M+"/theme/upload",t,{headers:{"Content-Type":"multipart/form-data"}})},jc=s=>I.post(M+"/theme/delete",{name:s}),gc=s=>I.post(M+"/config/save",s),sr=()=>I.get(M+"/server/manage/getNodes"),pc=s=>I.post(M+"/server/manage/save",s),fc=s=>I.post(M+"/server/manage/drop",s),vc=s=>I.post(M+"/server/manage/copy",s),bc=s=>I.post(M+"/server/manage/update",s),yc=s=>I.post(M+"/server/manage/sort",s),St=()=>I.get(M+"/server/group/fetch"),Nc=s=>I.post(M+"/server/group/save",s),wc=s=>I.post(M+"/server/group/drop",s),tr=()=>I.get(M+"/server/route/fetch"),_c=s=>I.post(M+"/server/route/save",s),Cc=s=>I.post(M+"/server/route/drop",s),Sc=()=>I.get(M+"/payment/fetch"),kc=()=>I.get(M+"/payment/getPaymentMethods"),Tc=s=>I.post(M+"/payment/getPaymentForm",s),Dc=s=>I.post(M+"/payment/save",s),Pc=s=>I.post(M+"/payment/drop",s),Ic=s=>I.post(M+"/payment/show",s),Fc=s=>I.post(M+"/payment/sort",s),Vc=()=>I.get(M+"/notice/fetch"),Rc=s=>I.post(M+"/notice/save",s),Mc=s=>I.post(M+"/notice/drop",s),zc=s=>I.post(M+"/notice/show",s),Ec=()=>I.get(M+"/knowledge/fetch"),Oc=s=>I.get(M+"/knowledge/fetch?id="+s),Lc=s=>I.post(M+"/knowledge/save",s),$c=s=>I.post(M+"/knowledge/drop",s),Ac=s=>I.post(M+"/knowledge/show",s),Hc=s=>I.post(M+"/knowledge/sort",s),Es=()=>I.get(M+"/plan/fetch"),Kc=s=>I.post(M+"/plan/save",s),It=s=>I.post(M+"/plan/update",s),qc=s=>I.post(M+"/plan/drop",s),Uc=s=>I.post(M+"/plan/sort",{ids:s}),ar=async s=>I.post(M+"/order/fetch",s),Gc=s=>I.post(M+"/order/detail",s),Bc=s=>I.post(M+"/order/paid",s),Yc=s=>I.post(M+"/order/cancel",s),Na=s=>I.post(M+"/order/update",s),Wc=s=>I.post(M+"/order/assign",s),Jc=s=>I.post(M+"/coupon/fetch",s),Qc=s=>I.post(M+"/coupon/generate",s),Zc=s=>I.post(M+"/coupon/drop",s),Xc=s=>I.post(M+"/coupon/update",s),ed=s=>I.post(M+"/user/fetch",s),sd=s=>I.post(M+"/user/update",s),td=s=>I.post(M+"/user/resetSecret",s),ad=s=>I.post(M+"/user/generate",s),nd=s=>I.post(M+"/stat/getStatUser",s),nr=s=>I.post(M+"/ticket/fetch",s),rd=s=>I.get(M+"/ticket/fetch?id= "+s),ld=s=>I.post(M+"/ticket/reply",s),rr=s=>I.post(M+"/ticket/close",{id:s}),rs=(s="")=>I.get(M+"/config/fetch?key="+s),ls=s=>I.post(M+"/config/save",s),id=()=>I.get(M+"/config/getEmailTemplate"),od=()=>I.post(M+"/config/testSendMail"),cd=()=>I.post(M+"/config/setTelegramWebhook"),lr=si,Qt=i.forwardRef(({className:s,...t},a)=>e.jsx(sn,{ref:a,className:g("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",s),...t}));Qt.displayName=sn.displayName;const Js=i.forwardRef(({className:s,...t},a)=>e.jsx(tn,{ref:a,className:g("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",s),...t}));Js.displayName=tn.displayName;const dd=i.forwardRef(({className:s,...t},a)=>e.jsx(an,{ref:a,className:g("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",s),...t}));dd.displayName=an.displayName;const B=ti,os=di,Y=ai,U=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(nn,{ref:n,className:g("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...a,children:[t,e.jsx(ni,{asChild:!0,children:e.jsx(Ze,{className:"h-4 w-4 opacity-50"})})]}));U.displayName=nn.displayName;const ir=i.forwardRef(({className:s,...t},a)=>e.jsx(rn,{ref:a,className:g("flex cursor-default items-center justify-center py-1",s),...t,children:e.jsx(ri,{className:"h-4 w-4"})}));ir.displayName=rn.displayName;const or=i.forwardRef(({className:s,...t},a)=>e.jsx(ln,{ref:a,className:g("flex cursor-default items-center justify-center py-1",s),...t,children:e.jsx(Ze,{className:"h-4 w-4"})}));or.displayName=ln.displayName;const G=i.forwardRef(({className:s,children:t,position:a="popper",...n},r)=>e.jsx(li,{children:e.jsxs(on,{ref:r,className:g("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:a,...n,children:[e.jsx(ir,{}),e.jsx(ii,{className:g("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),e.jsx(or,{})]})}));G.displayName=on.displayName;const ud=i.forwardRef(({className:s,...t},a)=>e.jsx(cn,{ref:a,className:g("px-2 py-1.5 text-sm font-semibold",s),...t}));ud.displayName=cn.displayName;const A=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(dn,{ref:n,className:g("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...a,children:[e.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(oi,{children:e.jsx(hs,{className:"h-4 w-4"})})}),e.jsx(ci,{children:t})]}));A.displayName=dn.displayName;const xd=i.forwardRef(({className:s,...t},a)=>e.jsx(un,{ref:a,className:g("-mx-1 my-1 h-px bg-muted",s),...t}));xd.displayName=un.displayName;const cs={income:{main:"hsl(var(--primary))",gradient:{start:"hsl(var(--primary))",end:"transparent"}},commission:{main:"hsl(var(--secondary))",gradient:{start:"hsl(var(--secondary))",end:"transparent"}}},Us=s=>(s/100).toFixed(2),md=({active:s,payload:t,label:a})=>s&&t&&t.length?e.jsxs("div",{className:"rounded-lg border bg-background p-3 shadow-sm",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:a}),t.map((n,r)=>e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{className:"h-2 w-2 rounded-full",style:{backgroundColor:n.color}}),e.jsxs("span",{className:"text-muted-foreground",children:[n.name,":"]}),e.jsx("span",{className:"font-medium",children:n.name.includes("金额")?`¥${Us(n.value)}`:`${n.value}笔`})]},r))]}):null,hd=[{value:"7d",label:"最近7天"},{value:"30d",label:"最近30天"},{value:"90d",label:"最近90天"},{value:"180d",label:"最近180天"},{value:"365d",label:"最近一年"}],jd=s=>{const t=new Date;let a;switch(s){case"7d":a=Be(t,7);break;case"30d":a=Be(t,30);break;case"90d":a=Be(t,90);break;case"180d":a=Be(t,180);break;case"365d":a=Be(t,365);break;default:a=Be(t,30)}return{startDate:a,endDate:t}};function gd(){const[s,t]=i.useState("amount"),[a,n]=i.useState("30d"),{startDate:r,endDate:l}=jd(a),{data:o}=K({queryKey:["orderStat",{start_date:us(r,"yyyy-MM-dd"),end_date:us(l,"yyyy-MM-dd")}],queryFn:async()=>{const{data:d}=await cc({start_date:us(r,"yyyy-MM-dd"),end_date:us(l,"yyyy-MM-dd")});return d},refetchInterval:3e4});return o?e.jsxs(_e,{children:[e.jsxs(Te,{children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx(Oe,{children:"收入趋势"}),e.jsx(Rs,{children:`${o?.summary.start_date} 至 ${o?.summary.end_date}`})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs(B,{value:a,onValueChange:d=>n(d),children:[e.jsx(U,{className:"w-[120px]",children:e.jsx(Y,{placeholder:"选择时间范围"})}),e.jsx(G,{children:hd.map(d=>e.jsx(A,{value:d.value,children:d.label},d.value))})]}),e.jsx(lr,{value:s,onValueChange:d=>t(d),children:e.jsxs(Qt,{children:[e.jsx(Js,{value:"amount",children:"金额"}),e.jsx(Js,{value:"count",children:"笔数"})]})})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"总收入"}),e.jsxs("div",{className:"text-2xl font-bold",children:["¥",Us(o.summary.paid_total)]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["共 ",o.summary.paid_count," 笔"]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["平均订单金额 ¥",Us(o.summary.avg_paid_amount)]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"总佣金"}),e.jsxs("div",{className:"text-2xl font-bold",children:["¥",Us(o.summary.commission_total)]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["共 ",o.summary.commission_count," 笔"]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["佣金比率 ",o.summary.commission_rate.toFixed(2),"%"]})]})]})]}),e.jsx(De,{children:e.jsx("div",{className:"h-[400px] w-full",children:e.jsx(ui,{width:"100%",height:"100%",children:e.jsxs(xi,{data:o.list,margin:{top:20,right:20,left:0,bottom:0},children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"incomeGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:cs.income.gradient.start,stopOpacity:.2}),e.jsx("stop",{offset:"100%",stopColor:cs.income.gradient.end,stopOpacity:.1})]}),e.jsxs("linearGradient",{id:"commissionGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:cs.commission.gradient.start,stopOpacity:.2}),e.jsx("stop",{offset:"100%",stopColor:cs.commission.gradient.end,stopOpacity:.1})]})]}),e.jsx(mi,{dataKey:"date",axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:d=>us(new Date(d),"MM-dd",{locale:pi})}),e.jsx(hi,{axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:d=>s==="amount"?`¥${Us(d)}`:`${d}笔`}),e.jsx(ji,{strokeDasharray:"3 3",vertical:!1,stroke:"hsl(var(--border))",opacity:.3}),e.jsx(gi,{content:e.jsx(md,{})}),s==="amount"?e.jsxs(e.Fragment,{children:[e.jsx(da,{type:"monotone",dataKey:"paid_total",name:"收款金额",stroke:cs.income.main,fill:"url(#incomeGradient)",strokeWidth:2}),e.jsx(da,{type:"monotone",dataKey:"commission_total",name:"佣金金额",stroke:cs.commission.main,fill:"url(#commissionGradient)",strokeWidth:2})]}):e.jsxs(e.Fragment,{children:[e.jsx(ua,{dataKey:"paid_count",name:"收款笔数",fill:cs.income.main,radius:[4,4,0,0],maxBarSize:40}),e.jsx(ua,{dataKey:"commission_count",name:"佣金笔数",fill:cs.commission.main,radius:[4,4,0,0],maxBarSize:40})]})]})})})})]}):e.jsxs(_e,{children:[e.jsxs(Te,{children:[e.jsx(Oe,{children:"收入趋势"}),e.jsx(Rs,{children:"加载中..."})]}),e.jsx(De,{children:e.jsx("div",{className:"flex h-[400px] w-full items-center justify-center",children:e.jsx("div",{className:"animate-pulse",children:"Loading..."})})})]})}var ie=(s=>(s[s.PENDING=0]="PENDING",s[s.PROCESSING=1]="PROCESSING",s[s.CANCELLED=2]="CANCELLED",s[s.COMPLETED=3]="COMPLETED",s[s.DISCOUNTED=4]="DISCOUNTED",s))(ie||{});const Ts={0:"待支付",1:"开通中",2:"已取消",3:"已完成",4:"已折抵"},Ks={0:"yellow-500",1:"blue-500",2:"red-500",3:"green-500",4:"green-500"},pd={1:"新购",2:"续费",3:"升级",5:"流量重置"};var ue=(s=>(s[s.PENDING=0]="PENDING",s[s.PROCESSING=1]="PROCESSING",s[s.VALID=2]="VALID",s[s.INVALID=3]="INVALID",s))(ue||{});const at={0:"待确认",1:"发放中",2:"有效",3:"无效"},nt={0:"yellow-500",1:"blue-500",2:"green-500",3:"red-500"};var Ps=(s=>(s.MONTH_PRICE="month_price",s.QUARTER_PRICE="quarter_price",s.HALF_YEAR_PRICE="half_year_price",s.YEAR_PRICE="year_price",s.TWO_YEAR_PRICE="two_year_price",s.THREE_YEAR_PRICE="three_year_price",s.ONETIME_PRICE="onetime_price",s.RESET_PRICE="reset_price",s))(Ps||{});const ht={month_price:"月付",quarter_price:"季付",half_year_price:"半年付",year_price:"年付",two_year_price:"两年付",three_year_price:"三年付",onetime_price:"一次性",reset_price:"流量重置包"};var je=(s=>(s.Shadowsocks="shadowsocks",s.Vmess="vmess",s.Trojan="trojan",s.Hysteria="hysteria",s.Vless="vless",s))(je||{});const vs=[{type:"shadowsocks",label:"Shadowsocks"},{type:"vmess",label:"VMess"},{type:"trojan",label:"Trojan"},{type:"hysteria",label:"Hysteria"},{type:"vless",label:"VLess"}],Qe={shadowsocks:"#489851",vmess:"#CB3180",trojan:"#EBB749",hysteria:"#5684e6",vless:"#1a1a1a"};var kt=(s=>(s[s.AMOUNT=1]="AMOUNT",s[s.PERCENTAGE=2]="PERCENTAGE",s))(kt||{});const Zt={1:"按金额优惠",2:"按比例优惠"},fd={0:"正常",1:"锁定"};var Is=(s=>(s[s.OPENING=0]="OPENING",s[s.CLOSED=1]="CLOSED",s))(Is||{});const vd={0:"开启",1:"已关闭"};var Je=(s=>(s[s.LOW=0]="LOW",s[s.MIDDLE=1]="MIDDLE",s[s.HIGH=2]="HIGH",s))(Je||{});const Bs={0:"低",1:"中",2:"高"};function bd(){const s=Xe(),{data:t}=K({queryKey:["pendingTickets"],queryFn:()=>nr({filter:[{id:"status",value:0}]}),staleTime:1e3*30,refetchInterval:1e3*30}),{data:a}=K({queryKey:["pendingCommissions"],queryFn:()=>ar({filter:[{id:"commission_status",value:ue.PENDING},{id:"status",value:ie.COMPLETED}]}),staleTime:1e3*30,refetchInterval:1e3*30}),n=t?.data||[],r=a?.data||[],l=()=>{s("/finance/order",{state:{filters:[{id:"commission_status",value:ue.PENDING},{id:"status",value:ie.COMPLETED}]}})};return e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[e.jsxs(_e,{className:`cursor-pointer transition-colors hover:bg-muted/50 ${n.length>0?"border-orange-500/50":""}`,onClick:()=>s("/user/ticket"),children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(Oe,{className:"text-sm font-medium",children:"待处理工单"}),e.jsx(fi,{className:`h-4 w-4 ${n.length>0?"text-orange-500":"text-muted-foreground"}`})]}),e.jsxs(De,{children:[e.jsx("div",{className:"text-2xl font-bold",children:n.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:n.length>0?"有待处理的工单需要关注":"暂无待处理工单"})]})]}),e.jsxs(_e,{className:`cursor-pointer transition-colors hover:bg-muted/50 ${r.length>0?"border-blue-500/50":""}`,onClick:l,children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(Oe,{className:"text-sm font-medium",children:"待处理佣金"}),e.jsx(vi,{className:`h-4 w-4 ${r.length>0?"text-blue-500":"text-muted-foreground"}`})]}),e.jsxs(De,{children:[e.jsx("div",{className:"text-2xl font-bold",children:r.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r.length>0?"有待处理的佣金需要确认":"暂无待处理佣金"})]})]})]})}function Ve({className:s,...t}){return e.jsx("div",{className:g("animate-pulse rounded-md bg-primary/10",s),...t})}function yd(){return e.jsxs(_e,{children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(Ve,{className:"h-4 w-[100px]"}),e.jsx(Ve,{className:"h-4 w-4"})]}),e.jsxs(De,{children:[e.jsx(Ve,{className:"h-8 w-[120px]"}),e.jsx("div",{className:"flex items-center pt-1",children:e.jsx(Ve,{className:"h-4 w-[100px]"})})]})]})}function Nd(){return e.jsx("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-4",children:Array.from({length:4}).map((s,t)=>e.jsx(yd,{},t))})}function rt({title:s,value:t,icon:a,trend:n,className:r}){return e.jsxs(_e,{className:g("transition-colors hover:border-primary/50",r),children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(Oe,{className:"text-sm font-medium",children:s}),a]}),e.jsxs(De,{children:[e.jsx("div",{className:"text-2xl font-bold",children:t}),e.jsxs("div",{className:"flex items-center pt-1",children:[e.jsx(wi,{className:g("h-4 w-4",n.isPositive?"text-emerald-500":"text-red-500")}),e.jsxs("span",{className:g("ml-1 text-xs",n.isPositive?"text-emerald-500":"text-red-500"),children:[n.isPositive?"+":"-",Math.abs(n.value),"%"]}),e.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:n.label})]})]})]})}function wd({className:s}){const{data:t,isLoading:a}=K({queryKey:["dashboardStats"],queryFn:async()=>(await dc()).data,refetchInterval:3e5});return a||!t?e.jsx(Nd,{}):e.jsxs("div",{className:g("grid gap-4 md:grid-cols-2 lg:grid-cols-4",s),children:[e.jsx(rt,{title:"本月收入",value:`¥${t.currentMonthIncome/100}`,icon:e.jsx(bi,{className:"h-4 w-4 text-emerald-500"}),trend:{value:t.monthIncomeGrowth,label:"vs 上月",isPositive:t.monthIncomeGrowth>0}}),e.jsx(rt,{title:"上月收入",value:`¥${t.lastMonthIncome/100}`,icon:e.jsx(yi,{className:"h-4 w-4 text-muted-foreground"}),trend:{value:t.lastMonthIncomeGrowth,label:"vs 上上月",isPositive:t.lastMonthIncomeGrowth>0}}),e.jsx(rt,{title:"上月佣金支出",value:`¥${t.lastMonthCommissionPayout/100}`,icon:e.jsx(Ni,{className:"h-4 w-4 text-destructive"}),trend:{value:t.commissionGrowth,label:"vs 上上月",isPositive:t.commissionGrowth>0}}),e.jsx(rt,{title:"本月新增用户",value:t.currentMonthNewUsers,icon:e.jsx(xn,{className:"h-4 w-4 text-blue-500"}),trend:{value:t.userGrowth,label:"vs 上月",isPositive:t.userGrowth>0}})]})}function et({className:s,classNames:t,showOutsideDays:a=!0,...n}){return e.jsx(_i,{showOutsideDays:a,className:g("p-3",s),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:g(Ms({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:g("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",n.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:g(Ms({variant:"ghost"}),"h-8 w-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start",day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:({className:r,...l})=>e.jsx(mn,{className:g("h-4 w-4",r),...l}),IconRight:({className:r,...l})=>e.jsx(Yt,{className:g("h-4 w-4",r),...l})},...n})}et.displayName="Calendar";const Ye=Si,We=ki,Ke=i.forwardRef(({className:s,align:t="center",sideOffset:a=4,...n},r)=>e.jsx(Ci,{children:e.jsx(hn,{ref:r,align:t,sideOffset:a,className:g("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...n})}));Ke.displayName=hn.displayName;const Kt=i.forwardRef(({className:s,children:t,...a},n)=>e.jsxs(jn,{ref:n,className:g("relative overflow-hidden",s),...a,children:[e.jsx(Ti,{className:"h-full w-full rounded-[inherit]",children:t}),e.jsx(jt,{}),e.jsx(Di,{})]}));Kt.displayName=jn.displayName;const jt=i.forwardRef(({className:s,orientation:t="vertical",...a},n)=>e.jsx(gn,{ref:n,orientation:t,className:g("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",s),...a,children:e.jsx(Pi,{className:"relative flex-1 rounded-full bg-border"})}));jt.displayName=gn.displayName;const qt={today:{label:"今天",getValue:()=>{const s=Fi();return{start:s,end:Vi(s,1)}}},last7days:{label:"最近7天",getValue:()=>{const s=new Date;return{start:Be(s,7),end:s}}},last30days:{label:"最近30天",getValue:()=>{const s=new Date;return{start:Be(s,30),end:s}}},custom:{label:"自定义范围",getValue:()=>null}};function wa({selectedRange:s,customDateRange:t,onRangeChange:a,onCustomRangeChange:n}){return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs(B,{value:s,onValueChange:a,children:[e.jsx(U,{className:"w-[140px]",children:e.jsx(Y,{placeholder:"选择时间范围"})}),e.jsx(G,{position:"popper",className:"z-50",children:Object.entries(qt).map(([r,{label:l}])=>e.jsx(A,{value:r,children:l},r))})]}),s==="custom"&&e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsxs(H,{variant:"outline",className:g("justify-start text-left font-normal",!t&&"text-muted-foreground"),children:[e.jsx(yt,{className:"mr-2 h-4 w-4"}),t?.from?t.to?e.jsxs(e.Fragment,{children:[us(t.from,"yyyy-MM-dd")," -"," ",us(t.to,"yyyy-MM-dd")]}):us(t.from,"yyyy-MM-dd"):e.jsx("span",{children:"选择日期范围"})]})}),e.jsx(Ke,{className:"w-auto p-0",align:"end",children:e.jsx(et,{initialFocus:!0,mode:"range",defaultMonth:t?.from,selected:{from:t?.from,to:t?.to},onSelect:r=>{r?.from&&r?.to&&n({from:r.from,to:r.to})},numberOfMonths:2})})]})]})}function _d({className:s}){const[t,a]=i.useState("today"),[n,r]=i.useState({from:Be(new Date,7),to:new Date}),[l,o]=i.useState("today"),[d,x]=i.useState({from:Be(new Date,7),to:new Date}),w=i.useMemo(()=>t==="custom"?{start:n.from,end:n.to}:qt[t].getValue(),[t,n]),m=i.useMemo(()=>l==="custom"?{start:d.from,end:d.to}:qt[l].getValue(),[l,d]),{data:v}=K({queryKey:["nodeTrafficRank",w.start,w.end],queryFn:()=>ya({type:"node",start_time:tt.round(w.start.getTime()/1e3),end_time:tt.round(w.end.getTime()/1e3)}),refetchInterval:3e4}),{data:u}=K({queryKey:["userTrafficRank",m.start,m.end],queryFn:()=>ya({type:"user",start_time:tt.round(m.start.getTime()/1e3),end_time:tt.round(m.end.getTime()/1e3)}),refetchInterval:3e4});return e.jsxs("div",{className:g("grid gap-4 md:grid-cols-2",s),children:[e.jsxs(_e,{children:[e.jsx(Te,{className:"flex-none pb-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(Oe,{className:"flex items-center text-base font-medium",children:[e.jsx(Ii,{className:"mr-2 h-4 w-4"}),"节点流量排行"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(wa,{selectedRange:t,customDateRange:n,onRangeChange:a,onCustomRangeChange:r}),e.jsx(xa,{className:"h-4 w-4 text-muted-foreground"})]})]})}),e.jsx(De,{className:"flex-1",children:v?.data?e.jsxs(Kt,{className:"h-[400px] pr-4",children:[e.jsx("div",{className:"space-y-3",children:v.data.map(y=>e.jsx("div",{className:"flex items-center justify-between space-x-2 rounded-lg bg-muted/50 p-2",children:e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"truncate text-sm font-medium",children:y.name}),e.jsxs("span",{className:g("ml-2 flex items-center text-xs font-medium",y.change>=0?"text-green-600":"text-red-600"),children:[y.change>=0?e.jsx(Mt,{className:"mr-1 h-3 w-3"}):e.jsx(zt,{className:"mr-1 h-3 w-3"}),Math.abs(y.change),"%"]})]}),e.jsxs("div",{className:"mt-1 flex items-center gap-2",children:[e.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-muted",children:e.jsx("div",{className:"h-full bg-primary transition-all",style:{width:`${y.value/v.data[0].value*100}%`}})}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[(y.value/1024/1024/1024).toFixed(2)," GB"]})]})]})},y.id))}),e.jsx(jt,{orientation:"vertical"})]}):e.jsx("div",{className:"flex h-[400px] items-center justify-center",children:e.jsx("div",{className:"animate-pulse",children:"Loading..."})})})]}),e.jsxs(_e,{children:[e.jsx(Te,{className:"flex-none pb-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(Oe,{className:"flex items-center text-base font-medium",children:[e.jsx(xn,{className:"mr-2 h-4 w-4"}),"用户流量排行"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(wa,{selectedRange:l,customDateRange:d,onRangeChange:o,onCustomRangeChange:x}),e.jsx(xa,{className:"h-4 w-4 text-muted-foreground"})]})]})}),e.jsx(De,{className:"flex-1",children:u?.data?e.jsxs(Kt,{className:"h-[400px] pr-4",children:[e.jsx("div",{className:"space-y-3",children:u.data.map(y=>e.jsx("div",{className:"flex items-center justify-between space-x-2 rounded-lg bg-muted/50 p-2",children:e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"truncate text-sm font-medium",children:y.name}),e.jsxs("span",{className:g("ml-2 flex items-center text-xs font-medium",y.change>=0?"text-green-600":"text-red-600"),children:[y.change>=0?e.jsx(Mt,{className:"mr-1 h-3 w-3"}):e.jsx(zt,{className:"mr-1 h-3 w-3"}),Math.abs(y.change),"%"]})]}),e.jsxs("div",{className:"mt-1 flex items-center gap-2",children:[e.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-muted",children:e.jsx("div",{className:"h-full bg-primary transition-all",style:{width:`${y.value/u.data[0].value*100}%`}})}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[(y.value/1024/1024/1024).toFixed(2)," GB"]})]})]})},y.id))}),e.jsx(jt,{orientation:"vertical"})]}):e.jsx("div",{className:"flex h-[400px] items-center justify-center",children:e.jsx("div",{className:"animate-pulse",children:"Loading..."})})})]})]})}const Cd=Ns("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/10",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function E({className:s,variant:t,...a}){return e.jsx("div",{className:g(Cd({variant:t}),s),...a})}const qs=window?.settings?.secure_path,_a={getSystemStatus:()=>I.get(`${qs}/system/getSystemStatus`),getQueueStats:()=>I.get(`${qs}/system/getQueueStats`),getQueueWorkload:()=>I.get(`${qs}/system/getQueueWorkload`),getQueueMasters:()=>I.get(`${qs}/system/getQueueMasters`),getSystemLog:s=>I.get(`${qs}/system/getSystemLog`,{params:s})},ut=i.forwardRef(({className:s,value:t,...a},n)=>e.jsx(pn,{ref:n,className:g("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",s),...a,children:e.jsx(Ri,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));ut.displayName=pn.displayName;function Sd(){const[s,t]=i.useState(null),[a,n]=i.useState(null),[r,l]=i.useState(!0),[o,d]=i.useState(!1),x=async()=>{try{d(!0);const[v,u]=await Promise.all([_a.getSystemStatus(),_a.getQueueStats()]);t(v.data),n(u.data)}catch(v){console.error("Error fetching system data:",v)}finally{l(!1),d(!1)}};i.useEffect(()=>{x();const v=setInterval(x,3e4);return()=>clearInterval(v)},[]);const w=()=>{x()};if(r)return e.jsx("div",{className:"flex items-center justify-center p-6",children:e.jsx(Wt,{className:"h-6 w-6 animate-spin"})});const m=v=>v?e.jsx(Oi,{className:"h-5 w-5 text-green-500"}):e.jsx(Li,{className:"h-5 w-5 text-red-500"});return e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs(_e,{children:[e.jsxs(Te,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Oe,{className:"flex items-center gap-2",children:[e.jsx(Mi,{className:"h-5 w-5"}),"队列状态"]}),e.jsx(Rs,{children:"当前队列运行状态"})]}),e.jsx(H,{variant:"outline",size:"icon",onClick:w,disabled:o,children:e.jsx(zi,{className:g("h-4 w-4",o&&"animate-spin")})})]}),e.jsx(De,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[m(a?.status||!1),e.jsx("span",{className:"font-medium",children:"运行状态"})]}),e.jsx(E,{variant:a?.status?"secondary":"destructive",children:a?.status?"正常":"异常"})]}),e.jsxs("div",{className:"text-sm text-muted-foreground",children:["当前等待时间:",a?.wait?.default||0," 秒"]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"近期任务数"}),e.jsx("p",{className:"text-2xl font-bold",children:a?.recentJobs||0}),e.jsx(ut,{value:(a?.recentJobs||0)/(a?.periods?.recentJobs||1)*100,className:"h-1"})]})}),e.jsx(te,{children:e.jsxs("p",{children:["统计时间范围: ",a?.periods?.recentJobs||0," 小时"]})})]})}),e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"每分钟处理量"}),e.jsx("p",{className:"text-2xl font-bold",children:a?.jobsPerMinute||0}),e.jsx(ut,{value:(a?.jobsPerMinute||0)/(a?.queueWithMaxThroughput?.throughput||1)*100,className:"h-1"})]})}),e.jsx(te,{children:e.jsxs("p",{children:["最高吞吐量:"," ",a?.queueWithMaxThroughput?.throughput||0]})})]})})]})]})})]}),e.jsxs(_e,{children:[e.jsxs(Te,{children:[e.jsxs(Oe,{className:"flex items-center gap-2",children:[e.jsx(Ei,{className:"h-5 w-5"}),"作业详情"]}),e.jsx(Rs,{children:"队列处理详细信息"})]}),e.jsx(De,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"7日报错数量"}),e.jsx("p",{className:"text-2xl font-bold text-destructive",children:a?.failedJobs||0}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["保留 ",a?.periods?.failedJobs||0," 小时"]})]}),e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"最长运行队列"}),e.jsxs("p",{className:"text-2xl font-bold",children:[a?.queueWithMaxRuntime?.runtime||0,"s"]}),e.jsx("div",{className:"truncate text-xs text-muted-foreground",children:a?.queueWithMaxRuntime?.name||"N/A"})]})]}),e.jsxs("div",{className:"rounded-lg bg-muted/50 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"活跃进程"}),e.jsxs("span",{className:"font-medium",children:[a?.processes||0," /"," ",(a?.processes||0)+(a?.pausedMasters||0)]})]}),e.jsx(ut,{value:(a?.processes||0)/((a?.processes||0)+(a?.pausedMasters||0))*100,className:"mt-2 h-1"})]})]})})]})]})}function kd(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx("div",{className:"flex items-center",children:e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:"仪表盘"})}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ce,{}),e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsx(Ne,{children:e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"border-b pb-6",children:e.jsx(bd,{})}),e.jsxs("div",{className:"grid gap-6",children:[e.jsx(wd,{}),e.jsx(gd,{}),e.jsx(_d,{}),e.jsx(Sd,{})]})]})})]})}const Td=Object.freeze(Object.defineProperty({__proto__:null,default:kd},Symbol.toStringTag,{value:"Module"})),le=i.forwardRef(({className:s,orientation:t="horizontal",decorative:a=!0,...n},r)=>e.jsx(fn,{ref:r,decorative:a,orientation:t,className:g("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",s),...n}));le.displayName=fn.displayName;function Dd({className:s,items:t,...a}){const{pathname:n}=gt(),r=Xe(),[l,o]=i.useState(n??"/settings"),d=x=>{o(x),r(x)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"p-1 md:hidden",children:e.jsxs(B,{value:l,onValueChange:d,children:[e.jsx(U,{className:"h-12 sm:w-48",children:e.jsx(Y,{placeholder:"Theme"})}),e.jsx(G,{children:t.map(x=>e.jsx(A,{value:x.href,children:e.jsxs("div",{className:"flex gap-x-4 px-2 py-1",children:[e.jsx("span",{className:"scale-125",children:x.icon}),e.jsx("span",{className:"text-md",children:x.title})]})},x.href))})]})}),e.jsx("div",{className:"hidden w-full overflow-x-auto bg-background px-1 py-2 md:block",children:e.jsx("nav",{className:g("flex space-x-2 lg:flex-col lg:space-x-0 lg:space-y-1",s),...a,children:t.map(x=>e.jsxs(ws,{to:x.href,className:g(Fe({variant:"ghost"}),n===x.href?"bg-muted hover:bg-muted":"hover:bg-transparent hover:underline","justify-start"),children:[e.jsx("span",{className:"mr-2",children:x.icon}),x.title]},x.href))})})]})}const cr=[{title:"站点设置",key:"site",icon:e.jsx($i,{size:18}),href:"/config/system",description:"配置站点基本信息,包括站点名称、描述、货币单位等核心设置。"},{title:"安全设置",key:"safe",icon:e.jsx(Ja,{size:18}),href:"/config/system/safe",description:"配置系统安全相关选项,包括登录验证、密码策略、API访问等安全设置。"},{title:"订阅设置",key:"subscribe",icon:e.jsx(Qa,{size:18}),href:"/config/system/subscribe",description:"管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。"},{title:"邀请&佣金",key:"invite",icon:e.jsx(Ai,{size:18}),href:"/config/system/invite",description:"管理用户邀请和佣金系统,配置邀请奖励、分销规则等。"},{title:"节点配置",key:"server",icon:e.jsx(Wa,{size:18}),href:"/config/system/server",description:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"},{title:"邮件设置",key:"email",icon:e.jsx(Hi,{size:18}),href:"/config/system/email",description:"配置系统邮件服务,用于发送验证码、密码重置、通知等邮件,支持多种SMTP服务商。"},{title:"Telegram设置",key:"telegram",icon:e.jsx(Ki,{size:18}),href:"/config/system/telegram",description:"配置Telegram机器人功能,实现用户通知、账户绑定、指令交互等自动化服务。"},{title:"APP设置",key:"app",icon:e.jsx(Ya,{size:18}),href:"/config/system/app",description:"管理移动应用程序相关配置,包括API接口、版本控制、推送通知等功能设置。"}];function Pd(){return e.jsxs(pe,{fadedBelow:!0,fixedHeight:!0,children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:"系统设置"}),e.jsx("div",{className:"text-muted-foreground",children:"管理系统核心配置,包括站点、安全、订阅、邀请佣金、节点、邮件和通知等设置"})]}),e.jsx(le,{className:"my-6"}),e.jsxs("div",{className:"flex flex-1 flex-col space-y-8 overflow-auto lg:flex-row lg:space-x-12 lg:space-y-0",children:[e.jsx("aside",{className:"sticky top-0 lg:w-1/5",children:e.jsx(Dd,{items:cr})}),e.jsx("div",{className:"w-full p-1 pr-4 lg:max-w-xl",children:e.jsx("div",{className:"pb-16",children:e.jsx(Gt,{})})})]})]})]})}const Id=Object.freeze(Object.defineProperty({__proto__:null,default:Pd},Symbol.toStringTag,{value:"Module"}));function Fd({title:s,description:t,children:a}){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),e.jsx(le,{}),a]})}const O=i.forwardRef(({className:s,...t},a)=>e.jsx(vn,{className:g("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",s),...t,ref:a,children:e.jsx(qi,{className:g("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));O.displayName=vn.displayName;const Vd=c.object({logo:c.string().nullable(),force_https:c.number().nullable(),stop_register:c.number().nullable(),app_name:c.string().nullable(),app_description:c.string().nullable(),app_url:c.string().nullable(),subscribe_url:c.string().nullable(),try_out_plan_id:c.number().nullable(),try_out_hour:c.number().nullable(),tos_url:c.string().nullable(),currency:c.string().nullable(),currency_symbol:c.string().nullable()}),Ca={logo:"",force_https:0,stop_register:0,app_name:"",app_description:"",app_url:"",subscribe_url:"",try_out_plan_id:0,try_out_hour:0,tos_url:"",currency:"USD",currency_symbol:"$"},Rd=[{name:"app_name",label:"站点名称",placeholder:"请输入站点名称",description:"用于显示需要站点名称的地方。",type:"input"},{name:"app_description",label:"站点描述",placeholder:"请输入站点描述",description:"用于显示需要站点名称的地方。",type:"input"},{name:"app_url",label:"站点网址",placeholder:"请输入站点URL,末尾不要/",description:"当前网站最新网址,将会在邮件等需要用于网址处体现。",type:"input"},{name:"force_https",label:"强制HTTPS",description:"当站点没有使用HTTPS,CDN或反代开启强制HTTPS时需要开启。",type:"switch"},{name:"logo",label:"LOGO",placeholder:"请输入LOGO URL,末尾不要/",description:"用于显示需要LOGO的地方。",type:"input"},{name:"subscribe_url",label:"订阅URL",placeholder:'用于订阅所使用,多个订阅地址用","隔开.留空则为站点URL。',description:"用于订阅所使用,留空则为站点URL。",type:"input"},{name:"tos_url",label:"用户条款(TOS)URL",placeholder:"请输入用户条款URL,末尾不要/",description:"用于跳转到用户条款(TOS)",type:"input"},{name:"stop_register",label:"停止新用户注册",description:"开启后任何人都将无法进行注册。",type:"switch"},{name:"try_out_plan_id",label:"注册试用",description:"选择需要试用的订阅,如果没有选项请先前往订阅管理添加。",type:"select",placeholder:"关闭"},{name:"currency",label:"货币单位",placeholder:"CNY",description:"仅用于展示使用,更改后系统中所有的货币单位都将发生变更。",type:"input"},{name:"currency_symbol",label:"货币符号",placeholder:"¥",description:"仅用于展示使用,更改后系统中所有的货币单位都将发生变更。",type:"input"}];function Md(){const{data:s}=K({queryKey:["settings","site"],queryFn:()=>rs("site")}),{data:t}=K({queryKey:["plans"],queryFn:()=>Es()}),a=Z({resolver:ee(Vd),defaultValues:Ca,mode:"onChange"});i.useEffect(()=>{if(s?.data?.site){const l=s?.data?.site;Object.entries(l).forEach(([o,d])=>{o in Ca&&a.setValue(o,d)})}},[s,a]);function n(l){const o=Object.entries(l).reduce((d,[x,w])=>(d[x]=w===null?"":w,d),{});ls(o).then(({data:d})=>{d&&R.success("更新成功")})}const r=l=>e.jsx(j,{control:a.control,name:l.name,render:({field:o})=>e.jsxs(h,{children:[l.type==="switch"?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:l.label}),e.jsx(F,{children:l.description})]}),e.jsx(b,{children:e.jsx(O,{checked:!!o.value,onCheckedChange:d=>o.onChange(Number(d))})})]}):l.type==="select"&&l.name==="try_out_plan_id"?e.jsxs(e.Fragment,{children:[e.jsx(p,{children:l.label}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(b,{children:e.jsxs("select",{className:g(Fe({variant:"outline"}),"w-[200px] appearance-none font-normal"),value:o.value||0,onChange:d=>o.onChange(Number(d.target.value)),children:[e.jsx("option",{value:0,children:l.placeholder}),t?.data?.map(d=>e.jsx("option",{value:d.id,children:d.name},d.id))]})}),e.jsx(Ze,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(F,{children:l.description})]}):e.jsxs(e.Fragment,{children:[e.jsx(p,{children:l.label}),e.jsx(b,{children:e.jsx(S,{placeholder:l.placeholder,...o,value:o.value||""})}),e.jsx(F,{children:l.description})]}),e.jsx(k,{})]})},l.name);return e.jsx(se,{...a,children:e.jsxs("form",{onSubmit:a.handleSubmit(n),className:"space-y-8",children:[Rd.map(r),e.jsx(C,{type:"submit",children:"更新配置"})]})})}function zd(){const s=cr.find(t=>t.key==="site");return e.jsx(Fd,{title:s.title,description:s.description,children:e.jsx(Md,{})})}const Ed=Object.freeze(Object.defineProperty({__proto__:null,default:zd},Symbol.toStringTag,{value:"Module"})),ps=i.forwardRef(({className:s,...t},a)=>e.jsx("textarea",{className:g("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:a,...t}));ps.displayName="Textarea";const Od=c.object({email_verify:c.boolean().nullable(),safe_mode_enable:c.boolean().nullable(),secure_path:c.string().nullable(),email_whitelist_enable:c.boolean().nullable(),email_whitelist_suffix:c.array(c.string().nullable()).nullable(),email_gmail_limit_enable:c.boolean().nullable(),recaptcha_enable:c.boolean().nullable(),recaptcha_key:c.string().nullable(),recaptcha_site_key:c.string().nullable(),register_limit_by_ip_enable:c.boolean().nullable(),register_limit_count:c.coerce.string().transform(s=>s===""?null:s).nullable(),register_limit_expire:c.coerce.string().transform(s=>s===""?null:s).nullable(),password_limit_enable:c.boolean().nullable(),password_limit_count:c.coerce.string().transform(s=>s===""?null:s).nullable(),password_limit_expire:c.coerce.string().transform(s=>s===""?null:s).nullable()}),Ld={email_verify:!1,safe_mode_enable:!1,secure_path:"",email_whitelist_enable:!1,email_whitelist_suffix:[],email_gmail_limit_enable:!1,recaptcha_enable:!1,recaptcha_key:"",recaptcha_site_key:"",register_limit_by_ip_enable:!1,register_limit_count:"",register_limit_expire:"",password_limit_enable:!1,password_limit_count:"",password_limit_expire:""};function $d(){const s=Z({resolver:ee(Od),defaultValues:Ld,mode:"onChange"}),{data:t}=K({queryKey:["settings","safe"],queryFn:()=>rs("safe")});i.useEffect(()=>{if(t?.data.safe){const n=t.data.safe;Object.entries(n).forEach(([r,l])=>{typeof l=="number"?s.setValue(r,String(l)):s.setValue(r,l)})}},[t,s]);function a(n){ls(n).then(({data:r})=>{r&&R.success("保存成功")})}return e.jsx(se,{...s,children:e.jsxs("form",{onSubmit:s.handleSubmit(a),className:"space-y-8",children:[e.jsx(j,{control:s.control,name:"email_verify",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"邮箱验证"}),e.jsx(F,{children:"开启后将会强制要求用户进行邮箱验证。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:s.control,name:"email_gmail_limit_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"禁止使用Gmail多别名"}),e.jsx(F,{children:"开启后Gmail多别名将无法注册。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:s.control,name:"safe_mode_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"安全模式"}),e.jsx(F,{children:"开启后除了站点URL以外的绑定本站点的域名访问都将会被403。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:s.control,name:"secure_path",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"后台路径"}),e.jsx(b,{children:e.jsx(S,{placeholder:"admin",...n})}),e.jsx(F,{children:"后台管理路径,修改后将会改变原有的admin路径"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"email_whitelist_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"邮箱后缀白名单"}),e.jsx(F,{children:"开启后在名单中的邮箱后缀才允许进行注册。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),s.watch("email_whitelist_enable")&&e.jsx(j,{control:s.control,name:"email_whitelist_suffix",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"白名单后缀"}),e.jsx(b,{children:e.jsx(ps,{placeholder:"请输入后缀域名,逗号分割 如:qq.com,gmail.com",value:n.value?.length&&n.value.join(","),onChange:r=>{r.target.value&&n.onChange(r.target.value.split(","))}})}),e.jsx(F,{children:"请使用逗号进行分割,如:qq.com,gmail.com。"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"recaptcha_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"防机器人"}),e.jsx(F,{children:"开启后将会使用Google reCAPTCHA防止机器人。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),s.watch("recaptcha_enable")&&e.jsx(j,{control:s.control,name:"recaptcha_key",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"密钥"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"在Google reCAPTCHA申请的密钥。"}),e.jsx(k,{})]})}),s.watch("recaptcha_enable")&&e.jsx(j,{control:s.control,name:"recaptcha_site_key",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"网站密钥"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"在Google reCAPTCH申请的网站密钥。"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"register_limit_by_ip_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"IP注册限制"}),e.jsx(F,{children:"开启后如果IP注册账户达到规则要求将会被限制注册,请注意IP判断可能因为CDN或前置代理导致问题。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),s.watch("register_limit_by_ip_enable")&&e.jsx(j,{control:s.control,name:"register_limit_count",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"次数"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"达到注册次数后开启惩罚。"}),e.jsx(k,{})]})}),s.watch("register_limit_by_ip_enable")&&e.jsx(j,{control:s.control,name:"register_limit_expire",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"惩罚时间(分钟)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"需要等待惩罚时间过后才可以再次注册。"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"password_limit_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"IP注册限制"}),e.jsx(F,{children:"开启后如果IP注册账户达到规则要求将会被限制注册,请注意IP判断可能因为CDN或前置代理导致问题。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),s.watch("password_limit_enable")&&e.jsx(j,{control:s.control,name:"password_limit_count",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"次数"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"达到注册次数后开启惩罚。"}),e.jsx(k,{})]})}),s.watch("password_limit_enable")&&e.jsx(j,{control:s.control,name:"password_limit_expire",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"惩罚时间(分钟)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"需要等待惩罚时间过后才可以再次登陆。"}),e.jsx(k,{})]})}),e.jsx(C,{type:"submit",children:"保存配置"})]})})}function Ad(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"安全设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置系统安全相关选项,包括登录验证、密码策略、API访问等安全设置。"})]}),e.jsx(le,{}),e.jsx($d,{})]})}const Hd=Object.freeze(Object.defineProperty({__proto__:null,default:Ad},Symbol.toStringTag,{value:"Module"})),Kd=c.object({plan_change_enable:c.boolean().nullable().default(!1),reset_traffic_method:c.coerce.number().nullable().default(0),surplus_enable:c.boolean().nullable().default(!1),new_order_event_id:c.coerce.number().nullable().default(0),renew_order_event_id:c.coerce.number().nullable().default(0),change_order_event_id:c.coerce.number().nullable().default(0),show_info_to_server_enable:c.boolean().nullable().default(!1),show_protocol_to_server_enable:c.boolean().nullable().default(!1),default_remind_expire:c.boolean().nullable().default(!1),default_remind_traffic:c.boolean().nullable().default(!1),remind_mail_enable:c.boolean().nullable().default(!1)});function qd(){const{data:s}=K({queryKey:["settings","subscribe"],queryFn:()=>rs("subscribe")}),t=Z({resolver:ee(Kd),mode:"onChange"});i.useEffect(()=>{if(s?.data?.subscribe){const n=s?.data?.subscribe;Object.entries(n).forEach(([r,l])=>{t.setValue(r,l)})}},[s]);function a(n){ls(n).then(({data:r})=>{r&&R.success("更新成功")})}return e.jsx(se,{...t,children:e.jsxs("form",{onSubmit:t.handleSubmit(a),className:"space-y-8",children:[e.jsx(j,{control:t.control,name:"plan_change_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"允许用户更改订阅"}),e.jsx(F,{children:"开启后用户将会可以对订阅计划进行变更。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"reset_traffic_method",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"月流量重置方式"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(b,{children:e.jsxs("select",{className:g(Fe({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"0",children:"每月1号"}),e.jsx("option",{value:"1",children:"按月重置"}),e.jsx("option",{value:"2",children:"不重置"}),e.jsx("option",{value:"3",children:"每年1月1号"}),e.jsx("option",{value:"4",children:"按年重置"})]})}),e.jsx(Ze,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(F,{children:"全局流量重置方式,默认每月1号。可以在订阅管理为订阅单独设置。"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"surplus_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"开启折抵方案"}),e.jsx(F,{children:"开启后用户更换订阅将会由系统对原有订阅进行折抵,方案参考文档。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"new_order_event_id",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"当订阅新购时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(b,{children:e.jsxs("select",{className:g(Fe({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(Ze,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(F,{children:"新购订阅完成时将触发该任务。"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"renew_order_event_id",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"当订阅续费时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(b,{children:e.jsxs("select",{className:g(Fe({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(Ze,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(F,{children:"续费订阅完成时将触发该任务。"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"change_order_event_id",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"当订阅变更时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(b,{children:e.jsxs("select",{className:g(Fe({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(Ze,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(F,{children:"变更订阅完成时将触发该任务。"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"show_info_to_server_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"在订阅中展示订阅信息"}),e.jsx(F,{children:"开启后将会在用户订阅节点时输出订阅信息。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"show_protocol_to_server_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"在订阅中线路名称中显示协议名称"}),e.jsx(F,{children:"开启后订阅线路会附带协议名称(例如: [Hy2]香港)"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"remind_mail_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"邮件提醒"}),e.jsx(F,{children:"开启后用户订阅即将到期时和流量告急时时将发送邮件通知。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value||!1,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"default_remind_expire",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"用户订阅到期提醒的默认设置"}),e.jsx(F,{children:"开启后新注册用户将默认接收订阅到期提醒。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value||!1,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"default_remind_traffic",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"用户流量告急提醒的默认设置"}),e.jsx(F,{children:"开启后新注册用户将默认接收流量告急提醒。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value||!1,onCheckedChange:n.onChange})})]})}),e.jsx(C,{type:"submit",children:"保存设置"})]})})}function Ud(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"订阅设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。"})]}),e.jsx(le,{}),e.jsx(qd,{})]})}const Gd=Object.freeze(Object.defineProperty({__proto__:null,default:Ud},Symbol.toStringTag,{value:"Module"})),Bd=c.object({invite_force:c.boolean().default(!1),invite_commission:c.coerce.string().default("0"),invite_gen_limit:c.coerce.string().default("0"),invite_never_expire:c.boolean().default(!1),commission_first_time_enable:c.boolean().default(!1),commission_auto_check_enable:c.boolean().default(!1),commission_withdraw_limit:c.coerce.string().default("0"),commission_withdraw_method:c.array(c.string()).default(["支付宝","USDT","Paypal"]),withdraw_close_enable:c.boolean().default(!1),commission_distribution_enable:c.boolean().default(!1),commission_distribution_l1:c.coerce.number().default(0),commission_distribution_l2:c.coerce.number().default(0),commission_distribution_l3:c.coerce.number().default(0)}),Yd={invite_force:!1,invite_commission:"0",invite_gen_limit:"0",invite_never_expire:!1,commission_first_time_enable:!1,commission_auto_check_enable:!1,commission_withdraw_limit:"0",commission_withdraw_method:["支付宝","USDT","Paypal"],withdraw_close_enable:!1,commission_distribution_enable:!1,commission_distribution_l1:0,commission_distribution_l2:0,commission_distribution_l3:0};function Wd(){const{data:s}=K({queryKey:["settings","invite"],queryFn:()=>rs("invite")}),t=Z({resolver:ee(Bd),defaultValues:Yd,mode:"onChange"});i.useEffect(()=>{if(s?.data?.invite){const n=s?.data?.invite;Object.entries(n).forEach(([r,l])=>{typeof l=="number"?t.setValue(r,String(l)):t.setValue(r,l)})}},[s,t]);function a(n){ls(n).then(r=>{r.data&&R.success("更新成功")})}return e.jsx(se,{...t,children:e.jsxs("form",{onSubmit:t.handleSubmit(a),className:"space-y-8",children:[e.jsx(j,{control:t.control,name:"invite_force",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"开启强制邀请"}),e.jsx(F,{children:"开启后只有被邀请的用户才可以进行注册。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"invite_commission",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"邀请佣金百分比"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"默认全局的佣金分配比例,你可以在用户管理单独配置单个比例。"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"invite_gen_limit",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"用户可创建邀请码上限"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"用户可创建邀请码上限"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"invite_never_expire",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"邀请码永不失效"}),e.jsx(F,{children:"开启后邀请码被使用后将不会失效,否则使用过后即失效。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"commission_first_time_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"佣金仅首次发放"}),e.jsx(F,{children:"开启后被邀请人首次支付时才会产生佣金,可以在用户管理对用户进行单独配置。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"commission_auto_check_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"佣金自动确认"}),e.jsx(F,{children:"开启后佣金将会在订单完成3日后自动进行确认。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"commission_withdraw_limit",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"提现单申请门槛(元)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"小于门槛金额的提现单将不会被提交。"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"commission_withdraw_method",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"提现方式"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"可以支持的提现方式。"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"withdraw_close_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"关闭提现"}),e.jsx(F,{children:"关闭后将禁止用户申请提现,且邀请佣金将会直接进入用户余额。"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"commission_distribution_enable",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"三级分销"}),e.jsxs(F,{children:["开启后将佣金将按照设置的3成比例进行分成,三成比例合计请不要",">","100%。"]})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),t.watch("commission_distribution_enable")&&e.jsxs(e.Fragment,{children:[e.jsx(j,{control:t.control,name:"commission_distribution_l1",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"一级邀请人比例"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入比例如:50",...n})}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"commission_distribution_l2",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"二级邀请人比例"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入比例如:50",...n})}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"commission_distribution_l3",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"三级邀请人比例"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入比例如:50",...n})}),e.jsx(k,{})]})})]}),e.jsx(C,{type:"submit",children:"保存设置"})]})})}function Jd(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"邀请&佣金设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"邀请注册、佣金相关设置。"})]}),e.jsx(le,{}),e.jsx(Wd,{})]})}const Qd=Object.freeze(Object.defineProperty({__proto__:null,default:Jd},Symbol.toStringTag,{value:"Module"})),Zd=c.object({frontend_theme:c.string().nullable(),frontend_theme_sidebar:c.string().nullable(),frontend_theme_header:c.string().nullable(),frontend_theme_color:c.string().nullable(),frontend_background_url:c.string().url().nullable()}),Xd={frontend_theme:"",frontend_theme_sidebar:"",frontend_theme_header:"",frontend_theme_color:"",frontend_background_url:""};function eu(){const{data:s}=K({queryKey:["settings","frontend"],queryFn:()=>rs("frontend")}),t=Z({resolver:ee(Zd),defaultValues:Xd,mode:"onChange"});i.useEffect(()=>{if(s?.data?.frontend){const n=s?.data?.frontend;Object.entries(n).forEach(([r,l])=>{t.setValue(r,l)})}},[s]);function a(n){ls(n).then(({data:r})=>{r&&R.success("更新成功")})}return e.jsx(se,{...t,children:e.jsxs("form",{onSubmit:t.handleSubmit(a),className:"space-y-8",children:[e.jsx(j,{control:t.control,name:"frontend_theme_sidebar",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"边栏风格"}),e.jsx(F,{children:"边栏风格"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"frontend_theme_header",render:({field:n})=>e.jsxs(h,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(p,{className:"text-base",children:"头部风格"}),e.jsx(F,{children:"边栏风格"})]}),e.jsx(b,{children:e.jsx(O,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(j,{control:t.control,name:"frontend_theme_color",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"主题色"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(b,{children:e.jsxs("select",{className:g(Fe({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"default",children:"默认"}),e.jsx("option",{value:"black",children:"黑色"}),e.jsx("option",{value:"blackblue",children:"暗蓝色"}),e.jsx("option",{value:"green",children:"奶绿色"})]})}),e.jsx(Ze,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(F,{children:"主题色"}),e.jsx(k,{})]})}),e.jsx(j,{control:t.control,name:"frontend_background_url",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"背景"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入图片地址",...n})}),e.jsx(F,{children:"将会在后台登录页面进行展示。"}),e.jsx(k,{})]})}),e.jsx(C,{type:"submit",children:"保存设置"})]})})}function su(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"个性化设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"自定义系统界面外观,包括主题风格、布局、颜色方案、背景图等个性化选项。"})]}),e.jsx(le,{}),e.jsx(eu,{})]})}const tu=Object.freeze(Object.defineProperty({__proto__:null,default:su},Symbol.toStringTag,{value:"Module"})),au=c.object({server_pull_interval:c.coerce.number().nullable(),server_push_interval:c.coerce.number().nullable(),server_token:c.string().nullable()}),nu={server_pull_interval:0,server_push_interval:0,server_token:""};function ru(){const s=Z({resolver:ee(au),defaultValues:nu,mode:"onChange"}),{data:t}=K({queryKey:["settings","server"],queryFn:()=>rs("server")});i.useEffect(()=>{if(t?.data.server){const n=t.data.server;Object.entries(n).forEach(([r,l])=>{s.setValue(r,l)})}},[t]);function a(n){ls(n).then(({data:r})=>{r&&R.success("保存成功")})}return e.jsx(se,{...s,children:e.jsxs("form",{onSubmit:s.handleSubmit(a),className:"space-y-8",children:[e.jsx(j,{control:s.control,name:"server_token",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"通讯密钥"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"Xboard与节点通讯的密钥,以便数据不会被他人获取。"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"server_pull_interval",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"节点拉取动作轮询间隔"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"节点从面板获取数据的间隔频率。"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"server_push_interval",render:({field:n})=>e.jsxs(h,{children:[e.jsx(p,{children:"节点推送动作轮询间隔"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...n})}),e.jsx(F,{children:"节点推送数据到面板的间隔频率。"}),e.jsx(k,{})]})}),e.jsx(C,{type:"submit",children:"保存设置"})]})})}function lu(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"节点配置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"})]}),e.jsx(le,{}),e.jsx(ru,{})]})}const iu=Object.freeze(Object.defineProperty({__proto__:null,default:lu},Symbol.toStringTag,{value:"Module"})),ou=c.object({email_template:c.string().nullable(),email_host:c.string().nullable(),email_port:c.string().regex(/^\d+$/).nullable(),email_username:c.string().nullable(),email_password:c.string().nullable(),email_encryption:c.string().nullable(),email_from_address:c.string().email().nullable()}),cu={email_template:"classic",email_host:"",email_port:"465",email_username:"",email_password:"",email_encryption:"",email_from_address:""};function du(){const s=Z({resolver:ee(ou),defaultValues:cu,mode:"onChange"}),{data:t}=K({queryKey:["settings","email"],queryFn:()=>rs("email")}),{data:a}=K({queryKey:["emailTemplate"],queryFn:()=>id()});i.useEffect(()=>{if(t?.data.email){const l=t.data.email;Object.entries(l).forEach(([o,d])=>{s.setValue(o,d)})}},[t]);const{isLoading:n,refetch:r}=K({queryKey:["sendTestMail"],queryFn:()=>od().then(()=>R.success("发送成功")),enabled:!1});return e.jsxs(se,{...s,children:[e.jsx(j,{control:s.control,name:"email_host",render:({field:l})=>e.jsxs(h,{children:[e.jsx(p,{children:"SMTP服务器地址"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...l})}),e.jsx(F,{children:"由邮件服务商提供的服务地址"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"email_port",render:({field:l})=>e.jsxs(h,{children:[e.jsx(p,{children:"SMTP服务端口"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...l})}),e.jsx(F,{children:"常见的端口有25, 465, 587"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"email_encryption",render:({field:l})=>e.jsxs(h,{children:[e.jsx(p,{children:"SMTP加密方式"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...l})}),e.jsx(F,{children:"465端口加密方式一般为SSL,587端口加密方式一般为TLS"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"email_username",render:({field:l})=>e.jsxs(h,{children:[e.jsx(p,{children:"SMTP账号"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...l})}),e.jsx(F,{children:"由邮件服务商提供的账号"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"email_password",render:({field:l})=>e.jsxs(h,{children:[e.jsx(p,{children:"SMTP密码"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...l})}),e.jsx(F,{children:"由邮件服务商提供的密码"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"email_from_address",render:({field:l})=>e.jsxs(h,{children:[e.jsx(p,{children:"发件地址"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入",...l})}),e.jsx(F,{children:"由邮件服务商提供的发件地址"}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"email_template",render:({field:l})=>e.jsxs(h,{children:[e.jsx(p,{children:"邮件模板"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(b,{children:e.jsx("select",{className:g(Fe({variant:"outline"}),"w-[200px] appearance-none font-normal"),...l,children:a?.data?.map(o=>e.jsx("option",{value:o,children:o},o))})}),e.jsx(Ze,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(F,{children:"你可以在文档查看如何自定义邮件模板"}),e.jsx(k,{})]})}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx(C,{type:"submit",onClick:()=>{s.handleSubmit(l=>{console.log(l),ls(l).then(({data:o})=>{o&&R.success("保存成功")})})()},children:"保存设置"}),e.jsx(C,{loading:n,onClick:()=>{r()},children:"发送测试邮件"})]})]})}function uu(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"邮件设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置系统邮件服务,用于发送验证码、密码重置、通知等邮件,支持多种SMTP服务商。"})]}),e.jsx(le,{}),e.jsx(du,{})]})}const xu=Object.freeze(Object.defineProperty({__proto__:null,default:uu},Symbol.toStringTag,{value:"Module"})),mu=c.object({telegram_bot_enable:c.boolean().nullable(),telegram_bot_token:c.string().nullable(),telegram_discuss_link:c.string().nullable()}),hu={telegram_bot_enable:!1,telegram_bot_token:"",telegram_discuss_link:""};function ju(){const s=Z({resolver:ee(mu),defaultValues:hu,mode:"onChange"}),{data:t}=K({queryKey:["settings","telegram"],queryFn:()=>rs("telegram")});i.useEffect(()=>{if(t?.data.telegram){const o=t.data.telegram;Object.entries(o).forEach(([d,x])=>{s.setValue(d,x)})}},[t]);const{mutate:a,status:n}=Et({mutationFn:o=>ls(o).then(({data:d})=>d&&R.success("保存成功")),mutationKey:["settings","telegram"]}),{mutate:r,status:l}=Et({mutationFn:o=>cd().then(({data:d})=>d&&R.success("保存成功")),mutationKey:["settings","settelegramWebhook"]});return e.jsxs(se,{...s,children:[e.jsx(j,{control:s.control,name:"telegram_bot_token",render:({field:o})=>e.jsxs(h,{children:[e.jsx(p,{children:"机器人Token"}),e.jsx(b,{children:e.jsx(S,{placeholder:"0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx",...o})}),e.jsx(F,{children:"请输入由Botfather提供的token。"}),e.jsx(k,{})]})}),s.watch("telegram_bot_token")&&e.jsxs(h,{children:[e.jsx(p,{children:"设置Webhook"}),e.jsx("div",{children:e.jsx(C,{loading:l=="pending",onClick:()=>{r()},children:"一键设置"})}),e.jsx(F,{children:"对机器人进行Webhook设置,不设置将无法收到Telegram通知。"}),e.jsx(k,{})]}),e.jsx(j,{control:s.control,name:"telegram_bot_enable",render:({field:o})=>e.jsxs(h,{children:[e.jsx(p,{children:"开启机器人通知"}),e.jsx(F,{children:"开启后bot将会对绑定了telegram的管理员和用户进行基础通知。"}),e.jsx(b,{children:e.jsx(O,{checked:o.value,onCheckedChange:o.onChange})}),e.jsx(k,{})]})}),e.jsx(j,{control:s.control,name:"telegram_discuss_link",render:({field:o})=>e.jsxs(h,{children:[e.jsx(p,{children:"群组地址"}),e.jsx(b,{children:e.jsx(S,{placeholder:"https://t.me/xxxxxx",...o})}),e.jsx(F,{children:"填写后将会在用户端展示,或者被用于需要的地方。"}),e.jsx(k,{})]})}),e.jsx(C,{type:"submit",loading:n==="pending",onClick:()=>{s.handleSubmit(o=>{console.log(o),a(o)})()},children:"保存设置"})]})}function gu(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"Telegram设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置Telegram机器人功能,实现用户通知、账户绑定、指令交互等自动化服务。"})]}),e.jsx(le,{}),e.jsx(ju,{})]})}const pu=Object.freeze(Object.defineProperty({__proto__:null,default:gu},Symbol.toStringTag,{value:"Module"})),fu=c.object({windows_version:c.string().nullable(),windows_download_url:c.string().nullable(),macos_version:c.string().nullable(),macos_download_url:c.string().nullable(),android_version:c.string().nullable(),android_download_url:c.string().nullable()}),vu={windows_version:"",windows_download_url:"",macos_version:"",macos_download_url:"",android_version:"",android_download_url:""};function bu(){const s=Z({resolver:ee(fu),defaultValues:vu,mode:"onChange"}),{data:t}=K({queryKey:["settings","app"],queryFn:()=>rs("app")});i.useEffect(()=>{if(t?.data.app){const r=t.data.app;Object.entries(r).forEach(([l,o])=>{s.setValue(l,o)})}},[t]);const{mutate:a,status:n}=Et({mutationFn:r=>ls(r).then(({data:l})=>l&&R.success("保存成功")),mutationKey:["settings","app","update"]});return e.jsxs(se,{...s,children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Windows"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Windows端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(j,{control:s.control,name:"windows_version",render:({field:r})=>e.jsxs(h,{children:[e.jsx(b,{children:e.jsx(S,{placeholder:"1.0.0",...r})}),e.jsx(k,{})]})})}),e.jsx("div",{children:e.jsx(j,{control:s.control,name:"windows_download_url",render:({field:r})=>e.jsxs(h,{children:[e.jsx(b,{children:e.jsx(S,{placeholder:"https://xxx.com/xxx.exe",...r})}),e.jsx(k,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"macOS"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"macOS端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(j,{control:s.control,name:"mac_version",render:({field:r})=>e.jsxs(h,{children:[e.jsx(b,{children:e.jsx(S,{placeholder:"1.0.0",...r})}),e.jsx(k,{})]})})}),e.jsx("div",{children:e.jsx(j,{control:s.control,name:"mac_download_url",render:({field:r})=>e.jsxs(h,{children:[e.jsx(b,{children:e.jsx(S,{placeholder:"https://xxx.com/xxx.dmg",...r})}),e.jsx(k,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Android"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Android端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(j,{control:s.control,name:"android_version",render:({field:r})=>e.jsxs(h,{children:[e.jsx(b,{children:e.jsx(S,{placeholder:"1.0.0",...r})}),e.jsx(k,{})]})})}),e.jsx("div",{children:e.jsx(j,{control:s.control,name:"android_download_url",render:({field:r})=>e.jsxs(h,{children:[e.jsx(b,{children:e.jsx(S,{placeholder:"https://xxx.com/xxx.apk",...r})}),e.jsx(k,{})]})})})]})]}),e.jsx(C,{type:"submit",loading:n=="pending",onClick:()=>{s.handleSubmit(r=>{a(r)})()},children:"保存设置"})]})}function yu(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"APP设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"管理移动应用程序相关配置,包括API接口、版本控制、推送通知等功能设置。"})]}),e.jsx(le,{}),e.jsx(bu,{})]})}const Nu=Object.freeze(Object.defineProperty({__proto__:null,default:yu},Symbol.toStringTag,{value:"Module"})),Xt=i.forwardRef(({className:s,...t},a)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:a,className:g("w-full caption-bottom text-sm",s),...t})}));Xt.displayName="Table";const ea=i.forwardRef(({className:s,...t},a)=>e.jsx("thead",{ref:a,className:g("[&_tr]:border-b",s),...t}));ea.displayName="TableHeader";const sa=i.forwardRef(({className:s,...t},a)=>e.jsx("tbody",{ref:a,className:g("[&_tr:last-child]:border-0",s),...t}));sa.displayName="TableBody";const wu=i.forwardRef(({className:s,...t},a)=>e.jsx("tfoot",{ref:a,className:g("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",s),...t}));wu.displayName="TableFooter";const xs=i.forwardRef(({className:s,...t},a)=>e.jsx("tr",{ref:a,className:g("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",s),...t}));xs.displayName="TableRow";const ta=i.forwardRef(({className:s,...t},a)=>e.jsx("th",{ref:a,className:g("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...t}));ta.displayName="TableHead";const Vs=i.forwardRef(({className:s,...t},a)=>e.jsx("td",{ref:a,className:g("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...t}));Vs.displayName="TableCell";const _u=i.forwardRef(({className:s,...t},a)=>e.jsx("caption",{ref:a,className:g("mt-4 text-sm text-muted-foreground",s),...t}));_u.displayName="TableCaption";function Cu({table:s}){const[t,a]=i.useState("");i.useEffect(()=>{a((s.getState().pagination.pageIndex+1).toString())},[s.getState().pagination.pageIndex]);const n=r=>{const l=parseInt(r);!isNaN(l)&&l>=1&&l<=s.getPageCount()?s.setPageIndex(l-1):a((s.getState().pagination.pageIndex+1).toString())};return e.jsxs("div",{className:"flex flex-col-reverse gap-4 px-2 py-4 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs("div",{className:"flex-1 text-sm text-muted-foreground",children:["已选择 ",s.getFilteredSelectedRowModel().rows.length," 项, 共"," ",s.getFilteredRowModel().rows.length," 项"]}),e.jsxs("div",{className:"flex flex-col-reverse items-center gap-4 sm:flex-row sm:gap-6 lg:gap-8",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"每页显示"}),e.jsxs(B,{value:`${s.getState().pagination.pageSize}`,onValueChange:r=>{s.setPageSize(Number(r))},children:[e.jsx(U,{className:"h-8 w-[70px]",children:e.jsx(Y,{placeholder:s.getState().pagination.pageSize})}),e.jsx(G,{side:"top",children:[10,20,30,40,50,100,500].map(r=>e.jsx(A,{value:`${r}`,children:r},r))})]})]}),e.jsxs("div",{className:"flex items-center justify-center space-x-2 text-sm font-medium",children:[e.jsx("span",{children:"第"}),e.jsx(S,{type:"text",value:t,onChange:r=>a(r.target.value),onBlur:r=>n(r.target.value),onKeyDown:r=>{r.key==="Enter"&&n(r.currentTarget.value)},className:"h-8 w-[50px] text-center"}),e.jsxs("span",{children:["页,共 ",s.getPageCount()," 页"]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs(C,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>s.setPageIndex(0),disabled:!s.getCanPreviousPage(),children:[e.jsx("span",{className:"sr-only",children:"跳转到第一页"}),e.jsx(Ui,{className:"h-4 w-4"})]}),e.jsxs(C,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>s.previousPage(),disabled:!s.getCanPreviousPage(),children:[e.jsx("span",{className:"sr-only",children:"上一页"}),e.jsx(mn,{className:"h-4 w-4"})]}),e.jsxs(C,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>s.nextPage(),disabled:!s.getCanNextPage(),children:[e.jsx("span",{className:"sr-only",children:"下一页"}),e.jsx(Yt,{className:"h-4 w-4"})]}),e.jsxs(C,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>s.setPageIndex(s.getPageCount()-1),disabled:!s.getCanNextPage(),children:[e.jsx("span",{className:"sr-only",children:"跳转到最后一页"}),e.jsx(Gi,{className:"h-4 w-4"})]})]})]})]})}function qe({table:s,toolbar:t,draggable:a=!1,onDragStart:n,onDragEnd:r,onDragOver:l,onDragLeave:o,onDrop:d,showPagination:x=!0,isLoading:w=!1}){const m=i.useRef(null),v=s.getAllColumns().filter(T=>T.getIsPinned()==="left"),u=s.getAllColumns().filter(T=>T.getIsPinned()==="right"),y=T=>v.slice(0,T).reduce((f,_)=>f+(_.getSize()??0),0),D=T=>u.slice(T+1).reduce((f,_)=>f+(_.getSize()??0),0);return e.jsxs("div",{className:"space-y-4",children:[typeof t=="function"?t(s):t,e.jsx("div",{ref:m,className:"relative overflow-auto rounded-md border bg-card",children:e.jsx("div",{className:"overflow-auto",children:e.jsxs(Xt,{children:[e.jsx(ea,{children:s.getHeaderGroups().map(T=>e.jsx(xs,{className:"hover:bg-transparent",children:T.headers.map((f,_)=>{const z=f.column.getIsPinned()==="left",N=f.column.getIsPinned()==="right",V=z?y(v.indexOf(f.column)):void 0,W=N?D(u.indexOf(f.column)):void 0;return e.jsx(ta,{colSpan:f.colSpan,style:{width:f.getSize(),...z&&{left:V},...N&&{right:W}},className:g("h-11 bg-card px-4 text-muted-foreground",(z||N)&&["sticky z-20","before:absolute before:bottom-0 before:top-0 before:w-[1px] before:bg-border",z&&"before:right-0",N&&"before:left-0"]),children:f.isPlaceholder?null:xt(f.column.columnDef.header,f.getContext())},f.id)})},T.id))}),e.jsx(sa,{children:s.getRowModel().rows?.length?s.getRowModel().rows.map((T,f)=>e.jsx(xs,{"data-state":T.getIsSelected()&&"selected",className:"hover:bg-muted/50",draggable:a,onDragStart:_=>n?.(_,f),onDragEnd:r,onDragOver:l,onDragLeave:o,onDrop:_=>d?.(_,f),children:T.getVisibleCells().map((_,z)=>{const N=_.column.getIsPinned()==="left",V=_.column.getIsPinned()==="right",W=N?y(v.indexOf(_.column)):void 0,L=V?D(u.indexOf(_.column)):void 0;return e.jsx(Vs,{style:{width:_.column.getSize(),...N&&{left:W},...V&&{right:L}},className:g("bg-card",(N||V)&&["sticky z-20","before:absolute before:bottom-0 before:top-0 before:w-[1px] before:bg-border",N&&"before:right-0",V&&"before:left-0"]),children:xt(_.column.columnDef.cell,_.getContext())},_.id)})},T.id)):e.jsx(xs,{children:e.jsx(Vs,{colSpan:s.getAllColumns().length,className:"h-24 text-center",children:"暂无数据"})})})]})})}),x&&e.jsx(Cu,{table:s})]})}const dr=(s,t)=>{let a=null;switch(s.field_type){case"input":a=e.jsx(S,{placeholder:s.placeholder,...t});break;case"textarea":a=e.jsx(ps,{placeholder:s.placeholder,...t});break;case"select":a=e.jsx("select",{className:g(Ms({variant:"outline"}),"w-full appearance-none font-normal"),...t,children:s.select_options&&Object.keys(s.select_options).map(n=>e.jsx("option",{value:n,children:s.select_options?.[n]},n))});break;default:a=null;break}return a},Su=c.object({id:c.number().nullable(),name:c.string().min(2,"名称至少需要2个字符").max(30,"名称不能超过30个字符"),icon:c.string().optional().nullable(),notify_domain:c.string().refine(s=>!s||/^https?:\/\/\S+/.test(s),"请输入有效的URL").optional().nullable(),handling_fee_fixed:c.coerce.number().min(0).optional().nullable(),handling_fee_percent:c.coerce.number().min(0).max(100).optional().nullable(),payment:c.string().min(1,"请选择支付接口"),config:c.record(c.string(),c.string())}),Sa={id:null,name:"",icon:"",notify_domain:"",handling_fee_fixed:0,handling_fee_percent:0,payment:"",config:{}};function ur({refetch:s,dialogTrigger:t,type:a="add",defaultFormValues:n=Sa}){const[r,l]=i.useState(!1),[o,d]=i.useState(!1),[x,w]=i.useState([]),[m,v]=i.useState([]),u=Z({resolver:ee(Su),defaultValues:n,mode:"onChange"}),y=u.watch("payment");i.useEffect(()=>{r&&(async()=>{const{data:f}=await kc();w(f)})()},[r]),i.useEffect(()=>{if(!y||!r)return;(async()=>{try{const f={payment:y,...a==="edit"&&{id:Number(u.getValues("id"))}},{data:_}=await Tc(f);v(_);const z=_.reduce((N,V)=>(V.field_name&&(N[V.field_name]=V.value??""),N),{});u.setValue("config",z)}catch{R.error("获取支付方式表单失败")}})()},[y,r,u,a]);const D=async T=>{d(!0),(await Dc(T)).data&&(R.success("保存成功"),u.reset(Sa),s(),l(!1)),d(!1)};return e.jsxs(me,{open:r,onOpenChange:l,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(C,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"})," ",e.jsx("div",{children:"添加支付方式"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsx(ge,{children:e.jsx(he,{children:a==="add"?"添加支付方式":"编辑支付方式"})}),e.jsx(se,{...u,children:e.jsxs("form",{onSubmit:u.handleSubmit(D),className:"space-y-4",children:[e.jsx(j,{control:u.control,name:"name",render:({field:T})=>e.jsxs(h,{children:[e.jsx(p,{children:"显示名称"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入支付名称",...T})}),e.jsx(F,{children:"用于前端显示"}),e.jsx(k,{})]})}),e.jsx(j,{control:u.control,name:"icon",render:({field:T})=>e.jsxs(h,{children:[e.jsx(p,{children:"图标URL"}),e.jsx(b,{children:e.jsx(S,{placeholder:"https://example.com/icon.svg",...T})}),e.jsx(F,{children:"用于前端显示的图标地址"}),e.jsx(k,{})]})}),e.jsx(j,{control:u.control,name:"notify_domain",render:({field:T})=>e.jsxs(h,{children:[e.jsx(p,{children:"通知域名"}),e.jsx(b,{children:e.jsx(S,{placeholder:"https://example.com",...T})}),e.jsx(F,{children:"网关通知将发送到该域名"}),e.jsx(k,{})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(j,{control:u.control,name:"handling_fee_percent",render:({field:T})=>e.jsxs(h,{children:[e.jsx(p,{children:"百分比手续费(%)"}),e.jsx(b,{children:e.jsx(S,{type:"number",placeholder:"0-100",...T})}),e.jsx(k,{})]})}),e.jsx(j,{control:u.control,name:"handling_fee_fixed",render:({field:T})=>e.jsxs(h,{children:[e.jsx(p,{children:"固定手续费"}),e.jsx(b,{children:e.jsx(S,{type:"number",placeholder:"0",...T})}),e.jsx(k,{})]})})]}),e.jsx(j,{control:u.control,name:"payment",render:({field:T})=>e.jsxs(h,{children:[e.jsx(p,{children:"支付接口"}),e.jsxs(B,{value:T.value,onValueChange:T.onChange,children:[e.jsx(b,{children:e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择支付接口"})})}),e.jsx(G,{children:x.map(f=>e.jsx(A,{value:f,children:f},f))})]}),e.jsx(k,{})]})}),m.map(T=>e.jsx(j,{control:u.control,name:`config.${T.field_name}`,render:({field:f})=>e.jsxs(h,{children:[e.jsx(p,{children:T.label}),e.jsx(b,{children:dr(T,f)}),e.jsx(k,{})]})},T.field_name)),e.jsxs(Ie,{className:"gap-2",children:[e.jsx(Xs,{asChild:!0,children:e.jsx(C,{type:"button",variant:"outline",children:"取消"})}),e.jsx(C,{type:"submit",disabled:o,className:g(o&&"cursor-not-allowed opacity-50"),children:o?"保存中...":"提交"})]})]})})]})]})}function P({column:s,title:t,tooltip:a,className:n}){return s.getCanSort()?e.jsx("div",{className:"flex items-center gap-1",children:e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs(C,{variant:"ghost",size:"default",className:g("-ml-3 flex h-8 items-center gap-2 text-nowrap font-medium hover:bg-muted/60",n),onClick:()=>s.toggleSorting(s.getIsSorted()==="asc"),children:[e.jsx("span",{children:t}),a&&e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(ma,{className:"h-4 w-4 cursor-pointer text-muted-foreground"})}),e.jsx(te,{children:a})]})}),s.getIsSorted()==="asc"?e.jsx(Mt,{className:"h-4 w-4 text-foreground/70"}):s.getIsSorted()==="desc"?e.jsx(zt,{className:"h-4 w-4 text-foreground/70"}):e.jsx(Bi,{className:"h-4 w-4 text-muted-foreground/70 transition-colors hover:text-foreground/70"})]})})}):e.jsxs("div",{className:g("flex items-center space-x-1 text-nowrap py-2 font-medium text-muted-foreground",n),children:[e.jsx("span",{children:t}),a&&e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{children:e.jsx(ma,{className:"h-4 w-4 text-muted-foreground"})}),e.jsx(te,{children:a})]})})]})}const ku=Yi,Tu=Wi,Du=Ji,xr=i.forwardRef(({className:s,...t},a)=>e.jsx(bn,{className:g("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...t,ref:a}));xr.displayName=bn.displayName;const mr=i.forwardRef(({className:s,...t},a)=>e.jsxs(Du,{children:[e.jsx(xr,{}),e.jsx(yn,{ref:a,className:g("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...t})]}));mr.displayName=yn.displayName;const hr=({className:s,...t})=>e.jsx("div",{className:g("flex flex-col space-y-2 text-center sm:text-left",s),...t});hr.displayName="AlertDialogHeader";const jr=({className:s,...t})=>e.jsx("div",{className:g("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t});jr.displayName="AlertDialogFooter";const gr=i.forwardRef(({className:s,...t},a)=>e.jsx(Nn,{ref:a,className:g("text-lg font-semibold",s),...t}));gr.displayName=Nn.displayName;const pr=i.forwardRef(({className:s,...t},a)=>e.jsx(wn,{ref:a,className:g("text-sm text-muted-foreground",s),...t}));pr.displayName=wn.displayName;const fr=i.forwardRef(({className:s,...t},a)=>e.jsx(_n,{ref:a,className:g(Ms(),s),...t}));fr.displayName=_n.displayName;const vr=i.forwardRef(({className:s,...t},a)=>e.jsx(Cn,{ref:a,className:g(Ms({variant:"outline"}),"mt-2 sm:mt-0",s),...t}));vr.displayName=Cn.displayName;function Ue({onConfirm:s,children:t,title:a="确认操作",description:n="确定要执行此操作吗?",cancelText:r="取消",confirmText:l="确认",variant:o="default",className:d}){return e.jsxs(ku,{children:[e.jsx(Tu,{asChild:!0,children:t}),e.jsxs(mr,{className:g("sm:max-w-[425px]",d),children:[e.jsxs(hr,{children:[e.jsx(gr,{children:a}),e.jsx(pr,{children:n})]}),e.jsxs(jr,{children:[e.jsx(vr,{asChild:!0,children:e.jsx(C,{variant:"outline",children:r})}),e.jsx(fr,{asChild:!0,children:e.jsx(C,{variant:o,onClick:s,children:l})})]})]})]})}const br=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M11.29 15.29a2 2 0 0 0-.12.15a.8.8 0 0 0-.09.18a.6.6 0 0 0-.06.18a1.4 1.4 0 0 0 0 .2a.84.84 0 0 0 .08.38a.9.9 0 0 0 .54.54a.94.94 0 0 0 .76 0a.9.9 0 0 0 .54-.54A1 1 0 0 0 13 16a1 1 0 0 0-.29-.71a1 1 0 0 0-1.42 0M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8 8 0 0 1-8 8m0-13a3 3 0 0 0-2.6 1.5a1 1 0 1 0 1.73 1A1 1 0 0 1 12 9a1 1 0 0 1 0 2a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-.18A3 3 0 0 0 12 7"})}),Pu=({refetch:s,isSortMode:t=!1})=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:t?"cursor-move":"opacity-0",children:e.jsx(Nt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:a})=>e.jsx(P,{column:a,title:"ID"}),cell:({row:a})=>e.jsx(E,{variant:"outline",children:a.getValue("id")}),enableSorting:!0,size:60},{accessorKey:"enable",header:({column:a})=>e.jsx(P,{column:a,title:"启用"}),cell:({row:a})=>e.jsx(O,{defaultChecked:a.getValue("enable"),onCheckedChange:async()=>{const{data:n}=await Ic({id:a.original.id});n||s()}}),enableSorting:!1,size:100},{accessorKey:"name",header:({column:a})=>e.jsx(P,{column:a,title:"显示名称"}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[200px] truncate font-medium",children:a.getValue("name")})}),enableSorting:!1,size:200},{accessorKey:"payment",header:({column:a})=>e.jsx(P,{column:a,title:"支付接口"}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[200px] truncate font-medium",children:a.getValue("payment")})}),enableSorting:!1,size:200},{accessorKey:"notify_url",header:({column:a})=>e.jsxs("div",{className:"flex items-center",children:[e.jsx(P,{column:a,title:"通知地址"}),e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{className:"ml-1",children:e.jsx(br,{className:"h-4 w-4"})}),e.jsx(te,{children:"支付网关将会把数据通知到本地址,请通过防火墙放行本地址。"})]})})]}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[300px] truncate font-medium",children:a.getValue("notify_url")})}),enableSorting:!1,size:3e3},{id:"actions",header:({column:a})=>e.jsx(P,{className:"justify-end",column:a,title:"操作"}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center justify-end space-x-2",children:[e.jsx(ur,{refetch:s,dialogTrigger:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(_s,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:a.original}),e.jsx(Ue,{title:"删除确认",description:"确定要删除该支付方式吗?此操作无法撤销。",onConfirm:async()=>{const{data:n}=await Pc({id:a.original.id});n&&s()},children:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-destructive/10",children:[e.jsx(es,{className:"h-4 w-4 text-muted-foreground hover:text-destructive"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function Iu({table:s,refetch:t,saveOrder:a,isSortMode:n}){const r=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[n?e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽支付方式进行排序,完成后点击保存"}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ur,{refetch:t}),e.jsx(S,{placeholder:"搜索支付方式...",value:s.getColumn("name")?.getFilterValue()??"",onChange:l=>s.getColumn("name")?.setFilterValue(l.target.value),className:"h-8 w-[250px]"}),r&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(C,{size:"sm",variant:n?"default":"outline",onClick:a,children:n?"保存排序":"编辑排序"})})]})}function Fu(){const[s,t]=i.useState([]),[a,n]=i.useState([]),[r,l]=i.useState(!1),[o,d]=i.useState([]),[x,w]=i.useState({"drag-handle":!1}),[m,v]=i.useState({pageSize:20,pageIndex:0}),{refetch:u}=K({queryKey:["paymentList"],queryFn:async()=>{const{data:_}=await Sc();return d(_?.map(z=>({...z,enable:!!z.enable}))||[]),_}});i.useEffect(()=>{w({"drag-handle":r}),v({pageSize:r?99999:10,pageIndex:0})},[r]);const y=(_,z)=>{r&&(_.dataTransfer.setData("text/plain",z.toString()),_.currentTarget.classList.add("opacity-50"))},D=(_,z)=>{if(!r)return;_.preventDefault(),_.currentTarget.classList.remove("bg-muted");const N=parseInt(_.dataTransfer.getData("text/plain"));if(N===z)return;const V=[...o],[W]=V.splice(N,1);V.splice(z,0,W),d(V)},T=async()=>{if(r)try{await Fc({ids:o.map(_=>_.id)}),await u(),l(!1),R.success("排序保存成功")}catch{R.error("排序保存失败")}else l(!0)},f=Re({data:o,columns:Pu({refetch:u,isSortMode:r}),state:{sorting:a,columnFilters:s,columnVisibility:x,pagination:m},onSortingChange:n,onColumnFiltersChange:t,onColumnVisibilityChange:w,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),initialState:{columnPinning:{right:["actions"]}},pageCount:r?1:void 0});return e.jsx(qe,{table:f,toolbar:_=>e.jsx(Iu,{table:_,refetch:u,saveOrder:T,isSortMode:r}),draggable:r,onDragStart:y,onDragEnd:_=>_.currentTarget.classList.remove("opacity-50"),onDragOver:_=>{_.preventDefault(),_.currentTarget.classList.add("bg-muted")},onDragLeave:_=>_.currentTarget.classList.remove("bg-muted"),onDrop:D,showPagination:!r})}function Vu(){return e.jsxs(pe,{children:[e.jsxs(fe,{className:"flex items-center justify-between",children:[e.jsx(Ce,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{children:[e.jsx("header",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("div",{className:"mb-2",children:e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"支付配置"})}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置支付方式,包括支付宝、微信等。"})]})}),e.jsx("section",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Fu,{})})]})]})}const Ru=Object.freeze(Object.defineProperty({__proto__:null,default:Vu},Symbol.toStringTag,{value:"Module"}));function Mu({themeKey:s,themeInfo:t}){const[a,n]=i.useState(!1),[r,l]=i.useState(!1),[o,d]=i.useState(!1),x=Z({defaultValues:t.configs.reduce((v,u)=>(v[u.field_name]="",v),{})}),w=async()=>{try{l(!0);const{data:v}=await xc(s);Object.entries(v).forEach(([u,y])=>{x.setValue(u,y)})}catch{R.error("加载主题配置失败"),n(!1)}finally{l(!1)}},m=async v=>{try{d(!0),mc(s,v).then(()=>{R.success("保存成功"),n(!1)})}catch{R.error("保存失败")}finally{d(!1)}};return e.jsxs(me,{open:a,onOpenChange:v=>{n(v),v?w():x.reset()},children:[e.jsx(Pe,{asChild:!0,children:e.jsx(C,{variant:"outline",children:"主题设置"})}),e.jsxs(de,{className:"max-h-[90vh] overflow-auto sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsxs(he,{children:["配置",t.name,"主题"]}),e.jsx(ze,{children:"修改主题的样式、布局和其他显示选项。"})]}),r?e.jsx("div",{className:"flex h-40 items-center justify-center",children:e.jsx(Wt,{className:"h-6 w-6 animate-spin"})}):e.jsx(se,{...x,children:e.jsxs("form",{onSubmit:x.handleSubmit(m),className:"space-y-4",children:[t.configs.map(v=>e.jsx(j,{control:x.control,name:v.field_name,render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:v.label}),e.jsx(b,{children:dr(v,u)}),e.jsx(k,{})]})},v.field_name)),e.jsxs(Ie,{className:"mt-6 gap-2",children:[e.jsx(C,{type:"button",variant:"secondary",onClick:()=>n(!1),children:"取消"}),e.jsx(C,{type:"submit",loading:o,children:"保存"})]})]})})]})]})}function zu(){const[s,t]=i.useState(null),[a,n]=i.useState(!1),[r,l]=i.useState(!1),[o,d]=i.useState(!1),x=i.useRef(null),{data:w,isLoading:m,refetch:v}=K({queryKey:["themeList"],queryFn:async()=>{const{data:f}=await uc();return f}}),u=async f=>{try{t(f),await gc({frontend_theme:f}),R.success("主题切换成功"),v()}catch{R.error("主题切换失败")}finally{t(null)}},y=async f=>{if(!f.name.endsWith(".zip")){R.error("只支持上传 ZIP 格式的主题文件");return}try{n(!0),await hc(f),R.success("主题上传成功"),l(!1),v()}catch{R.error("主题上传失败")}finally{n(!1),x.current&&(x.current.value="")}},D=f=>{f.preventDefault(),f.stopPropagation(),f.type==="dragenter"||f.type==="dragover"?d(!0):f.type==="dragleave"&&d(!1)},T=f=>{f.preventDefault(),f.stopPropagation(),d(!1),f.dataTransfer.files&&f.dataTransfer.files[0]&&y(f.dataTransfer.files[0])};return e.jsxs(pe,{children:[e.jsxs(fe,{className:"flex items-center justify-between",children:[e.jsx(Ce,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"",children:[e.jsxs("header",{className:"mb-8",children:[e.jsx("div",{className:"mb-2",children:e.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"主题配置"})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("p",{className:"text-muted-foreground",children:"主题配置,包括主题色、字体大小等。如果你采用前后分离的方式部署V2board,那么主题配置将不会生效。"}),e.jsxs(C,{onClick:()=>l(!0),variant:"outline",className:"ml-4 shrink-0",size:"sm",children:[e.jsx(ha,{className:"mr-2 h-4 w-4"}),"上传主题"]})]})]}),e.jsx("section",{className:"grid gap-6 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:m?e.jsxs(e.Fragment,{children:[e.jsx(ka,{}),e.jsx(ka,{})]}):w?.themes&&Object.entries(w.themes).map(([f,_])=>e.jsxs(_e,{className:"relative transition-shadow hover:shadow-md",children:[f!==w.active&&e.jsx("div",{className:"absolute right-2 top-2",children:e.jsx(Ue,{title:"删除主题",description:"确定要删除该主题吗?删除后无法恢复。",confirmText:"删除",variant:"destructive",onConfirm:async()=>{if(f===w?.active){R.error("不能删除当前使用的主题");return}t(f),jc(f).then(()=>{R.success("主题删除成功"),v()}).finally(()=>{t(null)})},children:e.jsx(C,{disabled:s===f,loading:s===f,variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-destructive",children:e.jsx(es,{className:"h-4 w-4"})})})}),e.jsxs(Te,{children:[e.jsx(Oe,{children:_.name}),e.jsx(Rs,{children:_.description})]}),e.jsxs(De,{className:"flex items-center justify-end space-x-3",children:[e.jsx(Mu,{themeKey:f,themeInfo:_}),e.jsx(C,{onClick:()=>u(f),disabled:s===f||f===w.active,loading:s===f,variant:f===w.active?"secondary":"default",children:f===w.active?"当前主题":"激活主题"})]})]},f))}),e.jsx(me,{open:r,onOpenChange:l,children:e.jsxs(de,{className:"sm:max-w-md",children:[e.jsxs(ge,{children:[e.jsx(he,{children:"上传主题"}),e.jsx(ze,{children:"请上传一个有效的主题压缩包(.zip 格式)。主题包应包含完整的主题文件结构。"})]}),e.jsxs("div",{className:g("relative mt-4 flex h-64 flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 px-5 py-10 text-center transition-colors",o&&"border-primary/50 bg-muted/50"),onDragEnter:D,onDragLeave:D,onDragOver:D,onDrop:T,children:[e.jsx("input",{type:"file",ref:x,className:"hidden",accept:".zip",onChange:f=>{const _=f.target.files?.[0];_&&y(_)}}),a?e.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[e.jsx("div",{className:"h-10 w-10 animate-spin rounded-full border-b-2 border-primary"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"正在上传..."})]}):e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[e.jsx("div",{className:"rounded-full border-2 border-muted-foreground/25 p-3",children:e.jsx(ha,{className:"h-6 w-6 text-muted-foreground/50"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"text-sm font-medium",children:["将主题文件拖放到此处,或者",e.jsx("button",{type:"button",onClick:()=>x.current?.click(),className:"mx-1 text-primary hover:underline",children:"点击选择"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"支持 .zip 格式的主题包"})]})]})})]})]})})]})]})}function ka(){return e.jsxs(_e,{children:[e.jsxs(Te,{children:[e.jsx(Ve,{className:"h-6 w-[200px]"}),e.jsx(Ve,{className:"h-4 w-[300px]"})]}),e.jsxs(De,{className:"flex items-center justify-end space-x-3",children:[e.jsx(Ve,{className:"h-10 w-[100px]"}),e.jsx(Ve,{className:"h-10 w-[100px]"})]})]})}const Eu=Object.freeze(Object.defineProperty({__proto__:null,default:zu},Symbol.toStringTag,{value:"Module"})),aa=i.forwardRef(({className:s,value:t,onChange:a,...n},r)=>{const[l,o]=i.useState("");i.useEffect(()=>{if(l.includes(",")){const x=new Set([...t,...l.split(",").map(w=>w.trim())]);a(Array.from(x)),o("")}},[l,a,t]);const d=()=>{if(l){const x=new Set([...t,l]);a(Array.from(x)),o("")}};return e.jsxs("div",{className:g(" has-[:focus-visible]:outline-none has-[:focus-visible]:ring-1 has-[:focus-visible]:ring-neutral-950 dark:has-[:focus-visible]:ring-neutral-300 flex w-full flex-wrap gap-2 rounded-md border border-input shadow-sm px-3 py-2 text-sm ring-offset-white disabled:cursor-not-allowed disabled:opacity-50",s),children:[t.map(x=>e.jsxs(E,{variant:"secondary",children:[x,e.jsx(H,{variant:"ghost",size:"icon",className:"ml-2 h-3 w-3",onClick:()=>{a(t.filter(w=>w!==x))},children:e.jsx(Ot,{className:"w-3"})})]},x)),e.jsx("input",{className:"flex-1 outline-none placeholder:text-muted-foreground bg-transparent",value:l,onChange:x=>o(x.target.value),onKeyDown:x=>{x.key==="Enter"||x.key===","?(x.preventDefault(),d()):x.key==="Backspace"&&l.length===0&&t.length>0&&(x.preventDefault(),a(t.slice(0,-1)))},...n,ref:r})]})});aa.displayName="InputTags";const Ou=c.object({id:c.number().nullable(),title:c.string().min(1).max(250),content:c.string().min(1),show:c.boolean(),tags:c.array(c.string()),img_url:c.string().nullable()}),Lu={id:null,show:!1,tags:[],img_url:"",title:"",content:""};function yr({refetch:s,dialogTrigger:t,type:a="add",defaultFormValues:n=Lu}){const[r,l]=i.useState(!1),o=Z({resolver:ee(Ou),defaultValues:n,mode:"onChange",shouldFocusError:!0});return e.jsx(se,{...o,children:e.jsxs(me,{onOpenChange:l,open:r,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(C,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"})," ",e.jsx("div",{children:"添加公告"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:a==="add"?"添加公告":"编辑公告"}),e.jsx(ze,{})]}),e.jsx(j,{control:o.control,name:"title",render:({field:d})=>e.jsxs(h,{children:[e.jsx(p,{children:"标题"}),e.jsx("div",{className:"relative ",children:e.jsx(b,{children:e.jsx(S,{placeholder:"请输入公告标题",...d})})}),e.jsx(k,{})]})}),e.jsx(j,{control:o.control,name:"content",render:({field:d})=>e.jsxs(h,{children:[e.jsx(p,{children:"公告内容"}),e.jsx("div",{className:"relative",children:e.jsx(b,{children:e.jsx(ps,{className:"min-h-[150px]",placeholder:"请输入公告内容,支持HTML",...d})})}),e.jsx(k,{})]})}),e.jsx(j,{control:o.control,name:"img_url",render:({field:d})=>e.jsxs(h,{children:[e.jsx(p,{children:"公告背景"}),e.jsx("div",{className:"relative",children:e.jsx(b,{children:e.jsx(S,{type:"text",placeholder:"请输入公告背景图片URL",...d,value:d.value||""})})}),e.jsx(k,{})]})}),e.jsx(j,{control:o.control,name:"show",render:({field:d})=>e.jsxs(h,{children:[e.jsx(p,{children:"显示"}),e.jsx("div",{className:"relative py-2",children:e.jsx(b,{children:e.jsx(O,{checked:d.value,onCheckedChange:d.onChange})})}),e.jsx(k,{})]})}),e.jsx(j,{control:o.control,name:"tags",render:({field:d})=>e.jsxs(h,{children:[e.jsx(p,{children:"节点标签"}),e.jsx(b,{children:e.jsx(aa,{value:d.value,onChange:d.onChange,placeholder:"输入后回车添加标签",className:"w-full"})}),e.jsx(k,{})]})}),e.jsxs(Ie,{children:[e.jsx(Xs,{asChild:!0,children:e.jsx(C,{type:"button",variant:"outline",children:"取消"})}),e.jsx(C,{type:"submit",onClick:d=>{d.preventDefault(),o.handleSubmit(async x=>{try{(await Rc(x)).data&&(await s(),l(!1))}catch(w){console.error("Failed to save notice:",w)}})()},children:"提交"})]})]})]})})}function $u({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between space-x-2 ",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsx(yr,{refetch:t}),e.jsx(S,{placeholder:"搜索公告标题...",value:s.getColumn("title")?.getFilterValue()??"",onChange:n=>s.getColumn("title")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),a&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-9 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center space-x-2"})]})}const Au=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(P,{column:t,title:"ID"}),cell:({row:t})=>e.jsx(E,{variant:"outline",className:"font-mono",children:t.getValue("id")}),enableSorting:!0,size:60},{accessorKey:"show",header:({column:t})=>e.jsx(P,{column:t,title:"显示状态"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center",children:e.jsx(O,{defaultChecked:t.getValue("show"),onCheckedChange:async()=>{const{data:a}=await zc({id:t.original.id});a||s()}})}),enableSorting:!1,size:100},{accessorKey:"title",header:({column:t})=>e.jsx(P,{column:t,title:"标题"}),cell:({row:t})=>e.jsx("div",{className:"flex max-w-[500px] items-center",children:e.jsx("span",{className:"truncate font-medium",children:t.getValue("title")})}),enableSorting:!1,size:6e3},{id:"actions",header:({column:t})=>e.jsx(P,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center justify-end space-x-2",children:[e.jsx(yr,{refetch:s,dialogTrigger:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(_s,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:t.original}),e.jsx(Ue,{title:"删除确认",description:"确定要删除该条公告吗?此操作无法撤销。",onConfirm:async()=>{Mc({id:t.original.id}).then(()=>{R.success("删除成功"),s()})},children:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(es,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function Hu(){const[s,t]=i.useState({}),[a,n]=i.useState({}),[r,l]=i.useState([]),[o,d]=i.useState([]),{data:x,isLoading:w,refetch:m}=K({queryKey:["notices"],queryFn:async()=>{const{data:u}=await Vc();return u}}),v=Re({data:x??[],columns:Au(m),state:{sorting:o,columnVisibility:a,rowSelection:s,columnFilters:r},enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:v,toolbar:u=>e.jsx($u,{table:u,refetch:m})})}function Ku(){return e.jsxs(pe,{children:[e.jsxs(fe,{className:"flex items-center justify-between",children:[e.jsx(Ce,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("div",{className:"mb-2",children:e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"公告管理"})}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置公告,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Hu,{})})]})]})}const qu=Object.freeze(Object.defineProperty({__proto__:null,default:Ku},Symbol.toStringTag,{value:"Module"})),Uu=c.object({id:c.number().nullable(),language:c.string().max(250),category:c.string().max(250),title:c.string().min(1).max(250),body:c.string().min(1),show:c.boolean()}),Gu={id:null,language:"zh-CN",category:"",title:"",body:"",show:!1};function Nr({refreshData:s,dialogTrigger:t,type:a="add",defaultFormValues:n=Gu}){const[r,l]=i.useState(!1),o=Z({resolver:ee(Uu),defaultValues:n,mode:"onChange",shouldFocusError:!0}),d=new Sn({html:!0});return i.useEffect(()=>{r&&n.id&&Oc(n.id).then(({data:x})=>{o.reset(x)})},[n.id,o,r]),e.jsxs(me,{onOpenChange:l,open:r,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(C,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"})," ",e.jsx("div",{children:"添加知识"})]})}),e.jsxs(de,{className:"sm:max-w-[1025px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:a==="add"?"添加知识":"编辑知识"}),e.jsx(ze,{})]}),e.jsxs(se,{...o,children:[e.jsx(j,{control:o.control,name:"title",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"标题"}),e.jsx("div",{className:"relative ",children:e.jsx(b,{children:e.jsx(S,{placeholder:"请输入知识标题",...x})})}),e.jsx(k,{})]})}),e.jsx(j,{control:o.control,name:"category",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"分类"}),e.jsx("div",{className:"relative ",children:e.jsx(b,{children:e.jsx(S,{placeholder:"请输入分类,分类将会自动归类",...x})})}),e.jsx(k,{})]})}),e.jsx(j,{control:o.control,name:"language",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"语言"}),e.jsx(b,{children:e.jsxs(B,{value:x.value,onValueChange:x.onChange,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择语言"})}),e.jsx(G,{children:[{field:"English",value:"en-US"},{field:"日本語",value:"ja-JP"},{field:"한국어",value:"ko-KR"},{field:"Tiếng Việt",value:"vi-VN"},{field:"简体中文",value:"zh-CN"},{field:"繁體中文",value:"zh-TW"}].map(w=>e.jsx(A,{value:w.value,className:"cursor-pointer",children:w.field},w.value))})]})})]})}),e.jsx(j,{control:o.control,name:"body",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"内容"}),e.jsx(b,{children:e.jsx(kn,{style:{height:"500px"},value:x.value,renderHTML:w=>d.render(w),onChange:({text:w})=>{x.onChange(w)}})}),e.jsx(k,{})]})}),e.jsx(j,{control:o.control,name:"show",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"显示"}),e.jsx("div",{className:"relative py-2",children:e.jsx(b,{children:e.jsx(O,{checked:x.value,onCheckedChange:x.onChange})})}),e.jsx(k,{})]})}),e.jsxs(Ie,{children:[e.jsx(Xs,{asChild:!0,children:e.jsx(C,{type:"button",variant:"outline",children:"取消"})}),e.jsx(C,{type:"submit",onClick:()=>{o.handleSubmit(x=>{Lc(x).then(({data:w})=>{w&&(o.reset(),R.success("操作成功"),l(!1),s())})})()},children:"提交"})]})]})]})]})}function Bu({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsxs(C,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(zs,{className:"mr-2 h-4 w-4"}),t,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(l=>r.has(l.value)).map(l=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:l.label},l.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(as,{children:[e.jsx(js,{placeholder:t}),e.jsxs(ns,{children:[e.jsx(gs,{children:"No results found."}),e.jsx(be,{children:a.map(l=>{const o=r.has(l.value);return e.jsxs(xe,{onSelect:()=>{o?r.delete(l.value):r.add(l.value);const d=Array.from(r);s?.setFilterValue(d.length?d:void 0)},children:[e.jsx("div",{className:g("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",o?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(hs,{className:g("h-4 w-4")})}),l.icon&&e.jsx(l.icon,{className:"mr-2 h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:l.label}),n?.get(l.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(l.value)})]},l.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Cs,{}),e.jsx(be,{children:e.jsx(xe,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}function Yu({table:s,refetch:t,saveOrder:a,isSortMode:n}){const r=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[n?e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽知识条目进行排序,完成后点击保存"}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Nr,{refreshData:t}),e.jsx(S,{placeholder:"搜索知识...",value:s.getColumn("title")?.getFilterValue()??"",onChange:l=>s.getColumn("title")?.setFilterValue(l.target.value),className:"h-8 w-[250px]"}),s.getColumn("category")&&e.jsx(Bu,{column:s.getColumn("category"),title:"分类",options:Array.from(new Set(s.getCoreRowModel().rows.map(l=>l.getValue("category")))).map(l=>({label:l,value:l}))}),r&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(C,{variant:n?"default":"outline",onClick:a,size:"sm",children:n?"保存排序":"编辑排序"})})]})}const Wu=({refetch:s,isSortMode:t=!1})=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:t?"cursor-move":"opacity-0",children:e.jsx(Nt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:a})=>e.jsx(P,{column:a,title:"ID"}),cell:({row:a})=>e.jsx(E,{variant:"outline",className:"justify-center",children:a.getValue("id")}),enableSorting:!0,size:70},{accessorKey:"show",header:({column:a})=>e.jsx(P,{column:a,title:"状态"}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx(O,{defaultChecked:a.getValue("show"),onCheckedChange:async()=>{Ac({id:a.original.id}).then(({data:n})=>{n||s()})}})}),enableSorting:!1,size:100},{accessorKey:"title",header:({column:a})=>e.jsx(P,{column:a,title:"标题"}),cell:({row:a})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"line-clamp-2 font-medium",children:a.getValue("title")})}),enableSorting:!0,size:600},{accessorKey:"category",header:({column:a})=>e.jsx(P,{column:a,title:"分类"}),cell:({row:a})=>e.jsx(E,{variant:"secondary",className:"max-w-[180px] truncate",children:a.getValue("category")}),enableSorting:!0,size:1800},{id:"actions",header:({column:a})=>e.jsx(P,{className:"justify-end",column:a,title:"操作"}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center justify-end space-x-1",children:[e.jsx(Nr,{refreshData:s,dialogTrigger:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(_s,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:a.original}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该知识库记录,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{$c({id:a.original.id}).then(({data:n})=>{n&&(R.success("删除成功"),s())})},children:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(es,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function Ju(){const[s,t]=i.useState([]),[a,n]=i.useState([]),[r,l]=i.useState(!1),[o,d]=i.useState([]),[x,w]=i.useState({"drag-handle":!1}),[m,v]=i.useState({pageSize:20,pageIndex:0}),{refetch:u,isLoading:y,data:D}=K({queryKey:["knowledge"],queryFn:async()=>{const{data:N}=await Ec();return d(N||[]),N}});i.useEffect(()=>{w({"drag-handle":r}),v({pageSize:r?99999:10,pageIndex:0})},[r]);const T=(N,V)=>{r&&(N.dataTransfer.setData("text/plain",V.toString()),N.currentTarget.classList.add("opacity-50"))},f=(N,V)=>{if(!r)return;N.preventDefault(),N.currentTarget.classList.remove("bg-muted");const W=parseInt(N.dataTransfer.getData("text/plain"));if(W===V)return;const L=[...o],[ae]=L.splice(W,1);L.splice(V,0,ae),d(L)},_=async()=>{if(r)try{await Hc({ids:o.map(N=>N.id)}),await u(),l(!1),R.success("排序保存成功")}catch{R.error("排序保存失败")}else l(!0)},z=Re({data:o,columns:Wu({refetch:u,isSortMode:r}),state:{sorting:a,columnFilters:s,columnVisibility:x,pagination:m},onSortingChange:n,onColumnFiltersChange:t,onColumnVisibilityChange:w,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:z,toolbar:N=>e.jsx(Yu,{table:N,refetch:u,saveOrder:_,isSortMode:r}),draggable:r,onDragStart:T,onDragEnd:N=>N.currentTarget.classList.remove("opacity-50"),onDragOver:N=>{N.preventDefault(),N.currentTarget.classList.add("bg-muted")},onDragLeave:N=>N.currentTarget.classList.remove("bg-muted"),onDrop:f,showPagination:!r})}function Qu(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight mb-2",children:"知识库管理"}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置知识库,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Ju,{})})]})]})}const Zu=Object.freeze(Object.defineProperty({__proto__:null,default:Qu},Symbol.toStringTag,{value:"Module"}));function Xu(s,t){const[a,n]=i.useState(s);return i.useEffect(()=>{const r=setTimeout(()=>n(s),t);return()=>{clearTimeout(r)}},[s,t]),a}function Ft(s,t){if(s.length===0)return{};if(!t)return{"":s};const a={};return s.forEach(n=>{const r=n[t]||"";a[r]||(a[r]=[]),a[r].push(n)}),a}function ex(s,t){const a=JSON.parse(JSON.stringify(s));for(const[n,r]of Object.entries(a))a[n]=r.filter(l=>!t.find(o=>o.value===l.value));return a}function sx(s,t){for(const[,a]of Object.entries(s))if(a.some(n=>t.find(r=>r.value===n.value)))return!0;return!1}const wr=i.forwardRef(({className:s,...t},a)=>Qi(r=>r.filtered.count===0)?e.jsx("div",{ref:a,className:g("py-6 text-center text-sm",s),"cmdk-empty":"",role:"presentation",...t}):null);wr.displayName="CommandEmpty";const Qs=i.forwardRef(({value:s,onChange:t,placeholder:a,defaultOptions:n=[],options:r,delay:l,onSearch:o,loadingIndicator:d,emptyIndicator:x,maxSelected:w=Number.MAX_SAFE_INTEGER,onMaxSelected:m,hidePlaceholderWhenSelected:v,disabled:u,groupBy:y,className:D,badgeClassName:T,selectFirstItem:f=!0,creatable:_=!1,triggerSearchOnFocus:z=!1,commandProps:N,inputProps:V,hideClearAllButton:W=!1},L)=>{const ae=i.useRef(null),[Ge,Ss]=i.useState(!1),Os=i.useRef(!1),[ra,la]=i.useState(!1),[q,Ls]=i.useState(s||[]),[fs,ia]=i.useState(Ft(n,y)),[is,Dt]=i.useState(""),$s=Xu(is,l||500);i.useImperativeHandle(L,()=>({selectedValue:[...q],input:ae.current,focus:()=>ae.current?.focus()}),[q]);const st=i.useCallback($=>{const J=q.filter(we=>we.value!==$.value);Ls(J),t?.(J)},[t,q]),Jr=i.useCallback($=>{const J=ae.current;J&&(($.key==="Delete"||$.key==="Backspace")&&J.value===""&&q.length>0&&(q[q.length-1].fixed||st(q[q.length-1])),$.key==="Escape"&&J.blur())},[st,q]);i.useEffect(()=>{s&&Ls(s)},[s]),i.useEffect(()=>{if(!r||o)return;const $=Ft(r||[],y);JSON.stringify($)!==JSON.stringify(fs)&&ia($)},[n,r,y,o,fs]),i.useEffect(()=>{const $=async()=>{la(!0);const we=await o?.($s);ia(Ft(we||[],y)),la(!1)};(async()=>{!o||!Ge||(z&&await $(),$s&&await $())})()},[$s,y,Ge,z]);const Qr=()=>{if(!_||sx(fs,[{value:is,label:is}])||q.find(J=>J.value===is))return;const $=e.jsx(xe,{value:is,className:"cursor-pointer",onMouseDown:J=>{J.preventDefault(),J.stopPropagation()},onSelect:J=>{if(q.length>=w){m?.(q.length);return}Dt("");const we=[...q,{value:J,label:J}];Ls(we),t?.(we)},children:`Create "${is}"`});if(!o&&is.length>0||o&&$s.length>0&&!ra)return $},Zr=i.useCallback(()=>{if(x)return o&&!_&&Object.keys(fs).length===0?e.jsx(xe,{value:"-",disabled:!0,children:x}):e.jsx(wr,{children:x})},[_,x,o,fs]),Xr=i.useMemo(()=>ex(fs,q),[fs,q]),el=i.useCallback(()=>{if(N?.filter)return N.filter;if(_)return($,J)=>$.toLowerCase().includes(J.toLowerCase())?1:-1},[_,N?.filter]),sl=i.useCallback(()=>{const $=q.filter(J=>J.fixed);Ls($),t?.($)},[t,q]);return e.jsxs(as,{...N,onKeyDown:$=>{Jr($),N?.onKeyDown?.($)},className:g("h-auto overflow-visible bg-transparent",N?.className),shouldFilter:N?.shouldFilter!==void 0?N.shouldFilter:!o,filter:el(),children:[e.jsx("div",{className:g("rounded-md border border-input text-sm ring-offset-background focus-within:ring-1 focus-within:ring-ring ",{"px-3 py-2":q.length!==0,"cursor-text":!u&&q.length!==0},D),onClick:()=>{u||ae.current?.focus()},children:e.jsxs("div",{className:"flex flex-wrap gap-1",children:[q.map($=>e.jsxs(E,{className:g("data-[disabled]:bg-muted-foreground data-[disabled]:text-muted data-[disabled]:hover:bg-muted-foreground","data-[fixed]:bg-muted-foreground data-[fixed]:text-muted data-[fixed]:hover:bg-muted-foreground",T),"data-fixed":$.fixed,"data-disabled":u||void 0,children:[$.label,e.jsx("button",{className:g("ml-1 rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",(u||$.fixed)&&"hidden"),onKeyDown:J=>{J.key==="Enter"&&st($)},onMouseDown:J=>{J.preventDefault(),J.stopPropagation()},onClick:()=>st($),children:e.jsx(Ot,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},$.value)),e.jsx(ye.Input,{...V,ref:ae,value:is,disabled:u,onValueChange:$=>{Dt($),V?.onValueChange?.($)},onBlur:$=>{Os.current===!1&&Ss(!1),V?.onBlur?.($)},onFocus:$=>{Ss(!0),z&&o?.($s),V?.onFocus?.($)},placeholder:v&&q.length!==0?"":a,className:g("flex-1 bg-transparent outline-none placeholder:text-muted-foreground",{"w-full":v,"px-3 py-2":q.length===0,"ml-1":q.length!==0},V?.className)}),e.jsx("button",{type:"button",onClick:sl,className:g((W||u||q.length<1||q.filter($=>$.fixed).length===q.length)&&"hidden"),children:e.jsx(Ot,{})})]})}),e.jsx("div",{className:"relative",children:Ge&&e.jsx(ns,{className:"absolute top-1 z-10 w-full rounded-md border bg-popover text-popover-foreground shadow-md outline-none animate-in",onMouseLeave:()=>{Os.current=!1},onMouseEnter:()=>{Os.current=!0},onMouseUp:()=>{ae.current?.focus()},children:ra?e.jsx(e.Fragment,{children:d}):e.jsxs(e.Fragment,{children:[Zr(),Qr(),!f&&e.jsx(xe,{value:"-",className:"hidden"}),Object.entries(Xr).map(([$,J])=>e.jsx(be,{heading:$,className:"h-full overflow-auto",children:e.jsx(e.Fragment,{children:J.map(we=>e.jsx(xe,{value:we.value,disabled:we.disable,onMouseDown:As=>{As.preventDefault(),As.stopPropagation()},onSelect:()=>{if(q.length>=w){m?.(q.length);return}Dt("");const As=[...q,we];Ls(As),t?.(As)},className:g("cursor-pointer",we.disable&&"cursor-default text-muted-foreground"),children:we.label},we.value))})},$))]})})})]})});Qs.displayName="MultipleSelector";const tx=c.object({id:c.number().optional(),name:c.string().min(2,"组名至少需要2个字符").max(50,"组名不能超过50个字符").regex(/^[a-zA-Z0-9\u4e00-\u9fa5_-]+$/,"组名只能包含字母、数字、中文、下划线和连字符")});function Tt({refetch:s,dialogTrigger:t,defaultValues:a={name:""},type:n="add"}){const r=Z({resolver:ee(tx),defaultValues:a,mode:"onChange"}),[l,o]=i.useState(!1),[d,x]=i.useState(!1),w=async m=>{try{x(!0);const{data:v}=await Nc(m);v&&(R.success(n==="edit"?"更新成功":"创建成功"),s&&s(),r.reset(),o(!1))}catch{R.error("操作失败,请重试")}finally{x(!1)}};return e.jsxs(me,{open:l,onOpenChange:o,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(C,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("span",{children:"添加权限组"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:n==="edit"?"编辑权限组":"创建权限组"}),e.jsx(ze,{children:n==="edit"?"修改权限组信息,更新后会立即生效。":"创建新的权限组,可以为不同的用户分配不同的权限。"})]}),e.jsx(se,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(w),className:"space-y-4",children:[e.jsx(j,{control:r.control,name:"name",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"组名称"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入权限组名称",...m,className:"w-full"})}),e.jsx(F,{children:"权限组名称用于标识不同的用户组,建议使用有意义的名称。"}),e.jsx(k,{})]})}),e.jsxs(Ie,{className:"gap-2",children:[e.jsx(Xs,{asChild:!0,children:e.jsx(C,{type:"button",variant:"outline",children:"取消"})}),e.jsxs(C,{type:"submit",disabled:d||!r.formState.isValid,children:[d&&e.jsx(Wt,{className:"mr-2 h-4 w-4 animate-spin"}),n==="edit"?"更新":"创建"]})]})]})})]})]})}const _r=i.createContext(void 0);function ax({children:s,refetch:t}){const[a,n]=i.useState(!1),[r,l]=i.useState(null),[o,d]=i.useState(je.Shadowsocks);return e.jsx(_r.Provider,{value:{isOpen:a,setIsOpen:n,editingServer:r,setEditingServer:l,serverType:o,setServerType:d,refetch:t},children:s})}function Cr(){const s=i.useContext(_r);if(s===void 0)throw new Error("useServerEdit must be used within a ServerEditProvider");return s}function Vt({dialogTrigger:s,value:t,setValue:a,templateType:n}){i.useEffect(()=>{console.log(t)},[t]);const[r,l]=i.useState(!1),[o,d]=i.useState(()=>{if(!t||Object.keys(t).length===0)return"";try{return JSON.stringify(t,null,2)}catch{return""}}),[x,w]=i.useState(null),m=f=>{if(!f)return null;try{const _=JSON.parse(f);return typeof _!="object"||_===null?"配置必须是一个JSON对象":null}catch{return"无效的JSON格式"}},v={tcp:{label:"TCP",content:{acceptProxyProtocol:!1,header:{type:"none"}}},"tcp-http":{label:"TCP + HTTP",content:{acceptProxyProtocol:!1,header:{type:"http",request:{version:"1.1",method:"GET",path:["/"],headers:{Host:["www.example.com"]}},response:{version:"1.1",status:"200",reason:"OK"}}}},grpc:{label:"gRPC",content:{serviceName:"GunService"}},ws:{label:"WebSocket",content:{path:"/",headers:{Host:"v2ray.com"}}}},u=()=>{switch(n){case"tcp":return["tcp","tcp-http"];case"grpc":return["grpc"];case"ws":return["ws"];default:return[]}},y=()=>{const f=m(o||"");if(f){R.error(f);return}try{if(!o){a(null),l(!1);return}a(JSON.parse(o)),l(!1)}catch{R.error("保存时发生错误")}},D=f=>{d(f),w(m(f))},T=f=>{const _=v[f];if(_){const z=JSON.stringify(_.content,null,2);d(z),w(null)}};return i.useEffect(()=>{r&&console.log(t)},[r,t]),i.useEffect(()=>{r&&t&&Object.keys(t).length>0&&d(JSON.stringify(t,null,2))},[r,t]),e.jsxs(me,{open:r,onOpenChange:f=>{!f&&r&&y(),l(f)},children:[e.jsx(Pe,{asChild:!0,children:s??e.jsx(H,{variant:"link",children:"编辑协议"})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsx(ge,{children:e.jsx(he,{children:"编辑协议配置"})}),e.jsxs("div",{className:"space-y-4",children:[u().length>0&&e.jsx("div",{className:"flex flex-wrap gap-2 pt-2",children:u().map(f=>e.jsxs(H,{variant:"outline",size:"sm",onClick:()=>T(f),children:["使用",v[f].label,"模板"]},f))}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ps,{className:`min-h-[200px] font-mono text-sm ${x?"border-red-500 focus-visible:ring-red-500":""}`,value:o,placeholder:`请输入JSON配置${u().length>0?"或选择上方模板":""}`,onChange:f=>D(f.target.value)}),x&&e.jsx("p",{className:"text-sm text-red-500",children:x})]})]}),e.jsxs(Ie,{className:"gap-2",children:[e.jsx(H,{variant:"outline",onClick:()=>l(!1),children:"取消"}),e.jsx(H,{onClick:y,disabled:!!x,children:"确定"})]})]})]})}function Qm(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}const nx={},rx=Object.freeze(Object.defineProperty({__proto__:null,default:nx},Symbol.toStringTag,{value:"Module"})),Zm=co(rx),Ta=s=>s.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),lx=()=>{try{const s=Zi.box.keyPair(),t=Ta(ja.encodeBase64(s.secretKey)),a=Ta(ja.encodeBase64(s.publicKey));return{privateKey:t,publicKey:a}}catch(s){throw console.error("Error generating x25519 key pair:",s),s}},ix=()=>{try{return lx()}catch(s){throw console.error("Error generating key pair:",s),s}},ox=s=>{const t=new Uint8Array(Math.ceil(s/2));return window.crypto.getRandomValues(t),Array.from(t).map(a=>a.toString(16).padStart(2,"0")).join("").substring(0,s)},cx=()=>{const s=Math.floor(Math.random()*8)*2+2;return ox(s)},dx=c.object({cipher:c.string().default("aes-128-gcm"),obfs:c.string().default("0"),obfs_settings:c.object({path:c.string().default(""),host:c.string().default("")}).default({})}),ux=c.object({tls:c.coerce.number().default(0),tls_settings:c.object({server_name:c.string().default(""),allow_insecure:c.boolean().default(!1)}).default({}),network:c.string().default("tcp"),network_settings:c.record(c.any()).default({})}),xx=c.object({server_name:c.string().default(""),allow_insecure:c.boolean().default(!1),network:c.string().default("tcp"),network_settings:c.record(c.any()).default({})}),mx=c.object({version:c.coerce.number().default(2),alpn:c.string().default("h2"),obfs:c.object({open:c.coerce.boolean().default(!1),type:c.string().default("salamander"),password:c.string().default("")}).default({}),tls:c.object({server_name:c.string().default(""),allow_insecure:c.boolean().default(!1)}).default({}),bandwidth:c.object({up:c.string().default(""),down:c.string().default("")}).default({})}),hx=c.object({tls:c.coerce.number().default(0),tls_settings:c.object({server_name:c.string().default(""),allow_insecure:c.boolean().default(!1)}).default({}),reality_settings:c.object({server_port:c.coerce.number().default(443),server_name:c.string().default(""),allow_insecure:c.boolean().default(!1),public_key:c.string().default(""),private_key:c.string().default(""),short_id:c.string().default("")}).default({}),network:c.string().default("tcp"),network_settings:c.record(c.any()).default({}),flow:c.string().default("")}),ds={shadowsocks:{schema:dx,ciphers:["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"]},vmess:{schema:ux,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}]},trojan:{schema:xx,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}]},hysteria:{schema:mx,versions:["1","2"],alpnOptions:["hysteria","http/1.1","h2","h3"]},vless:{schema:hx,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}],flowOptions:["none","xtls-rprx-direct","xtls-rprx-splice","xtls-rprx-vision"]}},jx=({serverType:s,value:t,onChange:a})=>{const n=s?ds[s]:null,r=n?.schema||c.record(c.any()),l=Z({resolver:ee(r),defaultValues:t||(s?r.parse({}):{}),mode:"onChange"});return i.useEffect(()=>{if(!t||Object.keys(t).length===0){if(s){const u=r.parse({});l.reset(u)}}else l.reset(t)},[s,t,a,l,r]),i.useEffect(()=>{const u=l.watch(y=>{a(y)});return()=>u.unsubscribe()},[l,a]),!s||!n?null:{shadowsocks:()=>e.jsxs(e.Fragment,{children:[e.jsx(j,{control:l.control,name:"cipher",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"加密算法"}),e.jsx(b,{children:e.jsxs(B,{onValueChange:u.onChange,value:u.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择加密算法"})}),e.jsx(G,{children:e.jsx(os,{children:ds.shadowsocks.ciphers.map(y=>e.jsx(A,{value:y,children:y},y))})})]})})]})}),e.jsx(j,{control:l.control,name:"obfs",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"混淆"}),e.jsx(b,{children:e.jsxs(B,{onValueChange:u.onChange,value:u.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择混淆方式"})}),e.jsx(G,{children:e.jsxs(os,{children:[e.jsx(A,{value:"0",children:"无"}),e.jsx(A,{value:"http",children:"HTTP"})]})})]})})]})}),l.watch("obfs")==="http"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:l.control,name:"obfs_settings.path",render:({field:u})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(b,{children:e.jsx(S,{type:"text",placeholder:"路径",...u})}),e.jsx(k,{})]})}),e.jsx(j,{control:l.control,name:"obfs_settings.host",render:({field:u})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(b,{children:e.jsx(S,{type:"text",placeholder:"Host",...u})}),e.jsx(k,{})]})})]})]}),vmess:()=>e.jsxs(e.Fragment,{children:[e.jsx(j,{control:l.control,name:"tls",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"TLS"}),e.jsx(b,{children:e.jsxs(B,{value:u.value?.toString(),onValueChange:y=>u.onChange(Number(y)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择安全性"})}),e.jsxs(G,{children:[e.jsx(A,{value:"0",children:"不支持"}),e.jsx(A,{value:"1",children:"支持"})]})]})})]})}),l.watch("tls")==1&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:l.control,name:"tls_settings.server_name",render:({field:u})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"服务器名称指示(SNI)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"不使用请留空",...u})})]})}),e.jsx(j,{control:l.control,name:"tls_settings.allow_insecure",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(b,{children:e.jsx(O,{checked:u.value,onCheckedChange:u.onChange})})})]})})]}),e.jsx(j,{control:l.control,name:"network",render:({field:u})=>e.jsxs(h,{children:[e.jsxs(p,{children:["传输协议",e.jsx(Vt,{value:l.watch("network_settings"),setValue:y=>l.setValue("network_settings",y),templateType:l.watch("network")})]}),e.jsx(b,{children:e.jsxs(B,{onValueChange:u.onChange,value:u.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择传输协议"})}),e.jsx(G,{children:e.jsx(os,{children:ds.vmess.networkOptions.map(y=>e.jsx(A,{value:y.value,className:"cursor-pointer",children:y.label},y.value))})})]})})]})})]}),trojan:()=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:l.control,name:"server_name",render:({field:u})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"服务器名称指示(SNI)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"当节点地址于证书不一致时用于证书验证",...u,value:u.value||""})})]})}),e.jsx(j,{control:l.control,name:"allow_insecure",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(b,{children:e.jsx(O,{checked:u.value||!1,onCheckedChange:u.onChange})})})]})})]}),e.jsx(j,{control:l.control,name:"network",render:({field:u})=>e.jsxs(h,{children:[e.jsxs(p,{children:["传输协议",e.jsx(Vt,{value:l.watch("network_settings")||{},setValue:y=>l.setValue("network_settings",y),templateType:l.watch("network")||"tcp"})]}),e.jsx(b,{children:e.jsxs(B,{onValueChange:u.onChange,value:u.value||"tcp",children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择传输协议"})}),e.jsx(G,{children:e.jsx(os,{children:ds.trojan.networkOptions.map(y=>e.jsx(A,{value:y.value,className:"cursor-pointer",children:y.label},y.value))})})]})})]})})]}),hysteria:()=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:l.control,name:"version",render:({field:u})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(p,{children:"协议版本"}),e.jsx(b,{children:e.jsxs(B,{value:(u.value||2).toString(),onValueChange:y=>u.onChange(Number(y)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"协议版本"})}),e.jsx(G,{children:e.jsx(os,{children:ds.hysteria.versions.map(y=>e.jsxs(A,{value:y,className:"cursor-pointer",children:["V",y]},y))})})]})})]})}),l.watch("version")==1&&e.jsx(j,{control:l.control,name:"alpn",render:({field:u})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"ALPN"}),e.jsx(b,{children:e.jsxs(B,{value:u.value||"h2",onValueChange:u.onChange,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"ALPN"})}),e.jsx(G,{children:e.jsx(os,{children:ds.hysteria.alpnOptions.map(y=>e.jsx(A,{value:y,children:y},y))})})]})})]})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:l.control,name:"obfs.open",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"混淆"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(b,{children:e.jsx(O,{checked:u.value||!1,onCheckedChange:u.onChange})})})]})}),!!l.watch("obfs.open")&&e.jsxs(e.Fragment,{children:[l.watch("version")=="2"&&e.jsx(j,{control:l.control,name:"obfs.type",render:({field:u})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(p,{children:"混淆实现"}),e.jsx(b,{children:e.jsxs(B,{value:u.value||"salamander",onValueChange:u.onChange,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择混淆实现"})}),e.jsx(G,{children:e.jsx(os,{children:e.jsx(A,{value:"salamander",children:"Salamander"})})})]})})]})}),e.jsx(j,{control:l.control,name:"obfs.password",render:({field:u})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"混淆密码"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入混淆密码",...u,value:u.value||""})})]})})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:l.control,name:"tls.server_name",render:({field:u})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"服务器名称指示(SNI)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"当节点地址于证书不一致时用于证书验证",...u,value:u.value||""})})]})}),e.jsx(j,{control:l.control,name:"tls.allow_insecure",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(b,{children:e.jsx(O,{checked:u.value||!1,onCheckedChange:u.onChange})})})]})})]}),e.jsx(j,{control:l.control,name:"bandwidth.up",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"上行宽带"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(b,{children:e.jsx(S,{type:"number",placeholder:"请输入上行宽带"+(l.watch("version")==2?",留空则使用BBR":""),className:"rounded-br-none rounded-tr-none",...u,value:u.value||""})}),e.jsx("div",{className:"pointer-events-none z-[-1] flex items-center rounded-md rounded-bl-none rounded-tl-none border border-l-0 border-input px-3 shadow-sm",children:e.jsx("span",{className:"text-gray-500",children:"Mbps"})})]})]})}),e.jsx(j,{control:l.control,name:"bandwidth.down",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"下行宽带"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(b,{children:e.jsx(S,{type:"number",placeholder:"请输入下行宽带"+(l.watch("version")==2?",留空则使用BBR":""),className:"rounded-br-none rounded-tr-none",...u,value:u.value||""})}),e.jsx("div",{className:"pointer-events-none z-[-1] flex items-center rounded-md rounded-bl-none rounded-tl-none border border-l-0 border-input px-3 shadow-sm",children:e.jsx("span",{className:"text-gray-500",children:"Mbps"})})]})]})})]}),vless:()=>e.jsxs(e.Fragment,{children:[e.jsx(j,{control:l.control,name:"tls",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"安全性"}),e.jsx(b,{children:e.jsxs(B,{value:u.value?.toString(),onValueChange:y=>u.onChange(Number(y)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择安全性"})}),e.jsxs(G,{children:[e.jsx(A,{value:"0",children:"无"}),e.jsx(A,{value:"1",children:"TLS"}),e.jsx(A,{value:"2",children:"Reality"})]})]})})]})}),l.watch("tls")=="1"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:l.control,name:"tls_settings.server_name",render:({field:u})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"服务器名称指示(SNI)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"不使用请留空",...u})})]})}),e.jsx(j,{control:l.control,name:"tls_settings.allow_insecure",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(b,{children:e.jsx(O,{checked:u.value,onCheckedChange:u.onChange})})})]})})]}),l.watch("tls")==2&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:l.control,name:"reality_settings.server_name",render:({field:u})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"伪装站点(dest)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"例如:example.com",...u})})]})}),e.jsx(j,{control:l.control,name:"reality_settings.server_port",render:({field:u})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(p,{children:"端口(port)"}),e.jsx(b,{children:e.jsx(S,{placeholder:"例如:443",...u})})]})}),e.jsx(j,{control:l.control,name:"reality_settings.allow_insecure",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(b,{children:e.jsx(O,{checked:u.value,onCheckedChange:u.onChange})})})]})})]}),e.jsxs("div",{className:"flex items-end gap-2",children:[e.jsx(j,{control:l.control,name:"reality_settings.private_key",render:({field:u})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(p,{children:"私钥(Private key)"}),e.jsx(b,{children:e.jsx(S,{...u})})]})}),e.jsxs(H,{variant:"outline",className:"",onClick:()=>{try{const u=ix();l.setValue("reality_settings.private_key",u.privateKey),l.setValue("reality_settings.public_key",u.publicKey),R.success("密钥对生成成功")}catch{R.error("生成密钥对失败")}},children:[e.jsx(ve,{icon:"ion:key-outline",className:"mr-2 h-4 w-4"}),"生成密钥对"]})]}),e.jsx(j,{control:l.control,name:"reality_settings.public_key",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"公钥(Public key)"}),e.jsx(b,{children:e.jsx(S,{...u})})]})}),e.jsx(j,{control:l.control,name:"reality_settings.short_id",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"Short ID"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(b,{children:e.jsx(S,{...u,placeholder:"可留空,长度为2的倍数,最长16位"})}),e.jsxs(H,{variant:"outline",onClick:()=>{const y=cx();l.setValue("reality_settings.short_id",y),R.success("Short ID 生成成功")},children:[e.jsx(ve,{icon:"ion:refresh-outline",className:"mr-2 h-4 w-4"}),"生成"]})]}),e.jsx(F,{className:"text-xs text-muted-foreground",children:"客户端可用的 shortId 列表,可用于区分不同的客户端,使用0-f的十六进制字符"})]})})]}),e.jsx(j,{control:l.control,name:"network",render:({field:u})=>e.jsxs(h,{children:[e.jsxs(p,{children:["传输协议",e.jsx(Vt,{value:l.watch("network_settings"),setValue:y=>l.setValue("network_settings",y),templateType:l.watch("network")})]}),e.jsx(b,{children:e.jsxs(B,{onValueChange:u.onChange,value:u.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择传输协议"})}),e.jsx(G,{children:e.jsx(os,{children:ds.vless.networkOptions.map(y=>e.jsx(A,{value:y.value,className:"cursor-pointer",children:y.label},y.value))})})]})})]})}),e.jsx(j,{control:l.control,name:"flow",render:({field:u})=>e.jsxs(h,{children:[e.jsx(p,{children:"流控"}),e.jsx(b,{children:e.jsxs(B,{onValueChange:y=>u.onChange(y==="none"?null:y),value:u.value||"none",children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"选择流控"})}),e.jsx(G,{children:ds.vless.flowOptions.map(y=>e.jsx(A,{value:y,children:y},y))})]})})]})})]})}[s]?.()},gx=c.object({id:c.number().optional().nullable(),code:c.string().optional(),name:c.string().min(1,"Please enter a valid name."),rate:c.string().min(1,"Please enter a valid rate."),tags:c.array(c.string()).default([]),excludes:c.array(c.string()).default([]),ips:c.array(c.string()).default([]),group_ids:c.array(c.string()).default([]),host:c.string().min(1,"Please enter a valid host."),port:c.string().min(1,"Please enter a valid port."),server_port:c.string().min(1,"Please enter a valid server port."),parent_id:c.string().default("0").nullable(),route_ids:c.array(c.string()).default([]),protocol_settings:c.record(c.any()).default({}).nullable()}),lt={id:null,code:"",name:"",rate:"1",tags:[],excludes:[],ips:[],group_ids:[],host:"",port:"",server_port:"",parent_id:"0",route_ids:[],protocol_settings:{}};function Sr(){const{isOpen:s,setIsOpen:t,editingServer:a,setEditingServer:n,serverType:r,setServerType:l,refetch:o}=Cr(),[d,x]=i.useState([]),[w,m]=i.useState([]),[v,u]=i.useState([]),y=Z({resolver:ee(gx),defaultValues:lt,mode:"onChange"});i.useEffect(()=>{D()},[s]),i.useEffect(()=>{a?.type&&a.type!==r&&l(a.type)},[a,r,l]),i.useEffect(()=>{a?a.type===r&&y.reset({...lt,...a}):y.reset(lt)},[a,y,r]);const D=async()=>{if(!s)return;const[N,V,W]=await Promise.all([St(),tr(),sr()]);x(N.data?.map(L=>({label:L.name,value:L.id.toString()}))||[]),m(V.data?.map(L=>({label:L.remarks,value:L.id.toString()}))||[]),u(W.data||[])},T=i.useMemo(()=>v?.filter(N=>(N.parent_id===0||N.parent_id===null)&&N.type===r&&N.id!==y.watch("id")),[r,v,y]),f=()=>e.jsxs(bs,{children:[e.jsx(ys,{asChild:!0,children:e.jsxs(C,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"添加节点"})]})}),e.jsx(ms,{align:"start",children:e.jsx(Bo,{children:vs.map(({type:N,label:V})=>e.jsx(oe,{onClick:()=>{l(N),t(!0)},className:"cursor-pointer",children:e.jsx(E,{variant:"outline",className:"text-white",style:{background:Qe[N]},children:V})},N))})})]}),_=()=>{t(!1),n(null),y.reset(lt)},z=async()=>{const N=y.getValues();(await pc({...N,type:r})).data&&(_(),R.success("提交成功"),o())};return e.jsxs(me,{open:s,onOpenChange:_,children:[f(),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:a?"编辑节点":"新建节点"}),e.jsx(ze,{})]}),e.jsxs(se,{...y,children:[e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{control:y.control,name:"name",render:({field:N})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"节点名称"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入节点名称",...N})}),e.jsx(k,{})]})}),e.jsx(j,{control:y.control,name:"rate",render:({field:N})=>e.jsxs(h,{className:"flex-[1]",children:[e.jsx(p,{children:"倍率"}),e.jsx("div",{className:"relative flex",children:e.jsx(b,{children:e.jsx(S,{type:"number",min:"0",step:"0.1",...N})})}),e.jsx(k,{})]})})]}),e.jsx(j,{control:y.control,name:"code",render:({field:N})=>e.jsxs(h,{children:[e.jsxs(p,{children:["自定义节点ID",e.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:"(选填)"})]}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入自定义节点ID",...N,value:N.value||""})}),e.jsx(k,{})]})}),e.jsx(j,{control:y.control,name:"tags",render:({field:N})=>e.jsxs(h,{children:[e.jsx(p,{children:"节点标签"}),e.jsx(b,{children:e.jsx(aa,{value:N.value,onChange:N.onChange,placeholder:"输入后回车添加标签",className:"w-full"})}),e.jsx(k,{})]})}),e.jsx(j,{control:y.control,name:"group_ids",render:({field:N})=>e.jsxs(h,{children:[e.jsxs(p,{className:"flex items-center justify-between",children:["权限组",e.jsx(Tt,{dialogTrigger:e.jsx(C,{variant:"link",children:"添加权限组"}),refetch:D})]}),e.jsx(b,{children:e.jsx(Qs,{options:d,onChange:V=>N.onChange(V.map(W=>W.value)),value:d?.filter(V=>N.value.includes(V.value)),placeholder:"请选择权限组",emptyIndicator:e.jsx("p",{className:"text-center text-lg leading-10 text-gray-600 dark:text-gray-400",children:"no results found."})})}),e.jsx(k,{})]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(j,{control:y.control,name:"host",render:({field:N})=>e.jsxs(h,{children:[e.jsx(p,{children:"节点地址"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入节点域名或者IP",...N})}),e.jsx(k,{})]})}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(j,{control:y.control,name:"port",render:({field:N})=>e.jsxs(h,{className:"flex-1",children:[e.jsxs(p,{className:"flex items-center gap-1.5",children:["连接端口",e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(ve,{icon:"ph:info-light",className:"size-3.5 cursor-help text-muted-foreground"})}),e.jsx(te,{side:"top",className:"max-w-80 p-3",children:e.jsx("p",{children:"用户实际连接使用的端口,这是客户端配置中需要填写的端口号。如果使用了中转或隧道,这个端口可能与服务器实际监听的端口不同。"})})]})})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(b,{children:e.jsx(S,{placeholder:"用户连接端口",...N})}),e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(C,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0 text-muted-foreground/50 hover:text-muted-foreground",onClick:()=>{const V=N.value;V&&y.setValue("server_port",V)},children:e.jsx(ve,{icon:"tabler:arrows-right",className:"size-3"})})}),e.jsx(te,{side:"right",children:e.jsx("p",{children:"同步到服务端口"})})]})})]}),e.jsx(k,{})]})}),e.jsx(j,{control:y.control,name:"server_port",render:({field:N})=>e.jsxs(h,{className:"flex-1",children:[e.jsxs(p,{className:"flex items-center gap-1.5",children:["服务端口",e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(ve,{icon:"ph:info-light",className:"size-3.5 cursor-help text-muted-foreground"})}),e.jsx(te,{side:"top",className:"max-w-80 p-3",children:e.jsx("p",{children:"服务器实际监听的端口,这是在服务器上开放的真实端口。如果使用了中转或隧道,这个端口可能与用户连接端口不同。"})})]})})]}),e.jsx(b,{children:e.jsx(S,{placeholder:"服务端开放端口",...N})}),e.jsx(k,{})]})})]})]}),!!y.watch("protocol_settings")&&e.jsx(jx,{serverType:r,value:y.watch("protocol_settings"),onChange:N=>y.setValue("protocol_settings",N,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!0})}),e.jsx(j,{control:y.control,name:"parent_id",render:({field:N})=>e.jsxs(h,{children:[e.jsx(p,{children:"父节点"}),e.jsxs(B,{onValueChange:N.onChange,value:N.value?.toString()||"0",children:[e.jsx(b,{children:e.jsx(U,{children:e.jsx(Y,{placeholder:"选择父节点"})})}),e.jsxs(G,{children:[e.jsx(A,{value:"0",children:"无"}),T?.map(V=>e.jsx(A,{value:V.id.toString(),className:"cursor-pointer",children:V.name},V.id))]})]}),e.jsx(k,{})]})}),e.jsx(j,{control:y.control,name:"route_ids",render:({field:N})=>e.jsxs(h,{children:[e.jsx(p,{children:"路由组"}),e.jsx(b,{children:e.jsx(Qs,{options:w,onChange:V=>N.onChange(V.map(W=>W.value)),value:w?.filter(V=>N.value.includes(V.value)),placeholder:"选择路由组",emptyIndicator:e.jsx("p",{className:"text-center text-lg leading-10 text-gray-600 dark:text-gray-400",children:"no results found."})})}),e.jsx(k,{})]})})]}),e.jsxs(Ie,{className:"mt-6",children:[e.jsx(C,{type:"button",variant:"outline",onClick:_,children:"取消"}),e.jsx(C,{type:"submit",onClick:z,children:"提交"})]})]})]})]})}function Da({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsxs(C,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(zs,{className:"mr-2 h-4 w-4"}),t,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(l=>r.has(l.value)).map(l=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:l.label},l.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(as,{children:[e.jsx(js,{placeholder:t}),e.jsxs(ns,{children:[e.jsx(gs,{children:"No results found."}),e.jsx(be,{children:a.map(l=>{const o=r.has(l.value);return e.jsxs(xe,{onSelect:()=>{o?r.delete(l.value):r.add(l.value);const d=Array.from(r);s?.setFilterValue(d.length?d:void 0)},className:"cursor-pointer",children:[e.jsx("div",{className:g("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",o?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(hs,{className:g("h-4 w-4")})}),l.icon&&e.jsx(l.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${l.color}`}),e.jsx("span",{children:l.label}),n?.get(l.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(l.value)})]},l.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Cs,{}),e.jsx(be,{children:e.jsx(xe,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center cursor-pointer",children:"Clear filters"})})]})]})]})})]})}const px=[{value:je.Shadowsocks,label:vs.find(s=>s.type===je.Shadowsocks)?.label,color:Qe[je.Shadowsocks]},{value:je.Vmess,label:vs.find(s=>s.type===je.Vmess)?.label,color:Qe[je.Vmess]},{value:je.Trojan,label:vs.find(s=>s.type===je.Trojan)?.label,color:Qe[je.Trojan]},{value:je.Hysteria,label:vs.find(s=>s.type===je.Hysteria)?.label,color:Qe[je.Hysteria]},{value:je.Vless,label:vs.find(s=>s.type===je.Vless)?.label,color:Qe[je.Vless]}];function fx({table:s,refetch:t,saveOrder:a,isSortMode:n,groups:r}){const l=s.getState().columnFilters.length>0,o=r.map(d=>({label:d,value:d}));return e.jsxs("div",{className:"flex items-center justify-between ",children:[e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[!n&&e.jsxs(e.Fragment,{children:[e.jsx(Sr,{refetch:t}),e.jsx(S,{placeholder:"搜索节点...",value:s.getColumn("name")?.getFilterValue()??"",onChange:d=>s.getColumn("name")?.setFilterValue(d.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),e.jsxs("div",{className:"flex gap-x-2",children:[s.getColumn("type")&&e.jsx(Da,{column:s.getColumn("type"),title:"类型",options:px}),s.getColumn("groups")&&e.jsx(Da,{column:s.getColumn("groups"),title:"权限组",options:o})]}),l&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]}),n&&e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽节点进行排序,完成后点击保存"})})]}),e.jsx("div",{children:e.jsx(C,{size:"sm",variant:n?"default":"outline",className:"ml-auto hidden h-8 lg:flex",onClick:a,children:n?"保存排序":"编辑排序"})})]})}const Zs=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M15.71 12.71a6 6 0 1 0-7.42 0a10 10 0 0 0-6.22 8.18a1 1 0 0 0 2 .22a8 8 0 0 1 15.9 0a1 1 0 0 0 1 .89h.11a1 1 0 0 0 .88-1.1a10 10 0 0 0-6.25-8.19M12 12a4 4 0 1 1 4-4a4 4 0 0 1-4 4"})}),it={0:"bg-destructive/80 shadow-sm shadow-destructive/50",1:"bg-yellow-500/80 shadow-sm shadow-yellow-500/50",2:"bg-emerald-500/80 shadow-sm shadow-emerald-500/50"},ot={0:"未运行",1:"异常",2:"正常"},vx=s=>[{id:"drag-handle",header:({column:t})=>e.jsx(P,{column:t,title:"排序"}),cell:()=>e.jsx("div",{className:"flex items-center justify-center",children:e.jsx(Nt,{className:"size-4 cursor-move text-muted-foreground transition-colors hover:text-primary","aria-hidden":"true"})}),size:50},{accessorKey:"id",header:({column:t})=>e.jsx(P,{column:t,title:"节点ID"}),cell:({row:t})=>{const a=t.getValue("id"),n=t.original.code;return e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsxs("div",{className:"group/id flex items-center space-x-2",children:[e.jsxs(E,{variant:"outline",className:g("border-2 font-medium transition-all duration-200 hover:opacity-80","flex items-center gap-1.5"),style:{borderColor:Qe[t.original.type]},children:[e.jsx(Tn,{className:"size-3"}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"flex items-center gap-0.5",children:n??a}),t.original.parent_id?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-sm text-muted-foreground/30",children:"→"}),e.jsx("span",{children:t.original.parent_id})]}):""]})]}),e.jsx(C,{variant:"ghost",size:"icon",className:"size-5 text-muted-foreground/40 opacity-0 transition-all duration-200 hover:text-muted-foreground group-hover/id:opacity-100",onClick:r=>{r.stopPropagation(),At(n||a.toString()),R.success(n?"已复制节点代码":"已复制节点ID")},children:e.jsx(ga,{className:"size-3"})})]})}),e.jsxs(te,{side:"top",className:"flex flex-col gap-1 p-3",children:[e.jsxs("p",{className:"font-medium",children:[vs.find(r=>r.type===t.original.type)?.label,t.original.parent_id?" (子节点)":""]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:n?"点击括号内容或复制按钮可复制节点代码":"点击复制按钮可复制节点ID"})]})]})})},size:200,enableSorting:!0},{accessorKey:"show",header:({column:t})=>e.jsx(P,{column:t,title:"显隐"}),cell:({row:t})=>{const[a,n]=i.useState(!!t.getValue("show"));return e.jsx(O,{checked:a,onCheckedChange:async r=>{n(r),bc({id:t.original.id,type:t.original.type,show:r?1:0}).catch(()=>{n(!r),s()})},style:{backgroundColor:a?Qe[t.original.type]:void 0}})},size:50,enableSorting:!1},{accessorKey:"name",header:({column:t})=>e.jsx("div",{className:"flex items-center",children:e.jsx(P,{column:t,title:"节点",tooltip:e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-2",children:[e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:g("h-2.5 w-2.5 rounded-full",it[0])}),e.jsx("span",{className:"text-sm font-medium",children:ot[0]})]}),e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:g("h-2.5 w-2.5 rounded-full",it[1])}),e.jsx("span",{className:"text-sm font-medium",children:ot[1]})]}),e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:g("h-2.5 w-2.5 rounded-full",it[2])}),e.jsx("span",{className:"text-sm font-medium",children:ot[2]})]})]})})}),cell:({row:t})=>e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{children:e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:g("size-2.5 flex-shrink-0 rounded-full transition-all duration-200",it[t.original.available_status])}),e.jsx("span",{className:"text-left font-medium transition-colors hover:text-primary",children:t.getValue("name")})]})}),e.jsx(te,{children:e.jsx("p",{className:"font-medium",children:ot[t.original.available_status]})})]})}),enableSorting:!1,size:200},{accessorKey:"host",header:({column:t})=>e.jsx(P,{column:t,title:"地址"}),cell:({row:t})=>{const a=`${t.original.host}:${t.original.port}`,n=t.original.port!==t.original.server_port;return e.jsxs("div",{className:"group relative flex min-w-0 items-start",children:[e.jsxs("div",{className:"flex min-w-0 flex-wrap items-baseline gap-x-1 gap-y-0.5 pr-7",children:[e.jsx("div",{className:"flex items-center ",children:e.jsxs("span",{className:"font-mono text-sm font-medium text-foreground/90",children:[t.original.host,":",t.original.port]})}),n&&e.jsxs("span",{className:"whitespace-nowrap text-[0.7rem] tracking-tight text-muted-foreground/40",children:["(内部端口 ",t.original.server_port,")"]})]}),e.jsx("div",{className:"absolute right-0 top-0",children:e.jsx(ce,{delayDuration:0,children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(C,{variant:"ghost",size:"icon",className:"size-6 text-muted-foreground/40 opacity-0 transition-all duration-200 hover:bg-muted/50 hover:text-muted-foreground group-hover:opacity-100",onClick:r=>{r.stopPropagation(),At(a)},children:e.jsx(ga,{className:"size-3"})})}),e.jsx(te,{side:"top",sideOffset:10,children:"复制连接地址"})]})})})]})},enableSorting:!1,enableHiding:!0},{accessorKey:"online",header:({column:t})=>e.jsx(P,{column:t,title:"在线人数",tooltip:"在线人数根据服务端上报频率而定"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(Zs,{className:"size-4"}),e.jsx("span",{className:"font-medium",children:t.getValue("online")})]}),size:80,enableSorting:!0,enableHiding:!0},{accessorKey:"rate",header:({column:t})=>e.jsx(P,{column:t,title:"倍率",tooltip:"流量扣费倍率"}),cell:({row:t})=>e.jsxs(E,{variant:"secondary",className:"font-medium",children:[t.getValue("rate")," x"]}),size:80,enableSorting:!1,enableHiding:!0},{accessorKey:"groups",header:({column:t})=>e.jsx(P,{column:t,title:"权限组",tooltip:"可订阅到该节点的权限组"}),cell:({row:t})=>{const a=t.getValue("groups")||[];return e.jsx("div",{className:"flex min-w-[300px] max-w-[600px] flex-wrap items-center gap-1.5",children:a.length>0?a.map((n,r)=>e.jsx(E,{variant:"secondary",className:g("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5"),children:n.name},r)):e.jsx("span",{className:"text-sm text-muted-foreground",children:"--"})})},enableSorting:!1,size:600,filterFn:(t,a,n)=>{const r=t.getValue(a);return r?n.some(l=>r.includes(l)):!1}},{accessorKey:"type",header:({column:t})=>e.jsx(P,{column:t,title:"类型"}),cell:({row:t})=>{const a=t.getValue("type");return e.jsx(E,{variant:"outline",className:"border-2 font-medium transition-colors",style:{borderColor:Qe[a]},children:a})},enableSorting:!1,enableHiding:!0,enableColumnFilter:!1,size:8e3},{id:"actions",header:({column:t})=>e.jsx(P,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>{const{setIsOpen:a,setEditingServer:n,setServerType:r}=Cr();return e.jsx("div",{className:"flex justify-center",children:e.jsxs(bs,{modal:!1,children:[e.jsx(ys,{asChild:!0,children:e.jsx(C,{variant:"ghost",className:"h-8 w-8 p-0 hover:bg-muted","aria-label":"打开操作菜单",children:e.jsx(mt,{className:"size-4"})})}),e.jsxs(ms,{align:"end",className:"w-40",children:[e.jsx(oe,{className:"cursor-pointer",onClick:()=>{r(t.original.type),n(t.original),a(!0)},children:e.jsxs("div",{className:"flex w-full items-center",children:[e.jsx(Xi,{className:"mr-2 size-4"}),"编辑"]})}),e.jsxs(oe,{className:"cursor-pointer",onClick:async()=>{vc({id:t.original.id}).then(({data:l})=>{l&&(R.success("复制成功"),s())})},children:[e.jsx(eo,{className:"mr-2 size-4"}),"复制"]}),e.jsx(Ws,{}),e.jsx(oe,{className:"cursor-pointer text-destructive focus:text-destructive",onSelect:l=>l.preventDefault(),children:e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该节点,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{fc({id:t.original.id}).then(({data:l})=>{l&&(R.success("删除成功"),s())})},children:e.jsxs("div",{className:"flex w-full items-center",children:[e.jsx(es,{className:"mr-2 size-4"}),"删除"]})})})]})]})})},size:50}];function bx(){const[s,t]=i.useState({}),[a,n]=i.useState({"drag-handle":!1}),[r,l]=i.useState([]),[o,d]=i.useState({pageSize:50,pageIndex:0}),[x,w]=i.useState([]),[m,v]=i.useState(!1),[u,y]=i.useState({}),[D,T]=i.useState([]),{refetch:f}=K({queryKey:["nodeList"],queryFn:async()=>{const{data:L}=await sr();return T(L),L}}),_=i.useMemo(()=>{const L=new Set;return D.forEach(ae=>{ae.groups&&ae.groups.forEach(Ge=>L.add(Ge.name))}),Array.from(L).sort()},[D]);i.useEffect(()=>{n({"drag-handle":m,show:!m,host:!m,online:!m,rate:!m,groups:!m,type:!1,actions:!m}),y({name:m?2e3:200}),d({pageSize:m?99999:50,pageIndex:0})},[m]);const z=(L,ae)=>{m&&(L.dataTransfer.setData("text/plain",ae.toString()),L.currentTarget.classList.add("opacity-50"))},N=(L,ae)=>{if(!m)return;L.preventDefault(),L.currentTarget.classList.remove("bg-muted");const Ge=parseInt(L.dataTransfer.getData("text/plain"));if(Ge===ae)return;const Ss=[...D],[Os]=Ss.splice(Ge,1);Ss.splice(ae,0,Os),T(Ss)},V=async()=>{if(!m){v(!0);return}try{const L=D?.map((ae,Ge)=>({id:ae.id,order:Ge+1}));await yc(L),R.success("排序保存成功"),v(!1),f()}catch{R.error("排序保存失败"),v(!1)}},W=Re({data:D||[],columns:vx(f),state:{sorting:x,columnVisibility:a,rowSelection:s,columnFilters:r,columnSizing:u,pagination:o},enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:w,onColumnFiltersChange:l,onColumnVisibilityChange:n,onColumnSizingChange:y,onPaginationChange:d,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(ax,{refetch:f,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(qe,{table:W,toolbar:L=>e.jsx(fx,{table:L,refetch:f,saveOrder:V,isSortMode:m,groups:_}),draggable:m,onDragStart:z,onDragEnd:L=>L.currentTarget.classList.remove("opacity-50"),onDragOver:L=>{L.preventDefault(),L.currentTarget.classList.add("bg-muted")},onDragLeave:L=>L.currentTarget.classList.remove("bg-muted"),onDrop:N,showPagination:!m}),e.jsx(Sr,{})]})})}function yx(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"节点管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"管理所有节点,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(bx,{})})]})]})}const Nx=Object.freeze(Object.defineProperty({__proto__:null,default:yx},Symbol.toStringTag,{value:"Module"}));function wx({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsx("div",{className:"flex items-center justify-between space-x-4",children:e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsx(Tt,{refetch:t}),e.jsx(S,{placeholder:"搜索权限组...",value:s.getColumn("name")?.getFilterValue()??"",onChange:n=>s.getColumn("name")?.setFilterValue(n.target.value),className:g("h-8 w-[150px] lg:w-[250px]",a&&"border-primary/50 ring-primary/20")}),a&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})})}const _x=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(P,{column:t,title:"组ID"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(E,{variant:"outline",children:t.getValue("id")})}),enableSorting:!0},{accessorKey:"name",header:({column:t})=>e.jsx(P,{column:t,title:"组名称"}),cell:({row:t})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium",children:t.getValue("name")})})},{accessorKey:"users_count",header:({column:t})=>e.jsx(P,{column:t,title:"用户数量"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(Zs,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:t.getValue("users_count")})]}),enableSorting:!0},{accessorKey:"server_count",header:({column:t})=>e.jsx(P,{column:t,title:"节点数量"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(Tn,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:t.getValue("server_count")})]}),enableSorting:!0,size:8e3},{id:"actions",header:({column:t})=>e.jsx(P,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx(Tt,{defaultValues:t.original,refetch:s,type:"edit",dialogTrigger:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(_s,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]})}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该权限组,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{wc({id:t.original.id}).then(({data:a})=>{a&&(R.success("删除成功"),s())})},children:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(es,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}];function Cx(){const[s,t]=i.useState({}),[a,n]=i.useState({}),[r,l]=i.useState([]),[o,d]=i.useState([]),{data:x,refetch:w,isLoading:m}=K({queryKey:["serverGroupList"],queryFn:async()=>{const{data:u}=await St();return u}}),v=Re({data:x||[],columns:_x(w),state:{sorting:o,columnVisibility:a,rowSelection:s,columnFilters:r},enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:v,toolbar:u=>e.jsx(wx,{table:u,refetch:w}),isLoading:m})}function Sx(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"权限组管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"管理所有权限组,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Cx,{})})]})]})}const kx=Object.freeze(Object.defineProperty({__proto__:null,default:Sx},Symbol.toStringTag,{value:"Module"})),Tx=c.object({remarks:c.string().min(1,"Please enter a valid remarks."),match:c.array(c.string()),action:c.enum(["block","dns"]),action_value:c.string().optional()});function kr({refetch:s,dialogTrigger:t,defaultValues:a={remarks:"",match:[],action:"block",action_value:""},type:n="add"}){const r=Z({resolver:ee(Tx),defaultValues:a,mode:"onChange"}),[l,o]=i.useState(!1);return e.jsxs(me,{open:l,onOpenChange:o,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(C,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"})," ",e.jsx("div",{children:"添加路由"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:n==="edit"?"编辑路由":"创建路由"}),e.jsx(ze,{})]}),e.jsxs(se,{...r,children:[e.jsx(j,{control:r.control,name:"remarks",render:({field:d})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"备注"}),e.jsx("div",{className:"relative",children:e.jsx(b,{children:e.jsx(S,{type:"text",placeholder:"请输入备注",...d})})}),e.jsx(k,{})]})}),e.jsx(j,{control:r.control,name:"match",render:({field:d})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(p,{children:"备注"}),e.jsx("div",{className:"relative",children:e.jsx(b,{children:e.jsx(ps,{className:"min-h-[120px]",placeholder:`example.com *.example.com`,value:d.value.join(` -`),onChange:m=>{d.onChange(m.target.value.split(` -`))}})})}),e.jsx(S,{})]})}),e.jsx(h,{control:r.control,name:"action",render:({field:d})=>e.jsxs(u,{children:[e.jsx(g,{children:"动作"}),e.jsx("div",{className:"relative",children:e.jsx(v,{children:e.jsxs(B,{onValueChange:d.onChange,defaultValue:d.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择动作"})}),e.jsxs(G,{children:[e.jsx(A,{value:"block",children:"禁止访问"}),e.jsx(A,{value:"dns",children:"指定DNS服务器进行解析"})]})]})})}),e.jsx(S,{})]})}),r.watch("action")==="dns"&&e.jsx(h,{control:r.control,name:"action_value",render:({field:d})=>e.jsxs(u,{children:[e.jsx(g,{children:"DNS服务器"}),e.jsx("div",{className:"relative",children:e.jsx(v,{children:e.jsx(C,{type:"text",placeholder:"请输入DNS服务器",...d})})})]})}),e.jsxs(Fe,{children:[e.jsx(Xs,{asChild:!0,children:e.jsx(k,{variant:"outline",children:"取消"})}),e.jsx(k,{type:"submit",onClick:()=>{wc(r.getValues()).then(({data:d})=>{d&&(c(!1),s&&s(),r.reset())})},children:"提交"})]})]})]})]})}function Sm({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsx("div",{className:"flex items-center justify-between ",children:e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[e.jsx(kr,{refetch:t}),e.jsx(C,{placeholder:"搜索路由...",value:s.getColumn("remarks")?.getFilterValue()??"",onChange:n=>s.getColumn("remarks")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),a&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["Reset",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})})}function km({columns:s,data:t,refetch:a}){const[n,r]=i.useState({}),[l,c]=i.useState({}),[d,m]=i.useState([]),[w,j]=i.useState([]),b=Re({data:t,columns:s,state:{sorting:w,columnVisibility:l,rowSelection:n,columnFilters:d},enableRowSelection:!0,onRowSelectionChange:r,onSortingChange:j,onColumnFiltersChange:m,onColumnVisibilityChange:c,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:b,toolbar:x=>e.jsx(Sm,{table:x,refetch:a})})}const Tm=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(F,{column:t,title:"组ID"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(E,{variant:"outline",children:t.getValue("id")})}),enableSorting:!0,enableHiding:!1},{accessorKey:"remarks",header:()=>e.jsx("div",{children:"备注"}),cell:({row:t})=>e.jsx("div",{className:"flex space-x-2",children:e.jsxs("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:["匹配 ",t.original.match?.length," 条规则"]})})},{accessorKey:"action",header:({column:t})=>e.jsx(F,{column:t,title:"动作"}),cell:({row:t})=>{const a={dns:"指定DNS服务器进行解析",block:"禁止访问"};return e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(E,{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:a[t.getValue("action")]})})},enableSorting:!1,size:9e3},{id:"actions",header:()=>e.jsx("div",{className:"text-right",children:"操作"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx(kr,{defaultValues:t.original,refetch:s,type:"edit",dialogTrigger:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(ws,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]})}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该权限组,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{_c({id:t.original.id}).then(({data:a})=>{a&&(V.success("删除成功"),s())})},children:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(Xe,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}];function Dm(){const[s,t]=i.useState([]);function a(){tr().then(({data:n})=>{t(n)})}return i.useEffect(()=>{a()},[]),e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"路由管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"管理所有路由组,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(km,{data:s,columns:Tm(a),refetch:a})})]})]})}const Pm=Object.freeze(Object.defineProperty({__proto__:null,default:Dm},Symbol.toStringTag,{value:"Module"})),Tr=i.createContext(void 0);function Fm({children:s,refreshData:t}){const[a,n]=i.useState(!1),[r,l]=i.useState(null);return e.jsx(Tr.Provider,{value:{isOpen:a,setIsOpen:n,editingPlan:r,setEditingPlan:l,refreshData:t},children:s})}function na(){const s=i.useContext(Tr);if(s===void 0)throw new Error("usePlanEdit must be used within a PlanEditProvider");return s}function Im({table:s,saveOrder:t,isSortMode:a}){const{setIsOpen:n}=na();return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsxs(k,{variant:"outline",className:"space-x-2",size:"sm",onClick:()=>n(!0),children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"添加套餐"})]}),e.jsx(C,{placeholder:"搜索套餐...",value:s.getColumn("name")?.getFilterValue()??"",onChange:r=>s.getColumn("name")?.setFilterValue(r.target.value),className:"h-8 w-[150px] lg:w-[250px]"})]}),e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(k,{variant:a?"default":"outline",size:"sm",onClick:t,children:a?"保存排序":"编辑排序"})})]})}const Vm=s=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:"cursor-move",children:e.jsx(Nt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:t})=>e.jsx(F,{column:t,title:"ID"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(E,{variant:"outline",children:t.getValue("id")})}),enableSorting:!0,enableHiding:!1},{accessorKey:"show",header:({column:t})=>e.jsx(F,{column:t,title:"显示"}),cell:({row:t})=>e.jsx(O,{defaultChecked:t.getValue("show"),onCheckedChange:a=>{Ft({id:t.original.id,show:a}).then(({data:n})=>{!n&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"sell",header:({column:t})=>e.jsx(F,{column:t,title:"销售"}),cell:({row:t})=>e.jsx(O,{defaultChecked:t.getValue("sell"),onCheckedChange:a=>{Ft({id:t.original.id,sell:a}).then(({data:n})=>{!n&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"renew",header:({column:t})=>e.jsx(F,{column:t,title:"续费",tooltip:"在订阅停止销售时,已购用户是否可以续费"}),cell:({row:t})=>e.jsx(O,{defaultChecked:t.getValue("renew"),onCheckedChange:a=>{Ft({id:t.original.id,renew:a}).then(({data:n})=>{!n&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"name",header:({column:t})=>e.jsx(F,{column:t,title:"名称"}),cell:({row:t})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:t.getValue("name")})}),enableSorting:!1,enableHiding:!1,size:900},{accessorKey:"users_count",header:({column:t})=>e.jsx(F,{column:t,title:"统计"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 px-2",children:[e.jsx(Zs,{}),e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:t.getValue("users_count")})]}),enableSorting:!0},{accessorKey:"group",header:({column:t})=>e.jsx(F,{column:t,title:"权限组"}),cell:({row:t})=>e.jsx("div",{className:"flex max-w-[600px] flex-wrap items-center gap-1.5",children:e.jsx(E,{variant:"secondary",className:f("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5"),children:t.getValue("group")?.name})}),enableSorting:!1,enableHiding:!1,size:9e3},{id:"actions",header:({column:t})=>e.jsx(F,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>{const{setIsOpen:a,setEditingPlan:n}=na();return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",onClick:()=>{n(t.original),a(!0)},children:[e.jsx(ws,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该订阅,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{Kc({id:t.original.id}).then(({data:r})=>{r&&(V.success("删除成功"),s())})},children:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(Xe,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}}],Rm=o.object({id:o.number().nullable(),group_id:o.union([o.number(),o.string()]).nullable().optional(),name:o.string().min(1).max(250),content:o.string().nullable().optional(),transfer_enable:o.union([o.number().min(0),o.string().min(1)]),prices:o.object({monthly:o.union([o.number(),o.string()]).nullable().optional(),quarterly:o.union([o.number(),o.string()]).nullable().optional(),half_yearly:o.union([o.number(),o.string()]).nullable().optional(),yearly:o.union([o.number(),o.string()]).nullable().optional(),two_yearly:o.union([o.number(),o.string()]).nullable().optional(),three_yearly:o.union([o.number(),o.string()]).nullable().optional(),onetime:o.union([o.number(),o.string()]).nullable().optional(),reset_traffic:o.union([o.number(),o.string()]).nullable().optional()}).default({}),speed_limit:o.union([o.number(),o.string()]).nullable().optional(),capacity_limit:o.union([o.number(),o.string()]).nullable().optional(),device_limit:o.union([o.number(),o.string()]).nullable().optional(),force_update:o.boolean().optional(),reset_traffic_method:o.number().nullable(),users_count:o.number().optional()}),Dr=i.forwardRef(({className:s,...t},a)=>e.jsx(Dn,{ref:a,className:f("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",s),...t,children:e.jsx(eo,{className:f("flex items-center justify-center text-current"),children:e.jsx(us,{className:"h-4 w-4"})})}));Dr.displayName=Dn.displayName;const ct={id:null,group_id:null,name:"",content:"",transfer_enable:"",prices:{monthly:"",quarterly:"",half_yearly:"",yearly:"",two_yearly:"",three_yearly:"",onetime:"",reset_traffic:""},speed_limit:"",capacity_limit:"",device_limit:"",force_update:!1,reset_traffic_method:null},dt={monthly:{label:"月付",months:1,discount:1},quarterly:{label:"季付",months:3,discount:.95},half_yearly:{label:"半年付",months:6,discount:.9},yearly:{label:"年付",months:12,discount:.85},two_yearly:{label:"两年付",months:24,discount:.8},three_yearly:{label:"三年付",months:36,discount:.75},onetime:{label:"流量包",months:1,discount:1},reset_traffic:{label:"重置包",months:1,discount:1}},Mm=[{value:0,label:"跟随系统设置"},{value:1,label:"每月1号"},{value:2,label:"按月重置"},{value:3,label:"不重置"},{value:4,label:"每年1月1日"},{value:5,label:"按年重置"}];function zm(){const{isOpen:s,setIsOpen:t,editingPlan:a,setEditingPlan:n,refreshData:r}=na(),[l,c]=i.useState(!1),d=Z({resolver:ee(Rm),defaultValues:{...ct,...a||{}},mode:"onChange"});i.useEffect(()=>{a?d.reset({...ct,...a}):d.reset(ct)},[a,d]);const m=new Sn({html:!0}),[w,j]=i.useState();async function b(){St().then(({data:D})=>{j(D)})}i.useEffect(()=>{s&&b()},[s]);const x=D=>{if(isNaN(D))return;const T=Object.entries(dt).reduce((p,[_,z])=>{const N=D*z.months*z.discount;return{...p,[_]:N.toFixed(2)}},{});d.setValue("prices",T,{shouldDirty:!0})},y=()=>{t(!1),n(null),d.reset(ct)};return e.jsx(ue,{open:s,onOpenChange:y,children:e.jsxs(de,{children:[e.jsxs(ge,{children:[e.jsx(he,{children:a?"编辑套餐":"添加套餐"}),e.jsx(ze,{})]}),e.jsxs(se,{...d,children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx(h,{control:d.control,name:"name",render:({field:D})=>e.jsxs(u,{children:[e.jsx(g,{children:"套餐名称"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入套餐名称",...D})}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"group_id",render:({field:D})=>e.jsxs(u,{children:[e.jsxs(g,{className:"flex items-center justify-between",children:["权限组",e.jsx(Tt,{dialogTrigger:e.jsx(k,{variant:"link",children:"添加权限组"}),refetch:b})]}),e.jsxs(B,{value:D.value||"",onValueChange:D.onChange,children:[e.jsx(v,{children:e.jsx(U,{children:e.jsx(Y,{placeholder:"选择权限组"})})}),e.jsx(G,{children:w?.map(T=>e.jsx(A,{value:T.id,children:T.name},T.id))})]}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"transfer_enable",render:({field:D})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(g,{children:"流量"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(v,{children:e.jsx(C,{type:"number",min:0,placeholder:"请输入流量大小",className:"rounded-r-none",...D})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"GB"})]}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"speed_limit",render:({field:D})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(g,{children:"限速"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(v,{children:e.jsx(C,{type:"number",min:0,placeholder:"请输入限速",className:"rounded-r-none",...D})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"Mbps"})]}),e.jsx(S,{})]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center",children:[e.jsx("div",{className:"flex-grow border-t border-gray-200 dark:border-gray-700"}),e.jsx("h3",{className:"mx-4 text-sm font-medium text-gray-500 dark:text-gray-400",children:"售价设置"}),e.jsx("div",{className:"flex-grow border-t border-gray-200 dark:border-gray-700"})]}),e.jsxs("div",{className:"ml-4 flex items-center gap-2",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(C,{type:"number",placeholder:"基础月付价格",className:"h-7 w-32 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500",onChange:D=>{const T=parseFloat(D.target.value);x(T)}})]}),e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(k,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>{const D=Object.keys(dt).reduce((T,p)=>({...T,[p]:""}),{});d.setValue("prices",D,{shouldDirty:!0})},children:"清空价格"})}),e.jsx(te,{side:"top",align:"end",children:e.jsx("p",{className:"text-xs",children:"清空所有周期的价格设置"})})]})})]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-3",children:Object.entries(dt).filter(([D])=>!["onetime","reset_traffic"].includes(D)).map(([D,T])=>e.jsx("div",{className:"group relative rounded-md bg-card p-2 ring-1 ring-gray-200 transition-all hover:ring-primary dark:ring-gray-800",children:e.jsx(h,{control:d.control,name:`prices.${D}`,render:({field:p})=>e.jsxs(u,{children:[e.jsxs(g,{className:"text-xs font-medium text-muted-foreground",children:[T.label,e.jsxs("span",{className:"ml-1 text-[10px] text-gray-400",children:["(",T.months===1?"每月":`每${T.months}个月`,"结算)"]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(v,{children:e.jsx(C,{type:"number",placeholder:"0.00",min:0,...p,value:p.value??"",onChange:_=>p.onChange(_.target.value),className:"h-7 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500"})})]})]})})},D))}),e.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:Object.entries(dt).filter(([D])=>["onetime","reset_traffic"].includes(D)).map(([D,T])=>e.jsx("div",{className:"rounded-md border border-dashed border-gray-200 bg-muted/30 p-3 dark:border-gray-700",children:e.jsx(h,{control:d.control,name:`prices.${D}`,render:({field:p})=>e.jsx(u,{children:e.jsxs("div",{className:"flex flex-col gap-2 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{className:"space-y-0",children:[e.jsx(g,{className:"text-xs font-medium",children:T.label}),e.jsx("p",{className:"text-[10px] text-muted-foreground",children:D==="onetime"?"一次性流量包,购买后立即生效":"用户可随时购买流量重置包,立即重置流量"})]}),e.jsxs("div",{className:"relative w-full md:w-32",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(v,{children:e.jsx(C,{type:"number",placeholder:"0.00",min:0,...p,className:"h-7 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500"})})]})]})})})},D))})]}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(h,{control:d.control,name:"device_limit",render:({field:D})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(g,{children:"设备限制"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(v,{children:e.jsx(C,{type:"number",min:0,placeholder:"留空则不限制",className:"rounded-r-none",...D,value:D.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"台"})]}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"capacity_limit",render:({field:D})=>e.jsxs(u,{className:"flex-1",children:[e.jsx(g,{children:"容量限制"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(v,{children:e.jsx(C,{type:"number",min:0,placeholder:"留空则不限制",className:"rounded-r-none",...D,value:D.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"人"})]}),e.jsx(S,{})]})})]}),e.jsx(h,{control:d.control,name:"reset_traffic_method",render:({field:D})=>e.jsxs(u,{children:[e.jsx(g,{children:"流量重置方式"}),e.jsxs(B,{value:D.value?.toString()??"0",onValueChange:T=>D.onChange(Number(T)),children:[e.jsx(v,{children:e.jsx(U,{children:e.jsx(Y,{placeholder:"选择流量重置方式"})})}),e.jsx(G,{children:Mm.map(T=>e.jsx(A,{value:T.value.toString(),children:T.label},T.value))})]}),e.jsx(P,{className:"text-xs",children:"设置订阅流量的重置方式,不同的重置方式会影响用户的流量计算方式"}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"content",render:({field:D})=>{const[T,p]=i.useState(!1);return e.jsxs(u,{className:"space-y-2",children:[e.jsxs(g,{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:["套餐描述",e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(k,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>p(!T),children:T?e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-4 w-4",children:[e.jsx("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"}),e.jsx("path",{fillRule:"evenodd",d:"M.664 10.59a1.651 1.651 0 010-1.186A10.004 10.004 0 0110 3c4.257 0 7.893 2.66 9.336 6.41.147.381.146.804 0 1.186A10.004 10.004 0 0110 17c-4.257 0-7.893-2.66-9.336-6.41zM14 10a4 4 0 11-8 0 4 4 0 018 0z",clipRule:"evenodd"})]}):e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-4 w-4",children:[e.jsx("path",{fillRule:"evenodd",d:"M3.28 2.22a.75.75 0 00-1.06 1.06l14.5 14.5a.75.75 0 101.06-1.06l-1.745-1.745a10.029 10.029 0 003.3-4.38 1.651 1.651 0 000-1.185A10.004 10.004 0 009.999 3a9.956 9.956 0 00-4.744 1.194L3.28 2.22zM7.752 6.69l1.092 1.092a2.5 2.5 0 013.374 3.373l1.091 1.092a4 4 0 00-5.557-5.557z",clipRule:"evenodd"}),e.jsx("path",{d:"M10.748 13.93l2.523 2.523a9.987 9.987 0 01-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 010-1.186A10.007 10.007 0 012.839 6.02L6.07 9.252a4 4 0 004.678 4.678z"})]})})}),e.jsx(te,{side:"top",children:e.jsx("p",{className:"text-xs",children:T?"隐藏预览":"显示预览"})})]})})]}),e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(k,{variant:"outline",size:"sm",onClick:()=>{D.onChange(`## 套餐特点 +`),onChange:x=>{d.onChange(x.target.value.split(` +`))}})})}),e.jsx(k,{})]})}),e.jsx(j,{control:r.control,name:"action",render:({field:d})=>e.jsxs(h,{children:[e.jsx(p,{children:"动作"}),e.jsx("div",{className:"relative",children:e.jsx(b,{children:e.jsxs(B,{onValueChange:d.onChange,defaultValue:d.value,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择动作"})}),e.jsxs(G,{children:[e.jsx(A,{value:"block",children:"禁止访问"}),e.jsx(A,{value:"dns",children:"指定DNS服务器进行解析"})]})]})})}),e.jsx(k,{})]})}),r.watch("action")==="dns"&&e.jsx(j,{control:r.control,name:"action_value",render:({field:d})=>e.jsxs(h,{children:[e.jsx(p,{children:"DNS服务器"}),e.jsx("div",{className:"relative",children:e.jsx(b,{children:e.jsx(S,{type:"text",placeholder:"请输入DNS服务器",...d})})})]})}),e.jsxs(Ie,{children:[e.jsx(Xs,{asChild:!0,children:e.jsx(C,{variant:"outline",children:"取消"})}),e.jsx(C,{type:"submit",onClick:()=>{_c(r.getValues()).then(({data:d})=>{d&&(o(!1),s&&s(),r.reset())})},children:"提交"})]})]})]})]})}function Dx({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsx("div",{className:"flex items-center justify-between ",children:e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[e.jsx(kr,{refetch:t}),e.jsx(S,{placeholder:"搜索路由...",value:s.getColumn("remarks")?.getFilterValue()??"",onChange:n=>s.getColumn("remarks")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),a&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["Reset",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})})}function Px({columns:s,data:t,refetch:a}){const[n,r]=i.useState({}),[l,o]=i.useState({}),[d,x]=i.useState([]),[w,m]=i.useState([]),v=Re({data:t,columns:s,state:{sorting:w,columnVisibility:l,rowSelection:n,columnFilters:d},enableRowSelection:!0,onRowSelectionChange:r,onSortingChange:m,onColumnFiltersChange:x,onColumnVisibilityChange:o,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:v,toolbar:u=>e.jsx(Dx,{table:u,refetch:a})})}const Ix=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(P,{column:t,title:"组ID"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(E,{variant:"outline",children:t.getValue("id")})}),enableSorting:!0,enableHiding:!1},{accessorKey:"remarks",header:()=>e.jsx("div",{children:"备注"}),cell:({row:t})=>e.jsx("div",{className:"flex space-x-2",children:e.jsxs("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:["匹配 ",t.original.match?.length," 条规则"]})})},{accessorKey:"action",header:({column:t})=>e.jsx(P,{column:t,title:"动作"}),cell:({row:t})=>{const a={dns:"指定DNS服务器进行解析",block:"禁止访问"};return e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(E,{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:a[t.getValue("action")]})})},enableSorting:!1,size:9e3},{id:"actions",header:()=>e.jsx("div",{className:"text-right",children:"操作"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx(kr,{defaultValues:t.original,refetch:s,type:"edit",dialogTrigger:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(_s,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]})}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该权限组,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{Cc({id:t.original.id}).then(({data:a})=>{a&&(R.success("删除成功"),s())})},children:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(es,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}];function Fx(){const[s,t]=i.useState([]);function a(){tr().then(({data:n})=>{t(n)})}return i.useEffect(()=>{a()},[]),e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"路由管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"管理所有路由组,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Px,{data:s,columns:Ix(a),refetch:a})})]})]})}const Vx=Object.freeze(Object.defineProperty({__proto__:null,default:Fx},Symbol.toStringTag,{value:"Module"})),Tr=i.createContext(void 0);function Rx({children:s,refreshData:t}){const[a,n]=i.useState(!1),[r,l]=i.useState(null);return e.jsx(Tr.Provider,{value:{isOpen:a,setIsOpen:n,editingPlan:r,setEditingPlan:l,refreshData:t},children:s})}function na(){const s=i.useContext(Tr);if(s===void 0)throw new Error("usePlanEdit must be used within a PlanEditProvider");return s}function Mx({table:s,saveOrder:t,isSortMode:a}){const{setIsOpen:n}=na();return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsxs(C,{variant:"outline",className:"space-x-2",size:"sm",onClick:()=>n(!0),children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"添加套餐"})]}),e.jsx(S,{placeholder:"搜索套餐...",value:s.getColumn("name")?.getFilterValue()??"",onChange:r=>s.getColumn("name")?.setFilterValue(r.target.value),className:"h-8 w-[150px] lg:w-[250px]"})]}),e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(C,{variant:a?"default":"outline",size:"sm",onClick:t,children:a?"保存排序":"编辑排序"})})]})}const zx=s=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:"cursor-move",children:e.jsx(Nt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:t})=>e.jsx(P,{column:t,title:"ID"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(E,{variant:"outline",children:t.getValue("id")})}),enableSorting:!0,enableHiding:!1},{accessorKey:"show",header:({column:t})=>e.jsx(P,{column:t,title:"显示"}),cell:({row:t})=>e.jsx(O,{defaultChecked:t.getValue("show"),onCheckedChange:a=>{It({id:t.original.id,show:a}).then(({data:n})=>{!n&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"sell",header:({column:t})=>e.jsx(P,{column:t,title:"销售"}),cell:({row:t})=>e.jsx(O,{defaultChecked:t.getValue("sell"),onCheckedChange:a=>{It({id:t.original.id,sell:a}).then(({data:n})=>{!n&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"renew",header:({column:t})=>e.jsx(P,{column:t,title:"续费",tooltip:"在订阅停止销售时,已购用户是否可以续费"}),cell:({row:t})=>e.jsx(O,{defaultChecked:t.getValue("renew"),onCheckedChange:a=>{It({id:t.original.id,renew:a}).then(({data:n})=>{!n&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"name",header:({column:t})=>e.jsx(P,{column:t,title:"名称"}),cell:({row:t})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:t.getValue("name")})}),enableSorting:!1,enableHiding:!1,size:900},{accessorKey:"users_count",header:({column:t})=>e.jsx(P,{column:t,title:"统计"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 px-2",children:[e.jsx(Zs,{}),e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:t.getValue("users_count")})]}),enableSorting:!0},{accessorKey:"group",header:({column:t})=>e.jsx(P,{column:t,title:"权限组"}),cell:({row:t})=>e.jsx("div",{className:"flex max-w-[600px] flex-wrap items-center gap-1.5",children:e.jsx(E,{variant:"secondary",className:g("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5"),children:t.getValue("group")?.name})}),enableSorting:!1,enableHiding:!1,size:9e3},{id:"actions",header:({column:t})=>e.jsx(P,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>{const{setIsOpen:a,setEditingPlan:n}=na();return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",onClick:()=>{n(t.original),a(!0)},children:[e.jsx(_s,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该订阅,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{qc({id:t.original.id}).then(({data:r})=>{r&&(R.success("删除成功"),s())})},children:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(es,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}}],Ex=c.object({id:c.number().nullable(),group_id:c.union([c.number(),c.string()]).nullable().optional(),name:c.string().min(1).max(250),content:c.string().nullable().optional(),transfer_enable:c.union([c.number().min(0),c.string().min(1)]),prices:c.object({monthly:c.union([c.number(),c.string()]).nullable().optional(),quarterly:c.union([c.number(),c.string()]).nullable().optional(),half_yearly:c.union([c.number(),c.string()]).nullable().optional(),yearly:c.union([c.number(),c.string()]).nullable().optional(),two_yearly:c.union([c.number(),c.string()]).nullable().optional(),three_yearly:c.union([c.number(),c.string()]).nullable().optional(),onetime:c.union([c.number(),c.string()]).nullable().optional(),reset_traffic:c.union([c.number(),c.string()]).nullable().optional()}).default({}),speed_limit:c.union([c.number(),c.string()]).nullable().optional(),capacity_limit:c.union([c.number(),c.string()]).nullable().optional(),device_limit:c.union([c.number(),c.string()]).nullable().optional(),force_update:c.boolean().optional(),reset_traffic_method:c.number().nullable(),users_count:c.number().optional()}),Dr=i.forwardRef(({className:s,...t},a)=>e.jsx(Dn,{ref:a,className:g("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",s),...t,children:e.jsx(so,{className:g("flex items-center justify-center text-current"),children:e.jsx(hs,{className:"h-4 w-4"})})}));Dr.displayName=Dn.displayName;const ct={id:null,group_id:null,name:"",content:"",transfer_enable:"",prices:{monthly:"",quarterly:"",half_yearly:"",yearly:"",two_yearly:"",three_yearly:"",onetime:"",reset_traffic:""},speed_limit:"",capacity_limit:"",device_limit:"",force_update:!1,reset_traffic_method:null},dt={monthly:{label:"月付",months:1,discount:1},quarterly:{label:"季付",months:3,discount:.95},half_yearly:{label:"半年付",months:6,discount:.9},yearly:{label:"年付",months:12,discount:.85},two_yearly:{label:"两年付",months:24,discount:.8},three_yearly:{label:"三年付",months:36,discount:.75},onetime:{label:"流量包",months:1,discount:1},reset_traffic:{label:"重置包",months:1,discount:1}},Ox=[{value:0,label:"跟随系统设置"},{value:1,label:"每月1号"},{value:2,label:"按月重置"},{value:3,label:"不重置"},{value:4,label:"每年1月1日"},{value:5,label:"按年重置"}];function Lx(){const{isOpen:s,setIsOpen:t,editingPlan:a,setEditingPlan:n,refreshData:r}=na(),[l,o]=i.useState(!1),d=Z({resolver:ee(Ex),defaultValues:{...ct,...a||{}},mode:"onChange"});i.useEffect(()=>{a?d.reset({...ct,...a}):d.reset(ct)},[a,d]);const x=new Sn({html:!0}),[w,m]=i.useState();async function v(){St().then(({data:D})=>{m(D)})}i.useEffect(()=>{s&&v()},[s]);const u=D=>{if(isNaN(D))return;const T=Object.entries(dt).reduce((f,[_,z])=>{const N=D*z.months*z.discount;return{...f,[_]:N.toFixed(2)}},{});d.setValue("prices",T,{shouldDirty:!0})},y=()=>{t(!1),n(null),d.reset(ct)};return e.jsx(me,{open:s,onOpenChange:y,children:e.jsxs(de,{children:[e.jsxs(ge,{children:[e.jsx(he,{children:a?"编辑套餐":"添加套餐"}),e.jsx(ze,{})]}),e.jsxs(se,{...d,children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx(j,{control:d.control,name:"name",render:({field:D})=>e.jsxs(h,{children:[e.jsx(p,{children:"套餐名称"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入套餐名称",...D})}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"group_id",render:({field:D})=>e.jsxs(h,{children:[e.jsxs(p,{className:"flex items-center justify-between",children:["权限组",e.jsx(Tt,{dialogTrigger:e.jsx(C,{variant:"link",children:"添加权限组"}),refetch:v})]}),e.jsxs(B,{value:D.value||"",onValueChange:D.onChange,children:[e.jsx(b,{children:e.jsx(U,{children:e.jsx(Y,{placeholder:"选择权限组"})})}),e.jsx(G,{children:w?.map(T=>e.jsx(A,{value:T.id,children:T.name},T.id))})]}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"transfer_enable",render:({field:D})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(p,{children:"流量"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(b,{children:e.jsx(S,{type:"number",min:0,placeholder:"请输入流量大小",className:"rounded-r-none",...D})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"GB"})]}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"speed_limit",render:({field:D})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(p,{children:"限速"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(b,{children:e.jsx(S,{type:"number",min:0,placeholder:"请输入限速",className:"rounded-r-none",...D})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"Mbps"})]}),e.jsx(k,{})]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center",children:[e.jsx("div",{className:"flex-grow border-t border-gray-200 dark:border-gray-700"}),e.jsx("h3",{className:"mx-4 text-sm font-medium text-gray-500 dark:text-gray-400",children:"售价设置"}),e.jsx("div",{className:"flex-grow border-t border-gray-200 dark:border-gray-700"})]}),e.jsxs("div",{className:"ml-4 flex items-center gap-2",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(S,{type:"number",placeholder:"基础月付价格",className:"h-7 w-32 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500",onChange:D=>{const T=parseFloat(D.target.value);u(T)}})]}),e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(C,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>{const D=Object.keys(dt).reduce((T,f)=>({...T,[f]:""}),{});d.setValue("prices",D,{shouldDirty:!0})},children:"清空价格"})}),e.jsx(te,{side:"top",align:"end",children:e.jsx("p",{className:"text-xs",children:"清空所有周期的价格设置"})})]})})]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-3",children:Object.entries(dt).filter(([D])=>!["onetime","reset_traffic"].includes(D)).map(([D,T])=>e.jsx("div",{className:"group relative rounded-md bg-card p-2 ring-1 ring-gray-200 transition-all hover:ring-primary dark:ring-gray-800",children:e.jsx(j,{control:d.control,name:`prices.${D}`,render:({field:f})=>e.jsxs(h,{children:[e.jsxs(p,{className:"text-xs font-medium text-muted-foreground",children:[T.label,e.jsxs("span",{className:"ml-1 text-[10px] text-gray-400",children:["(",T.months===1?"每月":`每${T.months}个月`,"结算)"]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(b,{children:e.jsx(S,{type:"number",placeholder:"0.00",min:0,...f,value:f.value??"",onChange:_=>f.onChange(_.target.value),className:"h-7 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500"})})]})]})})},D))}),e.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:Object.entries(dt).filter(([D])=>["onetime","reset_traffic"].includes(D)).map(([D,T])=>e.jsx("div",{className:"rounded-md border border-dashed border-gray-200 bg-muted/30 p-3 dark:border-gray-700",children:e.jsx(j,{control:d.control,name:`prices.${D}`,render:({field:f})=>e.jsx(h,{children:e.jsxs("div",{className:"flex flex-col gap-2 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{className:"space-y-0",children:[e.jsx(p,{className:"text-xs font-medium",children:T.label}),e.jsx("p",{className:"text-[10px] text-muted-foreground",children:D==="onetime"?"一次性流量包,购买后立即生效":"用户可随时购买流量重置包,立即重置流量"})]}),e.jsxs("div",{className:"relative w-full md:w-32",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(b,{children:e.jsx(S,{type:"number",placeholder:"0.00",min:0,...f,className:"h-7 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500"})})]})]})})})},D))})]}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(j,{control:d.control,name:"device_limit",render:({field:D})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(p,{children:"设备限制"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(b,{children:e.jsx(S,{type:"number",min:0,placeholder:"留空则不限制",className:"rounded-r-none",...D,value:D.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"台"})]}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"capacity_limit",render:({field:D})=>e.jsxs(h,{className:"flex-1",children:[e.jsx(p,{children:"容量限制"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(b,{children:e.jsx(S,{type:"number",min:0,placeholder:"留空则不限制",className:"rounded-r-none",...D,value:D.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"人"})]}),e.jsx(k,{})]})})]}),e.jsx(j,{control:d.control,name:"reset_traffic_method",render:({field:D})=>e.jsxs(h,{children:[e.jsx(p,{children:"流量重置方式"}),e.jsxs(B,{value:D.value?.toString()??"0",onValueChange:T=>D.onChange(Number(T)),children:[e.jsx(b,{children:e.jsx(U,{children:e.jsx(Y,{placeholder:"选择流量重置方式"})})}),e.jsx(G,{children:Ox.map(T=>e.jsx(A,{value:T.value.toString(),children:T.label},T.value))})]}),e.jsx(F,{className:"text-xs",children:"设置订阅流量的重置方式,不同的重置方式会影响用户的流量计算方式"}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"content",render:({field:D})=>{const[T,f]=i.useState(!1);return e.jsxs(h,{className:"space-y-2",children:[e.jsxs(p,{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:["套餐描述",e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(C,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>f(!T),children:T?e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-4 w-4",children:[e.jsx("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"}),e.jsx("path",{fillRule:"evenodd",d:"M.664 10.59a1.651 1.651 0 010-1.186A10.004 10.004 0 0110 3c4.257 0 7.893 2.66 9.336 6.41.147.381.146.804 0 1.186A10.004 10.004 0 0110 17c-4.257 0-7.893-2.66-9.336-6.41zM14 10a4 4 0 11-8 0 4 4 0 018 0z",clipRule:"evenodd"})]}):e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-4 w-4",children:[e.jsx("path",{fillRule:"evenodd",d:"M3.28 2.22a.75.75 0 00-1.06 1.06l14.5 14.5a.75.75 0 101.06-1.06l-1.745-1.745a10.029 10.029 0 003.3-4.38 1.651 1.651 0 000-1.185A10.004 10.004 0 009.999 3a9.956 9.956 0 00-4.744 1.194L3.28 2.22zM7.752 6.69l1.092 1.092a2.5 2.5 0 013.374 3.373l1.091 1.092a4 4 0 00-5.557-5.557z",clipRule:"evenodd"}),e.jsx("path",{d:"M10.748 13.93l2.523 2.523a9.987 9.987 0 01-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 010-1.186A10.007 10.007 0 012.839 6.02L6.07 9.252a4 4 0 004.678 4.678z"})]})})}),e.jsx(te,{side:"top",children:e.jsx("p",{className:"text-xs",children:T?"隐藏预览":"显示预览"})})]})})]}),e.jsx(ce,{children:e.jsxs(ne,{children:[e.jsx(re,{asChild:!0,children:e.jsx(C,{variant:"outline",size:"sm",onClick:()=>{D.onChange(`## 套餐特点 • 高速稳定的全球网络接入 • 支持多设备同时在线 • 无限制的流量重置 @@ -14,8 +14,8 @@ import{r as i,j as e,t as tl,c as al,I as oa,a as ys,S as Ut,u as Ze,b as gt,d a ## 注意事项 - 禁止滥用 - 遵守当地法律法规 -- 支持随时更换套餐`)},children:"使用模板"})}),e.jsx(te,{side:"left",align:"center",children:e.jsx("p",{className:"text-xs",children:"点击使用预设的套餐描述模板"})})]})})]}),e.jsxs("div",{className:`grid gap-4 ${T?"grid-cols-1 lg:grid-cols-2":"grid-cols-1"}`,children:[e.jsx("div",{className:"space-y-2",children:e.jsx(v,{children:e.jsx(kn,{style:{height:"400px"},value:D.value||"",renderHTML:_=>m.render(_),onChange:({text:_})=>D.onChange(_),config:{view:{menu:!0,md:!0,html:!1},canView:{menu:!0,md:!0,html:!1,fullScreen:!1,hideMenu:!1}},placeholder:"在这里编写套餐描述...",className:"rounded-md border"})})}),T&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"预览"}),e.jsx("div",{className:"prose prose-sm dark:prose-invert h-[400px] max-w-none overflow-y-auto rounded-md border p-4",children:e.jsx("div",{dangerouslySetInnerHTML:{__html:m.render(D.value||"")}})})]})]}),e.jsx(P,{className:"text-xs",children:"支持 Markdown 格式,可以使用标题、列表、粗体、斜体等样式来美化描述内容"}),e.jsx(S,{})]})}})]}),e.jsx(Fe,{className:"mt-6",children:e.jsxs("div",{className:"flex w-full items-center justify-between",children:[e.jsx("div",{className:"flex-shrink-0",children:a&&e.jsx(h,{control:d.control,name:"force_update",render:({field:D})=>e.jsxs(u,{className:"flex flex-row items-center space-x-2 space-y-0",children:[e.jsx(v,{children:e.jsx(Dr,{checked:D.value,onCheckedChange:D.onChange})}),e.jsx("div",{className:"",children:e.jsx(g,{className:"text-sm",children:"强制更新到用户"})})]})})}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(k,{type:"button",variant:"outline",onClick:y,children:"取消"}),e.jsx(k,{type:"submit",disabled:l,onClick:()=>{d.handleSubmit(async D=>{c(!0),(await Hc(D)).data&&(V.success(a?"套餐更新成功":"套餐添加成功"),y(),r()),c(!1)})()},children:l?"提交中...":"提交"})]})]})})]})]})})}function Em(){const[s,t]=i.useState({}),[a,n]=i.useState({"drag-handle":!1}),[r,l]=i.useState([]),[c,d]=i.useState([]),[m,w]=i.useState(!1),[j,b]=i.useState({pageSize:10,pageIndex:0}),[x,y]=i.useState([]),{refetch:D}=K({queryKey:["planList"],queryFn:async()=>{const{data:N}=await zs();return y(N),N}});i.useEffect(()=>{n({"drag-handle":m}),b({pageSize:m?99999:10,pageIndex:0})},[m]);const T=(N,R)=>{m&&(N.dataTransfer.setData("text/plain",R.toString()),N.currentTarget.classList.add("opacity-50"))},p=(N,R)=>{if(!m)return;N.preventDefault(),N.currentTarget.classList.remove("bg-muted");const W=parseInt(N.dataTransfer.getData("text/plain"));if(W===R)return;const L=[...x],[ae]=L.splice(W,1);L.splice(R,0,ae),y(L)},_=async()=>{if(!m){w(!0);return}try{const N=x?.map(R=>R.id);await qc(N),V.success("排序保存成功"),w(!1),D()}catch{V.error("排序保存失败"),w(!1)}},z=Re({data:x||[],columns:Vm(D),state:{sorting:c,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:j},enableRowSelection:!0,onPaginationChange:b,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss(),initialState:{columnPinning:{right:["actions"]}},pageCount:m?1:void 0});return e.jsx(Fm,{refreshData:D,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(qe,{table:z,toolbar:N=>e.jsx(Im,{table:N,refetch:D,saveOrder:_,isSortMode:m}),draggable:m,onDragStart:T,onDragEnd:N=>N.currentTarget.classList.remove("opacity-50"),onDragOver:N=>{N.preventDefault(),N.currentTarget.classList.add("bg-muted")},onDragLeave:N=>N.currentTarget.classList.remove("bg-muted"),onDrop:p,showPagination:!m}),e.jsx(zm,{})]})})}function Om(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"订阅管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"在这里可以配置订阅计划,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Em,{})})]})]})}const Lm=Object.freeze(Object.defineProperty({__proto__:null,default:Om},Symbol.toStringTag,{value:"Module"})),Pr=[{value:ie.PENDING,label:ks[ie.PENDING],icon:so,color:Hs[ie.PENDING]},{value:ie.PROCESSING,label:ks[ie.PROCESSING],icon:Pn,color:Hs[ie.PROCESSING]},{value:ie.COMPLETED,label:ks[ie.COMPLETED],icon:Lt,color:Hs[ie.COMPLETED]},{value:ie.CANCELLED,label:ks[ie.CANCELLED],icon:Fn,color:Hs[ie.CANCELLED]},{value:ie.DISCOUNTED,label:ks[ie.DISCOUNTED],icon:Lt,color:Hs[ie.DISCOUNTED]}],Fr=[{value:xe.PENDING,label:at[xe.PENDING],icon:to,color:nt[xe.PENDING]},{value:xe.PROCESSING,label:at[xe.PROCESSING],icon:Pn,color:nt[xe.PROCESSING]},{value:xe.VALID,label:at[xe.VALID],icon:Lt,color:nt[xe.VALID]},{value:xe.INVALID,label:at[xe.INVALID],icon:Fn,color:nt[xe.INVALID]}];function Da({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=s?.getFilterValue(),l=Array.isArray(r)?new Set(r):r!==void 0?new Set([r]):new Set;return e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsxs(k,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(Ms,{className:"mr-2 h-4 w-4"}),t,l?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:l.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:l.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[l.size," selected"]}):a.filter(c=>l.has(c.value)).map(c=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:c.label},c.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(ts,{children:[e.jsx(hs,{placeholder:t}),e.jsxs(as,{children:[e.jsx(js,{children:"No results found."}),e.jsx(be,{children:a.map(c=>{const d=l.has(c.value);return e.jsxs(me,{onSelect:()=>{const m=new Set(l);d?m.delete(c.value):m.add(c.value);const w=Array.from(m);s?.setFilterValue(w.length?w:void 0)},children:[e.jsx("div",{className:f("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",d?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(us,{className:f("h-4 w-4")})}),c.icon&&e.jsx(c.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${c.color}`}),e.jsx("span",{children:c.label}),n?.get(c.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(c.value)})]},c.value)})}),l.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(_s,{}),e.jsx(be,{children:e.jsx(me,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const $m=o.object({email:o.string().min(1),plan_id:o.number(),period:o.string(),total_amount:o.number()}),Am={email:"",plan_id:0,total_amount:0,period:""};function Ir({refetch:s,trigger:t,defaultValues:a}){const[n,r]=i.useState(!1),l=Z({resolver:ee($m),defaultValues:{...Am,...a},mode:"onChange"}),[c,d]=i.useState([]);return i.useEffect(()=>{n&&zs().then(({data:m})=>{d(m)})},[n]),e.jsxs(ue,{open:n,onOpenChange:r,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(k,{variant:"outline",size:"sm",className:" h-8 space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"添加订单"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:"订单分配"}),e.jsx(ze,{})]}),e.jsxs(se,{...l,children:[e.jsx(h,{control:l.control,name:"email",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"用户邮箱"}),e.jsx(v,{children:e.jsx(C,{placeholder:"请输入用户邮箱",...m})})]})}),e.jsx(h,{control:l.control,name:"plan_id",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"订阅计划"}),e.jsx(v,{children:e.jsxs(B,{value:m.value?m.value?.toString():void 0,onValueChange:w=>m.onChange(parseInt(w)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择订阅计划"})}),e.jsx(G,{children:c.map(w=>e.jsx(A,{value:w.id.toString(),children:w.name},w.id))})]})})]})}),e.jsx(h,{control:l.control,name:"period",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"订阅时长"}),e.jsx(v,{children:e.jsxs(B,{value:m.value,onValueChange:m.onChange,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择购买时长"})}),e.jsx(G,{children:Object.keys(ht).map(w=>e.jsx(A,{value:w,children:ht[w]},w))})]})})]})}),e.jsx(h,{control:l.control,name:"total_amount",render:({field:m})=>e.jsxs(u,{children:[e.jsx(g,{children:"支付金额"}),e.jsx(v,{children:e.jsx(C,{type:"number",placeholder:"请输入需要支付的金额",value:m.value/100,onChange:w=>m.onChange(parseFloat(w.currentTarget.value)*100)})}),e.jsx(S,{})]})}),e.jsxs(Fe,{children:[e.jsx(k,{variant:"outline",onClick:()=>r(!1),children:"取消"}),e.jsx(k,{type:"submit",onClick:()=>{l.handleSubmit(m=>{Yc(m).then(({data:w})=>{w&&(s&&s(),l.reset(),r(!1),V.success("添加成功"))})})()},children:"确定"})]})]})]})]})}function Hm({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ir,{refetch:t}),e.jsx(C,{placeholder:"搜索订单...",value:s.getColumn("trade_no")?.getFilterValue()??"",onChange:n=>s.getColumn("trade_no")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),e.jsxs("div",{className:"flex gap-x-2",children:[s.getColumn("status")&&e.jsx(Da,{column:s.getColumn("status"),title:"订单状态",options:Pr}),s.getColumn("commission_status")&&e.jsx(Da,{column:s.getColumn("commission_status"),title:"佣金状态",options:Fr})]}),a&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})}function Ee({label:s,value:t,className:a,valueClassName:n}){return e.jsxs("div",{className:f("flex items-center py-1.5",a),children:[e.jsx("div",{className:"w-28 shrink-0 text-sm text-muted-foreground",children:s}),e.jsx("div",{className:f("text-sm",n),children:t||"-"})]})}function Km({status:s}){const t={PENDING:"bg-yellow-100 text-yellow-800 hover:bg-yellow-100",PAID:"bg-green-100 text-green-800 hover:bg-green-100",FAILED:"bg-red-100 text-red-800 hover:bg-red-100",REFUNDED:"bg-gray-100 text-gray-800 hover:bg-gray-100"};return e.jsx(E,{variant:"secondary",className:f("font-medium",t[s]),children:ks[s]})}function qm({id:s,trigger:t}){const[a,n]=i.useState(!1),[r,l]=i.useState();return i.useEffect(()=>{(async()=>{if(a){const{data:d}=await Uc({id:s});l(d)}})()},[a,s]),e.jsxs(ue,{onOpenChange:n,open:a,children:[e.jsx(Pe,{asChild:!0,children:t}),e.jsxs(de,{className:"max-w-xl",children:[e.jsxs(ge,{className:"space-y-2",children:[e.jsx(he,{className:"text-lg font-medium",children:"订单信息"}),e.jsx("div",{className:"flex items-center justify-between text-sm",children:e.jsxs("div",{className:"flex items-center space-x-6",children:[e.jsxs("div",{className:"text-muted-foreground",children:["订单号:",r?.trade_no]}),r?.status&&e.jsx(Km,{status:r.status})]})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"基本信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Ee,{label:"用户邮箱",value:r?.user?.email?e.jsxs(Ns,{to:`/user/manage?email=${r.user.email}`,className:"group inline-flex items-center gap-1 text-primary hover:underline",children:[r.user.email,e.jsx(In,{className:"h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}):"-"}),e.jsx(Ee,{label:"订单周期",value:r&&ht[r.period]}),e.jsx(Ee,{label:"订阅计划",value:r?.plan?.name,valueClassName:"font-medium"}),e.jsx(Ee,{label:"回调单号",value:r?.callback_no,valueClassName:"font-mono text-xs"})]})]}),e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"金额信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Ee,{label:"支付金额",value:As(r?.total_amount||0),valueClassName:"font-medium text-primary"}),e.jsx(le,{className:"my-2"}),e.jsx(Ee,{label:"余额支付",value:As(r?.balance_amount||0)}),e.jsx(Ee,{label:"优惠金额",value:As(r?.discount_amount||0),valueClassName:"text-green-600"}),e.jsx(Ee,{label:"退回金额",value:As(r?.refund_amount||0),valueClassName:"text-red-600"}),e.jsx(Ee,{label:"折抵金额",value:As(r?.surplus_amount||0)})]})]}),e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"时间信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Ee,{label:"创建时间",value:X(r?.created_at),valueClassName:"font-mono text-xs"}),e.jsx(Ee,{label:"更新时间",value:X(r?.updated_at),valueClassName:"font-mono text-xs"})]})]})]})]})]})}const Um=s=>[{accessorKey:"trade_no",header:({column:t})=>e.jsx(F,{column:t,title:"订单号"}),cell:({row:t})=>{const a=t.original.trade_no,n=a.length>6?`${a.slice(0,3)}...${a.slice(-3)}`:a;return e.jsx("div",{className:"flex items-center",children:e.jsx(qm,{trigger:e.jsxs(H,{variant:"ghost",size:"sm",className:"flex h-8 items-center gap-1.5 px-2 font-medium text-primary transition-colors hover:bg-primary/10 hover:text-primary/80",children:[e.jsx("span",{className:"font-mono",children:n}),e.jsx(In,{className:"h-3.5 w-3.5 opacity-70"})]}),id:t.original.id})})},enableSorting:!1,enableHiding:!1},{accessorKey:"type",header:({column:t})=>e.jsx(F,{column:t,title:"类型"}),cell:({row:t})=>e.jsx(E,{variant:"outline",className:"bg-muted/50 transition-colors hover:bg-muted/60",children:md[t.getValue("type")]}),enableSorting:!1,enableHiding:!1},{accessorKey:"plan.name",header:({column:t})=>e.jsx(F,{column:t,title:"订阅计划"}),cell:({row:t})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium text-foreground/90 sm:max-w-72 md:max-w-[31rem]",children:t.original.plan?.name||"-"})}),enableSorting:!1,enableHiding:!1},{accessorKey:"period",header:({column:t})=>e.jsx(F,{column:t,title:"周期"}),cell:({row:t})=>e.jsx(E,{variant:"outline",className:"bg-muted/50 transition-colors hover:bg-muted/60",children:ht[t.getValue("period")]}),enableSorting:!1,enableHiding:!1},{accessorKey:"total_amount",header:({column:t})=>e.jsx(F,{column:t,title:"支付金额"}),cell:({row:t})=>{const a=t.getValue("total_amount"),n=typeof a=="number"?(a/100).toFixed(2):"N/A";return e.jsxs("div",{className:"flex items-center font-mono text-foreground/90",children:["¥",n]})},enableSorting:!0,enableHiding:!1},{accessorKey:"status",header:({column:t})=>e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(F,{column:t,title:"订单状态"}),e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{children:e.jsx(br,{className:"h-4 w-4 text-muted-foreground/70 transition-colors hover:text-muted-foreground"})}),e.jsx(te,{side:"top",className:"max-w-[200px] text-sm",children:"标记为[已支付]后将会由系统进行开通后并完成"})]})})]}),cell:({row:t})=>{const a=Pr.find(n=>n.value===t.getValue("status"));return a?e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[a.icon&&e.jsx(a.icon,{className:`h-4 w-4 text-${a.color}`}),e.jsx("span",{className:"text-sm font-medium",children:a.label})]}),a.value===ie.PENDING&&e.jsxs(vs,{modal:!0,children:[e.jsx(bs,{asChild:!0,children:e.jsxs(H,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 hover:bg-muted/60",children:[e.jsx(ut,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"打开菜单"})]})}),e.jsxs(ms,{align:"end",className:"w-[140px]",children:[e.jsx(oe,{className:"cursor-pointer",onClick:async()=>{await Gc({trade_no:t.original.trade_no}),s()},children:"标记为已支付"}),e.jsx(oe,{className:"cursor-pointer text-destructive focus:text-destructive",onClick:async()=>{await Bc({trade_no:t.original.trade_no}),s()},children:"取消订单"})]})]})]}):null},enableSorting:!0,enableHiding:!1},{accessorKey:"commission_balance",header:({column:t})=>e.jsx(F,{column:t,title:"佣金金额"}),cell:({row:t})=>{const a=t.getValue("commission_balance"),n=a?(a/100).toFixed(2):"-";return e.jsx("div",{className:"flex items-center font-mono text-foreground/90",children:a?`¥${n}`:"-"})},enableSorting:!0,enableHiding:!1},{accessorKey:"commission_status",header:({column:t})=>e.jsx(F,{column:t,title:"佣金状态"}),cell:({row:t})=>{const a=t.original.commission_status,n=Fr.find(r=>r.value===t.getValue("commission_status"));return a==0||!n?e.jsx("span",{className:"text-muted-foreground",children:"-"}):e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[n.icon&&e.jsx(n.icon,{className:`h-4 w-4 text-${n.color}`}),e.jsx("span",{className:"text-sm font-medium",children:n.label})]}),n.value===xe.PENDING&&e.jsxs(vs,{modal:!0,children:[e.jsx(bs,{asChild:!0,children:e.jsxs(H,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 hover:bg-muted/60",children:[e.jsx(ut,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"打开菜单"})]})}),e.jsxs(ms,{align:"end",className:"w-[120px]",children:[e.jsx(oe,{className:"cursor-pointer",onClick:async()=>{await Na({trade_no:t.original.trade_no,commission_status:xe.PROCESSING}),s()},children:"标记为有效"}),e.jsx(oe,{className:"cursor-pointer text-destructive focus:text-destructive",onClick:async()=>{await Na({trade_no:t.original.trade_no,commission_status:xe.INVALID}),s()},children:"标记为无效"})]})]})]})},enableSorting:!0,enableHiding:!1},{accessorKey:"created_at",header:({column:t})=>e.jsx(F,{column:t,title:"创建时间"}),cell:({row:t})=>e.jsx("div",{className:"text-nowrap font-mono text-sm text-muted-foreground",children:X(t.getValue("created_at"),"YYYY/MM/DD HH:mm:ss")}),enableSorting:!0,enableHiding:!1}];function Gm(){const s=gt(),t=new URLSearchParams(s.search),a=Array.from(t.entries()).map(([R,W])=>({id:R,value:parseInt(W)||W})),[n]=i.useState(!0),r=n&&s.state?.filters?s.state.filters:[],l=[...a,...r];i.useEffect(()=>{s.state?.filters&&window.history.replaceState({...s.state,filters:void 0},"")},[]);const[c,d]=i.useState({}),[m,w]=i.useState({}),[j,b]=i.useState(l),[x,y]=i.useState([]),[D,T]=i.useState({pageIndex:0,pageSize:10}),{refetch:p,data:_,isLoading:z}=K({queryKey:["orderList",D,j,x],queryFn:()=>ar({pageSize:D.pageSize,current:D.pageIndex+1,filter:j,sort:x})}),N=Re({data:_?.data??[],columns:Um(p),state:{sorting:x,columnVisibility:m,rowSelection:c,columnFilters:j,pagination:D},rowCount:_?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:d,onSortingChange:y,onColumnFiltersChange:b,onColumnVisibilityChange:w,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),onPaginationChange:T,getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss()});return e.jsx(qe,{table:N,toolbar:e.jsx(Hm,{table:N,refetch:p}),showPagination:!0})}function Bm(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:" 订单管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"在这里可以查看用户订单,包括分配、查看、删除等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Gm,{})})]})]})}const Ym=Object.freeze(Object.defineProperty({__proto__:null,default:Bm},Symbol.toStringTag,{value:"Module"}));function Wm({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsxs(k,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(Ms,{className:"mr-2 h-4 w-4"}),t,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(l=>r.has(l.value)).map(l=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:l.label},l.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(ts,{children:[e.jsx(hs,{placeholder:t}),e.jsxs(as,{children:[e.jsx(js,{children:"No results found."}),e.jsx(be,{children:a.map(l=>{const c=r.has(l.value);return e.jsxs(me,{onSelect:()=>{c?r.delete(l.value):r.add(l.value);const d=Array.from(r);s?.setFilterValue(d.length?d:void 0)},children:[e.jsx("div",{className:f("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",c?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(us,{className:f("h-4 w-4")})}),l.icon&&e.jsx(l.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${l.color}`}),e.jsx("span",{children:l.label}),n?.get(l.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(l.value)})]},l.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(_s,{}),e.jsx(be,{children:e.jsx(me,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const Jm=o.object({id:o.coerce.number().nullable().optional(),name:o.string().min(1,"请输入优惠券名称"),code:o.string().nullable(),type:o.union([o.string(),o.nativeEnum(kt)]),value:o.coerce.number(),started_at:o.coerce.number(),ended_at:o.coerce.number(),limit_use:o.union([o.string(),o.number()]).nullable(),limit_use_with_user:o.union([o.string(),o.number()]).nullable(),generate_count:o.coerce.number().nullable().optional(),limit_plan_ids:o.array(o.number()).default([]).nullable(),limit_period:o.array(o.nativeEnum(Ds)).default([]).nullable()}).refine(s=>s.ended_at>s.started_at,{message:"结束时间必须晚于开始时间",path:["ended_at"]}),Pa={name:"",code:"",type:kt.AMOUNT,value:0,started_at:Math.floor(Date.now()/1e3),ended_at:Math.floor(Date.now()/1e3)+7*24*60*60,limit_use:"",limit_use_with_user:"",limit_plan_ids:[],limit_period:[],generate_count:""};function Vr({defaultValues:s,refetch:t,type:a="create",dialogTrigger:n=e.jsxs(k,{variant:"outline",size:"sm",className:"h-8 space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"添加优惠券"})]}),open:r,onOpenChange:l}){const[c,d]=i.useState(!1),m=r??c,w=l??d,[j,b]=i.useState([]),x=Z({resolver:ee(Jm),defaultValues:s||Pa});i.useEffect(()=>{s&&x.reset(s)},[s,x]),i.useEffect(()=>{zs().then(({data:p})=>b(p))},[]);const y=p=>{if(!p)return;const _=(z,N)=>{const R=new Date(N*1e3);return z.setHours(R.getHours(),R.getMinutes(),R.getSeconds()),Math.floor(z.getTime()/1e3)};p.from&&x.setValue("started_at",_(p.from,x.watch("started_at"))),p.to&&x.setValue("ended_at",_(p.to,x.watch("ended_at")))},D=async p=>{try{await Jc(p),w(!1),a==="create"&&x.reset(Pa),t()}catch(_){console.error("保存优惠券失败:",_)}},T=(p,_)=>e.jsxs("div",{className:"flex-1 space-y-1.5",children:[e.jsx("div",{className:"text-sm font-medium text-muted-foreground",children:_}),e.jsx(C,{type:"datetime-local",step:"1",value:X(x.watch(p),"YYYY-MM-DDTHH:mm:ss"),onChange:z=>{const N=new Date(z.target.value);x.setValue(p,Math.floor(N.getTime()/1e3))},className:"h-8 [&::-webkit-calendar-picker-indicator]:hidden"})]});return e.jsxs(ue,{open:m,onOpenChange:w,children:[n&&e.jsx(Pe,{asChild:!0,children:n}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsx(ge,{children:e.jsx(he,{children:a==="create"?"添加优惠券":"编辑优惠券"})}),e.jsx(se,{...x,children:e.jsxs("form",{onSubmit:x.handleSubmit(D),className:"space-y-4",children:[e.jsx(h,{control:x.control,name:"name",render:({field:p})=>e.jsxs(u,{children:[e.jsx(g,{children:"优惠券名称"}),e.jsx(C,{placeholder:"请输入优惠券名称",...p}),e.jsx(S,{})]})}),e.jsxs(u,{children:[e.jsx(g,{children:"优惠券类型和值"}),e.jsxs("div",{className:"flex",children:[e.jsx(h,{control:x.control,name:"type",render:({field:p})=>e.jsxs(B,{value:p.value.toString(),onValueChange:p.onChange,children:[e.jsx(U,{className:"flex-[1.2] rounded-r-none border-r-0 focus:z-10",children:e.jsx(Y,{placeholder:"优惠券类型"})}),e.jsx(G,{children:Object.entries(Zt).map(([_,z])=>e.jsx(A,{value:_,children:z},_))})]})}),e.jsx(h,{control:x.control,name:"value",render:({field:p})=>e.jsx(C,{type:"number",placeholder:"请输入值",...p,onChange:_=>p.onChange(_.target.value===""?"":_.target.value),className:"flex-[2] rounded-none border-x-0 text-left"})}),e.jsx("div",{className:"flex min-w-[40px] items-center justify-center rounded-md rounded-l-none border border-l-0 border-input bg-muted/50 px-3 font-medium text-muted-foreground",children:e.jsx("span",{children:x.watch("type")===kt.AMOUNT?"¥":"%"})})]})]}),e.jsxs(u,{children:[e.jsx(g,{children:"优惠券有效期"}),e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsxs(k,{variant:"outline",className:f("w-full justify-start text-left font-normal",!x.watch("started_at")&&"text-muted-foreground"),children:[e.jsx(yt,{className:"mr-2 h-4 w-4"}),X(x.watch("started_at"),"YYYY-MM-DD HH:mm:ss")," ","至"," ",X(x.watch("ended_at"),"YYYY-MM-DD HH:mm:ss")]})}),e.jsxs(Ke,{className:"w-auto p-0",align:"start",children:[e.jsx("div",{className:"border-b border-border",children:e.jsx(et,{mode:"range",selected:{from:new Date(x.watch("started_at")*1e3),to:new Date(x.watch("ended_at")*1e3)},onSelect:y,numberOfMonths:2})}),e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"flex items-center gap-4",children:[T("started_at","开始时间"),e.jsx("div",{className:"mt-6 text-sm text-muted-foreground",children:"至"}),T("ended_at","结束时间")]})})]})]}),e.jsx(S,{})]}),e.jsx(h,{control:x.control,name:"limit_use",render:({field:p})=>e.jsxs(u,{children:[e.jsx(g,{children:"最大使用次数"}),e.jsx(C,{type:"number",min:0,placeholder:"限制最大使用次数,留空则不限制",...p,value:p.value===void 0?"":p.value,onChange:_=>p.onChange(_.target.value===""?"":_.target.value),className:"h-9"}),e.jsx(P,{className:"text-xs",children:"设置优惠券的总使用次数限制,留空表示不限制使用次数"}),e.jsx(S,{})]})}),e.jsx(h,{control:x.control,name:"limit_use_with_user",render:({field:p})=>e.jsxs(u,{children:[e.jsx(g,{children:"每个用户可使用次数"}),e.jsx(C,{type:"number",min:0,placeholder:"限制每个用户可使用次数,留空则不限制",...p,value:p.value===void 0?"":p.value,onChange:_=>p.onChange(_.target.value===""?"":_.target.value),className:"h-9"}),e.jsx(P,{className:"text-xs",children:"限制每个用户可使用该优惠券的次数,留空表示不限制单用户使用次数"}),e.jsx(S,{})]})}),e.jsx(h,{control:x.control,name:"limit_period",render:({field:p})=>e.jsxs(u,{children:[e.jsx(g,{children:"指定周期"}),e.jsx(Qs,{options:Object.entries(Ds).filter(([_])=>isNaN(Number(_))).map(([_,z])=>({label:z,value:_})),onChange:_=>{if(_.length===0){p.onChange([]);return}const z=_.map(N=>Ds[N.value]);p.onChange(z)},value:(p.value||[]).map(_=>({label:Object.entries(Ds).find(([z,N])=>N===_)?.[1]||"",value:Object.entries(Ds).find(([z,N])=>N===_)?.[0]||""})),placeholder:"限制指定周期可以使用优惠,留空则不限制",emptyIndicator:e.jsx("p",{className:"text-center text-sm text-muted-foreground",children:"没有找到匹配的周期"})}),e.jsx(P,{className:"text-xs",children:"选择可以使用优惠券的订阅周期,留空表示不限制使用周期"}),e.jsx(S,{})]})}),e.jsx(h,{control:x.control,name:"limit_plan_ids",render:({field:p})=>e.jsxs(u,{children:[e.jsx(g,{children:"指定订阅"}),e.jsx(Qs,{options:j?.map(_=>({label:_.name,value:_.id.toString()}))||[],onChange:_=>p.onChange(_.map(z=>Number(z.value))),value:(j||[]).filter(_=>(p.value||[]).includes(_.id)).map(_=>({label:_.name,value:_.id.toString()})),placeholder:"限制指定订阅可以使用优惠,留空则不限制",emptyIndicator:e.jsx("p",{className:"text-center text-sm text-muted-foreground",children:"没有找到匹配的订阅"})}),e.jsx(S,{})]})}),a==="create"&&e.jsxs(e.Fragment,{children:[e.jsx(h,{control:x.control,name:"code",render:({field:p})=>e.jsxs(u,{children:[e.jsx(g,{children:"自定义优惠码"}),e.jsx(C,{placeholder:"自定义优惠码,留空则自动生成",...p,className:"h-9"}),e.jsx(P,{className:"text-xs",children:"可以自定义优惠码,留空则系统自动生成"}),e.jsx(S,{})]})}),e.jsx(h,{control:x.control,name:"generate_count",render:({field:p})=>e.jsxs(u,{children:[e.jsx(g,{children:"批量生成数量"}),e.jsx(C,{type:"number",min:0,placeholder:"批量生成优惠码数量,留空则生成单个",...p,value:p.value===void 0?"":p.value,onChange:_=>p.onChange(_.target.value===""?"":_.target.value),className:"h-9"}),e.jsx(P,{className:"text-xs",children:"批量生成多个优惠码,留空则只生成单个优惠码"}),e.jsx(S,{})]})})]}),e.jsx(Fe,{children:e.jsx(k,{type:"submit",disabled:x.formState.isSubmitting,children:x.formState.isSubmitting?"保存中...":"保存"})})]})})]})]})}function Qm({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Vr,{refetch:t}),e.jsx(C,{placeholder:"搜索优惠券...",value:s.getColumn("name")?.getFilterValue()??"",onChange:n=>s.getColumn("name")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),s.getColumn("type")&&e.jsx(Wm,{column:s.getColumn("type"),title:"类型",options:Object.entries(Zt).map(([n,r])=>({value:n,label:r}))}),a&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})}const Rr=i.createContext(void 0);function Zm({children:s,refetch:t}){const[a,n]=i.useState(!1),[r,l]=i.useState(null),c=m=>{l(m),n(!0)},d=()=>{n(!1),l(null)};return e.jsxs(Rr.Provider,{value:{isOpen:a,currentCoupon:r,openEdit:c,closeEdit:d},children:[s,r&&e.jsx(Vr,{defaultValues:r,refetch:t,type:"edit",open:a,onOpenChange:n})]})}function Xm(){const s=i.useContext(Rr);if(s===void 0)throw new Error("useCouponEdit must be used within a CouponEditProvider");return s}const eu=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(F,{column:t,title:"ID"}),cell:({row:t})=>e.jsx(E,{children:t.original.id}),enableSorting:!0},{accessorKey:"show",header:({column:t})=>e.jsx(F,{column:t,title:"启用"}),cell:({row:t})=>e.jsx(O,{defaultChecked:t.original.show,onCheckedChange:a=>{Zc({id:t.original.id,show:a}).then(({data:n})=>!n&&s())}}),enableSorting:!1},{accessorKey:"name",header:({column:t})=>e.jsx(F,{column:t,title:"卷名称"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{children:t.original.name})}),enableSorting:!1,size:800},{accessorKey:"type",header:({column:t})=>e.jsx(F,{column:t,title:"类型"}),cell:({row:t})=>e.jsx(E,{variant:"outline",children:Zt[t.original.type]}),enableSorting:!0},{accessorKey:"code",header:({column:t})=>e.jsx(F,{column:t,title:"卷码"}),cell:({row:t})=>e.jsx(E,{variant:"secondary",children:t.original.code}),enableSorting:!0},{accessorKey:"limit_use",header:({column:t})=>e.jsx(F,{column:t,title:"剩余次数"}),cell:({row:t})=>e.jsx(E,{variant:"outline",children:t.original.limit_use===null?"无限次":t.original.limit_use}),enableSorting:!0},{accessorKey:"limit_use_with_user",header:({column:t})=>e.jsx(F,{column:t,title:"可用次数/用户"}),cell:({row:t})=>e.jsx(E,{variant:"outline",children:t.original.limit_use_with_user===null?"无限制":t.original.limit_use_with_user}),enableSorting:!0},{accessorKey:"#",header:({column:t})=>e.jsx(F,{column:t,title:"有效期"}),cell:({row:t})=>{const[a,n]=i.useState(!1),r=Date.now(),l=t.original.started_at*1e3,c=t.original.ended_at*1e3,d=r>c,m=re.jsx(F,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>{const{openEdit:a}=Xm();return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",onClick:()=>a(t.original),children:[e.jsx(ws,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该优惠券,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{Qc({id:t.original.id}).then(({data:n})=>{n&&(V.success("删除成功"),s())})},children:e.jsxs(k,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(Xe,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}}];function su(){const[s,t]=i.useState({}),[a,n]=i.useState({}),[r,l]=i.useState([]),[c,d]=i.useState([]),[m,w]=i.useState({pageIndex:0,pageSize:10}),{refetch:j,data:b}=K({queryKey:["couponList",m,r,c],queryFn:()=>Wc({pageSize:m.pageSize,current:m.pageIndex+1,filter:r,sort:c})}),x=Re({data:b?.data??[],columns:eu(j),state:{sorting:c,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:m},pageCount:Math.ceil((b?.total??0)/m.pageSize),rowCount:b?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,onPaginationChange:w,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(Zm,{refetch:j,children:e.jsx("div",{className:"space-y-4",children:e.jsx(qe,{table:x,toolbar:e.jsx(Qm,{table:x,refetch:j})})})})}function tu(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"优惠券管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"在这里可以查看优惠券,包括增加、查看、删除等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(su,{})})]})]})}const au=Object.freeze(Object.defineProperty({__proto__:null,default:tu},Symbol.toStringTag,{value:"Module"}));function Fa({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsxs(k,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(Ms,{className:"mr-2 h-4 w-4"}),t,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(l=>r.has(l.value)).map(l=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:l.label},l.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(ts,{children:[e.jsx(hs,{placeholder:t}),e.jsxs(as,{children:[e.jsx(js,{children:"No results found."}),e.jsx(be,{children:a.map(l=>{const c=r.has(l.value);return e.jsxs(me,{onSelect:()=>{c?r.delete(l.value):r.add(l.value);const d=Array.from(r);s?.setFilterValue(d.length?d:void 0)},children:[e.jsx("div",{className:f("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",c?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(us,{className:f("h-4 w-4")})}),l.icon&&e.jsx(l.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${l.color}`}),e.jsx("span",{children:l.label}),n?.get(l.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(l.value)})]},l.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(_s,{}),e.jsx(be,{children:e.jsx(me,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const nu=o.object({email_prefix:o.string().optional(),email_suffix:o.string().min(1),password:o.string().optional(),expired_at:o.number().optional().nullable(),plan_id:o.number().nullable(),generate_count:o.number().optional().nullable()}).refine(s=>s.generate_count===null?s.email_prefix!==void 0&&s.email_prefix!=="":!0,{message:"Email prefix is required when generate_count is null",path:["email_prefix"]}),ru={email_prefix:"",email_suffix:"",password:"",expired_at:null,plan_id:null,generate_count:void 0};function lu({refetch:s}){const[t,a]=i.useState(!1),n=Z({resolver:ee(nu),defaultValues:ru,mode:"onChange"}),[r,l]=i.useState([]);return i.useEffect(()=>{t&&zs().then(({data:c})=>{c&&l(c)})},[t]),e.jsxs(ue,{open:t,onOpenChange:a,children:[e.jsx(Pe,{asChild:!0,children:e.jsxs(H,{size:"sm",variant:"outline",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"创建用户"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:"创建用户"}),e.jsx(ze,{})]}),e.jsxs(se,{...n,children:[e.jsxs(u,{children:[e.jsx(g,{children:"邮箱"}),e.jsxs("div",{className:"flex",children:[!n.watch("generate_count")&&e.jsx(h,{control:n.control,name:"email_prefix",render:({field:c})=>e.jsx(C,{className:"flex-[5] rounded-r-none",placeholder:"帐号(批量生成请留空)",...c})}),e.jsx("div",{className:`z-[-1] border border-r-0 border-input px-3 py-1 shadow-sm ${n.watch("generate_count")?"rounded-l-md":"border-l-0"}`,children:"@"}),e.jsx(h,{control:n.control,name:"email_suffix",render:({field:c})=>e.jsx(C,{className:"flex-[4] rounded-l-none",placeholder:"域",...c})})]})]}),e.jsx(h,{control:n.control,name:"password",render:({field:c})=>e.jsxs(u,{children:[e.jsx(g,{children:"密码"}),e.jsx(C,{placeholder:"留空则密码与邮件相同",...c}),e.jsx(S,{})]})}),e.jsx(h,{control:n.control,name:"expired_at",render:({field:c})=>e.jsxs(u,{className:"flex flex-col",children:[e.jsx(g,{children:"到期时间"}),e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsx(v,{children:e.jsxs(H,{variant:"outline",className:f("w-full pl-3 text-left font-normal",!c.value&&"text-muted-foreground"),children:[c.value?X(c.value):e.jsx("span",{children:"请选择用户到期日期,留空为长期有效"}),e.jsx(yt,{className:"ml-auto h-4 w-4 opacity-50"})]})})}),e.jsxs(Ke,{className:"flex w-auto flex-col space-y-2 p-2",children:[e.jsx(no,{asChild:!0,children:e.jsx(H,{variant:"outline",className:"w-full",onClick:()=>{c.onChange(null)},children:"长期有效"})}),e.jsx("div",{className:"rounded-md border",children:e.jsx(et,{mode:"single",selected:c.value?new Date(c.value*1e3):void 0,onSelect:d=>{d&&c.onChange(d?.getTime()/1e3)}})})]})]})]})}),e.jsx(h,{control:n.control,name:"plan_id",render:({field:c})=>e.jsxs(u,{children:[e.jsx(g,{children:"订阅计划"}),e.jsx(v,{children:e.jsxs(B,{value:c.value?c.value.toString():"null",onValueChange:d=>c.onChange(d==="null"?null:parseInt(d)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"无"})}),e.jsxs(G,{children:[e.jsx(A,{value:"null",children:"无"}),r.map(d=>e.jsx(A,{value:d.id.toString(),children:d.name},d.id))]})]})})]})}),!n.watch("email_prefix")&&e.jsx(h,{control:n.control,name:"generate_count",render:({field:c})=>e.jsxs(u,{children:[e.jsx(g,{children:"生成数量"}),e.jsx(C,{type:"number",placeholder:"如果为批量生产请输入生成数量",value:c.value||"",onChange:d=>c.onChange(d.target.value?parseInt(d.target.value):null)})]})})]}),e.jsxs(Fe,{children:[e.jsx(H,{variant:"outline",onClick:()=>a(!1),children:"取消"}),e.jsx(H,{onClick:()=>n.handleSubmit(c=>{td(c).then(({data:d})=>{d&&(V.success("生成成功"),n.reset(),s(),a(!1))})})(),children:"生成"})]})]})]})}function iu({table:s,refetch:t,serverGroupList:a}){const n=s.getState().columnFilters.length>0;return e.jsx("div",{className:"flex flex-wrap items-center justify-between gap-2",children:e.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[e.jsx(lu,{refetch:t}),e.jsx(C,{placeholder:"搜索用户邮箱...",value:s.getColumn("email")?.getFilterValue()??"",onChange:r=>s.getColumn("email")?.setFilterValue(r.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),s.getColumn("banned")&&e.jsx(Fa,{column:s.getColumn("banned"),title:"用户状态",options:[{label:"正常",value:0},{label:"封禁",value:1}]}),s.getColumn("group_ids")&&e.jsx(Fa,{column:s.getColumn("group_ids"),title:"权限组",options:a.map(r=>({label:r.name,value:r.id}))}),n&&e.jsxs(k,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置筛选",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})})}const ou=Ra,cu=Ma,du=za,Mr=i.forwardRef(({className:s,...t},a)=>e.jsx(ft,{className:f("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...t,ref:a}));Mr.displayName=ft.displayName;const xu=ys("fixed overflow-y-scroll z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-300 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-md",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-md"}},defaultVariants:{side:"right"}}),zr=i.forwardRef(({side:s="right",className:t,children:a,...n},r)=>e.jsxs(du,{children:[e.jsx(Mr,{}),e.jsxs(pt,{ref:r,className:f(xu({side:s}),t),...n,children:[e.jsxs(Bt,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e.jsx(Le,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]}),a]})]}));zr.displayName=pt.displayName;const Er=({className:s,...t})=>e.jsx("div",{className:f("flex flex-col space-y-2 text-center sm:text-left",s),...t});Er.displayName="SheetHeader";const Or=({className:s,...t})=>e.jsx("div",{className:f("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t});Or.displayName="SheetFooter";const Lr=i.forwardRef(({className:s,...t},a)=>e.jsx(vt,{ref:a,className:f("text-lg font-semibold text-foreground",s),...t}));Lr.displayName=vt.displayName;const $r=i.forwardRef(({className:s,...t},a)=>e.jsx(bt,{ref:a,className:f("text-sm text-muted-foreground",s),...t}));$r.displayName=bt.displayName;const mu=o.object({id:o.number(),email:o.string().email(),invite_user_email:o.string().email().nullable().optional(),password:o.string().optional().nullable(),balance:o.coerce.number(),commission_balance:o.coerce.number(),u:o.number(),d:o.number(),transfer_enable:o.number(),expired_at:o.number().nullable(),plan_id:o.number().nullable(),banned:o.number(),commission_type:o.number(),commission_rate:o.number().nullable(),discount:o.number().nullable(),speed_limit:o.number().nullable(),is_admin:o.number(),is_staff:o.number(),remarks:o.string().nullable()});function Ar({refetch:s,defaultValues:t,dialogTrigger:a=e.jsxs(k,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e.jsx(Ms,{className:"mr-2 h-4 w-4"}),"编辑用户信息"]})}){const[n,r]=i.useState(!1),[l,c]=i.useState(!1),d=Z({resolver:ee(mu),defaultValues:t,mode:"onChange"}),[m,w]=i.useState([]);return i.useEffect(()=>{n&&zs().then(({data:j})=>{w(j)})},[n]),e.jsxs(ou,{open:n,onOpenChange:r,children:[e.jsx(cu,{asChild:!0,children:a}),e.jsxs(zr,{className:"max-w-[90%] space-y-4 ",children:[e.jsxs(Er,{children:[e.jsx(Lr,{children:"用户管理"}),e.jsx($r,{})]}),e.jsxs(se,{...d,children:[e.jsx(h,{control:d.control,name:"email",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"邮箱"}),e.jsx(C,{...j,placeholder:"请输入邮箱"}),e.jsx(S,{...j})]})}),e.jsx(h,{control:d.control,name:"invite_user_email",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"邀请人邮箱"}),e.jsx(C,{value:j.value||"",onChange:b=>j.onChange(b.target.value?b.target.value:null),placeholder:"请输入邮箱"}),e.jsx(S,{...j})]})}),e.jsx(h,{control:d.control,name:"password",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"密码"}),e.jsx(C,{value:j.value||"",onChange:j.onChange,placeholder:"如需修改密码请输入"}),e.jsx(S,{...j})]})}),e.jsxs("div",{className:"grid gap-2 md:grid-cols-2",children:[e.jsx(h,{control:d.control,name:"balance",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"余额"}),e.jsxs("div",{className:"flex",children:[e.jsx(C,{type:"number",value:j.value||"",onChange:j.onChange,placeholder:"请输入余额",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"¥"})]}),e.jsx(S,{...j})]})}),e.jsx(h,{control:d.control,name:"commission_balance",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"佣金余额"}),e.jsxs("div",{className:"flex",children:[e.jsx(C,{type:"number",value:j.value||"",onChange:j.onChange,placeholder:"请输入佣金余额",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"¥"})]}),e.jsx(S,{...j})]})}),e.jsx(h,{control:d.control,name:"u",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"已用上行"}),e.jsxs("div",{className:"flex",children:[e.jsx(C,{type:"number",value:(j.value/1024/1024/1024).toFixed(3)||"",onChange:b=>j.onChange(parseInt(b.target.value)*1024*1024*1024),placeholder:"已用上行",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(S,{...j})]})}),e.jsx(h,{control:d.control,name:"d",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"已用下行"}),e.jsxs("div",{className:"flex",children:[e.jsx(C,{type:"number",value:(j.value/1024/1024/1024).toFixed(3)||"",onChange:b=>j.onChange(parseInt(b.target.value)*1024*1024*1024),placeholder:"已用下行",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(S,{...j})]})})]}),e.jsx(h,{control:d.control,name:"transfer_enable",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"流量"}),e.jsxs("div",{className:"flex",children:[e.jsx(C,{type:"number",value:j.value/1024/1024/1024||"",onChange:b=>j.onChange(parseInt(b.target.value)*1024*1024*1024),placeholder:"请输入流量",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"expired_at",render:({field:j})=>e.jsxs(u,{className:"flex flex-col",children:[e.jsx(g,{children:"到期时间"}),e.jsxs(Be,{open:l,onOpenChange:c,children:[e.jsx(Ye,{asChild:!0,children:e.jsx(v,{children:e.jsxs(k,{type:"button",variant:"outline",className:f("w-full pl-3 text-left font-normal",!j.value&&"text-muted-foreground"),onClick:()=>c(!0),children:[j.value?X(j.value):e.jsx("span",{children:"请选择用户到期日期,留空为长期有效"}),e.jsx(yt,{className:"ml-auto h-4 w-4 opacity-50"})]})})}),e.jsx(Ke,{className:"w-auto p-0",align:"start",side:"top",sideOffset:4,onInteractOutside:b=>{b.preventDefault()},onEscapeKeyDown:b=>{b.preventDefault()},children:e.jsxs("div",{className:"flex flex-col space-y-3 p-3",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(k,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{j.onChange(null),c(!1)},children:"长期有效"}),e.jsx(k,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{const b=new Date;b.setMonth(b.getMonth()+1),b.setHours(23,59,59,999),j.onChange(Math.floor(b.getTime()/1e3)),c(!1)},children:"一个月"}),e.jsx(k,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{const b=new Date;b.setMonth(b.getMonth()+3),b.setHours(23,59,59,999),j.onChange(Math.floor(b.getTime()/1e3)),c(!1)},children:"三个月"})]}),e.jsx("div",{className:"rounded-md border",children:e.jsx(et,{mode:"single",selected:j.value?new Date(j.value*1e3):void 0,onSelect:b=>{if(b){const x=new Date(j.value?j.value*1e3:Date.now());b.setHours(x.getHours(),x.getMinutes(),x.getSeconds()),j.onChange(Math.floor(b.getTime()/1e3))}},disabled:b=>b{const b=new Date;b.setHours(23,59,59,999),j.onChange(Math.floor(b.getTime()/1e3))},className:"h-6 px-2 text-xs",children:"设为当天结束"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(C,{type:"datetime-local",step:"1",value:X(j.value,"YYYY-MM-DDTHH:mm:ss"),onChange:b=>{const x=new Date(b.target.value);isNaN(x.getTime())||j.onChange(Math.floor(x.getTime()/1e3))},className:"flex-1"}),e.jsx(k,{type:"button",variant:"outline",onClick:()=>c(!1),children:"确定"})]})]})]})})]}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"plan_id",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"订阅计划"}),e.jsx(v,{children:e.jsxs(B,{value:j.value?j.value.toString():"null",onValueChange:b=>j.onChange(b==="null"?null:parseInt(b)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"无"})}),e.jsxs(G,{children:[e.jsx(A,{value:"null",children:"无"}),m.map(b=>e.jsx(A,{value:b.id.toString(),children:b.name},b.id))]})]})})]})}),e.jsx(h,{control:d.control,name:"banned",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"账户状态"}),e.jsx(v,{children:e.jsxs(B,{value:j.value.toString(),onValueChange:b=>j.onChange(parseInt(b)),children:[e.jsx(U,{children:e.jsx(Y,{})}),e.jsxs(G,{children:[e.jsx(A,{value:"1",children:"封禁"}),e.jsx(A,{value:"0",children:"正常"})]})]})})]})}),e.jsx(h,{control:d.control,name:"commission_type",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"佣金类型"}),e.jsx(v,{children:e.jsxs(B,{value:j.value.toString(),onValueChange:b=>j.onChange(parseInt(b)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"无"})}),e.jsxs(G,{children:[e.jsx(A,{value:"0",children:"跟随系统设置"}),e.jsx(A,{value:"1",children:"循环返利"}),e.jsx(A,{value:"2",children:"首次返利"})]})]})})]})}),e.jsx(h,{control:d.control,name:"commission_rate",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"推荐返利比例"}),e.jsxs("div",{className:"flex",children:[e.jsx(C,{type:"number",value:j.value||"",onChange:b=>j.onChange(parseInt(b.currentTarget.value)||null),placeholder:"请输入推荐返利比例(为空则跟随站点设置返利比例)",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"%"})]}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"discount",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"专享折扣比例"}),e.jsxs("div",{className:"flex",children:[e.jsx(C,{type:"number",value:j.value||"",onChange:b=>j.onChange(parseInt(b.currentTarget.value)||null),placeholder:"请输入专享折扣比例(为空则不享受专享折扣)",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"%"})]}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"speed_limit",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"限速"}),e.jsxs("div",{className:"flex",children:[e.jsx(C,{type:"number",value:j.value||"",onChange:b=>j.onChange(parseInt(b.currentTarget.value)||null),placeholder:"留空则不限速",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"Mbps"})]}),e.jsx(S,{})]})}),e.jsx(h,{control:d.control,name:"is_admin",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"是否管理员"}),e.jsx("div",{className:"py-2",children:e.jsx(v,{children:e.jsx(O,{checked:j.value===1,onCheckedChange:b=>j.onChange(b?1:0)})})})]})}),e.jsx(h,{control:d.control,name:"is_staff",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"是否员工"}),e.jsx("div",{className:"py-2",children:e.jsx(v,{children:e.jsx(O,{checked:j.value===1,onCheckedChange:b=>j.onChange(b?1:0)})})})]})}),e.jsx(h,{control:d.control,name:"remarks",render:({field:j})=>e.jsxs(u,{children:[e.jsx(g,{children:"备注"}),e.jsx(gs,{className:"h-24",value:j.value||"",onChange:b=>j.onChange(b.currentTarget.value??null),placeholder:"请在这里记录"})]})})]}),e.jsxs(Or,{children:[e.jsx(k,{variant:"outline",onClick:()=>r(!1),children:"取消"}),e.jsx(k,{type:"submit",onClick:()=>{d.handleSubmit(j=>{ed(j).then(({data:b})=>{b&&(V.success("修改成功"),r(!1),s())}).catch(b=>{V.error("修改失败")})})()},children:"提交"})]})]})]})}const Hr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"m17.71 11.29l-5-5a1 1 0 0 0-.33-.21a1 1 0 0 0-.76 0a1 1 0 0 0-.33.21l-5 5a1 1 0 0 0 1.42 1.42L11 9.41V17a1 1 0 0 0 2 0V9.41l3.29 3.3a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42"})}),Kr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17.71 11.29a1 1 0 0 0-1.42 0L13 14.59V7a1 1 0 0 0-2 0v7.59l-3.29-3.3a1 1 0 0 0-1.42 1.42l5 5a1 1 0 0 0 .33.21a.94.94 0 0 0 .76 0a1 1 0 0 0 .33-.21l5-5a1 1 0 0 0 0-1.42"})}),uu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17 11H9.41l3.3-3.29a1 1 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33a1 1 0 0 0 0 .76a1 1 0 0 0 .21.33l5 5a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42L9.41 13H17a1 1 0 0 0 0-2"})}),hu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17.92 11.62a1 1 0 0 0-.21-.33l-5-5a1 1 0 0 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l5-5a1 1 0 0 0 .21-.33a1 1 0 0 0 0-.76"})}),Rt=[{accessorKey:"record_at",header:"时间",cell:({row:s})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("time",{className:"text-sm text-muted-foreground",children:Oo(s.original.record_at)})})},{accessorKey:"u",header:"上行流量",cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Hr,{className:"h-4 w-4 text-emerald-500"}),e.jsx("span",{className:"font-mono text-sm",children:Fs(s.original.u)})]})},{accessorKey:"d",header:"下行流量",cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Kr,{className:"h-4 w-4 text-blue-500"}),e.jsx("span",{className:"font-mono text-sm",children:Fs(s.original.d)})]})},{accessorKey:"server_rate",header:"倍率",cell:({row:s})=>{const t=s.original.server_rate;return e.jsx("div",{className:"flex items-center space-x-2",children:e.jsxs(E,{variant:"outline",className:"font-mono",children:[t,"x"]})})}},{id:"total",header:"总计",cell:({row:s})=>{const t=(s.original.u+s.original.d)*s.original.server_rate;return e.jsx("div",{className:"flex items-center justify-end font-mono text-sm",children:Fs(t)})}}];function qr({user_id:s,dialogTrigger:t}){const[a,n]=i.useState(!1),[r,l]=i.useState({pageIndex:0,pageSize:10}),{data:c,isLoading:d}=K({queryKey:["userStats",s,r,a],queryFn:()=>a?ad({user_id:s,pageSize:r.pageSize,page:r.pageIndex+1}):null}),m=Re({data:c?.data??[],columns:Rt,pageCount:Math.ceil((c?.total??0)/r.pageSize),state:{pagination:r},manualPagination:!0,getCoreRowModel:Me(),onPaginationChange:l});return e.jsxs(ue,{open:a,onOpenChange:n,children:[e.jsx(Pe,{asChild:!0,children:t}),e.jsxs(de,{className:"sm:max-w-[700px]",children:[e.jsx(ge,{children:e.jsx(he,{children:"流量使用记录"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"rounded-md border",children:e.jsxs(Xt,{children:[e.jsx(ea,{children:m.getHeaderGroups().map(w=>e.jsx(xs,{children:w.headers.map(j=>e.jsx(ta,{className:f("h-10 px-2 text-xs",j.id==="total"&&"text-right"),children:j.isPlaceholder?null:mt(j.column.columnDef.header,j.getContext())},j.id))},w.id))}),e.jsx(sa,{children:d?Array.from({length:r.pageSize}).map((w,j)=>e.jsx(xs,{children:Array.from({length:Rt.length}).map((b,x)=>e.jsx(Is,{className:"p-2",children:e.jsx(Ve,{className:"h-6 w-full"})},x))},j)):m.getRowModel().rows?.length?m.getRowModel().rows.map(w=>e.jsx(xs,{"data-state":w.getIsSelected()&&"selected",className:"h-10",children:w.getVisibleCells().map(j=>e.jsx(Is,{className:"px-2",children:mt(j.column.columnDef.cell,j.getContext())},j.id))},w.id)):e.jsx(xs,{children:e.jsx(Is,{colSpan:Rt.length,className:"h-24 text-center",children:"暂无记录"})})})]})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"每页显示"}),e.jsxs(B,{value:`${m.getState().pagination.pageSize}`,onValueChange:w=>{m.setPageSize(Number(w))},children:[e.jsx(U,{className:"h-8 w-[70px]",children:e.jsx(Y,{placeholder:m.getState().pagination.pageSize})}),e.jsx(G,{side:"top",children:[10,20,30,40,50].map(w=>e.jsx(A,{value:`${w}`,children:w},w))})]}),e.jsx("p",{className:"text-sm font-medium",children:"条记录"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs("div",{className:"flex w-[100px] items-center justify-center text-sm",children:["第 ",m.getState().pagination.pageIndex+1," /"," ",m.getPageCount()," 页"]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>m.previousPage(),disabled:!m.getCanPreviousPage()||d,children:e.jsx(uu,{className:"h-4 w-4"})}),e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>m.nextPage(),disabled:!m.getCanNextPage()||d,children:e.jsx(hu,{className:"h-4 w-4"})})]})]})]})]})]})]})}const ju=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M5 18h4.24a1 1 0 0 0 .71-.29l6.92-6.93L19.71 8a1 1 0 0 0 0-1.42l-4.24-4.29a1 1 0 0 0-1.42 0l-2.82 2.83l-6.94 6.93a1 1 0 0 0-.29.71V17a1 1 0 0 0 1 1m9.76-13.59l2.83 2.83l-1.42 1.42l-2.83-2.83ZM6 13.17l5.93-5.93l2.83 2.83L8.83 16H6ZM21 20H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2"})}),gu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 11h-6V5a1 1 0 0 0-2 0v6H5a1 1 0 0 0 0 2h6v6a1 1 0 0 0 2 0v-6h6a1 1 0 0 0 0-2"})}),fu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21 8.94a1.3 1.3 0 0 0-.06-.27v-.09a1 1 0 0 0-.19-.28l-6-6a1 1 0 0 0-.28-.19a.3.3 0 0 0-.09 0a.9.9 0 0 0-.33-.11H10a3 3 0 0 0-3 3v1H6a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3zm-6-3.53L17.59 8H16a1 1 0 0 1-1-1ZM15 19a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1v7a3 3 0 0 0 3 3h5Zm4-4a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3v3a3 3 0 0 0 3 3h3Z"})}),pu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21 11a1 1 0 0 0-1 1a8.05 8.05 0 1 1-2.22-5.5h-2.4a1 1 0 0 0 0 2h4.53a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1.77A10 10 0 1 0 22 12a1 1 0 0 0-1-1"})}),vu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M9.5 10.5H12a1 1 0 0 0 0-2h-1V8a1 1 0 0 0-2 0v.55a2.5 2.5 0 0 0 .5 4.95h1a.5.5 0 0 1 0 1H8a1 1 0 0 0 0 2h1v.5a1 1 0 0 0 2 0v-.55a2.5 2.5 0 0 0-.5-4.95h-1a.5.5 0 0 1 0-1M21 12h-3V3a1 1 0 0 0-.5-.87a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0A1 1 0 0 0 2 3v16a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1M5 20a1 1 0 0 1-1-1V4.73l2 1.14a1.08 1.08 0 0 0 1 0l3-1.72l3 1.72a1.08 1.08 0 0 0 1 0l2-1.14V19a3 3 0 0 0 .18 1Zm15-1a1 1 0 0 1-2 0v-5h2Z"})}),bu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M12.3 12.22A4.92 4.92 0 0 0 14 8.5a5 5 0 0 0-10 0a4.92 4.92 0 0 0 1.7 3.72A8 8 0 0 0 1 19.5a1 1 0 0 0 2 0a6 6 0 0 1 12 0a1 1 0 0 0 2 0a8 8 0 0 0-4.7-7.28M9 11.5a3 3 0 1 1 3-3a3 3 0 0 1-3 3m9.74.32A5 5 0 0 0 15 3.5a1 1 0 0 0 0 2a3 3 0 0 1 3 3a3 3 0 0 1-1.5 2.59a1 1 0 0 0-.5.84a1 1 0 0 0 .45.86l.39.26l.13.07a7 7 0 0 1 4 6.38a1 1 0 0 0 2 0a9 9 0 0 0-4.23-7.68"})}),yu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M12 2a10 10 0 0 0-6.88 2.77V3a1 1 0 0 0-2 0v4.5a1 1 0 0 0 1 1h4.5a1 1 0 0 0 0-2h-2.4A8 8 0 1 1 4 12a1 1 0 0 0-2 0A10 10 0 1 0 12 2m0 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h2a1 1 0 0 0 0-2h-1V9a1 1 0 0 0-1-1"})}),Nu=(s,t)=>[{accessorKey:"id",header:({column:a})=>e.jsx(F,{column:a,title:"ID"}),cell:({row:a})=>e.jsx(E,{variant:"outline",children:a.original.id}),enableSorting:!0,enableHiding:!1},{accessorKey:"email",header:({column:a})=>e.jsx(F,{column:a,title:"邮箱"}),cell:({row:a})=>{const n=a.original.t||0,r=Date.now()/1e3-n<120,l=Math.floor(Date.now()/1e3-n);let c=r?"当前在线":n===0?"从未在线":`最后在线时间: ${X(n)}`;if(!r&&n!==0){const d=Math.floor(l/60),m=Math.floor(d/60),w=Math.floor(m/24);w>0?c+=` -离线时长: ${w}天`:m>0?c+=` -离线时长: ${m}小时`:d>0?c+=` -离线时长: ${d}分钟`:c+=` -离线时长: ${l}秒`}return e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:f("size-2.5 rounded-full ring-2 ring-offset-2",r?"bg-green-500 ring-green-500/20":"bg-gray-300 ring-gray-300/20","transition-all duration-300")}),e.jsx("span",{className:"font-medium text-foreground/90",children:a.original.email})]})}),e.jsx(te,{side:"bottom",className:"max-w-[280px]",children:e.jsx("p",{className:"whitespace-pre-line text-sm",children:c})})]})})},enableSorting:!1,enableHiding:!1},{accessorKey:"banned",header:({column:a})=>e.jsx(F,{column:a,title:"状态"}),cell:({row:a})=>{const n=a.original.banned;return e.jsx("div",{className:"flex justify-center",children:e.jsx(E,{className:f("min-w-20 justify-center transition-colors",n?"bg-destructive/15 text-destructive hover:bg-destructive/25":"bg-success/15 text-success hover:bg-success/25"),children:ud[n]})})},enableSorting:!0,filterFn:(a,n,r)=>r.includes(a.getValue(n))},{accessorKey:"plan.name",header:({column:a})=>e.jsx(F,{column:a,title:"订阅"}),cell:({row:a})=>e.jsx("div",{className:"min-w-[10em] break-all",children:a.original?.plan?.name||"-"}),enableSorting:!1,enableHiding:!1},{accessorKey:"group",header:({column:a})=>e.jsx(F,{column:a,title:"权限组"}),cell:({row:a})=>e.jsx("div",{className:"flex flex-wrap gap-1",children:e.jsx(E,{variant:"outline",className:f("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5 whitespace-nowrap"),children:a.original?.group?.name||"-"})}),enableSorting:!1,filterFn:(a,n,r)=>{const l=a.getValue(n);return r.some(c=>l?.includes(c))}},{accessorKey:"total_used",header:({column:a})=>e.jsx(F,{column:a,title:"已用流量"}),cell:({row:a})=>{const n=Fs(a.original?.total_used),r=Fs(a.original?.transfer_enable),l=a.original?.total_used/a.original?.transfer_enable*100||0;return e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{className:"w-full",children:e.jsxs("div",{className:"w-full space-y-1",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:n}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[l.toFixed(1),"%"]})]}),e.jsx("div",{className:"h-1.5 w-full rounded-full bg-secondary",children:e.jsx("div",{className:f("h-full rounded-full transition-all",l>90?"bg-destructive":"bg-primary"),style:{width:`${Math.min(l,100)}%`}})})]})}),e.jsx(te,{side:"bottom",children:e.jsxs("p",{className:"text-sm",children:["总流量配额: ",r]})})]})})}},{accessorKey:"transfer_enable",header:({column:a})=>e.jsx(F,{column:a,title:"总流量"}),cell:({row:a})=>e.jsx("div",{className:"font-medium text-muted-foreground",children:Fs(a.original?.transfer_enable)})},{accessorKey:"expired_at",header:({column:a})=>e.jsx(F,{column:a,title:"到期时间"}),cell:({row:a})=>{const n=a.original.expired_at,r=Date.now()/1e3,l=n!=null&&ne.jsx(F,{column:a,title:"余额"}),cell:({row:a})=>{const n=Ts(a.original?.balance);return e.jsxs("div",{className:"flex items-center gap-1 font-medium",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"¥"}),e.jsx("span",{className:"tabular-nums text-foreground",children:n})]})}},{accessorKey:"commission_balance",header:({column:a})=>e.jsx(F,{column:a,title:"佣金"}),cell:({row:a})=>{const n=Ts(a.original?.commission_balance);return e.jsxs("div",{className:"flex items-center gap-1 font-medium",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"¥"}),e.jsx("span",{className:"tabular-nums text-foreground",children:n})]})}},{accessorKey:"created_at",header:({column:a})=>e.jsx(F,{column:a,title:"注册时间"}),cell:({row:a})=>e.jsx("div",{className:"truncate",children:X(a.original?.created_at)}),size:1e3},{id:"actions",header:({column:a})=>e.jsx(F,{column:a,className:"justify-end",title:"操作"}),cell:({row:a,table:n})=>e.jsxs(vs,{modal:!0,children:[e.jsx(bs,{asChild:!0,children:e.jsx("div",{className:"text-center",children:e.jsx(H,{variant:"ghost",className:"h-8 w-8 p-0 hover:bg-muted","aria-label":"打开操作菜单",children:e.jsx(ut,{className:"size-4"})})})}),e.jsxs(ms,{align:"end",className:"min-w-[40px]",children:[e.jsx(oe,{onSelect:r=>{r.preventDefault()},className:"p-0",children:e.jsx(Ar,{defaultValues:{...a.original,invite_user_email:a.original.invite_user?.email},refetch:s,dialogTrigger:e.jsxs(H,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(ju,{className:"mr-2"}),"编辑"]})})}),e.jsx(oe,{onSelect:r=>r.preventDefault(),className:"p-0",children:e.jsx(Ir,{defaultValues:{email:a.original.email},trigger:e.jsxs(H,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(gu,{className:"mr-2 "}),"分配订单"]})})}),e.jsx(oe,{onSelect:()=>{At(a.original.subscribe_url)},className:"p-0",children:e.jsxs(H,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(fu,{className:"mr-2"}),"复制订阅URL"]})}),e.jsx(oe,{onSelect:()=>{sd({id:a.original.id}).then(({data:r})=>{r&&V.success("重置成功")})},children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(pu,{className:"mr-2 "}),"重置UUID及订阅URL"]})}),e.jsx(oe,{onSelect:()=>{},className:"p-0",children:e.jsxs(Ns,{className:"flex items-center px-2 py-1.5",to:`/finance/order?user_id=${a.original?.id}`,children:[e.jsx(vu,{className:"mr-2"}),"TA的订单"]})}),e.jsx(oe,{onSelect:()=>{n.setColumnFilters([{id:"invite_user_id",value:a.original?.id}])},children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(bu,{className:"mr-2 "}),"TA的邀请"]})}),e.jsx(oe,{onSelect:r=>r.preventDefault(),className:"p-0",children:e.jsx(qr,{user_id:a.original?.id,dialogTrigger:e.jsxs(H,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(yu,{className:"mr-2 "}),"TA的流量记录"]})})})]})]})}];function wu(){const[s]=ro(),[t,a]=i.useState({}),[n,r]=i.useState({}),[l,c]=i.useState([]),[d,m]=i.useState([]),[w,j]=i.useState({pageIndex:0,pageSize:10});i.useEffect(()=>{const _=s.get("email");_&&c(z=>z.some(R=>R.id==="email")?z:[...z,{id:"email",value:_}])},[s]);const{refetch:b,data:x,isLoading:y}=K({queryKey:["userList",w,l,d],queryFn:()=>Xc({pageSize:w.pageSize,current:w.pageIndex+1,filter:l,sort:d})}),[D,T]=i.useState([]);i.useEffect(()=>{St().then(({data:_})=>{T(_)})},[]);const p=Re({data:x?.data??[],columns:Nu(b),state:{sorting:d,columnVisibility:n,rowSelection:t,columnFilters:l,pagination:w},rowCount:x?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:a,onSortingChange:m,onColumnFiltersChange:c,onColumnVisibilityChange:r,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),onPaginationChange:j,getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss(),initialState:{columnVisibility:{commission_balance:!1,created_at:!1},columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:p,toolbar:e.jsx(iu,{table:p,refetch:b,serverGroupList:D})})}function _u(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"用户管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"在这里可以管理用户,包括增加、删除、编辑、查询等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx("div",{className:"w-full",children:e.jsx(wu,{})})})]})]})}const Cu=Object.freeze(Object.defineProperty({__proto__:null,default:_u},Symbol.toStringTag,{value:"Module"}));function Su({column:s,title:t,options:a}){const n=new Set(s?.getFilterValue());return e.jsxs(Be,{children:[e.jsx(Ye,{asChild:!0,children:e.jsxs(H,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(lo,{className:"mr-2 h-4 w-4"}),t,n?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:n.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:n.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[n.size," selected"]}):a.filter(r=>n.has(r.value)).map(r=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:r.label},`selected-${r.value}`))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(ts,{children:[e.jsx(hs,{placeholder:t}),e.jsxs(as,{children:[e.jsx(js,{children:"No results found."}),e.jsx(be,{children:a.map(r=>{const l=n.has(r.value);return e.jsxs(me,{onSelect:()=>{l?n.delete(r.value):n.add(r.value);const c=Array.from(n);s?.setFilterValue(c.length?c:void 0)},children:[e.jsx("div",{className:f("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",l?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(io,{className:f("h-4 w-4")})}),r.icon&&e.jsx(r.icon,{className:"mr-2 h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:r.label})]},`option-${r.value}`)})}),n.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(_s,{}),e.jsx(be,{children:e.jsx(me,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const ku=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 11H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2"})});function Tu({table:s}){return e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-4",children:[e.jsx(lr,{defaultValue:s.getColumn("status")?.getFilterValue(),onValueChange:t=>s.getColumn("status")?.setFilterValue(t),children:e.jsxs(Qt,{className:"grid w-full grid-cols-2",children:[e.jsx(Js,{value:"0",children:"已开始"}),e.jsx(Js,{value:"1",children:"已关闭"})]})}),s.getColumn("level")&&e.jsx(Su,{column:s.getColumn("level"),title:"优先级",options:[{label:Gs[We.LOW],value:We.LOW,icon:ku,color:"gray"},{label:Gs[We.MEDIUM],value:We.MEDIUM,icon:Hr,color:"yellow"},{label:Gs[We.HIGH],value:We.HIGH,icon:Kr,color:"red"}]})]})})}function Du(){return e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",className:"text-foreground",children:[e.jsx("circle",{cx:"4",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{id:"spinner_qFRN",begin:"0;spinner_OcgL.end+0.25s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})}),e.jsx("circle",{cx:"12",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{begin:"spinner_qFRN.begin+0.1s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})}),e.jsx("circle",{cx:"20",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{id:"spinner_OcgL",begin:"spinner_qFRN.begin+0.2s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})})]})}const Pu=ys("flex gap-2 max-w-[60%] items-end relative group",{variants:{variant:{received:"self-start",sent:"self-end flex-row-reverse"},layout:{default:"",ai:"max-w-full w-full items-center"}},defaultVariants:{variant:"received",layout:"default"}}),Ur=i.forwardRef(({className:s,variant:t,layout:a,children:n,...r},l)=>e.jsx("div",{className:f(Pu({variant:t,layout:a,className:s}),"relative group"),ref:l,...r,children:i.Children.map(n,c=>i.isValidElement(c)&&typeof c.type!="string"?i.cloneElement(c,{variant:t,layout:a}):c)}));Ur.displayName="ChatBubble";const Fu=ys("p-4",{variants:{variant:{received:"bg-secondary text-secondary-foreground rounded-r-lg rounded-tl-lg",sent:"bg-primary text-primary-foreground rounded-l-lg rounded-tr-lg"},layout:{default:"",ai:"border-t w-full rounded-none bg-transparent"}},defaultVariants:{variant:"received",layout:"default"}}),Gr=i.forwardRef(({className:s,variant:t,layout:a,isLoading:n=!1,children:r,...l},c)=>e.jsx("div",{className:f(Fu({variant:t,layout:a,className:s}),"break-words max-w-full whitespace-pre-wrap"),ref:c,...l,children:n?e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(Du,{})}):r}));Gr.displayName="ChatBubbleMessage";const Iu=i.forwardRef(({variant:s,className:t,children:a,...n},r)=>e.jsx("div",{ref:r,className:f("absolute top-1/2 -translate-y-1/2 flex opacity-0 group-hover:opacity-100 transition-opacity duration-200",s==="sent"?"-left-1 -translate-x-full flex-row-reverse":"-right-1 translate-x-full",t),...n,children:a}));Iu.displayName="ChatBubbleActionWrapper";const Br=i.forwardRef(({className:s,...t},a)=>e.jsx(gs,{autoComplete:"off",ref:a,name:"message",className:f("max-h-12 px-4 py-3 bg-background text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 w-full rounded-md flex items-center h-16 resize-none",s),...t}));Br.displayName="ChatInput";const Yr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"m13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29l-4.3 4.29a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l4.29-4.3l4.29 4.3a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42Z"})}),Wr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M15.098 12.634L13 11.423V7a1 1 0 0 0-2 0v5a1 1 0 0 0 .5.866l2.598 1.5a1 1 0 1 0 1-1.732M12 2a10 10 0 1 0 10 10A10.01 10.01 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8.01 8.01 0 0 1-8 8"})}),Vu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M3.71 16.29a1 1 0 0 0-.33-.21a1 1 0 0 0-.76 0a1 1 0 0 0-.33.21a1 1 0 0 0-.21.33a1 1 0 0 0 .21 1.09a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21a1 1 0 0 0 .21-1.09a1 1 0 0 0-.21-.33M7 8h14a1 1 0 0 0 0-2H7a1 1 0 0 0 0 2m-3.29 3.29a1 1 0 0 0-1.09-.21a1.2 1.2 0 0 0-.33.21a1 1 0 0 0-.21.33a.94.94 0 0 0 0 .76a1.2 1.2 0 0 0 .21.33a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21a1.2 1.2 0 0 0 .21-.33a.94.94 0 0 0 0-.76a1 1 0 0 0-.21-.33M21 11H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2M3.71 6.29a1 1 0 0 0-.33-.21a1 1 0 0 0-1.09.21a1.2 1.2 0 0 0-.21.33a.94.94 0 0 0 0 .76a1.2 1.2 0 0 0 .21.33a1.2 1.2 0 0 0 .33.21a1 1 0 0 0 1.09-.21a1.2 1.2 0 0 0 .21-.33a.94.94 0 0 0 0-.76a1.2 1.2 0 0 0-.21-.33M21 16H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2"})}),Ru=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M9 12H7a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2m-1-2h4a1 1 0 0 0 0-2H8a1 1 0 0 0 0 2m1 6H7a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2m12-4h-3V3a1 1 0 0 0-.5-.87a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0A1 1 0 0 0 2 3v16a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1M5 20a1 1 0 0 1-1-1V4.73l2 1.14a1.08 1.08 0 0 0 1 0l3-1.72l3 1.72a1.08 1.08 0 0 0 1 0l2-1.14V19a3 3 0 0 0 .18 1Zm15-1a1 1 0 0 1-2 0v-5h2Zm-6.44-2.83a.8.8 0 0 0-.18-.09a.6.6 0 0 0-.19-.06a1 1 0 0 0-.9.27A1.05 1.05 0 0 0 12 17a1 1 0 0 0 .07.38a1.2 1.2 0 0 0 .22.33a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21A1 1 0 0 0 14 17a1.05 1.05 0 0 0-.29-.71a2 2 0 0 0-.15-.12m.14-3.88a1 1 0 0 0-1.62.33A1 1 0 0 0 13 14a1 1 0 0 0 1-1a1 1 0 0 0-.08-.38a.9.9 0 0 0-.22-.33"})});function Mu(){return e.jsxs("div",{className:"flex h-full flex-col space-y-4 p-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(Ve,{className:"h-8 w-3/4"}),e.jsx(Ve,{className:"h-4 w-1/2"})]}),e.jsx("div",{className:"flex-1 space-y-4",children:[1,2,3].map(s=>e.jsx(Ve,{className:"h-20 w-2/3"},s))})]})}function zu({ticketId:s,dialogTrigger:t}){const a=Ze(),n=i.useRef(null),[r,l]=i.useState(!1),[c,d]=i.useState(""),[m,w]=i.useState(!1),{data:j,refetch:b,isLoading:x}=K({queryKey:["ticket",s,r],queryFn:()=>r?nd(s):Promise.resolve(null),refetchInterval:r?5e3:!1,retry:3}),y=j?.data,D=(N="smooth")=>{if(n.current){const{scrollHeight:R,clientHeight:W}=n.current;n.current.scrollTo({top:R-W,behavior:N})}};i.useEffect(()=>{if(!r)return;const N=requestAnimationFrame(()=>{D("instant"),setTimeout(()=>D(),1e3)});return()=>{cancelAnimationFrame(N)}},[r,y?.messages]);const T=async()=>{const N=c.trim();if(!(!N||m)){w(!0);try{await rd({id:s,message:N}),d(""),await b(),D()}catch(R){V.error(R instanceof Error?R.message:"回复失败")}finally{w(!1)}}},p=async()=>{try{await rr(s),V.success("工单已关闭"),await b()}catch(N){V.error(N instanceof Error?N.message:"关闭工单失败")}},_=()=>{y?.user&&a("/finance/order?user_id="+y.user.id)},z=y?.status===Ps.CLOSED;return e.jsxs(ue,{open:r,onOpenChange:l,children:[e.jsx(Pe,{asChild:!0,children:t??e.jsx(H,{variant:"outline",children:"查看工单"})}),e.jsxs(de,{className:"flex h-[90vh] max-w-4xl flex-col gap-0 p-0",children:[e.jsx(he,{}),x?e.jsx(Mu,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-col space-y-4 border-b p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("h2",{className:"text-2xl font-semibold",children:y?.subject}),e.jsx(E,{variant:z?"secondary":"default",children:z?"已关闭":"处理中"}),!z&&e.jsx(Ue,{title:"确认关闭工单",description:"关闭后将无法继续回复,是否确认关闭该工单?",confirmText:"关闭工单",variant:"destructive",onConfirm:p,children:e.jsxs(H,{variant:"ghost",size:"sm",className:"gap-1 text-muted-foreground hover:text-destructive",children:[e.jsx(Yr,{className:"h-4 w-4"}),"关闭工单"]})})]}),e.jsxs("div",{className:"flex items-center space-x-4 text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(Zs,{className:"h-4 w-4"}),e.jsx("span",{children:y?.user?.email})]}),e.jsx(le,{orientation:"vertical",className:"h-4"}),e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(Wr,{className:"h-4 w-4"}),e.jsxs("span",{children:["创建于 ",X(y?.created_at)]})]}),e.jsx(le,{orientation:"vertical",className:"h-4"}),e.jsx(E,{variant:"outline",children:y?.level!=null&&Gs[y.level]})]})]}),y?.user&&e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(Ar,{defaultValues:y.user,refetch:b,dialogTrigger:e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",title:"用户信息",children:e.jsx(Zs,{className:"h-4 w-4"})})}),e.jsx(qr,{user_id:y.user.id,dialogTrigger:e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",title:"流量记录",children:e.jsx(Vu,{className:"h-4 w-4"})})}),e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",title:"订单记录",onClick:_,children:e.jsx(Ru,{className:"h-4 w-4"})})]})]})}),e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx("div",{ref:n,className:"h-full space-y-4 overflow-y-auto p-6",children:y?.messages?.length===0?e.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"暂无消息记录"}):y?.messages?.map(N=>e.jsx(Ur,{variant:N.is_me?"sent":"received",className:N.is_me?"ml-auto":"mr-auto",children:e.jsx(Gr,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"whitespace-pre-wrap break-words",children:N.message}),e.jsx("div",{className:"text-right",children:e.jsx("time",{className:"text-[10px] text-muted-foreground",children:X(N.created_at)})})]})})},N.id))})}),e.jsx("div",{className:"border-t p-4",children:e.jsxs("div",{className:"relative flex items-center space-x-2",children:[e.jsx(Br,{disabled:z||m,placeholder:z?"工单已关闭":"请输入回复内容...",className:"flex-1 resize-none rounded-lg border bg-background p-3 focus-visible:ring-1",value:c,onChange:N=>d(N.target.value),onKeyDown:N=>{N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),T())}}),e.jsx(H,{disabled:z||m||!c.trim(),onClick:T,children:m?"发送中...":"发送"})]})})]})]})]})}const Eu=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 4H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3m-.41 2l-5.88 5.88a1 1 0 0 1-1.42 0L5.41 6ZM20 17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7.41l5.88 5.88a3 3 0 0 0 4.24 0L20 7.41Z"})}),Ou=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21.92 11.6C19.9 6.91 16.1 4 12 4s-7.9 2.91-9.92 7.6a1 1 0 0 0 0 .8C4.1 17.09 7.9 20 12 20s7.9-2.91 9.92-7.6a1 1 0 0 0 0-.8M12 18c-3.17 0-6.17-2.29-7.9-6C5.83 8.29 8.83 6 12 6s6.17 2.29 7.9 6c-1.73 3.71-4.73 6-7.9 6m0-10a4 4 0 1 0 4 4a4 4 0 0 0-4-4m0 6a2 2 0 1 1 2-2a2 2 0 0 1-2 2"})}),Lu=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(F,{column:t,title:"工单号"}),cell:({row:t})=>e.jsx(E,{variant:"outline",children:t.getValue("id")}),enableSorting:!1,enableHiding:!1},{accessorKey:"subject",header:({column:t})=>e.jsx(F,{column:t,title:"主题"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Eu,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"max-w-[500px] truncate font-medium",children:t.getValue("subject")})]}),enableSorting:!1,enableHiding:!1,size:4e3},{accessorKey:"level",header:({column:t})=>e.jsx(F,{column:t,title:"优先级"}),cell:({row:t})=>{const a=t.getValue("level"),n=a===We.LOW?"default":a===We.MEDIUM?"secondary":"destructive";return e.jsx(E,{variant:n,className:"whitespace-nowrap",children:Gs[a]})},filterFn:(t,a,n)=>n.includes(t.getValue(a))},{accessorKey:"status",header:({column:t})=>e.jsx(F,{column:t,title:"状态"}),cell:({row:t})=>{const a=t.getValue("status"),n=t.original.reply_status,r=a===Ps.CLOSED?hd[Ps.CLOSED]:n===0?"已回复":"待回复",l=a===Ps.CLOSED?"default":n===0?"secondary":"destructive";return e.jsx(E,{variant:l,className:"whitespace-nowrap",children:r})}},{accessorKey:"updated_at",header:({column:t})=>e.jsx(F,{column:t,title:"最后更新"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 text-muted-foreground",children:[e.jsx(Wr,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:X(t.getValue("updated_at"))})]}),enableSorting:!0},{accessorKey:"created_at",header:({column:t})=>e.jsx(F,{column:t,title:"创建时间"}),cell:({row:t})=>e.jsx("div",{className:"text-sm text-muted-foreground",children:X(t.getValue("created_at"))}),enableSorting:!0,meta:{isFlexGrow:!0}},{id:"actions",header:({column:t})=>e.jsx(F,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>{const a=t.original.status!==Ps.CLOSED;return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx(zu,{ticketId:t.original.id,dialogTrigger:e.jsx(H,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"查看详情",children:e.jsx(Ou,{className:"h-4 w-4"})})}),a&&e.jsx(Ue,{title:"确认关闭工单",description:"关闭后将无法继续回复,是否确认关闭该工单?",confirmText:"关闭工单",variant:"destructive",onConfirm:async()=>{try{await rr(t.original.id),V.success("工单已关闭"),s()}catch{V.error("关闭工单失败")}},children:e.jsx(H,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"关闭工单",children:e.jsx(Yr,{className:"h-4 w-4"})})})]})}}];function $u(){const[s,t]=i.useState({}),[a,n]=i.useState({}),[r,l]=i.useState([{id:"status",value:"0"}]),[c,d]=i.useState([]),[m,w]=i.useState({pageIndex:0,pageSize:10}),{refetch:j,data:b,isLoading:x}=K({queryKey:["orderList",m,r,c],queryFn:()=>nr({pageSize:m.pageSize,current:m.pageIndex+1,filter:r,sort:c})}),y=Re({data:b?.data??[],columns:Lu(j),state:{sorting:c,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:m},rowCount:b?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),onPaginationChange:w,getSortedRowModel:He(),getFacetedRowModel:es(),getFacetedUniqueValues:ss(),initialState:{columnPinning:{right:["actions"]}}});return e.jsxs("div",{className:"space-y-4",children:[e.jsx(Tu,{table:y,refetch:j}),e.jsx(qe,{table:y,showPagination:!0})]})}function Au(){return e.jsxs(fe,{children:[e.jsxs(pe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:" 工单管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"在这里可以查看用户工单,包括查看、回复、关闭等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx($u,{})})]})]})}const Hu=Object.freeze(Object.defineProperty({__proto__:null,default:Au},Symbol.toStringTag,{value:"Module"}));export{Bu as a,Uu as c,Gu as g,Yu as r}; +- 支持随时更换套餐`)},children:"使用模板"})}),e.jsx(te,{side:"left",align:"center",children:e.jsx("p",{className:"text-xs",children:"点击使用预设的套餐描述模板"})})]})})]}),e.jsxs("div",{className:`grid gap-4 ${T?"grid-cols-1 lg:grid-cols-2":"grid-cols-1"}`,children:[e.jsx("div",{className:"space-y-2",children:e.jsx(b,{children:e.jsx(kn,{style:{height:"400px"},value:D.value||"",renderHTML:_=>x.render(_),onChange:({text:_})=>D.onChange(_),config:{view:{menu:!0,md:!0,html:!1},canView:{menu:!0,md:!0,html:!1,fullScreen:!1,hideMenu:!1}},placeholder:"在这里编写套餐描述...",className:"rounded-md border"})})}),T&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"预览"}),e.jsx("div",{className:"prose prose-sm dark:prose-invert h-[400px] max-w-none overflow-y-auto rounded-md border p-4",children:e.jsx("div",{dangerouslySetInnerHTML:{__html:x.render(D.value||"")}})})]})]}),e.jsx(F,{className:"text-xs",children:"支持 Markdown 格式,可以使用标题、列表、粗体、斜体等样式来美化描述内容"}),e.jsx(k,{})]})}})]}),e.jsx(Ie,{className:"mt-6",children:e.jsxs("div",{className:"flex w-full items-center justify-between",children:[e.jsx("div",{className:"flex-shrink-0",children:a&&e.jsx(j,{control:d.control,name:"force_update",render:({field:D})=>e.jsxs(h,{className:"flex flex-row items-center space-x-2 space-y-0",children:[e.jsx(b,{children:e.jsx(Dr,{checked:D.value,onCheckedChange:D.onChange})}),e.jsx("div",{className:"",children:e.jsx(p,{className:"text-sm",children:"强制更新到用户"})})]})})}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(C,{type:"button",variant:"outline",onClick:y,children:"取消"}),e.jsx(C,{type:"submit",disabled:l,onClick:()=>{d.handleSubmit(async D=>{o(!0),(await Kc(D)).data&&(R.success(a?"套餐更新成功":"套餐添加成功"),y(),r()),o(!1)})()},children:l?"提交中...":"提交"})]})]})})]})]})})}function $x(){const[s,t]=i.useState({}),[a,n]=i.useState({"drag-handle":!1}),[r,l]=i.useState([]),[o,d]=i.useState([]),[x,w]=i.useState(!1),[m,v]=i.useState({pageSize:20,pageIndex:0}),[u,y]=i.useState([]),{refetch:D}=K({queryKey:["planList"],queryFn:async()=>{const{data:N}=await Es();return y(N),N}});i.useEffect(()=>{n({"drag-handle":x}),v({pageSize:x?99999:10,pageIndex:0})},[x]);const T=(N,V)=>{x&&(N.dataTransfer.setData("text/plain",V.toString()),N.currentTarget.classList.add("opacity-50"))},f=(N,V)=>{if(!x)return;N.preventDefault(),N.currentTarget.classList.remove("bg-muted");const W=parseInt(N.dataTransfer.getData("text/plain"));if(W===V)return;const L=[...u],[ae]=L.splice(W,1);L.splice(V,0,ae),y(L)},_=async()=>{if(!x){w(!0);return}try{const N=u?.map(V=>V.id);await Uc(N),R.success("排序保存成功"),w(!1),D()}catch{R.error("排序保存失败"),w(!1)}},z=Re({data:u||[],columns:zx(D),state:{sorting:o,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:m},enableRowSelection:!0,onPaginationChange:v,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts(),initialState:{columnPinning:{right:["actions"]}},pageCount:x?1:void 0});return e.jsx(Rx,{refreshData:D,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(qe,{table:z,toolbar:N=>e.jsx(Mx,{table:N,refetch:D,saveOrder:_,isSortMode:x}),draggable:x,onDragStart:T,onDragEnd:N=>N.currentTarget.classList.remove("opacity-50"),onDragOver:N=>{N.preventDefault(),N.currentTarget.classList.add("bg-muted")},onDragLeave:N=>N.currentTarget.classList.remove("bg-muted"),onDrop:f,showPagination:!x}),e.jsx(Lx,{})]})})}function Ax(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"订阅管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"在这里可以配置订阅计划,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx($x,{})})]})]})}const Hx=Object.freeze(Object.defineProperty({__proto__:null,default:Ax},Symbol.toStringTag,{value:"Module"})),Pr=[{value:ie.PENDING,label:Ts[ie.PENDING],icon:to,color:Ks[ie.PENDING]},{value:ie.PROCESSING,label:Ts[ie.PROCESSING],icon:Pn,color:Ks[ie.PROCESSING]},{value:ie.COMPLETED,label:Ts[ie.COMPLETED],icon:Lt,color:Ks[ie.COMPLETED]},{value:ie.CANCELLED,label:Ts[ie.CANCELLED],icon:In,color:Ks[ie.CANCELLED]},{value:ie.DISCOUNTED,label:Ts[ie.DISCOUNTED],icon:Lt,color:Ks[ie.DISCOUNTED]}],Ir=[{value:ue.PENDING,label:at[ue.PENDING],icon:ao,color:nt[ue.PENDING]},{value:ue.PROCESSING,label:at[ue.PROCESSING],icon:Pn,color:nt[ue.PROCESSING]},{value:ue.VALID,label:at[ue.VALID],icon:Lt,color:nt[ue.VALID]},{value:ue.INVALID,label:at[ue.INVALID],icon:In,color:nt[ue.INVALID]}];function Pa({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=s?.getFilterValue(),l=Array.isArray(r)?new Set(r):r!==void 0?new Set([r]):new Set;return e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsxs(C,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(zs,{className:"mr-2 h-4 w-4"}),t,l?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:l.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:l.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[l.size," selected"]}):a.filter(o=>l.has(o.value)).map(o=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:o.label},o.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(as,{children:[e.jsx(js,{placeholder:t}),e.jsxs(ns,{children:[e.jsx(gs,{children:"No results found."}),e.jsx(be,{children:a.map(o=>{const d=l.has(o.value);return e.jsxs(xe,{onSelect:()=>{const x=new Set(l);d?x.delete(o.value):x.add(o.value);const w=Array.from(x);s?.setFilterValue(w.length?w:void 0)},children:[e.jsx("div",{className:g("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",d?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(hs,{className:g("h-4 w-4")})}),o.icon&&e.jsx(o.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${o.color}`}),e.jsx("span",{children:o.label}),n?.get(o.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(o.value)})]},o.value)})}),l.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Cs,{}),e.jsx(be,{children:e.jsx(xe,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const Kx=c.object({email:c.string().min(1),plan_id:c.number(),period:c.string(),total_amount:c.number()}),qx={email:"",plan_id:0,total_amount:0,period:""};function Fr({refetch:s,trigger:t,defaultValues:a}){const[n,r]=i.useState(!1),l=Z({resolver:ee(Kx),defaultValues:{...qx,...a},mode:"onChange"}),[o,d]=i.useState([]);return i.useEffect(()=>{n&&Es().then(({data:x})=>{d(x)})},[n]),e.jsxs(me,{open:n,onOpenChange:r,children:[e.jsx(Pe,{asChild:!0,children:t||e.jsxs(C,{variant:"outline",size:"sm",className:" h-8 space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"添加订单"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:"订单分配"}),e.jsx(ze,{})]}),e.jsxs(se,{...l,children:[e.jsx(j,{control:l.control,name:"email",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"用户邮箱"}),e.jsx(b,{children:e.jsx(S,{placeholder:"请输入用户邮箱",...x})})]})}),e.jsx(j,{control:l.control,name:"plan_id",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"订阅计划"}),e.jsx(b,{children:e.jsxs(B,{value:x.value?x.value?.toString():void 0,onValueChange:w=>x.onChange(parseInt(w)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择订阅计划"})}),e.jsx(G,{children:o.map(w=>e.jsx(A,{value:w.id.toString(),children:w.name},w.id))})]})})]})}),e.jsx(j,{control:l.control,name:"period",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"订阅时长"}),e.jsx(b,{children:e.jsxs(B,{value:x.value,onValueChange:x.onChange,children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"请选择购买时长"})}),e.jsx(G,{children:Object.keys(ht).map(w=>e.jsx(A,{value:w,children:ht[w]},w))})]})})]})}),e.jsx(j,{control:l.control,name:"total_amount",render:({field:x})=>e.jsxs(h,{children:[e.jsx(p,{children:"支付金额"}),e.jsx(b,{children:e.jsx(S,{type:"number",placeholder:"请输入需要支付的金额",value:x.value/100,onChange:w=>x.onChange(parseFloat(w.currentTarget.value)*100)})}),e.jsx(k,{})]})}),e.jsxs(Ie,{children:[e.jsx(C,{variant:"outline",onClick:()=>r(!1),children:"取消"}),e.jsx(C,{type:"submit",onClick:()=>{l.handleSubmit(x=>{Wc(x).then(({data:w})=>{w&&(s&&s(),l.reset(),r(!1),R.success("添加成功"))})})()},children:"确定"})]})]})]})]})}function Ux({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Fr,{refetch:t}),e.jsx(S,{placeholder:"搜索订单...",value:s.getColumn("trade_no")?.getFilterValue()??"",onChange:n=>s.getColumn("trade_no")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),e.jsxs("div",{className:"flex gap-x-2",children:[s.getColumn("status")&&e.jsx(Pa,{column:s.getColumn("status"),title:"订单状态",options:Pr}),s.getColumn("commission_status")&&e.jsx(Pa,{column:s.getColumn("commission_status"),title:"佣金状态",options:Ir})]}),a&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})}function Ee({label:s,value:t,className:a,valueClassName:n}){return e.jsxs("div",{className:g("flex items-center py-1.5",a),children:[e.jsx("div",{className:"w-28 shrink-0 text-sm text-muted-foreground",children:s}),e.jsx("div",{className:g("text-sm",n),children:t||"-"})]})}function Gx({status:s}){const t={PENDING:"bg-yellow-100 text-yellow-800 hover:bg-yellow-100",PAID:"bg-green-100 text-green-800 hover:bg-green-100",FAILED:"bg-red-100 text-red-800 hover:bg-red-100",REFUNDED:"bg-gray-100 text-gray-800 hover:bg-gray-100"};return e.jsx(E,{variant:"secondary",className:g("font-medium",t[s]),children:Ts[s]})}function Bx({id:s,trigger:t}){const[a,n]=i.useState(!1),[r,l]=i.useState();return i.useEffect(()=>{(async()=>{if(a){const{data:d}=await Gc({id:s});l(d)}})()},[a,s]),e.jsxs(me,{onOpenChange:n,open:a,children:[e.jsx(Pe,{asChild:!0,children:t}),e.jsxs(de,{className:"max-w-xl",children:[e.jsxs(ge,{className:"space-y-2",children:[e.jsx(he,{className:"text-lg font-medium",children:"订单信息"}),e.jsx("div",{className:"flex items-center justify-between text-sm",children:e.jsxs("div",{className:"flex items-center space-x-6",children:[e.jsxs("div",{className:"text-muted-foreground",children:["订单号:",r?.trade_no]}),r?.status&&e.jsx(Gx,{status:r.status})]})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"基本信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Ee,{label:"用户邮箱",value:r?.user?.email?e.jsxs(ws,{to:`/user/manage?email=${r.user.email}`,className:"group inline-flex items-center gap-1 text-primary hover:underline",children:[r.user.email,e.jsx(Fn,{className:"h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}):"-"}),e.jsx(Ee,{label:"订单周期",value:r&&ht[r.period]}),e.jsx(Ee,{label:"订阅计划",value:r?.plan?.name,valueClassName:"font-medium"}),e.jsx(Ee,{label:"回调单号",value:r?.callback_no,valueClassName:"font-mono text-xs"})]})]}),e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"金额信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Ee,{label:"支付金额",value:Hs(r?.total_amount||0),valueClassName:"font-medium text-primary"}),e.jsx(le,{className:"my-2"}),e.jsx(Ee,{label:"余额支付",value:Hs(r?.balance_amount||0)}),e.jsx(Ee,{label:"优惠金额",value:Hs(r?.discount_amount||0),valueClassName:"text-green-600"}),e.jsx(Ee,{label:"退回金额",value:Hs(r?.refund_amount||0),valueClassName:"text-red-600"}),e.jsx(Ee,{label:"折抵金额",value:Hs(r?.surplus_amount||0)})]})]}),e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"时间信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Ee,{label:"创建时间",value:X(r?.created_at),valueClassName:"font-mono text-xs"}),e.jsx(Ee,{label:"更新时间",value:X(r?.updated_at),valueClassName:"font-mono text-xs"})]})]})]})]})]})}const Yx=s=>[{accessorKey:"trade_no",header:({column:t})=>e.jsx(P,{column:t,title:"订单号"}),cell:({row:t})=>{const a=t.original.trade_no,n=a.length>6?`${a.slice(0,3)}...${a.slice(-3)}`:a;return e.jsx("div",{className:"flex items-center",children:e.jsx(Bx,{trigger:e.jsxs(H,{variant:"ghost",size:"sm",className:"flex h-8 items-center gap-1.5 px-2 font-medium text-primary transition-colors hover:bg-primary/10 hover:text-primary/80",children:[e.jsx("span",{className:"font-mono",children:n}),e.jsx(Fn,{className:"h-3.5 w-3.5 opacity-70"})]}),id:t.original.id})})},enableSorting:!1,enableHiding:!1},{accessorKey:"type",header:({column:t})=>e.jsx(P,{column:t,title:"类型"}),cell:({row:t})=>e.jsx(E,{variant:"outline",className:"bg-muted/50 transition-colors hover:bg-muted/60",children:pd[t.getValue("type")]}),enableSorting:!1,enableHiding:!1},{accessorKey:"plan.name",header:({column:t})=>e.jsx(P,{column:t,title:"订阅计划"}),cell:({row:t})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium text-foreground/90 sm:max-w-72 md:max-w-[31rem]",children:t.original.plan?.name||"-"})}),enableSorting:!1,enableHiding:!1},{accessorKey:"period",header:({column:t})=>e.jsx(P,{column:t,title:"周期"}),cell:({row:t})=>e.jsx(E,{variant:"outline",className:"bg-muted/50 transition-colors hover:bg-muted/60",children:ht[t.getValue("period")]}),enableSorting:!1,enableHiding:!1},{accessorKey:"total_amount",header:({column:t})=>e.jsx(P,{column:t,title:"支付金额"}),cell:({row:t})=>{const a=t.getValue("total_amount"),n=typeof a=="number"?(a/100).toFixed(2):"N/A";return e.jsxs("div",{className:"flex items-center font-mono text-foreground/90",children:["¥",n]})},enableSorting:!0,enableHiding:!1},{accessorKey:"status",header:({column:t})=>e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(P,{column:t,title:"订单状态"}),e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{children:e.jsx(br,{className:"h-4 w-4 text-muted-foreground/70 transition-colors hover:text-muted-foreground"})}),e.jsx(te,{side:"top",className:"max-w-[200px] text-sm",children:"标记为[已支付]后将会由系统进行开通后并完成"})]})})]}),cell:({row:t})=>{const a=Pr.find(n=>n.value===t.getValue("status"));return a?e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[a.icon&&e.jsx(a.icon,{className:`h-4 w-4 text-${a.color}`}),e.jsx("span",{className:"text-sm font-medium",children:a.label})]}),a.value===ie.PENDING&&e.jsxs(bs,{modal:!0,children:[e.jsx(ys,{asChild:!0,children:e.jsxs(H,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 hover:bg-muted/60",children:[e.jsx(mt,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"打开菜单"})]})}),e.jsxs(ms,{align:"end",className:"w-[140px]",children:[e.jsx(oe,{className:"cursor-pointer",onClick:async()=>{await Bc({trade_no:t.original.trade_no}),s()},children:"标记为已支付"}),e.jsx(oe,{className:"cursor-pointer text-destructive focus:text-destructive",onClick:async()=>{await Yc({trade_no:t.original.trade_no}),s()},children:"取消订单"})]})]})]}):null},enableSorting:!0,enableHiding:!1},{accessorKey:"commission_balance",header:({column:t})=>e.jsx(P,{column:t,title:"佣金金额"}),cell:({row:t})=>{const a=t.getValue("commission_balance"),n=a?(a/100).toFixed(2):"-";return e.jsx("div",{className:"flex items-center font-mono text-foreground/90",children:a?`¥${n}`:"-"})},enableSorting:!0,enableHiding:!1},{accessorKey:"commission_status",header:({column:t})=>e.jsx(P,{column:t,title:"佣金状态"}),cell:({row:t})=>{const a=t.original.commission_status,n=Ir.find(r=>r.value===t.getValue("commission_status"));return a==0||!n?e.jsx("span",{className:"text-muted-foreground",children:"-"}):e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[n.icon&&e.jsx(n.icon,{className:`h-4 w-4 text-${n.color}`}),e.jsx("span",{className:"text-sm font-medium",children:n.label})]}),n.value===ue.PENDING&&e.jsxs(bs,{modal:!0,children:[e.jsx(ys,{asChild:!0,children:e.jsxs(H,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 hover:bg-muted/60",children:[e.jsx(mt,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"打开菜单"})]})}),e.jsxs(ms,{align:"end",className:"w-[120px]",children:[e.jsx(oe,{className:"cursor-pointer",onClick:async()=>{await Na({trade_no:t.original.trade_no,commission_status:ue.PROCESSING}),s()},children:"标记为有效"}),e.jsx(oe,{className:"cursor-pointer text-destructive focus:text-destructive",onClick:async()=>{await Na({trade_no:t.original.trade_no,commission_status:ue.INVALID}),s()},children:"标记为无效"})]})]})]})},enableSorting:!0,enableHiding:!1},{accessorKey:"created_at",header:({column:t})=>e.jsx(P,{column:t,title:"创建时间"}),cell:({row:t})=>e.jsx("div",{className:"text-nowrap font-mono text-sm text-muted-foreground",children:X(t.getValue("created_at"),"YYYY/MM/DD HH:mm:ss")}),enableSorting:!0,enableHiding:!1}];function Wx(){const s=gt(),t=new URLSearchParams(s.search),a=Array.from(t.entries()).map(([V,W])=>({id:V,value:parseInt(W)||W})),[n]=i.useState(!0),r=n&&s.state?.filters?s.state.filters:[],l=[...a,...r];i.useEffect(()=>{s.state?.filters&&window.history.replaceState({...s.state,filters:void 0},"")},[]);const[o,d]=i.useState({}),[x,w]=i.useState({}),[m,v]=i.useState(l),[u,y]=i.useState([]),[D,T]=i.useState({pageIndex:0,pageSize:20}),{refetch:f,data:_,isLoading:z}=K({queryKey:["orderList",D,m,u],queryFn:()=>ar({pageSize:D.pageSize,current:D.pageIndex+1,filter:m,sort:u})}),N=Re({data:_?.data??[],columns:Yx(f),state:{sorting:u,columnVisibility:x,rowSelection:o,columnFilters:m,pagination:D},rowCount:_?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:d,onSortingChange:y,onColumnFiltersChange:v,onColumnVisibilityChange:w,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),onPaginationChange:T,getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts()});return e.jsx(qe,{table:N,toolbar:e.jsx(Ux,{table:N,refetch:f}),showPagination:!0})}function Jx(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:" 订单管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"在这里可以查看用户订单,包括分配、查看、删除等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Wx,{})})]})]})}const Qx=Object.freeze(Object.defineProperty({__proto__:null,default:Jx},Symbol.toStringTag,{value:"Module"}));function Zx({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsxs(C,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(zs,{className:"mr-2 h-4 w-4"}),t,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(l=>r.has(l.value)).map(l=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:l.label},l.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(as,{children:[e.jsx(js,{placeholder:t}),e.jsxs(ns,{children:[e.jsx(gs,{children:"No results found."}),e.jsx(be,{children:a.map(l=>{const o=r.has(l.value);return e.jsxs(xe,{onSelect:()=>{o?r.delete(l.value):r.add(l.value);const d=Array.from(r);s?.setFilterValue(d.length?d:void 0)},children:[e.jsx("div",{className:g("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",o?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(hs,{className:g("h-4 w-4")})}),l.icon&&e.jsx(l.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${l.color}`}),e.jsx("span",{children:l.label}),n?.get(l.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(l.value)})]},l.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Cs,{}),e.jsx(be,{children:e.jsx(xe,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const Xx=c.object({id:c.coerce.number().nullable().optional(),name:c.string().min(1,"请输入优惠券名称"),code:c.string().nullable(),type:c.union([c.string(),c.nativeEnum(kt)]),value:c.coerce.number(),started_at:c.coerce.number(),ended_at:c.coerce.number(),limit_use:c.union([c.string(),c.number()]).nullable(),limit_use_with_user:c.union([c.string(),c.number()]).nullable(),generate_count:c.coerce.number().nullable().optional(),limit_plan_ids:c.array(c.number()).default([]).nullable(),limit_period:c.array(c.nativeEnum(Ps)).default([]).nullable()}).refine(s=>s.ended_at>s.started_at,{message:"结束时间必须晚于开始时间",path:["ended_at"]}),Ia={name:"",code:"",type:kt.AMOUNT,value:0,started_at:Math.floor(Date.now()/1e3),ended_at:Math.floor(Date.now()/1e3)+7*24*60*60,limit_use:"",limit_use_with_user:"",limit_plan_ids:[],limit_period:[],generate_count:""};function Vr({defaultValues:s,refetch:t,type:a="create",dialogTrigger:n=e.jsxs(C,{variant:"outline",size:"sm",className:"h-8 space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"添加优惠券"})]}),open:r,onOpenChange:l}){const[o,d]=i.useState(!1),x=r??o,w=l??d,[m,v]=i.useState([]),u=Z({resolver:ee(Xx),defaultValues:s||Ia});i.useEffect(()=>{s&&u.reset(s)},[s,u]),i.useEffect(()=>{Es().then(({data:f})=>v(f))},[]);const y=f=>{if(!f)return;const _=(z,N)=>{const V=new Date(N*1e3);return z.setHours(V.getHours(),V.getMinutes(),V.getSeconds()),Math.floor(z.getTime()/1e3)};f.from&&u.setValue("started_at",_(f.from,u.watch("started_at"))),f.to&&u.setValue("ended_at",_(f.to,u.watch("ended_at")))},D=async f=>{try{await Qc(f),w(!1),a==="create"&&u.reset(Ia),t()}catch(_){console.error("保存优惠券失败:",_)}},T=(f,_)=>e.jsxs("div",{className:"flex-1 space-y-1.5",children:[e.jsx("div",{className:"text-sm font-medium text-muted-foreground",children:_}),e.jsx(S,{type:"datetime-local",step:"1",value:X(u.watch(f),"YYYY-MM-DDTHH:mm:ss"),onChange:z=>{const N=new Date(z.target.value);u.setValue(f,Math.floor(N.getTime()/1e3))},className:"h-8 [&::-webkit-calendar-picker-indicator]:hidden"})]});return e.jsxs(me,{open:x,onOpenChange:w,children:[n&&e.jsx(Pe,{asChild:!0,children:n}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsx(ge,{children:e.jsx(he,{children:a==="create"?"添加优惠券":"编辑优惠券"})}),e.jsx(se,{...u,children:e.jsxs("form",{onSubmit:u.handleSubmit(D),className:"space-y-4",children:[e.jsx(j,{control:u.control,name:"name",render:({field:f})=>e.jsxs(h,{children:[e.jsx(p,{children:"优惠券名称"}),e.jsx(S,{placeholder:"请输入优惠券名称",...f}),e.jsx(k,{})]})}),e.jsxs(h,{children:[e.jsx(p,{children:"优惠券类型和值"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{control:u.control,name:"type",render:({field:f})=>e.jsxs(B,{value:f.value.toString(),onValueChange:f.onChange,children:[e.jsx(U,{className:"flex-[1.2] rounded-r-none border-r-0 focus:z-10",children:e.jsx(Y,{placeholder:"优惠券类型"})}),e.jsx(G,{children:Object.entries(Zt).map(([_,z])=>e.jsx(A,{value:_,children:z},_))})]})}),e.jsx(j,{control:u.control,name:"value",render:({field:f})=>e.jsx(S,{type:"number",placeholder:"请输入值",...f,onChange:_=>f.onChange(_.target.value===""?"":_.target.value),className:"flex-[2] rounded-none border-x-0 text-left"})}),e.jsx("div",{className:"flex min-w-[40px] items-center justify-center rounded-md rounded-l-none border border-l-0 border-input bg-muted/50 px-3 font-medium text-muted-foreground",children:e.jsx("span",{children:u.watch("type")===kt.AMOUNT?"¥":"%"})})]})]}),e.jsxs(h,{children:[e.jsx(p,{children:"优惠券有效期"}),e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsxs(C,{variant:"outline",className:g("w-full justify-start text-left font-normal",!u.watch("started_at")&&"text-muted-foreground"),children:[e.jsx(yt,{className:"mr-2 h-4 w-4"}),X(u.watch("started_at"),"YYYY-MM-DD HH:mm:ss")," ","至"," ",X(u.watch("ended_at"),"YYYY-MM-DD HH:mm:ss")]})}),e.jsxs(Ke,{className:"w-auto p-0",align:"start",children:[e.jsx("div",{className:"border-b border-border",children:e.jsx(et,{mode:"range",selected:{from:new Date(u.watch("started_at")*1e3),to:new Date(u.watch("ended_at")*1e3)},onSelect:y,numberOfMonths:2})}),e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"flex items-center gap-4",children:[T("started_at","开始时间"),e.jsx("div",{className:"mt-6 text-sm text-muted-foreground",children:"至"}),T("ended_at","结束时间")]})})]})]}),e.jsx(k,{})]}),e.jsx(j,{control:u.control,name:"limit_use",render:({field:f})=>e.jsxs(h,{children:[e.jsx(p,{children:"最大使用次数"}),e.jsx(S,{type:"number",min:0,placeholder:"限制最大使用次数,留空则不限制",...f,value:f.value===void 0?"":f.value,onChange:_=>f.onChange(_.target.value===""?"":_.target.value),className:"h-9"}),e.jsx(F,{className:"text-xs",children:"设置优惠券的总使用次数限制,留空表示不限制使用次数"}),e.jsx(k,{})]})}),e.jsx(j,{control:u.control,name:"limit_use_with_user",render:({field:f})=>e.jsxs(h,{children:[e.jsx(p,{children:"每个用户可使用次数"}),e.jsx(S,{type:"number",min:0,placeholder:"限制每个用户可使用次数,留空则不限制",...f,value:f.value===void 0?"":f.value,onChange:_=>f.onChange(_.target.value===""?"":_.target.value),className:"h-9"}),e.jsx(F,{className:"text-xs",children:"限制每个用户可使用该优惠券的次数,留空表示不限制单用户使用次数"}),e.jsx(k,{})]})}),e.jsx(j,{control:u.control,name:"limit_period",render:({field:f})=>e.jsxs(h,{children:[e.jsx(p,{children:"指定周期"}),e.jsx(Qs,{options:Object.entries(Ps).filter(([_])=>isNaN(Number(_))).map(([_,z])=>({label:z,value:_})),onChange:_=>{if(_.length===0){f.onChange([]);return}const z=_.map(N=>Ps[N.value]);f.onChange(z)},value:(f.value||[]).map(_=>({label:Object.entries(Ps).find(([z,N])=>N===_)?.[1]||"",value:Object.entries(Ps).find(([z,N])=>N===_)?.[0]||""})),placeholder:"限制指定周期可以使用优惠,留空则不限制",emptyIndicator:e.jsx("p",{className:"text-center text-sm text-muted-foreground",children:"没有找到匹配的周期"})}),e.jsx(F,{className:"text-xs",children:"选择可以使用优惠券的订阅周期,留空表示不限制使用周期"}),e.jsx(k,{})]})}),e.jsx(j,{control:u.control,name:"limit_plan_ids",render:({field:f})=>e.jsxs(h,{children:[e.jsx(p,{children:"指定订阅"}),e.jsx(Qs,{options:m?.map(_=>({label:_.name,value:_.id.toString()}))||[],onChange:_=>f.onChange(_.map(z=>Number(z.value))),value:(m||[]).filter(_=>(f.value||[]).includes(_.id)).map(_=>({label:_.name,value:_.id.toString()})),placeholder:"限制指定订阅可以使用优惠,留空则不限制",emptyIndicator:e.jsx("p",{className:"text-center text-sm text-muted-foreground",children:"没有找到匹配的订阅"})}),e.jsx(k,{})]})}),a==="create"&&e.jsxs(e.Fragment,{children:[e.jsx(j,{control:u.control,name:"code",render:({field:f})=>e.jsxs(h,{children:[e.jsx(p,{children:"自定义优惠码"}),e.jsx(S,{placeholder:"自定义优惠码,留空则自动生成",...f,className:"h-9"}),e.jsx(F,{className:"text-xs",children:"可以自定义优惠码,留空则系统自动生成"}),e.jsx(k,{})]})}),e.jsx(j,{control:u.control,name:"generate_count",render:({field:f})=>e.jsxs(h,{children:[e.jsx(p,{children:"批量生成数量"}),e.jsx(S,{type:"number",min:0,placeholder:"批量生成优惠码数量,留空则生成单个",...f,value:f.value===void 0?"":f.value,onChange:_=>f.onChange(_.target.value===""?"":_.target.value),className:"h-9"}),e.jsx(F,{className:"text-xs",children:"批量生成多个优惠码,留空则只生成单个优惠码"}),e.jsx(k,{})]})})]}),e.jsx(Ie,{children:e.jsx(C,{type:"submit",disabled:u.formState.isSubmitting,children:u.formState.isSubmitting?"保存中...":"保存"})})]})})]})]})}function em({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Vr,{refetch:t}),e.jsx(S,{placeholder:"搜索优惠券...",value:s.getColumn("name")?.getFilterValue()??"",onChange:n=>s.getColumn("name")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),s.getColumn("type")&&e.jsx(Zx,{column:s.getColumn("type"),title:"类型",options:Object.entries(Zt).map(([n,r])=>({value:n,label:r}))}),a&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})}const Rr=i.createContext(void 0);function sm({children:s,refetch:t}){const[a,n]=i.useState(!1),[r,l]=i.useState(null),o=x=>{l(x),n(!0)},d=()=>{n(!1),l(null)};return e.jsxs(Rr.Provider,{value:{isOpen:a,currentCoupon:r,openEdit:o,closeEdit:d},children:[s,r&&e.jsx(Vr,{defaultValues:r,refetch:t,type:"edit",open:a,onOpenChange:n})]})}function tm(){const s=i.useContext(Rr);if(s===void 0)throw new Error("useCouponEdit must be used within a CouponEditProvider");return s}const am=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(P,{column:t,title:"ID"}),cell:({row:t})=>e.jsx(E,{children:t.original.id}),enableSorting:!0},{accessorKey:"show",header:({column:t})=>e.jsx(P,{column:t,title:"启用"}),cell:({row:t})=>e.jsx(O,{defaultChecked:t.original.show,onCheckedChange:a=>{Xc({id:t.original.id,show:a}).then(({data:n})=>!n&&s())}}),enableSorting:!1},{accessorKey:"name",header:({column:t})=>e.jsx(P,{column:t,title:"卷名称"}),cell:({row:t})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{children:t.original.name})}),enableSorting:!1,size:800},{accessorKey:"type",header:({column:t})=>e.jsx(P,{column:t,title:"类型"}),cell:({row:t})=>e.jsx(E,{variant:"outline",children:Zt[t.original.type]}),enableSorting:!0},{accessorKey:"code",header:({column:t})=>e.jsx(P,{column:t,title:"卷码"}),cell:({row:t})=>e.jsx(E,{variant:"secondary",children:t.original.code}),enableSorting:!0},{accessorKey:"limit_use",header:({column:t})=>e.jsx(P,{column:t,title:"剩余次数"}),cell:({row:t})=>e.jsx(E,{variant:"outline",children:t.original.limit_use===null?"无限次":t.original.limit_use}),enableSorting:!0},{accessorKey:"limit_use_with_user",header:({column:t})=>e.jsx(P,{column:t,title:"可用次数/用户"}),cell:({row:t})=>e.jsx(E,{variant:"outline",children:t.original.limit_use_with_user===null?"无限制":t.original.limit_use_with_user}),enableSorting:!0},{accessorKey:"#",header:({column:t})=>e.jsx(P,{column:t,title:"有效期"}),cell:({row:t})=>{const[a,n]=i.useState(!1),r=Date.now(),l=t.original.started_at*1e3,o=t.original.ended_at*1e3,d=r>o,x=re.jsx(P,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>{const{openEdit:a}=tm();return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",onClick:()=>a(t.original),children:[e.jsx(_s,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),e.jsx(Ue,{title:"确认删除",description:"此操作将永久删除该优惠券,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{Zc({id:t.original.id}).then(({data:n})=>{n&&(R.success("删除成功"),s())})},children:e.jsxs(C,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(es,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}}];function nm(){const[s,t]=i.useState({}),[a,n]=i.useState({}),[r,l]=i.useState([]),[o,d]=i.useState([]),[x,w]=i.useState({pageIndex:0,pageSize:20}),{refetch:m,data:v}=K({queryKey:["couponList",x,r,o],queryFn:()=>Jc({pageSize:x.pageSize,current:x.pageIndex+1,filter:r,sort:o})}),u=Re({data:v?.data??[],columns:am(m),state:{sorting:o,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:x},pageCount:Math.ceil((v?.total??0)/x.pageSize),rowCount:v?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,onPaginationChange:w,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(sm,{refetch:m,children:e.jsx("div",{className:"space-y-4",children:e.jsx(qe,{table:u,toolbar:e.jsx(em,{table:u,refetch:m})})})})}function rm(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"优惠券管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"在这里可以查看优惠券,包括增加、查看、删除等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(nm,{})})]})]})}const lm=Object.freeze(Object.defineProperty({__proto__:null,default:rm},Symbol.toStringTag,{value:"Module"}));function im({column:s,title:t,options:a}){const n=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsxs(C,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(zs,{className:"mr-2 h-4 w-4"}),t,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(l=>r.has(l.value)).map(l=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:l.label},l.value))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(as,{children:[e.jsx(js,{placeholder:t}),e.jsxs(ns,{children:[e.jsx(gs,{children:"No results found."}),e.jsx(be,{children:a.map(l=>{const o=r.has(l.value);return e.jsxs(xe,{onSelect:()=>{o?r.delete(l.value):r.add(l.value);const d=Array.from(r);s?.setFilterValue(d.length?d:void 0)},children:[e.jsx("div",{className:g("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",o?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(hs,{className:g("h-4 w-4")})}),l.icon&&e.jsx(l.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${l.color}`}),e.jsx("span",{children:l.label}),n?.get(l.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(l.value)})]},l.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Cs,{}),e.jsx(be,{children:e.jsx(xe,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const om=c.object({email_prefix:c.string().optional(),email_suffix:c.string().min(1),password:c.string().optional(),expired_at:c.number().optional().nullable(),plan_id:c.number().nullable(),generate_count:c.number().optional().nullable()}).refine(s=>s.generate_count===null?s.email_prefix!==void 0&&s.email_prefix!=="":!0,{message:"Email prefix is required when generate_count is null",path:["email_prefix"]}),cm={email_prefix:"",email_suffix:"",password:"",expired_at:null,plan_id:null,generate_count:void 0};function dm({refetch:s}){const[t,a]=i.useState(!1),n=Z({resolver:ee(om),defaultValues:cm,mode:"onChange"}),[r,l]=i.useState([]);return i.useEffect(()=>{t&&Es().then(({data:o})=>{o&&l(o)})},[t]),e.jsxs(me,{open:t,onOpenChange:a,children:[e.jsx(Pe,{asChild:!0,children:e.jsxs(H,{size:"sm",variant:"outline",className:"space-x-2",children:[e.jsx(ve,{icon:"ion:add"}),e.jsx("div",{children:"创建用户"})]})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsxs(ge,{children:[e.jsx(he,{children:"创建用户"}),e.jsx(ze,{})]}),e.jsxs(se,{...n,children:[e.jsxs(h,{children:[e.jsx(p,{children:"邮箱"}),e.jsxs("div",{className:"flex",children:[!n.watch("generate_count")&&e.jsx(j,{control:n.control,name:"email_prefix",render:({field:o})=>e.jsx(S,{className:"flex-[5] rounded-r-none",placeholder:"帐号(批量生成请留空)",...o})}),e.jsx("div",{className:`z-[-1] border border-r-0 border-input px-3 py-1 shadow-sm ${n.watch("generate_count")?"rounded-l-md":"border-l-0"}`,children:"@"}),e.jsx(j,{control:n.control,name:"email_suffix",render:({field:o})=>e.jsx(S,{className:"flex-[4] rounded-l-none",placeholder:"域",...o})})]})]}),e.jsx(j,{control:n.control,name:"password",render:({field:o})=>e.jsxs(h,{children:[e.jsx(p,{children:"密码"}),e.jsx(S,{placeholder:"留空则密码与邮件相同",...o}),e.jsx(k,{})]})}),e.jsx(j,{control:n.control,name:"expired_at",render:({field:o})=>e.jsxs(h,{className:"flex flex-col",children:[e.jsx(p,{children:"到期时间"}),e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsx(b,{children:e.jsxs(H,{variant:"outline",className:g("w-full pl-3 text-left font-normal",!o.value&&"text-muted-foreground"),children:[o.value?X(o.value):e.jsx("span",{children:"请选择用户到期日期,留空为长期有效"}),e.jsx(yt,{className:"ml-auto h-4 w-4 opacity-50"})]})})}),e.jsxs(Ke,{className:"flex w-auto flex-col space-y-2 p-2",children:[e.jsx(ro,{asChild:!0,children:e.jsx(H,{variant:"outline",className:"w-full",onClick:()=>{o.onChange(null)},children:"长期有效"})}),e.jsx("div",{className:"rounded-md border",children:e.jsx(et,{mode:"single",selected:o.value?new Date(o.value*1e3):void 0,onSelect:d=>{d&&o.onChange(d?.getTime()/1e3)}})})]})]})]})}),e.jsx(j,{control:n.control,name:"plan_id",render:({field:o})=>e.jsxs(h,{children:[e.jsx(p,{children:"订阅计划"}),e.jsx(b,{children:e.jsxs(B,{value:o.value?o.value.toString():"null",onValueChange:d=>o.onChange(d==="null"?null:parseInt(d)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"无"})}),e.jsxs(G,{children:[e.jsx(A,{value:"null",children:"无"}),r.map(d=>e.jsx(A,{value:d.id.toString(),children:d.name},d.id))]})]})})]})}),!n.watch("email_prefix")&&e.jsx(j,{control:n.control,name:"generate_count",render:({field:o})=>e.jsxs(h,{children:[e.jsx(p,{children:"生成数量"}),e.jsx(S,{type:"number",placeholder:"如果为批量生产请输入生成数量",value:o.value||"",onChange:d=>o.onChange(d.target.value?parseInt(d.target.value):null)})]})})]}),e.jsxs(Ie,{children:[e.jsx(H,{variant:"outline",onClick:()=>a(!1),children:"取消"}),e.jsx(H,{onClick:()=>n.handleSubmit(o=>{ad(o).then(({data:d})=>{d&&(R.success("生成成功"),n.reset(),s(),a(!1))})})(),children:"生成"})]})]})]})}function um({table:s,refetch:t}){const a=s.getState().columnFilters.length>0;return e.jsx("div",{className:"flex flex-wrap items-center justify-between gap-2",children:e.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[e.jsx(dm,{refetch:t}),e.jsx(S,{placeholder:"搜索用户邮箱...",value:s.getColumn("email")?.getFilterValue()??"",onChange:n=>s.getColumn("email")?.setFilterValue(n.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),s.getColumn("banned")&&e.jsx(im,{column:s.getColumn("banned"),title:"用户状态",options:[{label:"正常",value:0},{label:"封禁",value:1}]}),a&&e.jsxs(C,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置筛选",e.jsx(Le,{className:"ml-2 h-4 w-4"})]})]})})}const xm=Ra,mm=Ma,hm=za,Mr=i.forwardRef(({className:s,...t},a)=>e.jsx(pt,{className:g("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...t,ref:a}));Mr.displayName=pt.displayName;const jm=Ns("fixed overflow-y-scroll z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-300 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-md",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-md"}},defaultVariants:{side:"right"}}),zr=i.forwardRef(({side:s="right",className:t,children:a,...n},r)=>e.jsxs(hm,{children:[e.jsx(Mr,{}),e.jsxs(ft,{ref:r,className:g(jm({side:s}),t),...n,children:[e.jsxs(Bt,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e.jsx(Le,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]}),a]})]}));zr.displayName=ft.displayName;const Er=({className:s,...t})=>e.jsx("div",{className:g("flex flex-col space-y-2 text-center sm:text-left",s),...t});Er.displayName="SheetHeader";const Or=({className:s,...t})=>e.jsx("div",{className:g("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t});Or.displayName="SheetFooter";const Lr=i.forwardRef(({className:s,...t},a)=>e.jsx(vt,{ref:a,className:g("text-lg font-semibold text-foreground",s),...t}));Lr.displayName=vt.displayName;const $r=i.forwardRef(({className:s,...t},a)=>e.jsx(bt,{ref:a,className:g("text-sm text-muted-foreground",s),...t}));$r.displayName=bt.displayName;const gm=c.object({id:c.number(),email:c.string().email(),invite_user_email:c.string().email().nullable().optional(),password:c.string().optional().nullable(),balance:c.coerce.number(),commission_balance:c.coerce.number(),u:c.number(),d:c.number(),transfer_enable:c.number(),expired_at:c.number().nullable(),plan_id:c.number().nullable(),banned:c.number(),commission_type:c.number(),commission_rate:c.number().nullable(),discount:c.number().nullable(),speed_limit:c.number().nullable(),is_admin:c.number(),is_staff:c.number(),remarks:c.string().nullable()});function Ar({refetch:s,defaultValues:t,dialogTrigger:a=e.jsxs(C,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e.jsx(zs,{className:"mr-2 h-4 w-4"}),"编辑用户信息"]})}){const[n,r]=i.useState(!1),[l,o]=i.useState(!1),d=Z({resolver:ee(gm),defaultValues:t,mode:"onChange"}),[x,w]=i.useState([]);return i.useEffect(()=>{n&&Es().then(({data:m})=>{w(m)})},[n]),e.jsxs(xm,{open:n,onOpenChange:r,children:[e.jsx(mm,{asChild:!0,children:a}),e.jsxs(zr,{className:"max-w-[90%] space-y-4 ",children:[e.jsxs(Er,{children:[e.jsx(Lr,{children:"用户管理"}),e.jsx($r,{})]}),e.jsxs(se,{...d,children:[e.jsx(j,{control:d.control,name:"email",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"邮箱"}),e.jsx(S,{...m,placeholder:"请输入邮箱"}),e.jsx(k,{...m})]})}),e.jsx(j,{control:d.control,name:"invite_user_email",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"邀请人邮箱"}),e.jsx(S,{value:m.value||"",onChange:v=>m.onChange(v.target.value?v.target.value:null),placeholder:"请输入邮箱"}),e.jsx(k,{...m})]})}),e.jsx(j,{control:d.control,name:"password",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"密码"}),e.jsx(S,{value:m.value||"",onChange:m.onChange,placeholder:"如需修改密码请输入"}),e.jsx(k,{...m})]})}),e.jsxs("div",{className:"grid gap-2 md:grid-cols-2",children:[e.jsx(j,{control:d.control,name:"balance",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"余额"}),e.jsxs("div",{className:"flex",children:[e.jsx(S,{type:"number",value:m.value||"",onChange:m.onChange,placeholder:"请输入余额",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"¥"})]}),e.jsx(k,{...m})]})}),e.jsx(j,{control:d.control,name:"commission_balance",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"佣金余额"}),e.jsxs("div",{className:"flex",children:[e.jsx(S,{type:"number",value:m.value||"",onChange:m.onChange,placeholder:"请输入佣金余额",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"¥"})]}),e.jsx(k,{...m})]})}),e.jsx(j,{control:d.control,name:"u",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"已用上行"}),e.jsxs("div",{className:"flex",children:[e.jsx(S,{type:"number",value:(m.value/1024/1024/1024).toFixed(3)||"",onChange:v=>m.onChange(parseInt(v.target.value)*1024*1024*1024),placeholder:"已用上行",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(k,{...m})]})}),e.jsx(j,{control:d.control,name:"d",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"已用下行"}),e.jsxs("div",{className:"flex",children:[e.jsx(S,{type:"number",value:(m.value/1024/1024/1024).toFixed(3)||"",onChange:v=>m.onChange(parseInt(v.target.value)*1024*1024*1024),placeholder:"已用下行",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(k,{...m})]})})]}),e.jsx(j,{control:d.control,name:"transfer_enable",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"流量"}),e.jsxs("div",{className:"flex",children:[e.jsx(S,{type:"number",value:m.value/1024/1024/1024||"",onChange:v=>m.onChange(parseInt(v.target.value)*1024*1024*1024),placeholder:"请输入流量",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"expired_at",render:({field:m})=>e.jsxs(h,{className:"flex flex-col",children:[e.jsx(p,{children:"到期时间"}),e.jsxs(Ye,{open:l,onOpenChange:o,children:[e.jsx(We,{asChild:!0,children:e.jsx(b,{children:e.jsxs(C,{type:"button",variant:"outline",className:g("w-full pl-3 text-left font-normal",!m.value&&"text-muted-foreground"),onClick:()=>o(!0),children:[m.value?X(m.value):e.jsx("span",{children:"请选择用户到期日期,留空为长期有效"}),e.jsx(yt,{className:"ml-auto h-4 w-4 opacity-50"})]})})}),e.jsx(Ke,{className:"w-auto p-0",align:"start",side:"top",sideOffset:4,onInteractOutside:v=>{v.preventDefault()},onEscapeKeyDown:v=>{v.preventDefault()},children:e.jsxs("div",{className:"flex flex-col space-y-3 p-3",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(C,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{m.onChange(null),o(!1)},children:"长期有效"}),e.jsx(C,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{const v=new Date;v.setMonth(v.getMonth()+1),v.setHours(23,59,59,999),m.onChange(Math.floor(v.getTime()/1e3)),o(!1)},children:"一个月"}),e.jsx(C,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{const v=new Date;v.setMonth(v.getMonth()+3),v.setHours(23,59,59,999),m.onChange(Math.floor(v.getTime()/1e3)),o(!1)},children:"三个月"})]}),e.jsx("div",{className:"rounded-md border",children:e.jsx(et,{mode:"single",selected:m.value?new Date(m.value*1e3):void 0,onSelect:v=>{if(v){const u=new Date(m.value?m.value*1e3:Date.now());v.setHours(u.getHours(),u.getMinutes(),u.getSeconds()),m.onChange(Math.floor(v.getTime()/1e3))}},disabled:v=>v{const v=new Date;v.setHours(23,59,59,999),m.onChange(Math.floor(v.getTime()/1e3))},className:"h-6 px-2 text-xs",children:"设为当天结束"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(S,{type:"datetime-local",step:"1",value:X(m.value,"YYYY-MM-DDTHH:mm:ss"),onChange:v=>{const u=new Date(v.target.value);isNaN(u.getTime())||m.onChange(Math.floor(u.getTime()/1e3))},className:"flex-1"}),e.jsx(C,{type:"button",variant:"outline",onClick:()=>o(!1),children:"确定"})]})]})]})})]}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"plan_id",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"订阅计划"}),e.jsx(b,{children:e.jsxs(B,{value:m.value?m.value.toString():"null",onValueChange:v=>m.onChange(v==="null"?null:parseInt(v)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"无"})}),e.jsxs(G,{children:[e.jsx(A,{value:"null",children:"无"}),x.map(v=>e.jsx(A,{value:v.id.toString(),children:v.name},v.id))]})]})})]})}),e.jsx(j,{control:d.control,name:"banned",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"账户状态"}),e.jsx(b,{children:e.jsxs(B,{value:m.value.toString(),onValueChange:v=>m.onChange(parseInt(v)),children:[e.jsx(U,{children:e.jsx(Y,{})}),e.jsxs(G,{children:[e.jsx(A,{value:"1",children:"封禁"}),e.jsx(A,{value:"0",children:"正常"})]})]})})]})}),e.jsx(j,{control:d.control,name:"commission_type",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"佣金类型"}),e.jsx(b,{children:e.jsxs(B,{value:m.value.toString(),onValueChange:v=>m.onChange(parseInt(v)),children:[e.jsx(U,{children:e.jsx(Y,{placeholder:"无"})}),e.jsxs(G,{children:[e.jsx(A,{value:"0",children:"跟随系统设置"}),e.jsx(A,{value:"1",children:"循环返利"}),e.jsx(A,{value:"2",children:"首次返利"})]})]})})]})}),e.jsx(j,{control:d.control,name:"commission_rate",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"推荐返利比例"}),e.jsxs("div",{className:"flex",children:[e.jsx(S,{type:"number",value:m.value||"",onChange:v=>m.onChange(parseInt(v.currentTarget.value)||null),placeholder:"请输入推荐返利比例(为空则跟随站点设置返利比例)",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"%"})]}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"discount",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"专享折扣比例"}),e.jsxs("div",{className:"flex",children:[e.jsx(S,{type:"number",value:m.value||"",onChange:v=>m.onChange(parseInt(v.currentTarget.value)||null),placeholder:"请输入专享折扣比例(为空则不享受专享折扣)",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"%"})]}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"speed_limit",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"限速"}),e.jsxs("div",{className:"flex",children:[e.jsx(S,{type:"number",value:m.value||"",onChange:v=>m.onChange(parseInt(v.currentTarget.value)||null),placeholder:"留空则不限速",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"Mbps"})]}),e.jsx(k,{})]})}),e.jsx(j,{control:d.control,name:"is_admin",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"是否管理员"}),e.jsx("div",{className:"py-2",children:e.jsx(b,{children:e.jsx(O,{checked:m.value===1,onCheckedChange:v=>m.onChange(v?1:0)})})})]})}),e.jsx(j,{control:d.control,name:"is_staff",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"是否员工"}),e.jsx("div",{className:"py-2",children:e.jsx(b,{children:e.jsx(O,{checked:m.value===1,onCheckedChange:v=>m.onChange(v?1:0)})})})]})}),e.jsx(j,{control:d.control,name:"remarks",render:({field:m})=>e.jsxs(h,{children:[e.jsx(p,{children:"备注"}),e.jsx(ps,{className:"h-24",value:m.value||"",onChange:v=>m.onChange(v.currentTarget.value??null),placeholder:"请在这里记录"})]})})]}),e.jsxs(Or,{children:[e.jsx(C,{variant:"outline",onClick:()=>r(!1),children:"取消"}),e.jsx(C,{type:"submit",onClick:()=>{d.handleSubmit(m=>{sd(m).then(({data:v})=>{v&&(R.success("修改成功"),r(!1),s())}).catch(v=>{R.error("修改失败")})})()},children:"提交"})]})]})]})}const Hr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"m17.71 11.29l-5-5a1 1 0 0 0-.33-.21a1 1 0 0 0-.76 0a1 1 0 0 0-.33.21l-5 5a1 1 0 0 0 1.42 1.42L11 9.41V17a1 1 0 0 0 2 0V9.41l3.29 3.3a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42"})}),Kr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17.71 11.29a1 1 0 0 0-1.42 0L13 14.59V7a1 1 0 0 0-2 0v7.59l-3.29-3.3a1 1 0 0 0-1.42 1.42l5 5a1 1 0 0 0 .33.21a.94.94 0 0 0 .76 0a1 1 0 0 0 .33-.21l5-5a1 1 0 0 0 0-1.42"})}),pm=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17 11H9.41l3.3-3.29a1 1 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33a1 1 0 0 0 0 .76a1 1 0 0 0 .21.33l5 5a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42L9.41 13H17a1 1 0 0 0 0-2"})}),fm=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17.92 11.62a1 1 0 0 0-.21-.33l-5-5a1 1 0 0 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l5-5a1 1 0 0 0 .21-.33a1 1 0 0 0 0-.76"})}),Rt=[{accessorKey:"record_at",header:"时间",cell:({row:s})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("time",{className:"text-sm text-muted-foreground",children:Lo(s.original.record_at)})})},{accessorKey:"u",header:"上行流量",cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Hr,{className:"h-4 w-4 text-emerald-500"}),e.jsx("span",{className:"font-mono text-sm",children:Fs(s.original.u)})]})},{accessorKey:"d",header:"下行流量",cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Kr,{className:"h-4 w-4 text-blue-500"}),e.jsx("span",{className:"font-mono text-sm",children:Fs(s.original.d)})]})},{accessorKey:"server_rate",header:"倍率",cell:({row:s})=>{const t=s.original.server_rate;return e.jsx("div",{className:"flex items-center space-x-2",children:e.jsxs(E,{variant:"outline",className:"font-mono",children:[t,"x"]})})}},{id:"total",header:"总计",cell:({row:s})=>{const t=(s.original.u+s.original.d)*s.original.server_rate;return e.jsx("div",{className:"flex items-center justify-end font-mono text-sm",children:Fs(t)})}}];function qr({user_id:s,dialogTrigger:t}){const[a,n]=i.useState(!1),[r,l]=i.useState({pageIndex:0,pageSize:20}),{data:o,isLoading:d}=K({queryKey:["userStats",s,r,a],queryFn:()=>a?nd({user_id:s,pageSize:r.pageSize,page:r.pageIndex+1}):null}),x=Re({data:o?.data??[],columns:Rt,pageCount:Math.ceil((o?.total??0)/r.pageSize),state:{pagination:r},manualPagination:!0,getCoreRowModel:Me(),onPaginationChange:l});return e.jsxs(me,{open:a,onOpenChange:n,children:[e.jsx(Pe,{asChild:!0,children:t}),e.jsxs(de,{className:"sm:max-w-[700px]",children:[e.jsx(ge,{children:e.jsx(he,{children:"流量使用记录"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"rounded-md border",children:e.jsxs(Xt,{children:[e.jsx(ea,{children:x.getHeaderGroups().map(w=>e.jsx(xs,{children:w.headers.map(m=>e.jsx(ta,{className:g("h-10 px-2 text-xs",m.id==="total"&&"text-right"),children:m.isPlaceholder?null:xt(m.column.columnDef.header,m.getContext())},m.id))},w.id))}),e.jsx(sa,{children:d?Array.from({length:r.pageSize}).map((w,m)=>e.jsx(xs,{children:Array.from({length:Rt.length}).map((v,u)=>e.jsx(Vs,{className:"p-2",children:e.jsx(Ve,{className:"h-6 w-full"})},u))},m)):x.getRowModel().rows?.length?x.getRowModel().rows.map(w=>e.jsx(xs,{"data-state":w.getIsSelected()&&"selected",className:"h-10",children:w.getVisibleCells().map(m=>e.jsx(Vs,{className:"px-2",children:xt(m.column.columnDef.cell,m.getContext())},m.id))},w.id)):e.jsx(xs,{children:e.jsx(Vs,{colSpan:Rt.length,className:"h-24 text-center",children:"暂无记录"})})})]})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"每页显示"}),e.jsxs(B,{value:`${x.getState().pagination.pageSize}`,onValueChange:w=>{x.setPageSize(Number(w))},children:[e.jsx(U,{className:"h-8 w-[70px]",children:e.jsx(Y,{placeholder:x.getState().pagination.pageSize})}),e.jsx(G,{side:"top",children:[10,20,30,40,50].map(w=>e.jsx(A,{value:`${w}`,children:w},w))})]}),e.jsx("p",{className:"text-sm font-medium",children:"条记录"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs("div",{className:"flex w-[100px] items-center justify-center text-sm",children:["第 ",x.getState().pagination.pageIndex+1," /"," ",x.getPageCount()," 页"]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>x.previousPage(),disabled:!x.getCanPreviousPage()||d,children:e.jsx(pm,{className:"h-4 w-4"})}),e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>x.nextPage(),disabled:!x.getCanNextPage()||d,children:e.jsx(fm,{className:"h-4 w-4"})})]})]})]})]})]})]})}const vm=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M5 18h4.24a1 1 0 0 0 .71-.29l6.92-6.93L19.71 8a1 1 0 0 0 0-1.42l-4.24-4.29a1 1 0 0 0-1.42 0l-2.82 2.83l-6.94 6.93a1 1 0 0 0-.29.71V17a1 1 0 0 0 1 1m9.76-13.59l2.83 2.83l-1.42 1.42l-2.83-2.83ZM6 13.17l5.93-5.93l2.83 2.83L8.83 16H6ZM21 20H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2"})}),bm=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 11h-6V5a1 1 0 0 0-2 0v6H5a1 1 0 0 0 0 2h6v6a1 1 0 0 0 2 0v-6h6a1 1 0 0 0 0-2"})}),ym=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21 8.94a1.3 1.3 0 0 0-.06-.27v-.09a1 1 0 0 0-.19-.28l-6-6a1 1 0 0 0-.28-.19a.3.3 0 0 0-.09 0a.9.9 0 0 0-.33-.11H10a3 3 0 0 0-3 3v1H6a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3zm-6-3.53L17.59 8H16a1 1 0 0 1-1-1ZM15 19a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1v7a3 3 0 0 0 3 3h5Zm4-4a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3v3a3 3 0 0 0 3 3h3Z"})}),Nm=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21 11a1 1 0 0 0-1 1a8.05 8.05 0 1 1-2.22-5.5h-2.4a1 1 0 0 0 0 2h4.53a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1.77A10 10 0 1 0 22 12a1 1 0 0 0-1-1"})}),wm=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M9.5 10.5H12a1 1 0 0 0 0-2h-1V8a1 1 0 0 0-2 0v.55a2.5 2.5 0 0 0 .5 4.95h1a.5.5 0 0 1 0 1H8a1 1 0 0 0 0 2h1v.5a1 1 0 0 0 2 0v-.55a2.5 2.5 0 0 0-.5-4.95h-1a.5.5 0 0 1 0-1M21 12h-3V3a1 1 0 0 0-.5-.87a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0A1 1 0 0 0 2 3v16a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1M5 20a1 1 0 0 1-1-1V4.73l2 1.14a1.08 1.08 0 0 0 1 0l3-1.72l3 1.72a1.08 1.08 0 0 0 1 0l2-1.14V19a3 3 0 0 0 .18 1Zm15-1a1 1 0 0 1-2 0v-5h2Z"})}),_m=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M12.3 12.22A4.92 4.92 0 0 0 14 8.5a5 5 0 0 0-10 0a4.92 4.92 0 0 0 1.7 3.72A8 8 0 0 0 1 19.5a1 1 0 0 0 2 0a6 6 0 0 1 12 0a1 1 0 0 0 2 0a8 8 0 0 0-4.7-7.28M9 11.5a3 3 0 1 1 3-3a3 3 0 0 1-3 3m9.74.32A5 5 0 0 0 15 3.5a1 1 0 0 0 0 2a3 3 0 0 1 3 3a3 3 0 0 1-1.5 2.59a1 1 0 0 0-.5.84a1 1 0 0 0 .45.86l.39.26l.13.07a7 7 0 0 1 4 6.38a1 1 0 0 0 2 0a9 9 0 0 0-4.23-7.68"})}),Cm=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M12 2a10 10 0 0 0-6.88 2.77V3a1 1 0 0 0-2 0v4.5a1 1 0 0 0 1 1h4.5a1 1 0 0 0 0-2h-2.4A8 8 0 1 1 4 12a1 1 0 0 0-2 0A10 10 0 1 0 12 2m0 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h2a1 1 0 0 0 0-2h-1V9a1 1 0 0 0-1-1"})}),Sm=(s,t)=>[{accessorKey:"id",header:({column:a})=>e.jsx(P,{column:a,title:"ID"}),cell:({row:a})=>e.jsx(E,{variant:"outline",children:a.original.id}),enableSorting:!0,enableHiding:!1},{accessorKey:"email",header:({column:a})=>e.jsx(P,{column:a,title:"邮箱"}),cell:({row:a})=>{const n=a.original.t||0,r=Date.now()/1e3-n<120,l=Math.floor(Date.now()/1e3-n);let o=r?"当前在线":n===0?"从未在线":`最后在线时间: ${X(n)}`;if(!r&&n!==0){const d=Math.floor(l/60),x=Math.floor(d/60),w=Math.floor(x/24);w>0?o+=` +离线时长: ${w}天`:x>0?o+=` +离线时长: ${x}小时`:d>0?o+=` +离线时长: ${d}分钟`:o+=` +离线时长: ${l}秒`}return e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:g("size-2.5 rounded-full ring-2 ring-offset-2",r?"bg-green-500 ring-green-500/20":"bg-gray-300 ring-gray-300/20","transition-all duration-300")}),e.jsx("span",{className:"font-medium text-foreground/90",children:a.original.email})]})}),e.jsx(te,{side:"bottom",className:"max-w-[280px]",children:e.jsx("p",{className:"whitespace-pre-line text-sm",children:o})})]})})},enableSorting:!1,enableHiding:!1},{accessorKey:"banned",header:({column:a})=>e.jsx(P,{column:a,title:"状态"}),cell:({row:a})=>{const n=a.original.banned;return e.jsx("div",{className:"flex justify-center",children:e.jsx(E,{className:g("min-w-20 justify-center transition-colors",n?"bg-destructive/15 text-destructive hover:bg-destructive/25":"bg-success/15 text-success hover:bg-success/25"),children:fd[n]})})},enableSorting:!0,filterFn:(a,n,r)=>r.includes(a.getValue(n))},{accessorKey:"plan.name",header:({column:a})=>e.jsx(P,{column:a,title:"订阅"}),cell:({row:a})=>e.jsx("div",{className:"min-w-[10em] break-all",children:a.original?.plan?.name||"-"}),enableSorting:!1,enableHiding:!1},{accessorKey:"group",header:({column:a})=>e.jsx(P,{column:a,title:"权限组"}),cell:({row:a})=>e.jsx("div",{className:"flex flex-wrap gap-1",children:e.jsx(E,{variant:"outline",className:g("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5 whitespace-nowrap"),children:a.original?.group?.name||"-"})}),enableSorting:!1},{accessorKey:"total_used",header:({column:a})=>e.jsx(P,{column:a,title:"已用流量"}),cell:({row:a})=>{const n=Fs(a.original?.total_used),r=Fs(a.original?.transfer_enable),l=a.original?.total_used/a.original?.transfer_enable*100||0;return e.jsx(ce,{delayDuration:100,children:e.jsxs(ne,{children:[e.jsx(re,{className:"w-full",children:e.jsxs("div",{className:"w-full space-y-1",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:n}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[l.toFixed(1),"%"]})]}),e.jsx("div",{className:"h-1.5 w-full rounded-full bg-secondary",children:e.jsx("div",{className:g("h-full rounded-full transition-all",l>90?"bg-destructive":"bg-primary"),style:{width:`${Math.min(l,100)}%`}})})]})}),e.jsx(te,{side:"bottom",children:e.jsxs("p",{className:"text-sm",children:["总流量配额: ",r]})})]})})}},{accessorKey:"transfer_enable",header:({column:a})=>e.jsx(P,{column:a,title:"总流量"}),cell:({row:a})=>e.jsx("div",{className:"font-medium text-muted-foreground",children:Fs(a.original?.transfer_enable)})},{accessorKey:"expired_at",header:({column:a})=>e.jsx(P,{column:a,title:"到期时间"}),cell:({row:a})=>{const n=a.original.expired_at,r=Date.now()/1e3,l=n!=null&&ne.jsx(P,{column:a,title:"余额"}),cell:({row:a})=>{const n=Ds(a.original?.balance);return e.jsxs("div",{className:"flex items-center gap-1 font-medium",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"¥"}),e.jsx("span",{className:"tabular-nums text-foreground",children:n})]})}},{accessorKey:"commission_balance",header:({column:a})=>e.jsx(P,{column:a,title:"佣金"}),cell:({row:a})=>{const n=Ds(a.original?.commission_balance);return e.jsxs("div",{className:"flex items-center gap-1 font-medium",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"¥"}),e.jsx("span",{className:"tabular-nums text-foreground",children:n})]})}},{accessorKey:"created_at",header:({column:a})=>e.jsx(P,{column:a,title:"注册时间"}),cell:({row:a})=>e.jsx("div",{className:"truncate",children:X(a.original?.created_at)}),size:1e3},{id:"actions",header:({column:a})=>e.jsx(P,{column:a,className:"justify-end",title:"操作"}),cell:({row:a,table:n})=>e.jsxs(bs,{modal:!0,children:[e.jsx(ys,{asChild:!0,children:e.jsx("div",{className:"text-center",children:e.jsx(H,{variant:"ghost",className:"h-8 w-8 p-0 hover:bg-muted","aria-label":"打开操作菜单",children:e.jsx(mt,{className:"size-4"})})})}),e.jsxs(ms,{align:"end",className:"min-w-[40px]",children:[e.jsx(oe,{onSelect:r=>{r.preventDefault()},className:"p-0",children:e.jsx(Ar,{defaultValues:{...a.original,invite_user_email:a.original.invite_user?.email},refetch:s,dialogTrigger:e.jsxs(H,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(vm,{className:"mr-2"}),"编辑"]})})}),e.jsx(oe,{onSelect:r=>r.preventDefault(),className:"p-0",children:e.jsx(Fr,{defaultValues:{email:a.original.email},trigger:e.jsxs(H,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(bm,{className:"mr-2 "}),"分配订单"]})})}),e.jsx(oe,{onSelect:()=>{At(a.original.subscribe_url)},className:"p-0",children:e.jsxs(H,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(ym,{className:"mr-2"}),"复制订阅URL"]})}),e.jsx(oe,{onSelect:()=>{td({id:a.original.id}).then(({data:r})=>{r&&R.success("重置成功")})},children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(Nm,{className:"mr-2 "}),"重置UUID及订阅URL"]})}),e.jsx(oe,{onSelect:()=>{},className:"p-0",children:e.jsxs(ws,{className:"flex items-center px-2 py-1.5",to:`/finance/order?user_id=${a.original?.id}`,children:[e.jsx(wm,{className:"mr-2"}),"TA的订单"]})}),e.jsx(oe,{onSelect:()=>{n.setColumnFilters([{id:"invite_user_id",value:a.original?.id}])},children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(_m,{className:"mr-2 "}),"TA的邀请"]})}),e.jsx(oe,{onSelect:r=>r.preventDefault(),className:"p-0",children:e.jsx(qr,{user_id:a.original?.id,dialogTrigger:e.jsxs(H,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(Cm,{className:"mr-2 "}),"TA的流量记录"]})})})]})]})}];function km(){const[s]=lo(),[t,a]=i.useState({}),[n,r]=i.useState({}),[l,o]=i.useState([]),[d,x]=i.useState([]),[w,m]=i.useState({pageIndex:0,pageSize:20});i.useEffect(()=>{const _=s.get("email");_&&o(z=>z.some(V=>V.id==="email")?z:[...z,{id:"email",value:_}])},[s]);const{refetch:v,data:u,isLoading:y}=K({queryKey:["userList",w,l,d],queryFn:()=>ed({pageSize:w.pageSize,current:w.pageIndex+1,filter:l,sort:d})}),[D,T]=i.useState([]);i.useEffect(()=>{St().then(({data:_})=>{T(_)})},[]);const f=Re({data:u?.data??[],columns:Sm(v),state:{sorting:d,columnVisibility:n,rowSelection:t,columnFilters:l,pagination:w},rowCount:u?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:a,onSortingChange:x,onColumnFiltersChange:o,onColumnVisibilityChange:r,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),onPaginationChange:m,getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts(),initialState:{columnVisibility:{commission_balance:!1,created_at:!1},columnPinning:{right:["actions"]}}});return e.jsx(qe,{table:f,toolbar:e.jsx(um,{table:f,refetch:v,serverGroupList:D})})}function Tm(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"用户管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"在这里可以管理用户,包括增加、删除、编辑、查询等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx("div",{className:"w-full",children:e.jsx(km,{})})})]})]})}const Dm=Object.freeze(Object.defineProperty({__proto__:null,default:Tm},Symbol.toStringTag,{value:"Module"}));function Pm({column:s,title:t,options:a}){const n=new Set(s?.getFilterValue());return e.jsxs(Ye,{children:[e.jsx(We,{asChild:!0,children:e.jsxs(H,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(io,{className:"mr-2 h-4 w-4"}),t,n?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:n.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:n.size>2?e.jsxs(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[n.size," selected"]}):a.filter(r=>n.has(r.value)).map(r=>e.jsx(E,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:r.label},`selected-${r.value}`))})]})]})}),e.jsx(Ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(as,{children:[e.jsx(js,{placeholder:t}),e.jsxs(ns,{children:[e.jsx(gs,{children:"No results found."}),e.jsx(be,{children:a.map(r=>{const l=n.has(r.value);return e.jsxs(xe,{onSelect:()=>{l?n.delete(r.value):n.add(r.value);const o=Array.from(n);s?.setFilterValue(o.length?o:void 0)},children:[e.jsx("div",{className:g("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",l?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(oo,{className:g("h-4 w-4")})}),r.icon&&e.jsx(r.icon,{className:"mr-2 h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:r.label})]},`option-${r.value}`)})}),n.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Cs,{}),e.jsx(be,{children:e.jsx(xe,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const Im=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 11H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2"})});function Fm({table:s}){return e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-4",children:[e.jsx(lr,{defaultValue:s.getColumn("status")?.getFilterValue(),onValueChange:t=>s.getColumn("status")?.setFilterValue(t),children:e.jsxs(Qt,{className:"grid w-full grid-cols-2",children:[e.jsx(Js,{value:"0",children:"已开始"}),e.jsx(Js,{value:"1",children:"已关闭"})]})}),s.getColumn("level")&&e.jsx(Pm,{column:s.getColumn("level"),title:"优先级",options:[{label:Bs[Je.LOW],value:Je.LOW,icon:Im,color:"gray"},{label:Bs[Je.MEDIUM],value:Je.MEDIUM,icon:Hr,color:"yellow"},{label:Bs[Je.HIGH],value:Je.HIGH,icon:Kr,color:"red"}]})]})})}function Vm(){return e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",className:"text-foreground",children:[e.jsx("circle",{cx:"4",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{id:"spinner_qFRN",begin:"0;spinner_OcgL.end+0.25s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})}),e.jsx("circle",{cx:"12",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{begin:"spinner_qFRN.begin+0.1s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})}),e.jsx("circle",{cx:"20",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{id:"spinner_OcgL",begin:"spinner_qFRN.begin+0.2s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})})]})}const Rm=Ns("flex gap-2 max-w-[60%] items-end relative group",{variants:{variant:{received:"self-start",sent:"self-end flex-row-reverse"},layout:{default:"",ai:"max-w-full w-full items-center"}},defaultVariants:{variant:"received",layout:"default"}}),Ur=i.forwardRef(({className:s,variant:t,layout:a,children:n,...r},l)=>e.jsx("div",{className:g(Rm({variant:t,layout:a,className:s}),"relative group"),ref:l,...r,children:i.Children.map(n,o=>i.isValidElement(o)&&typeof o.type!="string"?i.cloneElement(o,{variant:t,layout:a}):o)}));Ur.displayName="ChatBubble";const Mm=Ns("p-4",{variants:{variant:{received:"bg-secondary text-secondary-foreground rounded-r-lg rounded-tl-lg",sent:"bg-primary text-primary-foreground rounded-l-lg rounded-tr-lg"},layout:{default:"",ai:"border-t w-full rounded-none bg-transparent"}},defaultVariants:{variant:"received",layout:"default"}}),Gr=i.forwardRef(({className:s,variant:t,layout:a,isLoading:n=!1,children:r,...l},o)=>e.jsx("div",{className:g(Mm({variant:t,layout:a,className:s}),"break-words max-w-full whitespace-pre-wrap"),ref:o,...l,children:n?e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(Vm,{})}):r}));Gr.displayName="ChatBubbleMessage";const zm=i.forwardRef(({variant:s,className:t,children:a,...n},r)=>e.jsx("div",{ref:r,className:g("absolute top-1/2 -translate-y-1/2 flex opacity-0 group-hover:opacity-100 transition-opacity duration-200",s==="sent"?"-left-1 -translate-x-full flex-row-reverse":"-right-1 translate-x-full",t),...n,children:a}));zm.displayName="ChatBubbleActionWrapper";const Br=i.forwardRef(({className:s,...t},a)=>e.jsx(ps,{autoComplete:"off",ref:a,name:"message",className:g("max-h-12 px-4 py-3 bg-background text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 w-full rounded-md flex items-center h-16 resize-none",s),...t}));Br.displayName="ChatInput";const Yr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"m13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29l-4.3 4.29a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l4.29-4.3l4.29 4.3a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42Z"})}),Wr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M15.098 12.634L13 11.423V7a1 1 0 0 0-2 0v5a1 1 0 0 0 .5.866l2.598 1.5a1 1 0 1 0 1-1.732M12 2a10 10 0 1 0 10 10A10.01 10.01 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8.01 8.01 0 0 1-8 8"})}),Em=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M3.71 16.29a1 1 0 0 0-.33-.21a1 1 0 0 0-.76 0a1 1 0 0 0-.33.21a1 1 0 0 0-.21.33a1 1 0 0 0 .21 1.09a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21a1 1 0 0 0 .21-1.09a1 1 0 0 0-.21-.33M7 8h14a1 1 0 0 0 0-2H7a1 1 0 0 0 0 2m-3.29 3.29a1 1 0 0 0-1.09-.21a1.2 1.2 0 0 0-.33.21a1 1 0 0 0-.21.33a.94.94 0 0 0 0 .76a1.2 1.2 0 0 0 .21.33a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21a1.2 1.2 0 0 0 .21-.33a.94.94 0 0 0 0-.76a1 1 0 0 0-.21-.33M21 11H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2M3.71 6.29a1 1 0 0 0-.33-.21a1 1 0 0 0-1.09.21a1.2 1.2 0 0 0-.21.33a.94.94 0 0 0 0 .76a1.2 1.2 0 0 0 .21.33a1.2 1.2 0 0 0 .33.21a1 1 0 0 0 1.09-.21a1.2 1.2 0 0 0 .21-.33a.94.94 0 0 0 0-.76a1.2 1.2 0 0 0-.21-.33M21 16H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2"})}),Om=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M9 12H7a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2m-1-2h4a1 1 0 0 0 0-2H8a1 1 0 0 0 0 2m1 6H7a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2m12-4h-3V3a1 1 0 0 0-.5-.87a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0A1 1 0 0 0 2 3v16a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1M5 20a1 1 0 0 1-1-1V4.73l2 1.14a1.08 1.08 0 0 0 1 0l3-1.72l3 1.72a1.08 1.08 0 0 0 1 0l2-1.14V19a3 3 0 0 0 .18 1Zm15-1a1 1 0 0 1-2 0v-5h2Zm-6.44-2.83a.8.8 0 0 0-.18-.09a.6.6 0 0 0-.19-.06a1 1 0 0 0-.9.27A1.05 1.05 0 0 0 12 17a1 1 0 0 0 .07.38a1.2 1.2 0 0 0 .22.33a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21A1 1 0 0 0 14 17a1.05 1.05 0 0 0-.29-.71a2 2 0 0 0-.15-.12m.14-3.88a1 1 0 0 0-1.62.33A1 1 0 0 0 13 14a1 1 0 0 0 1-1a1 1 0 0 0-.08-.38a.9.9 0 0 0-.22-.33"})});function Lm(){return e.jsxs("div",{className:"flex h-full flex-col space-y-4 p-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(Ve,{className:"h-8 w-3/4"}),e.jsx(Ve,{className:"h-4 w-1/2"})]}),e.jsx("div",{className:"flex-1 space-y-4",children:[1,2,3].map(s=>e.jsx(Ve,{className:"h-20 w-2/3"},s))})]})}function $m({ticketId:s,dialogTrigger:t}){const a=Xe(),n=i.useRef(null),[r,l]=i.useState(!1),[o,d]=i.useState(""),[x,w]=i.useState(!1),{data:m,refetch:v,isLoading:u}=K({queryKey:["ticket",s,r],queryFn:()=>r?rd(s):Promise.resolve(null),refetchInterval:r?5e3:!1,retry:3}),y=m?.data,D=(N="smooth")=>{if(n.current){const{scrollHeight:V,clientHeight:W}=n.current;n.current.scrollTo({top:V-W,behavior:N})}};i.useEffect(()=>{if(!r)return;const N=requestAnimationFrame(()=>{D("instant"),setTimeout(()=>D(),1e3)});return()=>{cancelAnimationFrame(N)}},[r,y?.messages]);const T=async()=>{const N=o.trim();if(!(!N||x)){w(!0);try{await ld({id:s,message:N}),d(""),await v(),D()}catch(V){R.error(V instanceof Error?V.message:"回复失败")}finally{w(!1)}}},f=async()=>{try{await rr(s),R.success("工单已关闭"),await v()}catch(N){R.error(N instanceof Error?N.message:"关闭工单失败")}},_=()=>{y?.user&&a("/finance/order?user_id="+y.user.id)},z=y?.status===Is.CLOSED;return e.jsxs(me,{open:r,onOpenChange:l,children:[e.jsx(Pe,{asChild:!0,children:t??e.jsx(H,{variant:"outline",children:"查看工单"})}),e.jsxs(de,{className:"flex h-[90vh] max-w-4xl flex-col gap-0 p-0",children:[e.jsx(he,{}),u?e.jsx(Lm,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-col space-y-4 border-b p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("h2",{className:"text-2xl font-semibold",children:y?.subject}),e.jsx(E,{variant:z?"secondary":"default",children:z?"已关闭":"处理中"}),!z&&e.jsx(Ue,{title:"确认关闭工单",description:"关闭后将无法继续回复,是否确认关闭该工单?",confirmText:"关闭工单",variant:"destructive",onConfirm:f,children:e.jsxs(H,{variant:"ghost",size:"sm",className:"gap-1 text-muted-foreground hover:text-destructive",children:[e.jsx(Yr,{className:"h-4 w-4"}),"关闭工单"]})})]}),e.jsxs("div",{className:"flex items-center space-x-4 text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(Zs,{className:"h-4 w-4"}),e.jsx("span",{children:y?.user?.email})]}),e.jsx(le,{orientation:"vertical",className:"h-4"}),e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(Wr,{className:"h-4 w-4"}),e.jsxs("span",{children:["创建于 ",X(y?.created_at)]})]}),e.jsx(le,{orientation:"vertical",className:"h-4"}),e.jsx(E,{variant:"outline",children:y?.level!=null&&Bs[y.level]})]})]}),y?.user&&e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(Ar,{defaultValues:y.user,refetch:v,dialogTrigger:e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",title:"用户信息",children:e.jsx(Zs,{className:"h-4 w-4"})})}),e.jsx(qr,{user_id:y.user.id,dialogTrigger:e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",title:"流量记录",children:e.jsx(Em,{className:"h-4 w-4"})})}),e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",title:"订单记录",onClick:_,children:e.jsx(Om,{className:"h-4 w-4"})})]})]})}),e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx("div",{ref:n,className:"h-full space-y-4 overflow-y-auto p-6",children:y?.messages?.length===0?e.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"暂无消息记录"}):y?.messages?.map(N=>e.jsx(Ur,{variant:N.is_me?"sent":"received",className:N.is_me?"ml-auto":"mr-auto",children:e.jsx(Gr,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"whitespace-pre-wrap break-words",children:N.message}),e.jsx("div",{className:"text-right",children:e.jsx("time",{className:"text-[10px] text-muted-foreground",children:X(N.created_at)})})]})})},N.id))})}),e.jsx("div",{className:"border-t p-4",children:e.jsxs("div",{className:"relative flex items-center space-x-2",children:[e.jsx(Br,{disabled:z||x,placeholder:z?"工单已关闭":"请输入回复内容...",className:"flex-1 resize-none rounded-lg border bg-background p-3 focus-visible:ring-1",value:o,onChange:N=>d(N.target.value),onKeyDown:N=>{N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),T())}}),e.jsx(H,{disabled:z||x||!o.trim(),onClick:T,children:x?"发送中...":"发送"})]})})]})]})]})}const Am=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 4H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3m-.41 2l-5.88 5.88a1 1 0 0 1-1.42 0L5.41 6ZM20 17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7.41l5.88 5.88a3 3 0 0 0 4.24 0L20 7.41Z"})}),Hm=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21.92 11.6C19.9 6.91 16.1 4 12 4s-7.9 2.91-9.92 7.6a1 1 0 0 0 0 .8C4.1 17.09 7.9 20 12 20s7.9-2.91 9.92-7.6a1 1 0 0 0 0-.8M12 18c-3.17 0-6.17-2.29-7.9-6C5.83 8.29 8.83 6 12 6s6.17 2.29 7.9 6c-1.73 3.71-4.73 6-7.9 6m0-10a4 4 0 1 0 4 4a4 4 0 0 0-4-4m0 6a2 2 0 1 1 2-2a2 2 0 0 1-2 2"})}),Km=s=>[{accessorKey:"id",header:({column:t})=>e.jsx(P,{column:t,title:"工单号"}),cell:({row:t})=>e.jsx(E,{variant:"outline",children:t.getValue("id")}),enableSorting:!1,enableHiding:!1},{accessorKey:"subject",header:({column:t})=>e.jsx(P,{column:t,title:"主题"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Am,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"max-w-[500px] truncate font-medium",children:t.getValue("subject")})]}),enableSorting:!1,enableHiding:!1,size:4e3},{accessorKey:"level",header:({column:t})=>e.jsx(P,{column:t,title:"优先级"}),cell:({row:t})=>{const a=t.getValue("level"),n=a===Je.LOW?"default":a===Je.MEDIUM?"secondary":"destructive";return e.jsx(E,{variant:n,className:"whitespace-nowrap",children:Bs[a]})},filterFn:(t,a,n)=>n.includes(t.getValue(a))},{accessorKey:"status",header:({column:t})=>e.jsx(P,{column:t,title:"状态"}),cell:({row:t})=>{const a=t.getValue("status"),n=t.original.reply_status,r=a===Is.CLOSED?vd[Is.CLOSED]:n===0?"已回复":"待回复",l=a===Is.CLOSED?"default":n===0?"secondary":"destructive";return e.jsx(E,{variant:l,className:"whitespace-nowrap",children:r})}},{accessorKey:"updated_at",header:({column:t})=>e.jsx(P,{column:t,title:"最后更新"}),cell:({row:t})=>e.jsxs("div",{className:"flex items-center space-x-2 text-muted-foreground",children:[e.jsx(Wr,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:X(t.getValue("updated_at"))})]}),enableSorting:!0},{accessorKey:"created_at",header:({column:t})=>e.jsx(P,{column:t,title:"创建时间"}),cell:({row:t})=>e.jsx("div",{className:"text-sm text-muted-foreground",children:X(t.getValue("created_at"))}),enableSorting:!0,meta:{isFlexGrow:!0}},{id:"actions",header:({column:t})=>e.jsx(P,{className:"justify-end",column:t,title:"操作"}),cell:({row:t})=>{const a=t.original.status!==Is.CLOSED;return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx($m,{ticketId:t.original.id,dialogTrigger:e.jsx(H,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"查看详情",children:e.jsx(Hm,{className:"h-4 w-4"})})}),a&&e.jsx(Ue,{title:"确认关闭工单",description:"关闭后将无法继续回复,是否确认关闭该工单?",confirmText:"关闭工单",variant:"destructive",onConfirm:async()=>{try{await rr(t.original.id),R.success("工单已关闭"),s()}catch{R.error("关闭工单失败")}},children:e.jsx(H,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"关闭工单",children:e.jsx(Yr,{className:"h-4 w-4"})})})]})}}];function qm(){const[s,t]=i.useState({}),[a,n]=i.useState({}),[r,l]=i.useState([{id:"status",value:"0"}]),[o,d]=i.useState([]),[x,w]=i.useState({pageIndex:0,pageSize:20}),{refetch:m,data:v,isLoading:u}=K({queryKey:["orderList",x,r,o],queryFn:()=>nr({pageSize:x.pageSize,current:x.pageIndex+1,filter:r,sort:o})}),y=Re({data:v?.data??[],columns:Km(m),state:{sorting:o,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:x},rowCount:v?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:t,onSortingChange:d,onColumnFiltersChange:l,onColumnVisibilityChange:n,getCoreRowModel:Me(),getFilteredRowModel:$e(),getPaginationRowModel:Ae(),onPaginationChange:w,getSortedRowModel:He(),getFacetedRowModel:ss(),getFacetedUniqueValues:ts(),initialState:{columnPinning:{right:["actions"]}}});return e.jsxs("div",{className:"space-y-4",children:[e.jsx(Fm,{table:y,refetch:m}),e.jsx(qe,{table:y,showPagination:!0})]})}function Um(){return e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(Ce,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Se,{}),e.jsx(ke,{})]})]}),e.jsxs(Ne,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:" 工单管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"在这里可以查看用户工单,包括查看、回复、关闭等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(qm,{})})]})]})}const Gm=Object.freeze(Object.defineProperty({__proto__:null,default:Um},Symbol.toStringTag,{value:"Module"}));export{Qm as a,Wm as c,Jm as g,Zm as r}; diff --git a/public/assets/admin/assets/vendor.js b/public/assets/admin/assets/vendor.js index b91b249..ee81daf 100644 --- a/public/assets/admin/assets/vendor.js +++ b/public/assets/admin/assets/vendor.js @@ -421,7 +421,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uIe(e,t){if(e){if(typeof e=="string")return v6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v6(e,t)}}function sIe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function lIe(e){if(Array.isArray(e))return v6(e)}function v6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nd){v=[].concat(Vf(s.slice(0,g)),[d-m]);break}var b=v.length%2===0?[0,h]:[h];return[].concat(Vf(t.repeat(s,c)),Vf(v),b).map(function(w){return"".concat(w,"px")}).join(", ")}),Da(n,"id",df("recharts-line-")),Da(n,"pathRef",function(a){n.mainCurve=a}),Da(n,"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),Da(n,"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return vIe(t,e),fIe(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var o=this.props,a=o.points,u=o.xAxis,s=o.yAxis,l=o.layout,c=o.children,d=fo(c,Hh);if(!d)return null;var h=function(m,b){return{x:m.x,y:m.y,value:m.value,errorVal:qr(m.payload,b)}},v={clipPath:r?"url(#clipPath-".concat(i,")"):null};return j.createElement(Sn,v,d.map(function(g){return j.cloneElement(g,{key:"bar-".concat(g.props.dataKey),data:a,xAxis:u,yAxis:s,layout:l,dataPointFormatter:h})}))}},{key:"renderDots",value:function(r,i,o){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var u=this.props,s=u.dot,l=u.points,c=u.dataKey,d=Bt(this.props,!1),h=Bt(s,!0),v=l.map(function(m,b){var w=Co(Co(Co({key:"dot-".concat(b),r:3},d),h),{},{value:m.value,dataKey:c,cx:m.x,cy:m.y,index:b,payload:m.payload});return t.renderDotItem(s,w)}),g={clipPath:r?"url(#clipPath-".concat(i?"":"dots-").concat(o,")"):null};return j.createElement(Sn,v0({className:"recharts-line-dots",key:"dots"},g),v)}},{key:"renderCurveStatically",value:function(r,i,o,a){var u=this.props,s=u.type,l=u.layout,c=u.connectNulls;u.ref;var d=p$(u,rIe),h=Co(Co(Co({},Bt(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(o,")"):null,points:r},a),{},{type:s,layout:l,connectNulls:c});return j.createElement(Tc,v0({},h,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,i){var o=this,a=this.props,u=a.points,s=a.strokeDasharray,l=a.isAnimationActive,c=a.animationBegin,d=a.animationDuration,h=a.animationEasing,v=a.animationId,g=a.animateNewValues,m=a.width,b=a.height,w=this.state,x=w.prevPoints,S=w.totalLength;return j.createElement(Ya,{begin:c,duration:d,isActive:l,easing:h,from:{t:0},to:{t:1},key:"line-".concat(v),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(A){var E=A.t;if(x){var C=x.length/u.length,T=u.map(function(W,ie){var Z=Math.floor(ie*C);if(x[Z]){var G=x[Z],K=Er(G.x,W.x),V=Er(G.y,W.y);return Co(Co({},W),{},{x:K(E),y:V(E)})}if(g){var B=Er(m*2,W.x),q=Er(b/2,W.y);return Co(Co({},W),{},{x:B(E),y:q(E)})}return Co(Co({},W),{},{x:W.x,y:W.y})});return o.renderCurveStatically(T,r,i)}var M=Er(0,S),F=M(E),U;if(s){var H="".concat(s).split(/[,\s]+/gim).map(function(W){return parseFloat(W)});U=o.getStrokeDasharray(F,S,H)}else U=o.generateSimpleStrokeDasharray(S,F);return o.renderCurveStatically(u,r,i,{strokeDasharray:U})})}},{key:"renderCurve",value:function(r,i){var o=this.props,a=o.points,u=o.isAnimationActive,s=this.state,l=s.prevPoints,c=s.totalLength;return u&&a&&a.length&&(!l&&c>0||!Zc(l,a))?this.renderCurveWithAnimation(r,i):this.renderCurveStatically(a,r,i)}},{key:"render",value:function(){var r,i=this.props,o=i.hide,a=i.dot,u=i.points,s=i.className,l=i.xAxis,c=i.yAxis,d=i.top,h=i.left,v=i.width,g=i.height,m=i.isAnimationActive,b=i.id;if(o||!u||!u.length)return null;var w=this.state.isAnimationFinished,x=u.length===1,S=cn("recharts-line",s),A=l&&l.allowDataOverflow,E=c&&c.allowDataOverflow,C=A||E,T=zt(b)?this.id:b,M=(r=Bt(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},F=M.r,U=F===void 0?3:F,H=M.strokeWidth,W=H===void 0?2:H,ie=PU(a)?a:{},Z=ie.clipDot,G=Z===void 0?!0:Z,K=U*2+W;return j.createElement(Sn,{className:S},A||E?j.createElement("defs",null,j.createElement("clipPath",{id:"clipPath-".concat(T)},j.createElement("rect",{x:A?h:h-v/2,y:E?d:d-g/2,width:A?v:v*2,height:E?g:g*2})),!G&&j.createElement("clipPath",{id:"clipPath-dots-".concat(T)},j.createElement("rect",{x:h-K/2,y:d-K/2,width:v+K,height:g+K}))):null,!x&&this.renderCurve(C,T),this.renderErrorBar(C,T),(x||a)&&this.renderDots(C,G,T),(!m||w)&&Su.renderCallByParent(this.props,u))}}],[{key:"getDerivedStateFromProps",value:function(r,i){return r.animationId!==i.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:i.curPoints}:r.points!==i.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,i){for(var o=r.length%2!==0?[].concat(Vf(r),[0]):r,a=[],u=0;u=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function bIe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Sc(){return Sc=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!Zc(c,a)||!Zc(d,u))?this.renderAreaWithAnimation(r,i):this.renderAreaStatically(a,u,r,i)}},{key:"render",value:function(){var r,i=this.props,o=i.hide,a=i.dot,u=i.points,s=i.className,l=i.top,c=i.left,d=i.xAxis,h=i.yAxis,v=i.width,g=i.height,m=i.isAnimationActive,b=i.id;if(o||!u||!u.length)return null;var w=this.state.isAnimationFinished,x=u.length===1,S=cn("recharts-area",s),A=d&&d.allowDataOverflow,E=h&&h.allowDataOverflow,C=A||E,T=zt(b)?this.id:b,M=(r=Bt(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},F=M.r,U=F===void 0?3:F,H=M.strokeWidth,W=H===void 0?2:H,ie=PU(a)?a:{},Z=ie.clipDot,G=Z===void 0?!0:Z,K=U*2+W;return j.createElement(Sn,{className:S},A||E?j.createElement("defs",null,j.createElement("clipPath",{id:"clipPath-".concat(T)},j.createElement("rect",{x:A?c:c-v/2,y:E?l:l-g/2,width:A?v:v*2,height:E?g:g*2})),!G&&j.createElement("clipPath",{id:"clipPath-dots-".concat(T)},j.createElement("rect",{x:c-K/2,y:l-K/2,width:v+K,height:g+K}))):null,x?null:this.renderArea(C,T),(a||x)&&this.renderDots(C,G,T),(!m||w)&&Su.renderCallByParent(this.props,u))}}],[{key:"getDerivedStateFromProps",value:function(r,i){return r.animationId!==i.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,curBaseLine:r.baseLine,prevPoints:i.curPoints,prevBaseLine:i.curBaseLine}:r.points!==i.curPoints||r.baseLine!==i.curBaseLine?{curPoints:r.points,curBaseLine:r.baseLine}:null}}])}(y.PureComponent);EH=vf;vu(vf,"displayName","Area");vu(vf,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!Va.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});vu(vf,"getBaseValue",function(e,t,n,r){var i=e.layout,o=e.baseValue,a=t.props.baseValue,u=a??o;if(Ke(u)&&typeof u=="number")return u;var s=i==="horizontal"?r:n,l=s.scale.domain();if(s.type==="number"){var c=Math.max(l[0],l[1]),d=Math.min(l[0],l[1]);return u==="dataMin"?d:u==="dataMax"||c<0?c:Math.max(Math.min(l[0],l[1]),0)}return u==="dataMin"?l[0]:u==="dataMax"?l[1]:l[0]});vu(vf,"getComposedData",function(e){var t=e.props,n=e.item,r=e.xAxis,i=e.yAxis,o=e.xAxisTicks,a=e.yAxisTicks,u=e.bandSize,s=e.dataKey,l=e.stackedData,c=e.dataStartIndex,d=e.displayedData,h=e.offset,v=t.layout,g=l&&l.length,m=EH.getBaseValue(t,n,r,i),b=v==="horizontal",w=!1,x=d.map(function(A,E){var C;g?C=l[c+E]:(C=qr(A,s),Array.isArray(C)?w=!0:C=[m,C]);var T=C[1]==null||g&&qr(A,s)==null;return b?{x:eh({axis:r,ticks:o,bandSize:u,entry:A,index:E}),y:T?null:i.scale(C[1]),value:C,payload:A}:{x:T?null:r.scale(C[1]),y:eh({axis:i,ticks:a,bandSize:u,entry:A,index:E}),value:C,payload:A}}),S;return g||w?S=x.map(function(A){var E=Array.isArray(A.value)?A.value[0]:null;return b?{x:A.x,y:E!=null&&A.y!=null?i.scale(E):null}:{x:E!=null?r.scale(E):null,y:A.y}}):S=b?i.scale(m):r.scale(m),Hs({points:x,baseLine:S,layout:v,isRange:w},h)});vu(vf,"renderDotItem",function(e,t){var n;if(j.isValidElement(e))n=j.cloneElement(e,t);else if(Wt(e))n=e(t);else{var r=cn("recharts-area-dot",typeof e!="boolean"?e.className:""),i=t.key,o=AH(t,yIe);n=j.createElement($w,Sc({},o,{key:i,className:r}))}return n});function fh(e){"@babel/helpers - typeof";return fh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fh(e)}function PIe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function OIe(e,t){for(var n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function FIe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function LIe(e){var t=e.option,n=e.isActive,r=NIe(e,IIe);return typeof t=="string"?j.createElement(i6,g0({option:j.createElement(ww,g0({type:t},r)),isActive:n,shapeType:"symbols"},r)):j.createElement(i6,g0({option:t,isActive:n,shapeType:"symbols"},r))}function dh(e){"@babel/helpers - typeof";return dh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dh(e)}function m0(){return m0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function RNe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function DNe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $Ne(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?a:t&&t.length&&Ke(i)&&Ke(o)?t.slice(i,o+1):[]};function GH(e){return e==="number"?[0,"auto"]:void 0}var O6=function(t,n,r,i){var o=t.graphicalItems,a=t.tooltipAxis,u=Hw(n,t);return r<0||!o||!o.length||r>=u.length?null:o.reduce(function(s,l){var c,d=(c=l.props.data)!==null&&c!==void 0?c:n;d&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(a.dataKey&&!a.allowDuplicatedCategory){var v=d===void 0?u:d;h=G1(v,a.dataKey,i)}else h=d&&d[r]||u[r];return h?[].concat(gh(s),[NV(l,h)]):s},[])},A$=function(t,n,r,i){var o=i||{x:t.chartX,y:t.chartY},a=qNe(o,r),u=t.orderedTooltipTicks,s=t.tooltipAxis,l=t.tooltipTicks,c=Gke(a,u,l,s);if(c>=0&&l){var d=l[c]&&l[c].value,h=O6(t,n,c,d),v=KNe(r,u,c,o);return{activeTooltipIndex:c,activeLabel:d,activePayload:h,activeCoordinate:v}}return null},GNe=function(t,n){var r=n.axes,i=n.graphicalItems,o=n.axisType,a=n.axisIdKey,u=n.stackGroups,s=n.dataStartIndex,l=n.dataEndIndex,c=t.layout,d=t.children,h=t.stackOffset,v=DV(c,o);return r.reduce(function(g,m){var b,w=m.type.defaultProps!==void 0?Ee(Ee({},m.type.defaultProps),m.props):m.props,x=w.type,S=w.dataKey,A=w.allowDataOverflow,E=w.allowDuplicatedCategory,C=w.scale,T=w.ticks,M=w.includeHidden,F=w[a];if(g[F])return g;var U=Hw(t.data,{graphicalItems:i.filter(function(Q){var J,se=a in Q.props?Q.props[a]:(J=Q.type.defaultProps)===null||J===void 0?void 0:J[a];return se===F}),dataStartIndex:s,dataEndIndex:l}),H=U.length,W,ie,Z;xNe(w.domain,A,x)&&(W=zE(w.domain,null,A),v&&(x==="number"||C!=="auto")&&(Z=h0(U,S,"category")));var G=GH(x);if(!W||W.length===0){var K,V=(K=w.domain)!==null&&K!==void 0?K:G;if(S){if(W=h0(U,S,x),x==="category"&&v){var B=Nxe(W);E&&B?(ie=W,W=Rb(0,H)):E||(W=e7(V,W,m).reduce(function(Q,J){return Q.indexOf(J)>=0?Q:[].concat(gh(Q),[J])},[]))}else if(x==="category")E?W=W.filter(function(Q){return Q!==""&&!zt(Q)}):W=e7(V,W,m).reduce(function(Q,J){return Q.indexOf(J)>=0||J===""||zt(J)?Q:[].concat(gh(Q),[J])},[]);else if(x==="number"){var q=Jke(U,i.filter(function(Q){var J,se,de=a in Q.props?Q.props[a]:(J=Q.type.defaultProps)===null||J===void 0?void 0:J[a],Se="hide"in Q.props?Q.props.hide:(se=Q.type.defaultProps)===null||se===void 0?void 0:se.hide;return de===F&&(M||!Se)}),S,o,c);q&&(W=q)}v&&(x==="number"||C!=="auto")&&(Z=h0(U,S,"category"))}else v?W=Rb(0,H):u&&u[F]&&u[F].hasStack&&x==="number"?W=h==="expand"?[0,1]:IV(u[F].stackGroups,s,l):W=RV(U,i.filter(function(Q){var J=a in Q.props?Q.props[a]:Q.type.defaultProps[a],se="hide"in Q.props?Q.props.hide:Q.type.defaultProps.hide;return J===F&&(M||!se)}),x,c,!0);if(x==="number")W=E6(d,W,F,o,T),V&&(W=zE(V,W,A));else if(x==="category"&&V){var Y=V,ue=W.every(function(Q){return Y.indexOf(Q)>=0});ue&&(W=Y)}}return Ee(Ee({},g),{},kt({},F,Ee(Ee({},w),{},{axisType:o,domain:W,categoricalDomain:Z,duplicateDomain:ie,originalDomain:(b=w.domain)!==null&&b!==void 0?b:G,isCategorical:v,layout:c})))},{})},YNe=function(t,n){var r=n.graphicalItems,i=n.Axis,o=n.axisType,a=n.axisIdKey,u=n.stackGroups,s=n.dataStartIndex,l=n.dataEndIndex,c=t.layout,d=t.children,h=Hw(t.data,{graphicalItems:r,dataStartIndex:s,dataEndIndex:l}),v=h.length,g=DV(c,o),m=-1;return r.reduce(function(b,w){var x=w.type.defaultProps!==void 0?Ee(Ee({},w.type.defaultProps),w.props):w.props,S=x[a],A=GH("number");if(!b[S]){m++;var E;return g?E=Rb(0,v):u&&u[S]&&u[S].hasStack?(E=IV(u[S].stackGroups,s,l),E=E6(d,E,S,o)):(E=zE(A,RV(h,r.filter(function(C){var T,M,F=a in C.props?C.props[a]:(T=C.type.defaultProps)===null||T===void 0?void 0:T[a],U="hide"in C.props?C.props.hide:(M=C.type.defaultProps)===null||M===void 0?void 0:M.hide;return F===S&&!U}),"number",c),i.defaultProps.allowDataOverflow),E=E6(d,E,S,o)),Ee(Ee({},b),{},kt({},S,Ee(Ee({axisType:o},i.defaultProps),{},{hide:!0,orientation:da(VNe,"".concat(o,".").concat(m%2),null),domain:E,originalDomain:A,isCategorical:g,layout:c})))}return b},{})},ZNe=function(t,n){var r=n.axisType,i=r===void 0?"xAxis":r,o=n.AxisComp,a=n.graphicalItems,u=n.stackGroups,s=n.dataStartIndex,l=n.dataEndIndex,c=t.children,d="".concat(i,"Id"),h=fo(c,o),v={};return h.length?v=GNe(t,{axes:h,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:u,dataStartIndex:s,dataEndIndex:l}):a&&a.length&&(v=YNe(t,{Axis:o,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:u,dataStartIndex:s,dataEndIndex:l})),v},XNe=function(t){var n=Js(t),r=rs(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:EP(r,function(i){return i.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Sb(n,r)}},P$=function(t){var n=t.children,r=t.defaultShowTooltip,i=Oo(n,rh),o=0,a=0;return t.data&&t.data.length!==0&&(a=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(o=i.props.startIndex),i.props.endIndex>=0&&(a=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:o,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!r}},QNe=function(t){return!t||!t.length?!1:t.some(function(n){var r=us(n&&n.type);return r&&r.indexOf("Bar")>=0})},O$=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},JNe=function(t,n){var r=t.props,i=t.graphicalItems,o=t.xAxisMap,a=o===void 0?{}:o,u=t.yAxisMap,s=u===void 0?{}:u,l=r.width,c=r.height,d=r.children,h=r.margin||{},v=Oo(d,rh),g=Oo(d,Ad),m=Object.keys(s).reduce(function(E,C){var T=s[C],M=T.orientation;return!T.mirror&&!T.hide?Ee(Ee({},E),{},kt({},M,E[M]+T.width)):E},{left:h.left||0,right:h.right||0}),b=Object.keys(a).reduce(function(E,C){var T=a[C],M=T.orientation;return!T.mirror&&!T.hide?Ee(Ee({},E),{},kt({},M,da(E,"".concat(M))+T.height)):E},{top:h.top||0,bottom:h.bottom||0}),w=Ee(Ee({},b),m),x=w.bottom;v&&(w.bottom+=v.props.height||rh.defaultProps.height),g&&n&&(w=Xke(w,i,r,n));var S=l-w.left-w.right,A=c-w.top-w.bottom;return Ee(Ee({brushBottom:x},w),{},{width:Math.max(S,0),height:Math.max(A,0)})},eFe=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},tFe=function(t){var n=t.chartName,r=t.GraphicalChild,i=t.defaultTooltipEventType,o=i===void 0?"axis":i,a=t.validateTooltipEventTypes,u=a===void 0?["axis"]:a,s=t.axisComponents,l=t.legendContent,c=t.formatAxisMap,d=t.defaultProps,h=function(w,x){var S=x.graphicalItems,A=x.stackGroups,E=x.offset,C=x.updateId,T=x.dataStartIndex,M=x.dataEndIndex,F=w.barSize,U=w.layout,H=w.barGap,W=w.barCategoryGap,ie=w.maxBarSize,Z=O$(U),G=Z.numericAxisName,K=Z.cateAxisName,V=QNe(S),B=[];return S.forEach(function(q,Y){var ue=Hw(w.data,{graphicalItems:[q],dataStartIndex:T,dataEndIndex:M}),Q=q.type.defaultProps!==void 0?Ee(Ee({},q.type.defaultProps),q.props):q.props,J=Q.dataKey,se=Q.maxBarSize,de=Q["".concat(G,"Id")],Se=Q["".concat(K,"Id")],ge={},Ze=s.reduce(function(Ue,je){var ke=x["".concat(je.axisType,"Map")],nt=Q["".concat(je.axisType,"Id")];ke&&ke[nt]||je.axisType==="zAxis"||Qc();var gt=ke[nt];return Ee(Ee({},Ue),{},kt(kt({},je.axisType,gt),"".concat(je.axisType,"Ticks"),rs(gt)))},ge),Pe=Ze[K],Fe=Ze["".concat(K,"Ticks")],$e=A&&A[de]&&A[de].hasStack&&fTe(q,A[de].stackGroups),be=us(q.type).indexOf("Bar")>=0,yt=Sb(Pe,Fe),lt=[],It=V&&Yke({barSize:F,stackGroups:A,totalSize:eFe(Ze,K)});if(be){var mn,en,re=zt(se)?ie:se,pe=(mn=(en=Sb(Pe,Fe,!0))!==null&&en!==void 0?en:re)!==null&&mn!==void 0?mn:0;lt=Zke({barGap:H,barCategoryGap:W,bandSize:pe!==yt?pe:yt,sizeList:It[Se],maxBarSize:re}),pe!==yt&&(lt=lt.map(function(Ue){return Ee(Ee({},Ue),{},{position:Ee(Ee({},Ue.position),{},{offset:Ue.position.offset-pe/2})})}))}var ye=q&&q.type&&q.type.getComposedData;ye&&B.push({props:Ee(Ee({},ye(Ee(Ee({},Ze),{},{displayedData:ue,props:w,dataKey:J,item:q,bandSize:yt,barPosition:lt,offset:E,stackedData:$e,layout:U,dataStartIndex:T,dataEndIndex:M}))),{},kt(kt(kt({key:q.key||"item-".concat(Y)},G,Ze[G]),K,Ze[K]),"animationId",C)),childIndex:Gxe(q,w.children),item:q})}),B},v=function(w,x){var S=w.props,A=w.dataStartIndex,E=w.dataEndIndex,C=w.updateId;if(!GR({props:S}))return null;var T=S.children,M=S.layout,F=S.stackOffset,U=S.data,H=S.reverseStackOrder,W=O$(M),ie=W.numericAxisName,Z=W.cateAxisName,G=fo(T,r),K=sTe(U,G,"".concat(ie,"Id"),"".concat(Z,"Id"),F,H),V=s.reduce(function(Q,J){var se="".concat(J.axisType,"Map");return Ee(Ee({},Q),{},kt({},se,ZNe(S,Ee(Ee({},J),{},{graphicalItems:G,stackGroups:J.axisType===ie&&K,dataStartIndex:A,dataEndIndex:E}))))},{}),B=JNe(Ee(Ee({},V),{},{props:S,graphicalItems:G}),x?.legendBBox);Object.keys(V).forEach(function(Q){V[Q]=c(S,V[Q],B,Q.replace("Map",""),n)});var q=V["".concat(Z,"Map")],Y=XNe(q),ue=h(S,Ee(Ee({},V),{},{dataStartIndex:A,dataEndIndex:E,updateId:C,graphicalItems:G,stackGroups:K,offset:B}));return Ee(Ee({formattedGraphicalItems:ue,graphicalItems:G,offset:B,stackGroups:K},Y),V)},g=function(b){function w(x){var S,A,E;return DNe(this,w),E=NNe(this,w,[x]),kt(E,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),kt(E,"accessibilityManager",new bNe),kt(E,"handleLegendBBoxUpdate",function(C){if(C){var T=E.state,M=T.dataStartIndex,F=T.dataEndIndex,U=T.updateId;E.setState(Ee({legendBBox:C},v({props:E.props,dataStartIndex:M,dataEndIndex:F,updateId:U},Ee(Ee({},E.state),{},{legendBBox:C}))))}}),kt(E,"handleReceiveSyncEvent",function(C,T,M){if(E.props.syncId===C){if(M===E.eventEmitterSymbol&&typeof E.props.syncMethod!="function")return;E.applySyncEvent(T)}}),kt(E,"handleBrushChange",function(C){var T=C.startIndex,M=C.endIndex;if(T!==E.state.dataStartIndex||M!==E.state.dataEndIndex){var F=E.state.updateId;E.setState(function(){return Ee({dataStartIndex:T,dataEndIndex:M},v({props:E.props,dataStartIndex:T,dataEndIndex:M,updateId:F},E.state))}),E.triggerSyncEvent({dataStartIndex:T,dataEndIndex:M})}}),kt(E,"handleMouseEnter",function(C){var T=E.getMouseInfo(C);if(T){var M=Ee(Ee({},T),{},{isTooltipActive:!0});E.setState(M),E.triggerSyncEvent(M);var F=E.props.onMouseEnter;Wt(F)&&F(M,C)}}),kt(E,"triggeredAfterMouseMove",function(C){var T=E.getMouseInfo(C),M=T?Ee(Ee({},T),{},{isTooltipActive:!0}):{isTooltipActive:!1};E.setState(M),E.triggerSyncEvent(M);var F=E.props.onMouseMove;Wt(F)&&F(M,C)}),kt(E,"handleItemMouseEnter",function(C){E.setState(function(){return{isTooltipActive:!0,activeItem:C,activePayload:C.tooltipPayload,activeCoordinate:C.tooltipPosition||{x:C.cx,y:C.cy}}})}),kt(E,"handleItemMouseLeave",function(){E.setState(function(){return{isTooltipActive:!1}})}),kt(E,"handleMouseMove",function(C){C.persist(),E.throttleTriggeredAfterMouseMove(C)}),kt(E,"handleMouseLeave",function(C){E.throttleTriggeredAfterMouseMove.cancel();var T={isTooltipActive:!1};E.setState(T),E.triggerSyncEvent(T);var M=E.props.onMouseLeave;Wt(M)&&M(T,C)}),kt(E,"handleOuterEvent",function(C){var T=Kxe(C),M=da(E.props,"".concat(T));if(T&&Wt(M)){var F,U;/.*touch.*/i.test(T)?U=E.getMouseInfo(C.changedTouches[0]):U=E.getMouseInfo(C),M((F=U)!==null&&F!==void 0?F:{},C)}}),kt(E,"handleClick",function(C){var T=E.getMouseInfo(C);if(T){var M=Ee(Ee({},T),{},{isTooltipActive:!0});E.setState(M),E.triggerSyncEvent(M);var F=E.props.onClick;Wt(F)&&F(M,C)}}),kt(E,"handleMouseDown",function(C){var T=E.props.onMouseDown;if(Wt(T)){var M=E.getMouseInfo(C);T(M,C)}}),kt(E,"handleMouseUp",function(C){var T=E.props.onMouseUp;if(Wt(T)){var M=E.getMouseInfo(C);T(M,C)}}),kt(E,"handleTouchMove",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.throttleTriggeredAfterMouseMove(C.changedTouches[0])}),kt(E,"handleTouchStart",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.handleMouseDown(C.changedTouches[0])}),kt(E,"handleTouchEnd",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.handleMouseUp(C.changedTouches[0])}),kt(E,"handleDoubleClick",function(C){var T=E.props.onDoubleClick;if(Wt(T)){var M=E.getMouseInfo(C);T(M,C)}}),kt(E,"handleContextMenu",function(C){var T=E.props.onContextMenu;if(Wt(T)){var M=E.getMouseInfo(C);T(M,C)}}),kt(E,"triggerSyncEvent",function(C){E.props.syncId!==void 0&&WS.emit(VS,E.props.syncId,C,E.eventEmitterSymbol)}),kt(E,"applySyncEvent",function(C){var T=E.props,M=T.layout,F=T.syncMethod,U=E.state.updateId,H=C.dataStartIndex,W=C.dataEndIndex;if(C.dataStartIndex!==void 0||C.dataEndIndex!==void 0)E.setState(Ee({dataStartIndex:H,dataEndIndex:W},v({props:E.props,dataStartIndex:H,dataEndIndex:W,updateId:U},E.state)));else if(C.activeTooltipIndex!==void 0){var ie=C.chartX,Z=C.chartY,G=C.activeTooltipIndex,K=E.state,V=K.offset,B=K.tooltipTicks;if(!V)return;if(typeof F=="function")G=F(B,C);else if(F==="value"){G=-1;for(var q=0;q=0){var $e,be;if(ie.dataKey&&!ie.allowDuplicatedCategory){var yt=typeof ie.dataKey=="function"?Fe:"payload.".concat(ie.dataKey.toString());$e=G1(q,yt,G),be=Y&&ue&&G1(ue,yt,G)}else $e=q?.[Z],be=Y&&ue&&ue[Z];if(Se||de){var lt=C.props.activeIndex!==void 0?C.props.activeIndex:Z;return[y.cloneElement(C,Ee(Ee(Ee({},F.props),Ze),{},{activeIndex:lt})),null,null]}if(!zt($e))return[Pe].concat(gh(E.renderActivePoints({item:F,activePoint:$e,basePoint:be,childIndex:Z,isRange:Y})))}else{var It,mn=(It=E.getItemByXY(E.state.activeCoordinate))!==null&&It!==void 0?It:{graphicalItem:Pe},en=mn.graphicalItem,re=en.item,pe=re===void 0?C:re,ye=en.childIndex,Ue=Ee(Ee(Ee({},F.props),Ze),{},{activeIndex:ye});return[y.cloneElement(pe,Ue),null,null]}return Y?[Pe,null,null]:[Pe,null]}),kt(E,"renderCustomized",function(C,T,M){return y.cloneElement(C,Ee(Ee({key:"recharts-customized-".concat(M)},E.props),E.state))}),kt(E,"renderMap",{CartesianGrid:{handler:dy,once:!0},ReferenceArea:{handler:E.renderReferenceElement},ReferenceLine:{handler:dy},ReferenceDot:{handler:E.renderReferenceElement},XAxis:{handler:dy},YAxis:{handler:dy},Brush:{handler:E.renderBrush,once:!0},Bar:{handler:E.renderGraphicChild},Line:{handler:E.renderGraphicChild},Area:{handler:E.renderGraphicChild},Radar:{handler:E.renderGraphicChild},RadialBar:{handler:E.renderGraphicChild},Scatter:{handler:E.renderGraphicChild},Pie:{handler:E.renderGraphicChild},Funnel:{handler:E.renderGraphicChild},Tooltip:{handler:E.renderCursor,once:!0},PolarGrid:{handler:E.renderPolarGrid,once:!0},PolarAngleAxis:{handler:E.renderPolarAxis},PolarRadiusAxis:{handler:E.renderPolarAxis},Customized:{handler:E.renderCustomized}}),E.clipPathId="".concat((S=x.id)!==null&&S!==void 0?S:df("recharts"),"-clip"),E.throttleTriggeredAfterMouseMove=TW(E.triggeredAfterMouseMove,(A=x.throttleDelay)!==null&&A!==void 0?A:1e3/60),E.state={},E}return jNe(w,b),INe(w,[{key:"componentDidMount",value:function(){var S,A;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(S=this.props.margin.left)!==null&&S!==void 0?S:0,top:(A=this.props.margin.top)!==null&&A!==void 0?A:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var S=this.props,A=S.children,E=S.data,C=S.height,T=S.layout,M=Oo(A,Yu);if(M){var F=M.props.defaultIndex;if(!(typeof F!="number"||F<0||F>this.state.tooltipTicks.length-1)){var U=this.state.tooltipTicks[F]&&this.state.tooltipTicks[F].value,H=O6(this.state,E,F,U),W=this.state.tooltipTicks[F].coordinate,ie=(this.state.offset.top+C)/2,Z=T==="horizontal",G=Z?{x:W,y:ie}:{y:W,x:ie},K=this.state.formattedGraphicalItems.find(function(B){var q=B.item;return q.type.name==="Scatter"});K&&(G=Ee(Ee({},G),K.props.points[F].tooltipPosition),H=K.props.points[F].tooltipPayload);var V={activeTooltipIndex:F,isTooltipActive:!0,activeLabel:U,activePayload:H,activeCoordinate:G};this.setState(V),this.renderCursor(M),this.accessibilityManager.setIndex(F)}}}},{key:"getSnapshotBeforeUpdate",value:function(S,A){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==A.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==S.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==S.margin){var E,C;this.accessibilityManager.setDetails({offset:{left:(E=this.props.margin.left)!==null&&E!==void 0?E:0,top:(C=this.props.margin.top)!==null&&C!==void 0?C:0}})}return null}},{key:"componentDidUpdate",value:function(S){nE([Oo(S.children,Yu)],[Oo(this.props.children,Yu)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var S=Oo(this.props.children,Yu);if(S&&typeof S.props.shared=="boolean"){var A=S.props.shared?"axis":"item";return u.indexOf(A)>=0?A:o}return o}},{key:"getMouseInfo",value:function(S){if(!this.container)return null;var A=this.container,E=A.getBoundingClientRect(),C=xPe(E),T={chartX:Math.round(S.pageX-C.left),chartY:Math.round(S.pageY-C.top)},M=E.width/A.offsetWidth||1,F=this.inRange(T.chartX,T.chartY,M);if(!F)return null;var U=this.state,H=U.xAxisMap,W=U.yAxisMap,ie=this.getTooltipEventType();if(ie!=="axis"&&H&&W){var Z=Js(H).scale,G=Js(W).scale,K=Z&&Z.invert?Z.invert(T.chartX):null,V=G&&G.invert?G.invert(T.chartY):null;return Ee(Ee({},T),{},{xValue:K,yValue:V})}var B=A$(this.state,this.props.data,this.props.layout,F);return B?Ee(Ee({},T),B):null}},{key:"inRange",value:function(S,A){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,C=this.props.layout,T=S/E,M=A/E;if(C==="horizontal"||C==="vertical"){var F=this.state.offset,U=T>=F.left&&T<=F.left+F.width&&M>=F.top&&M<=F.top+F.height;return U?{x:T,y:M}:null}var H=this.state,W=H.angleAxisMap,ie=H.radiusAxisMap;if(W&&ie){var Z=Js(W);return r7({x:T,y:M},Z)}return null}},{key:"parseEventsOfWrapper",value:function(){var S=this.props.children,A=this.getTooltipEventType(),E=Oo(S,Yu),C={};E&&A==="axis"&&(E.props.trigger==="click"?C={onClick:this.handleClick}:C={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var T=Y1(this.props,this.handleOuterEvent);return Ee(Ee({},T),C)}},{key:"addListener",value:function(){WS.on(VS,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){WS.removeListener(VS,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(S,A,E){for(var C=this.state.formattedGraphicalItems,T=0,M=C.length;T{const{__scopeTabs:n,value:r,onValueChange:i,defaultValue:o,orientation:a="horizontal",dir:u,activationMode:s="automatic",...l}=e,c=hg(u),[d,h]=Ga({prop:r,onChange:i,defaultProp:o});return I.jsx(rFe,{scope:n,baseId:No(),value:d,onValueChange:h,orientation:a,dir:c,activationMode:s,children:I.jsx(pt.div,{dir:c,"data-orientation":a,...l,ref:t})})});ZH.displayName=fO;var XH="TabsList",QH=y.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...i}=e,o=dO(XH,n),a=YH(n);return I.jsx(KB,{asChild:!0,...a,orientation:o.orientation,dir:o.dir,loop:r,children:I.jsx(pt.div,{role:"tablist","aria-orientation":o.orientation,...i,ref:t})})});QH.displayName=XH;var JH="TabsTrigger",eq=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:i=!1,...o}=e,a=dO(JH,n),u=YH(n),s=rq(a.baseId,r),l=iq(a.baseId,r),c=r===a.value;return I.jsx(GB,{asChild:!0,...u,focusable:!i,active:c,children:I.jsx(pt.button,{type:"button",role:"tab","aria-selected":c,"aria-controls":l,"data-state":c?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:s,...o,ref:t,onMouseDown:Ye(e.onMouseDown,d=>{!i&&d.button===0&&d.ctrlKey===!1?a.onValueChange(r):d.preventDefault()}),onKeyDown:Ye(e.onKeyDown,d=>{[" ","Enter"].includes(d.key)&&a.onValueChange(r)}),onFocus:Ye(e.onFocus,()=>{const d=a.activationMode!=="manual";!c&&!i&&d&&a.onValueChange(r)})})})});eq.displayName=JH;var tq="TabsContent",nq=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:i,children:o,...a}=e,u=dO(tq,n),s=rq(u.baseId,r),l=iq(u.baseId,r),c=r===u.value,d=y.useRef(c);return y.useEffect(()=>{const h=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(h)},[]),I.jsx(ii,{present:i||c,children:({present:h})=>I.jsx(pt.div,{"data-state":c?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":s,hidden:!h,id:l,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:d.current?"0s":void 0},children:h&&o})})});nq.displayName=tq;function rq(e,t){return`${e}-trigger-${t}`}function iq(e,t){return`${e}-content-${t}`}var wYe=ZH,_Ye=QH,SYe=eq,CYe=nq;const hO=6048e5,iFe=864e5,k$=Symbol.for("constructDateFrom");function ri(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&k$ in e?e[k$](t):e instanceof Date?new e.constructor(t):new Date(t)}function Rn(e,t){return ri(t||e,e)}function Ui(e,t,n){const r=Rn(e,n?.in);return isNaN(t)?ri(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Za(e,t,n){const r=Rn(e,n?.in);if(isNaN(t))return ri(n?.in||e,NaN);if(!t)return r;const i=r.getDate(),o=ri(n?.in||e,r.getTime());o.setMonth(r.getMonth()+t+1,0);const a=o.getDate();return i>=a?o:(r.setFullYear(o.getFullYear(),o.getMonth(),i),r)}let oFe={};function Og(){return oFe}function ma(e,t){const n=Og(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Rn(e,t?.in),o=i.getDay(),a=(o=o.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}function Yb(e){const t=Rn(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function gf(e,...t){const n=ri.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function tf(e,t){const n=Rn(e,t?.in);return n.setHours(0,0,0,0),n}function gu(e,t,n){const[r,i]=gf(n?.in,e,t),o=tf(r),a=tf(i),u=+o-Yb(o),s=+a-Yb(a);return Math.round((u-s)/iFe)}function aFe(e,t){const n=oq(e,t),r=ri(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),ef(r)}function k6(e,t,n){return Ui(e,t*7,n)}function uFe(e,t,n){return Za(e,t*12,n)}function sFe(e,t){let n,r=t?.in;return e.forEach(i=>{!r&&typeof i=="object"&&(r=ri.bind(null,i));const o=Rn(i,r);(!n||n{!r&&typeof i=="object"&&(r=ri.bind(null,i));const o=Rn(i,r);(!n||n>o||isNaN(+o))&&(n=o)}),ri(r,n||NaN)}function ao(e,t,n){const[r,i]=gf(n?.in,e,t);return+tf(r)==+tf(i)}function pO(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function cFe(e){return!(!pO(e)&&typeof e!="number"||isNaN(+Rn(e)))}function Wv(e,t,n){const[r,i]=gf(n?.in,e,t),o=r.getFullYear()-i.getFullYear(),a=r.getMonth()-i.getMonth();return o*12+a}function fFe(e,t,n){const[r,i]=gf(n?.in,e,t),o=ma(r,n),a=ma(i,n),u=+o-Yb(o),s=+a-Yb(a);return Math.round((u-s)/hO)}function vO(e,t){const n=Rn(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function ho(e,t){const n=Rn(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function aq(e,t){const n=Rn(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function gO(e,t){const n=Og(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Rn(e,t?.in),o=i.getDay(),a=(o{let r;const i=dFe[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function kd(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const pFe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},vFe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},gFe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},mFe={date:kd({formats:pFe,defaultWidth:"full"}),time:kd({formats:vFe,defaultWidth:"full"}),dateTime:kd({formats:gFe,defaultWidth:"full"})},yFe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},bFe=(e,t,n,r)=>yFe[e];function fu(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let i;if(r==="formatting"&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,u=n?.width?String(n.width):a;i=e.formattingValues[u]||e.formattingValues[a]}else{const a=e.defaultWidth,u=n?.width?String(n.width):e.defaultWidth;i=e.values[u]||e.values[a]}const o=e.argumentCallback?e.argumentCallback(t):t;return i[o]}}const xFe={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},wFe={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},_Fe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},SFe={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},CFe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},EFe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},AFe=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},PFe={ordinalNumber:AFe,era:fu({values:xFe,defaultWidth:"wide"}),quarter:fu({values:wFe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:fu({values:_Fe,defaultWidth:"wide"}),day:fu({values:SFe,defaultWidth:"wide"}),dayPeriod:fu({values:CFe,defaultWidth:"wide",formattingValues:EFe,defaultFormattingWidth:"wide"})};function du(e){return(t,n={})=>{const r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;const a=o[0],u=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],s=Array.isArray(u)?kFe(u,d=>d.test(a)):OFe(u,d=>d.test(a));let l;l=e.valueCallback?e.valueCallback(s):s,l=n.valueCallback?n.valueCallback(l):l;const c=t.slice(a.length);return{value:l,rest:c}}}function OFe(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function kFe(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const i=r[0],o=t.match(e.parsePattern);if(!o)return null;let a=e.valueCallback?e.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;const u=t.slice(i.length);return{value:a,rest:u}}}const TFe=/^(\d+)(th|st|nd|rd)?/i,MFe=/\d+/i,RFe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},DFe={any:[/^b/i,/^(a|c)/i]},$Fe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},IFe={any:[/1/i,/2/i,/3/i,/4/i]},NFe={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},FFe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},LFe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},jFe={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},BFe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},zFe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},UFe={ordinalNumber:sq({matchPattern:TFe,parsePattern:MFe,valueCallback:e=>parseInt(e,10)}),era:du({matchPatterns:RFe,defaultMatchWidth:"wide",parsePatterns:DFe,defaultParseWidth:"any"}),quarter:du({matchPatterns:$Fe,defaultMatchWidth:"wide",parsePatterns:IFe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:du({matchPatterns:NFe,defaultMatchWidth:"wide",parsePatterns:FFe,defaultParseWidth:"any"}),day:du({matchPatterns:LFe,defaultMatchWidth:"wide",parsePatterns:jFe,defaultParseWidth:"any"}),dayPeriod:du({matchPatterns:BFe,defaultMatchWidth:"any",parsePatterns:zFe,defaultParseWidth:"any"})},lq={code:"en-US",formatDistance:hFe,formatLong:mFe,formatRelative:bFe,localize:PFe,match:UFe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function WFe(e,t){const n=Rn(e,t?.in);return gu(n,aq(n))+1}function cq(e,t){const n=Rn(e,t?.in),r=+ef(n)-+aFe(n);return Math.round(r/hO)+1}function fq(e,t){const n=Rn(e,t?.in),r=n.getFullYear(),i=Og(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=ri(t?.in||e,0);a.setFullYear(r+1,0,o),a.setHours(0,0,0,0);const u=ma(a,t),s=ri(t?.in||e,0);s.setFullYear(r,0,o),s.setHours(0,0,0,0);const l=ma(s,t);return+n>=+u?r+1:+n>=+l?r:r-1}function VFe(e,t){const n=Og(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=fq(e,t),o=ri(t?.in||e,0);return o.setFullYear(i,0,r),o.setHours(0,0,0,0),ma(o,t)}function dq(e,t){const n=Rn(e,t?.in),r=+ma(n,t)-+VFe(n,t);return Math.round(r/hO)+1}function Tn(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Us={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return Tn(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Tn(n+1,2)},d(e,t){return Tn(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Tn(e.getHours()%12||12,t.length)},H(e,t){return Tn(e.getHours(),t.length)},m(e,t){return Tn(e.getMinutes(),t.length)},s(e,t){return Tn(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),i=Math.trunc(r*Math.pow(10,n-3));return Tn(i,t.length)}},Hf={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},T$={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return Us.y(e,t)},Y:function(e,t,n,r){const i=fq(e,r),o=i>0?i:1-i;if(t==="YY"){const a=o%100;return Tn(a,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Tn(o,t.length)},R:function(e,t){const n=oq(e);return Tn(n,t.length)},u:function(e,t){const n=e.getFullYear();return Tn(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return Tn(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return Tn(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Us.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return Tn(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const i=dq(e,r);return t==="wo"?n.ordinalNumber(i,{unit:"week"}):Tn(i,t.length)},I:function(e,t,n){const r=cq(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):Tn(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Us.d(e,t)},D:function(e,t,n){const r=WFe(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):Tn(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Tn(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Tn(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),i=r===0?7:r;switch(t){case"i":return String(i);case"ii":return Tn(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let i;switch(r===12?i=Hf.noon:r===0?i=Hf.midnight:i=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let i;switch(r>=17?i=Hf.evening:r>=12?i=Hf.afternoon:r>=4?i=Hf.morning:i=Hf.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Us.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Us.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):Tn(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):Tn(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Us.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Us.s(e,t)},S:function(e,t){return Us.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return R$(r);case"XXXX":case"XX":return cc(r);case"XXXXX":case"XXX":default:return cc(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return R$(r);case"xxxx":case"xx":return cc(r);case"xxxxx":case"xxx":default:return cc(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+M$(r,":");case"OOOO":default:return"GMT"+cc(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+M$(r,":");case"zzzz":default:return"GMT"+cc(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return Tn(r,t.length)},T:function(e,t,n){return Tn(+e,t.length)}};function M$(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Math.trunc(r/60),o=r%60;return o===0?n+String(i):n+String(i)+t+Tn(o,2)}function R$(e,t){return e%60===0?(e>0?"-":"+")+Tn(Math.abs(e)/60,2):cc(e,t)}function cc(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Tn(Math.trunc(r/60),2),o=Tn(r%60,2);return n+i+t+o}const D$=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},hq=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},HFe=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return D$(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",D$(r,t)).replace("{{time}}",hq(i,t))},qFe={p:hq,P:HFe},KFe=/^D+$/,GFe=/^Y+$/,YFe=["D","DD","YY","YYYY"];function ZFe(e){return KFe.test(e)}function XFe(e){return GFe.test(e)}function QFe(e,t,n){const r=JFe(e,t,n);if(console.warn(r),YFe.includes(e))throw new RangeError(r)}function JFe(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const eLe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,tLe=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,nLe=/^'([^]*?)'?$/,rLe=/''/g,iLe=/[a-zA-Z]/;function mf(e,t,n){const r=Og(),i=n?.locale??r.locale??lq,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,u=Rn(e,n?.in);if(!cFe(u))throw new RangeError("Invalid time value");let s=t.match(tLe).map(c=>{const d=c[0];if(d==="p"||d==="P"){const h=qFe[d];return h(c,i.formatLong)}return c}).join("").match(eLe).map(c=>{if(c==="''")return{isToken:!1,value:"'"};const d=c[0];if(d==="'")return{isToken:!1,value:oLe(c)};if(T$[d])return{isToken:!0,value:c};if(d.match(iLe))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");return{isToken:!1,value:c}});i.localize.preprocessor&&(s=i.localize.preprocessor(u,s));const l={firstWeekContainsDate:o,weekStartsOn:a,locale:i};return s.map(c=>{if(!c.isToken)return c.value;const d=c.value;(!n?.useAdditionalWeekYearTokens&&XFe(d)||!n?.useAdditionalDayOfYearTokens&&ZFe(d))&&QFe(d,t,String(e));const h=T$[d[0]];return h(u,d,i.localize,l)}).join("")}function oLe(e){const t=e.match(nLe);return t?t[1].replace(rLe,"'"):e}function aLe(e,t){const n=Rn(e,t?.in),r=n.getFullYear(),i=n.getMonth(),o=ri(n,0);return o.setFullYear(r,i+1,0),o.setHours(0,0,0,0),o.getDate()}function uLe(e){return Math.trunc(+Rn(e)/1e3)}function sLe(e,t){const n=Rn(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(0,0,0,0),Rn(n,t?.in)}function lLe(e,t){const n=Rn(e,t?.in);return fFe(sLe(n,t),ho(n,t),t)+1}function T6(e,t){return+Rn(e)>+Rn(t)}function pq(e,t){return+Rn(e)<+Rn(t)}function cLe(e,t,n){const[r,i]=gf(n?.in,e,t);return+ma(r,n)==+ma(i,n)}function mO(e,t,n){const[r,i]=gf(n?.in,e,t);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()}function fLe(e,t,n){const[r,i]=gf(n?.in,e,t);return r.getFullYear()===i.getFullYear()}function qS(e,t,n){return Ui(e,-t,n)}function KS(e,t,n){const r=Rn(e,n?.in),i=r.getFullYear(),o=r.getDate(),a=ri(e,0);a.setFullYear(i,t,15),a.setHours(0,0,0,0);const u=aLe(a);return r.setMonth(t,Math.min(o,u)),r}function $$(e,t,n){const r=Rn(e,n?.in);return isNaN(+r)?ri(e,NaN):(r.setFullYear(t),r)}function EYe(e){return tf(Date.now(),e)}const dLe={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},hLe=(e,t,n)=>{let r;const i=dLe[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},pLe={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},vLe={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},gLe={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},mLe={date:kd({formats:pLe,defaultWidth:"full"}),time:kd({formats:vLe,defaultWidth:"full"}),dateTime:kd({formats:gLe,defaultWidth:"full"})};function I$(e,t,n){const r="eeee p";return cLe(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const yLe={lastWeek:I$,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:I$,other:"PP p"},bLe=(e,t,n,r)=>{const i=yLe[e];return typeof i=="function"?i(t,n,r):i},xLe={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},wLe={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},_Le={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},SLe={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},CLe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},ELe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},ALe=(e,t)=>{const n=Number(e);switch(t?.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},PLe={ordinalNumber:ALe,era:fu({values:xLe,defaultWidth:"wide"}),quarter:fu({values:wLe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:fu({values:_Le,defaultWidth:"wide"}),day:fu({values:SLe,defaultWidth:"wide"}),dayPeriod:fu({values:CLe,defaultWidth:"wide",formattingValues:ELe,defaultFormattingWidth:"wide"})},OLe=/^(第\s*)?\d+(日|时|分|秒)?/i,kLe=/\d+/i,TLe={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},MLe={any:[/^(前)/i,/^(公元)/i]},RLe={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},DLe={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},$Le={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},ILe={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},NLe={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},FLe={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},LLe={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},jLe={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},BLe={ordinalNumber:sq({matchPattern:OLe,parsePattern:kLe,valueCallback:e=>parseInt(e,10)}),era:du({matchPatterns:TLe,defaultMatchWidth:"wide",parsePatterns:MLe,defaultParseWidth:"any"}),quarter:du({matchPatterns:RLe,defaultMatchWidth:"wide",parsePatterns:DLe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:du({matchPatterns:$Le,defaultMatchWidth:"wide",parsePatterns:ILe,defaultParseWidth:"any"}),day:du({matchPatterns:NLe,defaultMatchWidth:"wide",parsePatterns:FLe,defaultParseWidth:"any"}),dayPeriod:du({matchPatterns:LLe,defaultMatchWidth:"any",parsePatterns:jLe,defaultParseWidth:"any"})},AYe={code:"zh-CN",formatDistance:hLe,formatLong:mLe,formatRelative:bLe,localize:PLe,match:BLe,options:{weekStartsOn:1,firstWeekContainsDate:4}};function M6(e,[t,n]){return Math.min(n,Math.max(t,e))}function yO(e){const t=y.useRef({value:e,previous:e});return y.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var zLe=[" ","Enter","ArrowUp","ArrowDown"],ULe=[" ","Enter"],kg="Select",[qw,Kw,WLe]=RA(kg),[Yh,PYe]=mi(kg,[WLe,Fl]),Gw=Fl(),[VLe,Wl]=Yh(kg),[HLe,qLe]=Yh(kg),vq=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:o,value:a,defaultValue:u,onValueChange:s,dir:l,name:c,autoComplete:d,disabled:h,required:v,form:g}=e,m=Gw(t),[b,w]=y.useState(null),[x,S]=y.useState(null),[A,E]=y.useState(!1),C=hg(l),[T=!1,M]=Ga({prop:r,defaultProp:i,onChange:o}),[F,U]=Ga({prop:a,defaultProp:u,onChange:s}),H=y.useRef(null),W=b?g||!!b.closest("form"):!0,[ie,Z]=y.useState(new Set),G=Array.from(ie).map(K=>K.props.value).join(";");return I.jsx(Ux,{...m,children:I.jsxs(VLe,{required:v,scope:t,trigger:b,onTriggerChange:w,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:A,onValueNodeHasChildrenChange:E,contentId:No(),value:F,onValueChange:U,open:T,onOpenChange:M,dir:C,triggerPointerDownPosRef:H,disabled:h,children:[I.jsx(qw.Provider,{scope:t,children:I.jsx(HLe,{scope:e.__scopeSelect,onNativeOptionAdd:y.useCallback(K=>{Z(V=>new Set(V).add(K))},[]),onNativeOptionRemove:y.useCallback(K=>{Z(V=>{const B=new Set(V);return B.delete(K),B})},[]),children:n})}),W?I.jsxs(zq,{"aria-hidden":!0,required:v,tabIndex:-1,name:c,autoComplete:d,value:F,onChange:K=>U(K.target.value),disabled:h,form:g,children:[F===void 0?I.jsx("option",{value:""}):null,Array.from(ie)]},G):null]})})};vq.displayName=kg;var gq="SelectTrigger",mq=y.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...i}=e,o=Gw(n),a=Wl(gq,n),u=a.disabled||r,s=Kt(t,a.onTriggerChange),l=Kw(n),c=y.useRef("touch"),[d,h,v]=Uq(m=>{const b=l().filter(S=>!S.disabled),w=b.find(S=>S.value===a.value),x=Wq(b,m,w);x!==void 0&&a.onValueChange(x.value)}),g=m=>{u||(a.onOpenChange(!0),v()),m&&(a.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return I.jsx(vg,{asChild:!0,...o,children:I.jsx(pt.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":Bq(a.value)?"":void 0,...i,ref:s,onClick:Ye(i.onClick,m=>{m.currentTarget.focus(),c.current!=="mouse"&&g(m)}),onPointerDown:Ye(i.onPointerDown,m=>{c.current=m.pointerType;const b=m.target;b.hasPointerCapture(m.pointerId)&&b.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(g(m),m.preventDefault())}),onKeyDown:Ye(i.onKeyDown,m=>{const b=d.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&h(m.key),!(b&&m.key===" ")&&zLe.includes(m.key)&&(g(),m.preventDefault())})})})});mq.displayName=gq;var yq="SelectValue",bq=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,children:o,placeholder:a="",...u}=e,s=Wl(yq,n),{onValueNodeHasChildrenChange:l}=s,c=o!==void 0,d=Kt(t,s.onValueNodeChange);return ni(()=>{l(c)},[l,c]),I.jsx(pt.span,{...u,ref:d,style:{pointerEvents:"none"},children:Bq(s.value)?I.jsx(I.Fragment,{children:a}):o})});bq.displayName=yq;var KLe="SelectIcon",xq=y.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...i}=e;return I.jsx(pt.span,{"aria-hidden":!0,...i,ref:t,children:r||"▼"})});xq.displayName=KLe;var GLe="SelectPortal",wq=e=>I.jsx(cg,{asChild:!0,...e});wq.displayName=GLe;var nf="SelectContent",_q=y.forwardRef((e,t)=>{const n=Wl(nf,e.__scopeSelect),[r,i]=y.useState();if(ni(()=>{i(new DocumentFragment)},[]),!n.open){const o=r;return o?Ss.createPortal(I.jsx(Sq,{scope:e.__scopeSelect,children:I.jsx(qw.Slot,{scope:e.__scopeSelect,children:I.jsx("div",{children:e.children})})}),o):null}return I.jsx(Cq,{...e,ref:t})});_q.displayName=nf;var Oa=10,[Sq,Vl]=Yh(nf),YLe="SelectContentImpl",Cq=y.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:o,onPointerDownOutside:a,side:u,sideOffset:s,align:l,alignOffset:c,arrowPadding:d,collisionBoundary:h,collisionPadding:v,sticky:g,hideWhenDetached:m,avoidCollisions:b,...w}=e,x=Wl(nf,n),[S,A]=y.useState(null),[E,C]=y.useState(null),T=Kt(t,ge=>A(ge)),[M,F]=y.useState(null),[U,H]=y.useState(null),W=Kw(n),[ie,Z]=y.useState(!1),G=y.useRef(!1);y.useEffect(()=>{if(S)return dg(S)},[S]),Lx();const K=y.useCallback(ge=>{const[Ze,...Pe]=W().map(be=>be.ref.current),[Fe]=Pe.slice(-1),$e=document.activeElement;for(const be of ge)if(be===$e||(be?.scrollIntoView({block:"nearest"}),be===Ze&&E&&(E.scrollTop=0),be===Fe&&E&&(E.scrollTop=E.scrollHeight),be?.focus(),document.activeElement!==$e))return},[W,E]),V=y.useCallback(()=>K([M,S]),[K,M,S]);y.useEffect(()=>{ie&&V()},[ie,V]);const{onOpenChange:B,triggerPointerDownPosRef:q}=x;y.useEffect(()=>{if(S){let ge={x:0,y:0};const Ze=Fe=>{ge={x:Math.abs(Math.round(Fe.pageX)-(q.current?.x??0)),y:Math.abs(Math.round(Fe.pageY)-(q.current?.y??0))}},Pe=Fe=>{ge.x<=10&&ge.y<=10?Fe.preventDefault():S.contains(Fe.target)||B(!1),document.removeEventListener("pointermove",Ze),q.current=null};return q.current!==null&&(document.addEventListener("pointermove",Ze),document.addEventListener("pointerup",Pe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",Ze),document.removeEventListener("pointerup",Pe,{capture:!0})}}},[S,B,q]),y.useEffect(()=>{const ge=()=>B(!1);return window.addEventListener("blur",ge),window.addEventListener("resize",ge),()=>{window.removeEventListener("blur",ge),window.removeEventListener("resize",ge)}},[B]);const[Y,ue]=Uq(ge=>{const Ze=W().filter($e=>!$e.disabled),Pe=Ze.find($e=>$e.ref.current===document.activeElement),Fe=Wq(Ze,ge,Pe);Fe&&setTimeout(()=>Fe.ref.current.focus())}),Q=y.useCallback((ge,Ze,Pe)=>{const Fe=!G.current&&!Pe;(x.value!==void 0&&x.value===Ze||Fe)&&(F(ge),Fe&&(G.current=!0))},[x.value]),J=y.useCallback(()=>S?.focus(),[S]),se=y.useCallback((ge,Ze,Pe)=>{const Fe=!G.current&&!Pe;(x.value!==void 0&&x.value===Ze||Fe)&&H(ge)},[x.value]),de=r==="popper"?R6:Eq,Se=de===R6?{side:u,sideOffset:s,align:l,alignOffset:c,arrowPadding:d,collisionBoundary:h,collisionPadding:v,sticky:g,hideWhenDetached:m,avoidCollisions:b}:{};return I.jsx(Sq,{scope:n,content:S,viewport:E,onViewportChange:C,itemRefCallback:Q,selectedItem:M,onItemLeave:J,itemTextRefCallback:se,focusSelectedItem:V,selectedItemText:U,position:r,isPositioned:ie,searchRef:Y,children:I.jsx(fg,{as:Sl,allowPinchZoom:!0,children:I.jsx(lg,{asChild:!0,trapped:x.open,onMountAutoFocus:ge=>{ge.preventDefault()},onUnmountAutoFocus:Ye(i,ge=>{x.trigger?.focus({preventScroll:!0}),ge.preventDefault()}),children:I.jsx(kh,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:ge=>ge.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:I.jsx(de,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:ge=>ge.preventDefault(),...w,...Se,onPlaced:()=>Z(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:Ye(w.onKeyDown,ge=>{const Ze=ge.ctrlKey||ge.altKey||ge.metaKey;if(ge.key==="Tab"&&ge.preventDefault(),!Ze&&ge.key.length===1&&ue(ge.key),["ArrowUp","ArrowDown","Home","End"].includes(ge.key)){let Fe=W().filter($e=>!$e.disabled).map($e=>$e.ref.current);if(["ArrowUp","End"].includes(ge.key)&&(Fe=Fe.slice().reverse()),["ArrowUp","ArrowDown"].includes(ge.key)){const $e=ge.target,be=Fe.indexOf($e);Fe=Fe.slice(be+1)}setTimeout(()=>K(Fe)),ge.preventDefault()}})})})})})})});Cq.displayName=YLe;var ZLe="SelectItemAlignedPosition",Eq=y.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...i}=e,o=Wl(nf,n),a=Vl(nf,n),[u,s]=y.useState(null),[l,c]=y.useState(null),d=Kt(t,T=>c(T)),h=Kw(n),v=y.useRef(!1),g=y.useRef(!0),{viewport:m,selectedItem:b,selectedItemText:w,focusSelectedItem:x}=a,S=y.useCallback(()=>{if(o.trigger&&o.valueNode&&u&&l&&m&&b&&w){const T=o.trigger.getBoundingClientRect(),M=l.getBoundingClientRect(),F=o.valueNode.getBoundingClientRect(),U=w.getBoundingClientRect();if(o.dir!=="rtl"){const $e=U.left-M.left,be=F.left-$e,yt=T.left-be,lt=T.width+yt,It=Math.max(lt,M.width),mn=window.innerWidth-Oa,en=M6(be,[Oa,Math.max(Oa,mn-It)]);u.style.minWidth=lt+"px",u.style.left=en+"px"}else{const $e=M.right-U.right,be=window.innerWidth-F.right-$e,yt=window.innerWidth-T.right-be,lt=T.width+yt,It=Math.max(lt,M.width),mn=window.innerWidth-Oa,en=M6(be,[Oa,Math.max(Oa,mn-It)]);u.style.minWidth=lt+"px",u.style.right=en+"px"}const H=h(),W=window.innerHeight-Oa*2,ie=m.scrollHeight,Z=window.getComputedStyle(l),G=parseInt(Z.borderTopWidth,10),K=parseInt(Z.paddingTop,10),V=parseInt(Z.borderBottomWidth,10),B=parseInt(Z.paddingBottom,10),q=G+K+ie+B+V,Y=Math.min(b.offsetHeight*5,q),ue=window.getComputedStyle(m),Q=parseInt(ue.paddingTop,10),J=parseInt(ue.paddingBottom,10),se=T.top+T.height/2-Oa,de=W-se,Se=b.offsetHeight/2,ge=b.offsetTop+Se,Ze=G+K+ge,Pe=q-Ze;if(Ze<=se){const $e=H.length>0&&b===H[H.length-1].ref.current;u.style.bottom="0px";const be=l.clientHeight-m.offsetTop-m.offsetHeight,yt=Math.max(de,Se+($e?J:0)+be+V),lt=Ze+yt;u.style.height=lt+"px"}else{const $e=H.length>0&&b===H[0].ref.current;u.style.top="0px";const yt=Math.max(se,G+m.offsetTop+($e?Q:0)+Se)+Pe;u.style.height=yt+"px",m.scrollTop=Ze-se+m.offsetTop}u.style.margin=`${Oa}px 0`,u.style.minHeight=Y+"px",u.style.maxHeight=W+"px",r?.(),requestAnimationFrame(()=>v.current=!0)}},[h,o.trigger,o.valueNode,u,l,m,b,w,o.dir,r]);ni(()=>S(),[S]);const[A,E]=y.useState();ni(()=>{l&&E(window.getComputedStyle(l).zIndex)},[l]);const C=y.useCallback(T=>{T&&g.current===!0&&(S(),x?.(),g.current=!1)},[S,x]);return I.jsx(QLe,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:v,onScrollButtonChange:C,children:I.jsx("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:I.jsx(pt.div,{...i,ref:d,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});Eq.displayName=ZLe;var XLe="SelectPopperPosition",R6=y.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:i=Oa,...o}=e,a=Gw(n);return I.jsx(Wx,{...a,...o,ref:t,align:r,collisionPadding:i,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});R6.displayName=XLe;var[QLe,bO]=Yh(nf,{}),D6="SelectViewport",Aq=y.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...i}=e,o=Vl(D6,n),a=bO(D6,n),u=Kt(t,o.onViewportChange),s=y.useRef(0);return I.jsxs(I.Fragment,{children:[I.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),I.jsx(qw.Slot,{scope:n,children:I.jsx(pt.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:Ye(i.onScroll,l=>{const c=l.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:h}=a;if(h?.current&&d){const v=Math.abs(s.current-c.scrollTop);if(v>0){const g=window.innerHeight-Oa*2,m=parseFloat(d.style.minHeight),b=parseFloat(d.style.height),w=Math.max(m,b);if(w0?A:0,d.style.justifyContent="flex-end")}}}s.current=c.scrollTop})})})]})});Aq.displayName=D6;var Pq="SelectGroup",[JLe,eje]=Yh(Pq),Oq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=No();return I.jsx(JLe,{scope:n,id:i,children:I.jsx(pt.div,{role:"group","aria-labelledby":i,...r,ref:t})})});Oq.displayName=Pq;var kq="SelectLabel",Tq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=eje(kq,n);return I.jsx(pt.div,{id:i.id,...r,ref:t})});Tq.displayName=kq;var Zb="SelectItem",[tje,Mq]=Yh(Zb),Rq=y.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:i=!1,textValue:o,...a}=e,u=Wl(Zb,n),s=Vl(Zb,n),l=u.value===r,[c,d]=y.useState(o??""),[h,v]=y.useState(!1),g=Kt(t,x=>s.itemRefCallback?.(x,r,i)),m=No(),b=y.useRef("touch"),w=()=>{i||(u.onValueChange(r),u.onOpenChange(!1))};if(r==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return I.jsx(tje,{scope:n,value:r,disabled:i,textId:m,isSelected:l,onItemTextChange:y.useCallback(x=>{d(S=>S||(x?.textContent??"").trim())},[]),children:I.jsx(qw.ItemSlot,{scope:n,value:r,disabled:i,textValue:c,children:I.jsx(pt.div,{role:"option","aria-labelledby":m,"data-highlighted":h?"":void 0,"aria-selected":l&&h,"data-state":l?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...a,ref:g,onFocus:Ye(a.onFocus,()=>v(!0)),onBlur:Ye(a.onBlur,()=>v(!1)),onClick:Ye(a.onClick,()=>{b.current!=="mouse"&&w()}),onPointerUp:Ye(a.onPointerUp,()=>{b.current==="mouse"&&w()}),onPointerDown:Ye(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:Ye(a.onPointerMove,x=>{b.current=x.pointerType,i?s.onItemLeave?.():b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ye(a.onPointerLeave,x=>{x.currentTarget===document.activeElement&&s.onItemLeave?.()}),onKeyDown:Ye(a.onKeyDown,x=>{s.searchRef?.current!==""&&x.key===" "||(ULe.includes(x.key)&&w(),x.key===" "&&x.preventDefault())})})})})});Rq.displayName=Zb;var Qp="SelectItemText",Dq=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,...o}=e,a=Wl(Qp,n),u=Vl(Qp,n),s=Mq(Qp,n),l=qLe(Qp,n),[c,d]=y.useState(null),h=Kt(t,w=>d(w),s.onItemTextChange,w=>u.itemTextRefCallback?.(w,s.value,s.disabled)),v=c?.textContent,g=y.useMemo(()=>I.jsx("option",{value:s.value,disabled:s.disabled,children:v},s.value),[s.disabled,s.value,v]),{onNativeOptionAdd:m,onNativeOptionRemove:b}=l;return ni(()=>(m(g),()=>b(g)),[m,b,g]),I.jsxs(I.Fragment,{children:[I.jsx(pt.span,{id:s.textId,...o,ref:h}),s.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Ss.createPortal(o.children,a.valueNode):null]})});Dq.displayName=Qp;var $q="SelectItemIndicator",Iq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return Mq($q,n).isSelected?I.jsx(pt.span,{"aria-hidden":!0,...r,ref:t}):null});Iq.displayName=$q;var $6="SelectScrollUpButton",Nq=y.forwardRef((e,t)=>{const n=Vl($6,e.__scopeSelect),r=bO($6,e.__scopeSelect),[i,o]=y.useState(!1),a=Kt(t,r.onScrollButtonChange);return ni(()=>{if(n.viewport&&n.isPositioned){let u=function(){const l=s.scrollTop>0;o(l)};const s=n.viewport;return u(),s.addEventListener("scroll",u),()=>s.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),i?I.jsx(Lq,{...e,ref:a,onAutoScroll:()=>{const{viewport:u,selectedItem:s}=n;u&&s&&(u.scrollTop=u.scrollTop-s.offsetHeight)}}):null});Nq.displayName=$6;var I6="SelectScrollDownButton",Fq=y.forwardRef((e,t)=>{const n=Vl(I6,e.__scopeSelect),r=bO(I6,e.__scopeSelect),[i,o]=y.useState(!1),a=Kt(t,r.onScrollButtonChange);return ni(()=>{if(n.viewport&&n.isPositioned){let u=function(){const l=s.scrollHeight-s.clientHeight,c=Math.ceil(s.scrollTop)s.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),i?I.jsx(Lq,{...e,ref:a,onAutoScroll:()=>{const{viewport:u,selectedItem:s}=n;u&&s&&(u.scrollTop=u.scrollTop+s.offsetHeight)}}):null});Fq.displayName=I6;var Lq=y.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...i}=e,o=Vl("SelectScrollButton",n),a=y.useRef(null),u=Kw(n),s=y.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return y.useEffect(()=>()=>s(),[s]),ni(()=>{u().find(c=>c.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[u]),I.jsx(pt.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Ye(i.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:Ye(i.onPointerMove,()=>{o.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:Ye(i.onPointerLeave,()=>{s()})})}),nje="SelectSeparator",jq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return I.jsx(pt.div,{"aria-hidden":!0,...r,ref:t})});jq.displayName=nje;var N6="SelectArrow",rje=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=Gw(n),o=Wl(N6,n),a=Vl(N6,n);return o.open&&a.position==="popper"?I.jsx(Vx,{...i,...r,ref:t}):null});rje.displayName=N6;function Bq(e){return e===""||e===void 0}var zq=y.forwardRef((e,t)=>{const{value:n,...r}=e,i=y.useRef(null),o=Kt(t,i),a=yO(n);return y.useEffect(()=>{const u=i.current,s=window.HTMLSelectElement.prototype,c=Object.getOwnPropertyDescriptor(s,"value").set;if(a!==n&&c){const d=new Event("change",{bubbles:!0});c.call(u,n),u.dispatchEvent(d)}},[a,n]),I.jsx(ZA,{asChild:!0,children:I.jsx("select",{...r,ref:o,defaultValue:n})})});zq.displayName="BubbleSelect";function Uq(e){const t=Wr(e),n=y.useRef(""),r=y.useRef(0),i=y.useCallback(a=>{const u=n.current+a;t(u),function s(l){n.current=l,window.clearTimeout(r.current),l!==""&&(r.current=window.setTimeout(()=>s(""),1e3))}(u)},[t]),o=y.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,o]}function Wq(e,t,n){const i=t.length>1&&Array.from(t).every(l=>l===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=ije(e,Math.max(o,0));i.length===1&&(a=a.filter(l=>l!==n));const s=a.find(l=>l.textValue.toLowerCase().startsWith(i.toLowerCase()));return s!==n?s:void 0}function ije(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var OYe=vq,kYe=mq,TYe=bq,MYe=xq,RYe=wq,DYe=_q,$Ye=Aq,IYe=Oq,NYe=Tq,FYe=Rq,LYe=Dq,jYe=Iq,BYe=Nq,zYe=Fq,UYe=jq,Rt=function(){return Rt=Object.assign||function(t){for(var n,r=1,i=arguments.length;r1&&(s||!l),d=t>1&&(l||!s),h=function(){r&&o(r)},v=function(){i&&o(i)};return I.jsx(Fje,{displayMonth:e.displayMonth,hideNext:c,hidePrevious:d,nextMonth:i,previousMonth:r,onPreviousClick:h,onNextClick:v})}function Lje(e){var t,n=Hn(),r=n.classNames,i=n.disableNavigation,o=n.styles,a=n.captionLayout,u=n.components,s=(t=u?.CaptionLabel)!==null&&t!==void 0?t:qq,l;return i?l=I.jsx(s,{id:e.id,displayMonth:e.displayMonth}):a==="dropdown"?l=I.jsx(N$,{displayMonth:e.displayMonth,id:e.id}):a==="dropdown-buttons"?l=I.jsxs(I.Fragment,{children:[I.jsx(N$,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id}),I.jsx(F$,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id})]}):l=I.jsxs(I.Fragment,{children:[I.jsx(s,{id:e.id,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),I.jsx(F$,{displayMonth:e.displayMonth,id:e.id})]}),I.jsx("div",{className:r.caption,style:o.caption,children:l})}function jje(e){var t=Hn(),n=t.footer,r=t.styles,i=t.classNames.tfoot;return n?I.jsx("tfoot",{className:i,style:r.tfoot,children:I.jsx("tr",{children:I.jsx("td",{colSpan:8,children:n})})}):I.jsx(I.Fragment,{})}function Bje(e,t,n){for(var r=n?ef(new Date):ma(new Date,{locale:e,weekStartsOn:t}),i=[],o=0;o<7;o++){var a=Ui(r,o);i.push(a)}return i}function zje(){var e=Hn(),t=e.classNames,n=e.styles,r=e.showWeekNumber,i=e.locale,o=e.weekStartsOn,a=e.ISOWeek,u=e.formatters.formatWeekdayName,s=e.labels.labelWeekday,l=Bje(i,o,a);return I.jsxs("tr",{style:n.head_row,className:t.head_row,children:[r&&I.jsx("td",{style:n.head_cell,className:t.head_cell}),l.map(function(c,d){return I.jsx("th",{scope:"col",className:t.head_cell,style:n.head_cell,"aria-label":s(c,{locale:i}),children:u(c,{locale:i})},d)})]})}function Uje(){var e,t=Hn(),n=t.classNames,r=t.styles,i=t.components,o=(e=i?.HeadRow)!==null&&e!==void 0?e:zje;return I.jsx("thead",{style:r.head,className:n.head,children:I.jsx(o,{})})}function Wje(e){var t=Hn(),n=t.locale,r=t.formatters.formatDay;return I.jsx(I.Fragment,{children:r(e.date,{locale:n})})}var xO=y.createContext(void 0);function Vje(e){if(!Tg(e.initialProps)){var t={selected:void 0,modifiers:{disabled:[]}};return I.jsx(xO.Provider,{value:t,children:e.children})}return I.jsx(Hje,{initialProps:e.initialProps,children:e.children})}function Hje(e){var t=e.initialProps,n=e.children,r=t.selected,i=t.min,o=t.max,a=function(l,c,d){var h,v;(h=t.onDayClick)===null||h===void 0||h.call(t,l,c,d);var g=!!(c.selected&&i&&r?.length===i);if(!g){var m=!!(!c.selected&&o&&r?.length===o);if(!m){var b=r?Vq([],r):[];if(c.selected){var w=b.findIndex(function(x){return ao(l,x)});b.splice(w,1)}else b.push(l);(v=t.onSelect)===null||v===void 0||v.call(t,b,l,c,d)}}},u={disabled:[]};r&&u.disabled.push(function(l){var c=o&&r.length>o-1,d=r.some(function(h){return ao(h,l)});return!!(c&&!d)});var s={selected:r,onDayClick:a,modifiers:u};return I.jsx(xO.Provider,{value:s,children:n})}function wO(){var e=y.useContext(xO);if(!e)throw new Error("useSelectMultiple must be used within a SelectMultipleProvider");return e}function qje(e,t){var n=t||{},r=n.from,i=n.to;return r&&i?ao(i,e)&&ao(r,e)?void 0:ao(i,e)?{from:i,to:void 0}:ao(r,e)?void 0:T6(r,e)?{from:e,to:i}:{from:r,to:e}:i?T6(e,i)?{from:i,to:e}:{from:e,to:i}:r?pq(e,r)?{from:e,to:r}:{from:r,to:e}:{from:e,to:void 0}}var _O=y.createContext(void 0);function Kje(e){if(!Mg(e.initialProps)){var t={selected:void 0,modifiers:{range_start:[],range_end:[],range_middle:[],disabled:[]}};return I.jsx(_O.Provider,{value:t,children:e.children})}return I.jsx(Gje,{initialProps:e.initialProps,children:e.children})}function Gje(e){var t=e.initialProps,n=e.children,r=t.selected,i=r||{},o=i.from,a=i.to,u=t.min,s=t.max,l=function(v,g,m){var b,w;(b=t.onDayClick)===null||b===void 0||b.call(t,v,g,m);var x=qje(v,r);(w=t.onSelect)===null||w===void 0||w.call(t,x,v,g,m)},c={range_start:[],range_end:[],range_middle:[],disabled:[]};if(o?(c.range_start=[o],a?(c.range_end=[a],ao(o,a)||(c.range_middle=[{after:o,before:a}])):c.range_end=[o]):a&&(c.range_start=[a],c.range_end=[a]),u&&(o&&!a&&c.disabled.push({after:qS(o,u-1),before:Ui(o,u-1)}),o&&a&&c.disabled.push({after:o,before:Ui(o,u-1)}),!o&&a&&c.disabled.push({after:qS(a,u-1),before:Ui(a,u-1)})),s){if(o&&!a&&(c.disabled.push({before:Ui(o,-s+1)}),c.disabled.push({after:Ui(o,s-1)})),o&&a){var d=gu(a,o)+1,h=s-d;c.disabled.push({before:qS(o,h)}),c.disabled.push({after:Ui(a,h)})}!o&&a&&(c.disabled.push({before:Ui(a,-s+1)}),c.disabled.push({after:Ui(a,s-1)}))}return I.jsx(_O.Provider,{value:{selected:r,onDayClick:l,modifiers:c},children:n})}function SO(){var e=y.useContext(_O);if(!e)throw new Error("useSelectRange must be used within a SelectRangeProvider");return e}function Wy(e){return Array.isArray(e)?Vq([],e):e!==void 0?[e]:[]}function Yje(e){var t={};return Object.entries(e).forEach(function(n){var r=n[0],i=n[1];t[r]=Wy(i)}),t}var Xa;(function(e){e.Outside="outside",e.Disabled="disabled",e.Selected="selected",e.Hidden="hidden",e.Today="today",e.RangeStart="range_start",e.RangeEnd="range_end",e.RangeMiddle="range_middle"})(Xa||(Xa={}));var Zje=Xa.Selected,Hu=Xa.Disabled,Xje=Xa.Hidden,Qje=Xa.Today,GS=Xa.RangeEnd,YS=Xa.RangeMiddle,ZS=Xa.RangeStart,Jje=Xa.Outside;function eBe(e,t,n){var r,i=(r={},r[Zje]=Wy(e.selected),r[Hu]=Wy(e.disabled),r[Xje]=Wy(e.hidden),r[Qje]=[e.today],r[GS]=[],r[YS]=[],r[ZS]=[],r[Jje]=[],r);return e.fromDate&&i[Hu].push({before:e.fromDate}),e.toDate&&i[Hu].push({after:e.toDate}),Tg(e)?i[Hu]=i[Hu].concat(t.modifiers[Hu]):Mg(e)&&(i[Hu]=i[Hu].concat(n.modifiers[Hu]),i[ZS]=n.modifiers[ZS],i[YS]=n.modifiers[YS],i[GS]=n.modifiers[GS]),i}var Yq=y.createContext(void 0);function tBe(e){var t=Hn(),n=wO(),r=SO(),i=eBe(t,n,r),o=Yje(t.modifiers),a=Rt(Rt({},i),o);return I.jsx(Yq.Provider,{value:a,children:e.children})}function Zq(){var e=y.useContext(Yq);if(!e)throw new Error("useModifiers must be used within a ModifiersProvider");return e}function nBe(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function rBe(e){return!!(e&&typeof e=="object"&&"from"in e)}function iBe(e){return!!(e&&typeof e=="object"&&"after"in e)}function oBe(e){return!!(e&&typeof e=="object"&&"before"in e)}function aBe(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function uBe(e,t){var n,r=t.from,i=t.to;if(r&&i){var o=gu(i,r)<0;o&&(n=[i,r],r=n[0],i=n[1]);var a=gu(e,r)>=0&&gu(i,e)>=0;return a}return i?ao(i,e):r?ao(r,e):!1}function sBe(e){return pO(e)}function lBe(e){return Array.isArray(e)&&e.every(pO)}function cBe(e,t){return t.some(function(n){if(typeof n=="boolean")return n;if(sBe(n))return ao(e,n);if(lBe(n))return n.includes(e);if(rBe(n))return uBe(e,n);if(aBe(n))return n.dayOfWeek.includes(e.getDay());if(nBe(n)){var r=gu(n.before,e),i=gu(n.after,e),o=r>0,a=i<0,u=T6(n.before,n.after);return u?a&&o:o||a}return iBe(n)?gu(e,n.after)>0:oBe(n)?gu(n.before,e)>0:typeof n=="function"?n(e):!1})}function CO(e,t,n){var r=Object.keys(t).reduce(function(o,a){var u=t[a];return cBe(e,u)&&o.push(a),o},[]),i={};return r.forEach(function(o){return i[o]=!0}),n&&!mO(e,n)&&(i.outside=!0),i}function fBe(e,t){for(var n=ho(e[0]),r=vO(e[e.length-1]),i,o,a=n;a<=r;){var u=CO(a,t),s=!u.disabled&&!u.hidden;if(!s){a=Ui(a,1);continue}if(u.selected)return a;u.today&&!o&&(o=a),i||(i=a),a=Ui(a,1)}return o||i}var dBe=365;function Xq(e,t){var n=t.moveBy,r=t.direction,i=t.context,o=t.modifiers,a=t.retry,u=a===void 0?{count:0,lastFocused:e}:a,s=i.weekStartsOn,l=i.fromDate,c=i.toDate,d=i.locale,h={day:Ui,week:k6,month:Za,year:uFe,startOfWeek:function(b){return i.ISOWeek?ef(b):ma(b,{locale:d,weekStartsOn:s})},endOfWeek:function(b){return i.ISOWeek?uq(b):gO(b,{locale:d,weekStartsOn:s})}},v=h[n](e,r==="after"?1:-1);r==="before"&&l?v=sFe([l,v]):r==="after"&&c&&(v=lFe([c,v]));var g=!0;if(o){var m=CO(v,o);g=!m.disabled&&!m.hidden}return g?v:u.count>dBe?u.lastFocused:Xq(v,{moveBy:n,direction:r,context:i,modifiers:o,retry:Rt(Rt({},u),{count:u.count+1})})}var Qq=y.createContext(void 0);function hBe(e){var t=Rg(),n=Zq(),r=y.useState(),i=r[0],o=r[1],a=y.useState(),u=a[0],s=a[1],l=fBe(t.displayMonths,n),c=i??(u&&t.isDateDisplayed(u))?u:l,d=function(){s(i),o(void 0)},h=function(b){o(b)},v=Hn(),g=function(b,w){if(i){var x=Xq(i,{moveBy:b,direction:w,context:v,modifiers:n});ao(i,x)||(t.goToDate(x,i),h(x))}},m={focusedDay:i,focusTarget:c,blur:d,focus:h,focusDayAfter:function(){return g("day","after")},focusDayBefore:function(){return g("day","before")},focusWeekAfter:function(){return g("week","after")},focusWeekBefore:function(){return g("week","before")},focusMonthBefore:function(){return g("month","before")},focusMonthAfter:function(){return g("month","after")},focusYearBefore:function(){return g("year","before")},focusYearAfter:function(){return g("year","after")},focusStartOfWeek:function(){return g("startOfWeek","before")},focusEndOfWeek:function(){return g("endOfWeek","after")}};return I.jsx(Qq.Provider,{value:m,children:e.children})}function EO(){var e=y.useContext(Qq);if(!e)throw new Error("useFocusContext must be used within a FocusProvider");return e}function pBe(e,t){var n=Zq(),r=CO(e,n,t);return r}var AO=y.createContext(void 0);function vBe(e){if(!Yw(e.initialProps)){var t={selected:void 0};return I.jsx(AO.Provider,{value:t,children:e.children})}return I.jsx(gBe,{initialProps:e.initialProps,children:e.children})}function gBe(e){var t=e.initialProps,n=e.children,r=function(o,a,u){var s,l,c;if((s=t.onDayClick)===null||s===void 0||s.call(t,o,a,u),a.selected&&!t.required){(l=t.onSelect)===null||l===void 0||l.call(t,void 0,o,a,u);return}(c=t.onSelect)===null||c===void 0||c.call(t,o,o,a,u)},i={selected:t.selected,onDayClick:r};return I.jsx(AO.Provider,{value:i,children:n})}function Jq(){var e=y.useContext(AO);if(!e)throw new Error("useSelectSingle must be used within a SelectSingleProvider");return e}function mBe(e,t){var n=Hn(),r=Jq(),i=wO(),o=SO(),a=EO(),u=a.focusDayAfter,s=a.focusDayBefore,l=a.focusWeekAfter,c=a.focusWeekBefore,d=a.blur,h=a.focus,v=a.focusMonthBefore,g=a.focusMonthAfter,m=a.focusYearBefore,b=a.focusYearAfter,w=a.focusStartOfWeek,x=a.focusEndOfWeek,S=function(V){var B,q,Y,ue;Yw(n)?(B=r.onDayClick)===null||B===void 0||B.call(r,e,t,V):Tg(n)?(q=i.onDayClick)===null||q===void 0||q.call(i,e,t,V):Mg(n)?(Y=o.onDayClick)===null||Y===void 0||Y.call(o,e,t,V):(ue=n.onDayClick)===null||ue===void 0||ue.call(n,e,t,V)},A=function(V){var B;h(e),(B=n.onDayFocus)===null||B===void 0||B.call(n,e,t,V)},E=function(V){var B;d(),(B=n.onDayBlur)===null||B===void 0||B.call(n,e,t,V)},C=function(V){var B;(B=n.onDayMouseEnter)===null||B===void 0||B.call(n,e,t,V)},T=function(V){var B;(B=n.onDayMouseLeave)===null||B===void 0||B.call(n,e,t,V)},M=function(V){var B;(B=n.onDayPointerEnter)===null||B===void 0||B.call(n,e,t,V)},F=function(V){var B;(B=n.onDayPointerLeave)===null||B===void 0||B.call(n,e,t,V)},U=function(V){var B;(B=n.onDayTouchCancel)===null||B===void 0||B.call(n,e,t,V)},H=function(V){var B;(B=n.onDayTouchEnd)===null||B===void 0||B.call(n,e,t,V)},W=function(V){var B;(B=n.onDayTouchMove)===null||B===void 0||B.call(n,e,t,V)},ie=function(V){var B;(B=n.onDayTouchStart)===null||B===void 0||B.call(n,e,t,V)},Z=function(V){var B;(B=n.onDayKeyUp)===null||B===void 0||B.call(n,e,t,V)},G=function(V){var B;switch(V.key){case"ArrowLeft":V.preventDefault(),V.stopPropagation(),n.dir==="rtl"?u():s();break;case"ArrowRight":V.preventDefault(),V.stopPropagation(),n.dir==="rtl"?s():u();break;case"ArrowDown":V.preventDefault(),V.stopPropagation(),l();break;case"ArrowUp":V.preventDefault(),V.stopPropagation(),c();break;case"PageUp":V.preventDefault(),V.stopPropagation(),V.shiftKey?m():v();break;case"PageDown":V.preventDefault(),V.stopPropagation(),V.shiftKey?b():g();break;case"Home":V.preventDefault(),V.stopPropagation(),w();break;case"End":V.preventDefault(),V.stopPropagation(),x();break}(B=n.onDayKeyDown)===null||B===void 0||B.call(n,e,t,V)},K={onClick:S,onFocus:A,onBlur:E,onKeyDown:G,onKeyUp:Z,onMouseEnter:C,onMouseLeave:T,onPointerEnter:M,onPointerLeave:F,onTouchCancel:U,onTouchEnd:H,onTouchMove:W,onTouchStart:ie};return K}function yBe(){var e=Hn(),t=Jq(),n=wO(),r=SO(),i=Yw(e)?t.selected:Tg(e)?n.selected:Mg(e)?r.selected:void 0;return i}function bBe(e){return Object.values(Xa).includes(e)}function xBe(e,t){var n=[e.classNames.day];return Object.keys(t).forEach(function(r){var i=e.modifiersClassNames[r];if(i)n.push(i);else if(bBe(r)){var o=e.classNames["day_".concat(r)];o&&n.push(o)}}),n}function wBe(e,t){var n=Rt({},e.styles.day);return Object.keys(t).forEach(function(r){var i;n=Rt(Rt({},n),(i=e.modifiersStyles)===null||i===void 0?void 0:i[r])}),n}function _Be(e,t,n){var r,i,o,a=Hn(),u=EO(),s=pBe(e,t),l=mBe(e,s),c=yBe(),d=!!(a.onDayClick||a.mode!=="default");y.useEffect(function(){var C;s.outside||u.focusedDay&&d&&ao(u.focusedDay,e)&&((C=n.current)===null||C===void 0||C.focus())},[u.focusedDay,e,n,d,s.outside]);var h=xBe(a,s).join(" "),v=wBe(a,s),g=!!(s.outside&&!a.showOutsideDays||s.hidden),m=(o=(i=a.components)===null||i===void 0?void 0:i.DayContent)!==null&&o!==void 0?o:Wje,b=I.jsx(m,{date:e,displayMonth:t,activeModifiers:s}),w={style:v,className:h,children:b,role:"gridcell"},x=u.focusTarget&&ao(u.focusTarget,e)&&!s.outside,S=u.focusedDay&&ao(u.focusedDay,e),A=Rt(Rt(Rt({},w),(r={disabled:s.disabled,role:"gridcell"},r["aria-selected"]=s.selected,r.tabIndex=S||x?0:-1,r)),l),E={isButton:d,isHidden:g,activeModifiers:s,selectedDays:c,buttonProps:A,divProps:w};return E}function SBe(e){var t=y.useRef(null),n=_Be(e.date,e.displayMonth,t);return n.isHidden?I.jsx("div",{role:"gridcell"}):n.isButton?I.jsx(Xb,Rt({name:"day",ref:t},n.buttonProps)):I.jsx("div",Rt({},n.divProps))}function CBe(e){var t=e.number,n=e.dates,r=Hn(),i=r.onWeekNumberClick,o=r.styles,a=r.classNames,u=r.locale,s=r.labels.labelWeekNumber,l=r.formatters.formatWeekNumber,c=l(Number(t),{locale:u});if(!i)return I.jsx("span",{className:a.weeknumber,style:o.weeknumber,children:c});var d=s(Number(t),{locale:u}),h=function(v){i(t,n,v)};return I.jsx(Xb,{name:"week-number","aria-label":d,className:a.weeknumber,style:o.weeknumber,onClick:h,children:c})}function EBe(e){var t,n,r=Hn(),i=r.styles,o=r.classNames,a=r.showWeekNumber,u=r.components,s=(t=u?.Day)!==null&&t!==void 0?t:SBe,l=(n=u?.WeekNumber)!==null&&n!==void 0?n:CBe,c;return a&&(c=I.jsx("td",{className:o.cell,style:i.cell,children:I.jsx(l,{number:e.weekNumber,dates:e.dates})})),I.jsxs("tr",{className:o.row,style:i.row,children:[c,e.dates.map(function(d){return I.jsx("td",{className:o.cell,style:i.cell,role:"presentation",children:I.jsx(s,{displayMonth:e.displayMonth,date:d})},uLe(d))})]})}function L$(e,t,n){for(var r=n?.ISOWeek?uq(t):gO(t,n),i=n?.ISOWeek?ef(e):ma(e,n),o=gu(r,i),a=[],u=0;u<=o;u++)a.push(Ui(i,u));var s=a.reduce(function(l,c){var d=n?.ISOWeek?cq(c):dq(c,n),h=l.find(function(v){return v.weekNumber===d});return h?(h.dates.push(c),l):(l.push({weekNumber:d,dates:[c]}),l)},[]);return s}function ABe(e,t){var n=L$(ho(e),vO(e),t);if(t?.useFixedWeeks){var r=lLe(e,t);if(r<6){var i=n[n.length-1],o=i.dates[i.dates.length-1],a=k6(o,6-r),u=L$(k6(o,1),a,t);n.push.apply(n,u)}}return n}function PBe(e){var t,n,r,i=Hn(),o=i.locale,a=i.classNames,u=i.styles,s=i.hideHead,l=i.fixedWeeks,c=i.components,d=i.weekStartsOn,h=i.firstWeekContainsDate,v=i.ISOWeek,g=ABe(e.displayMonth,{useFixedWeeks:!!l,ISOWeek:v,locale:o,weekStartsOn:d,firstWeekContainsDate:h}),m=(t=c?.Head)!==null&&t!==void 0?t:Uje,b=(n=c?.Row)!==null&&n!==void 0?n:EBe,w=(r=c?.Footer)!==null&&r!==void 0?r:jje;return I.jsxs("table",{id:e.id,className:a.table,style:u.table,role:"grid","aria-labelledby":e["aria-labelledby"],children:[!s&&I.jsx(m,{}),I.jsx("tbody",{className:a.tbody,style:u.tbody,children:g.map(function(x){return I.jsx(b,{displayMonth:e.displayMonth,dates:x.dates,weekNumber:x.weekNumber},x.weekNumber)})}),I.jsx(w,{displayMonth:e.displayMonth})]})}function OBe(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var kBe=OBe()?y.useLayoutEffect:y.useEffect,XS=!1,TBe=0;function j$(){return"react-day-picker-".concat(++TBe)}function MBe(e){var t,n=e??(XS?j$():null),r=y.useState(n),i=r[0],o=r[1];return kBe(function(){i===null&&o(j$())},[]),y.useEffect(function(){XS===!1&&(XS=!0)},[]),(t=e??i)!==null&&t!==void 0?t:void 0}function RBe(e){var t,n,r=Hn(),i=r.dir,o=r.classNames,a=r.styles,u=r.components,s=Rg().displayMonths,l=MBe(r.id?"".concat(r.id,"-").concat(e.displayIndex):void 0),c=r.id?"".concat(r.id,"-grid-").concat(e.displayIndex):void 0,d=[o.month],h=a.month,v=e.displayIndex===0,g=e.displayIndex===s.length-1,m=!v&&!g;i==="rtl"&&(t=[v,g],g=t[0],v=t[1]),v&&(d.push(o.caption_start),h=Rt(Rt({},h),a.caption_start)),g&&(d.push(o.caption_end),h=Rt(Rt({},h),a.caption_end)),m&&(d.push(o.caption_between),h=Rt(Rt({},h),a.caption_between));var b=(n=u?.Caption)!==null&&n!==void 0?n:Lje;return I.jsxs("div",{className:d.join(" "),style:h,children:[I.jsx(b,{id:l,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),I.jsx(PBe,{id:c,"aria-labelledby":l,displayMonth:e.displayMonth})]},e.displayIndex)}function DBe(e){var t=Hn(),n=t.classNames,r=t.styles;return I.jsx("div",{className:n.months,style:r.months,children:e.children})}function $Be(e){var t,n,r=e.initialProps,i=Hn(),o=EO(),a=Rg(),u=y.useState(!1),s=u[0],l=u[1];y.useEffect(function(){i.initialFocus&&o.focusTarget&&(s||(o.focus(o.focusTarget),l(!0)))},[i.initialFocus,s,o.focus,o.focusTarget,o]);var c=[i.classNames.root,i.className];i.numberOfMonths>1&&c.push(i.classNames.multiple_months),i.showWeekNumber&&c.push(i.classNames.with_weeknumber);var d=Rt(Rt({},i.styles.root),i.style),h=Object.keys(r).filter(function(g){return g.startsWith("data-")}).reduce(function(g,m){var b;return Rt(Rt({},g),(b={},b[m]=r[m],b))},{}),v=(n=(t=r.components)===null||t===void 0?void 0:t.Months)!==null&&n!==void 0?n:DBe;return I.jsx("div",Rt({className:c.join(" "),style:d,dir:i.dir,id:i.id,nonce:r.nonce,title:r.title,lang:r.lang},h,{children:I.jsx(v,{children:a.displayMonths.map(function(g,m){return I.jsx(RBe,{displayIndex:m,displayMonth:g},m)})})}))}function IBe(e){var t=e.children,n=oje(e,["children"]);return I.jsx(Cje,{initialProps:n,children:I.jsx($je,{children:I.jsx(vBe,{initialProps:n,children:I.jsx(Vje,{initialProps:n,children:I.jsx(Kje,{initialProps:n,children:I.jsx(tBe,{children:I.jsx(hBe,{children:t})})})})})})})}function WYe(e){return I.jsx(IBe,Rt({},e,{children:I.jsx($Be,{initialProps:e})}))}var PO="Popover",[eK,VYe]=mi(PO,[Fl]),Dg=Fl(),[NBe,Hl]=eK(PO),tK=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:a=!1}=e,u=Dg(t),s=y.useRef(null),[l,c]=y.useState(!1),[d=!1,h]=Ga({prop:r,defaultProp:i,onChange:o});return I.jsx(Ux,{...u,children:I.jsx(NBe,{scope:t,contentId:No(),triggerRef:s,open:d,onOpenChange:h,onOpenToggle:y.useCallback(()=>h(v=>!v),[h]),hasCustomAnchor:l,onCustomAnchorAdd:y.useCallback(()=>c(!0),[]),onCustomAnchorRemove:y.useCallback(()=>c(!1),[]),modal:a,children:n})})};tK.displayName=PO;var nK="PopoverAnchor",FBe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Hl(nK,n),o=Dg(n),{onCustomAnchorAdd:a,onCustomAnchorRemove:u}=i;return y.useEffect(()=>(a(),()=>u()),[a,u]),I.jsx(vg,{...o,...r,ref:t})});FBe.displayName=nK;var rK="PopoverTrigger",iK=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Hl(rK,n),o=Dg(n),a=Kt(t,i.triggerRef),u=I.jsx(pt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":lK(i.open),...r,ref:a,onClick:Ye(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?u:I.jsx(vg,{asChild:!0,...o,children:u})});iK.displayName=rK;var OO="PopoverPortal",[LBe,jBe]=eK(OO,{forceMount:void 0}),oK=e=>{const{__scopePopover:t,forceMount:n,children:r,container:i}=e,o=Hl(OO,t);return I.jsx(LBe,{scope:t,forceMount:n,children:I.jsx(ii,{present:n||o.open,children:I.jsx(cg,{asChild:!0,container:i,children:r})})})};oK.displayName=OO;var mh="PopoverContent",aK=y.forwardRef((e,t)=>{const n=jBe(mh,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,o=Hl(mh,e.__scopePopover);return I.jsx(ii,{present:r||o.open,children:o.modal?I.jsx(BBe,{...i,ref:t}):I.jsx(zBe,{...i,ref:t})})});aK.displayName=mh;var BBe=y.forwardRef((e,t)=>{const n=Hl(mh,e.__scopePopover),r=y.useRef(null),i=Kt(t,r),o=y.useRef(!1);return y.useEffect(()=>{const a=r.current;if(a)return dg(a)},[]),I.jsx(fg,{as:Sl,allowPinchZoom:!0,children:I.jsx(uK,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ye(e.onCloseAutoFocus,a=>{a.preventDefault(),o.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Ye(e.onPointerDownOutside,a=>{const u=a.detail.originalEvent,s=u.button===0&&u.ctrlKey===!0,l=u.button===2||s;o.current=l},{checkForDefaultPrevented:!1}),onFocusOutside:Ye(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),zBe=y.forwardRef((e,t)=>{const n=Hl(mh,e.__scopePopover),r=y.useRef(!1),i=y.useRef(!1);return I.jsx(uK,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(r.current||n.triggerRef.current?.focus(),o.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const a=o.target;n.triggerRef.current?.contains(a)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),uK=y.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:a,onEscapeKeyDown:u,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:c,...d}=e,h=Hl(mh,n),v=Dg(n);return Lx(),I.jsx(lg,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:I.jsx(kh,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:c,onEscapeKeyDown:u,onPointerDownOutside:s,onFocusOutside:l,onDismiss:()=>h.onOpenChange(!1),children:I.jsx(Wx,{"data-state":lK(h.open),role:"dialog",id:h.contentId,...v,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),sK="PopoverClose",UBe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Hl(sK,n);return I.jsx(pt.button,{type:"button",...r,ref:t,onClick:Ye(e.onClick,()=>i.onOpenChange(!1))})});UBe.displayName=sK;var WBe="PopoverArrow",VBe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Dg(n);return I.jsx(Vx,{...i,...r,ref:t})});VBe.displayName=WBe;function lK(e){return e?"open":"closed"}var HYe=tK,qYe=iK,KYe=oK,GYe=aK,Qb={exports:{}};/** +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HH(e,t){if(e){if(typeof e=="string")return P6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return P6(e,t)}}function zNe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function UNe(e){if(Array.isArray(e))return P6(e)}function P6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?a:t&&t.length&&Ke(i)&&Ke(o)?t.slice(i,o+1):[]};function GH(e){return e==="number"?[0,"auto"]:void 0}var O6=function(t,n,r,i){var o=t.graphicalItems,a=t.tooltipAxis,u=Hw(n,t);return r<0||!o||!o.length||r>=u.length?null:o.reduce(function(s,l){var c,d=(c=l.props.data)!==null&&c!==void 0?c:n;d&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(a.dataKey&&!a.allowDuplicatedCategory){var v=d===void 0?u:d;h=G1(v,a.dataKey,i)}else h=d&&d[r]||u[r];return h?[].concat(gh(s),[NV(l,h)]):s},[])},A$=function(t,n,r,i){var o=i||{x:t.chartX,y:t.chartY},a=qNe(o,r),u=t.orderedTooltipTicks,s=t.tooltipAxis,l=t.tooltipTicks,c=Gke(a,u,l,s);if(c>=0&&l){var d=l[c]&&l[c].value,h=O6(t,n,c,d),v=KNe(r,u,c,o);return{activeTooltipIndex:c,activeLabel:d,activePayload:h,activeCoordinate:v}}return null},GNe=function(t,n){var r=n.axes,i=n.graphicalItems,o=n.axisType,a=n.axisIdKey,u=n.stackGroups,s=n.dataStartIndex,l=n.dataEndIndex,c=t.layout,d=t.children,h=t.stackOffset,v=DV(c,o);return r.reduce(function(g,m){var b,w=m.type.defaultProps!==void 0?Ee(Ee({},m.type.defaultProps),m.props):m.props,x=w.type,S=w.dataKey,A=w.allowDataOverflow,E=w.allowDuplicatedCategory,C=w.scale,T=w.ticks,M=w.includeHidden,F=w[a];if(g[F])return g;var U=Hw(t.data,{graphicalItems:i.filter(function(Q){var J,se=a in Q.props?Q.props[a]:(J=Q.type.defaultProps)===null||J===void 0?void 0:J[a];return se===F}),dataStartIndex:s,dataEndIndex:l}),H=U.length,W,ie,Z;xNe(w.domain,A,x)&&(W=zE(w.domain,null,A),v&&(x==="number"||C!=="auto")&&(Z=h0(U,S,"category")));var G=GH(x);if(!W||W.length===0){var K,V=(K=w.domain)!==null&&K!==void 0?K:G;if(S){if(W=h0(U,S,x),x==="category"&&v){var B=Nxe(W);E&&B?(ie=W,W=Rb(0,H)):E||(W=e7(V,W,m).reduce(function(Q,J){return Q.indexOf(J)>=0?Q:[].concat(gh(Q),[J])},[]))}else if(x==="category")E?W=W.filter(function(Q){return Q!==""&&!zt(Q)}):W=e7(V,W,m).reduce(function(Q,J){return Q.indexOf(J)>=0||J===""||zt(J)?Q:[].concat(gh(Q),[J])},[]);else if(x==="number"){var q=Jke(U,i.filter(function(Q){var J,se,de=a in Q.props?Q.props[a]:(J=Q.type.defaultProps)===null||J===void 0?void 0:J[a],Se="hide"in Q.props?Q.props.hide:(se=Q.type.defaultProps)===null||se===void 0?void 0:se.hide;return de===F&&(M||!Se)}),S,o,c);q&&(W=q)}v&&(x==="number"||C!=="auto")&&(Z=h0(U,S,"category"))}else v?W=Rb(0,H):u&&u[F]&&u[F].hasStack&&x==="number"?W=h==="expand"?[0,1]:IV(u[F].stackGroups,s,l):W=RV(U,i.filter(function(Q){var J=a in Q.props?Q.props[a]:Q.type.defaultProps[a],se="hide"in Q.props?Q.props.hide:Q.type.defaultProps.hide;return J===F&&(M||!se)}),x,c,!0);if(x==="number")W=E6(d,W,F,o,T),V&&(W=zE(V,W,A));else if(x==="category"&&V){var Y=V,ue=W.every(function(Q){return Y.indexOf(Q)>=0});ue&&(W=Y)}}return Ee(Ee({},g),{},kt({},F,Ee(Ee({},w),{},{axisType:o,domain:W,categoricalDomain:Z,duplicateDomain:ie,originalDomain:(b=w.domain)!==null&&b!==void 0?b:G,isCategorical:v,layout:c})))},{})},YNe=function(t,n){var r=n.graphicalItems,i=n.Axis,o=n.axisType,a=n.axisIdKey,u=n.stackGroups,s=n.dataStartIndex,l=n.dataEndIndex,c=t.layout,d=t.children,h=Hw(t.data,{graphicalItems:r,dataStartIndex:s,dataEndIndex:l}),v=h.length,g=DV(c,o),m=-1;return r.reduce(function(b,w){var x=w.type.defaultProps!==void 0?Ee(Ee({},w.type.defaultProps),w.props):w.props,S=x[a],A=GH("number");if(!b[S]){m++;var E;return g?E=Rb(0,v):u&&u[S]&&u[S].hasStack?(E=IV(u[S].stackGroups,s,l),E=E6(d,E,S,o)):(E=zE(A,RV(h,r.filter(function(C){var T,M,F=a in C.props?C.props[a]:(T=C.type.defaultProps)===null||T===void 0?void 0:T[a],U="hide"in C.props?C.props.hide:(M=C.type.defaultProps)===null||M===void 0?void 0:M.hide;return F===S&&!U}),"number",c),i.defaultProps.allowDataOverflow),E=E6(d,E,S,o)),Ee(Ee({},b),{},kt({},S,Ee(Ee({axisType:o},i.defaultProps),{},{hide:!0,orientation:da(VNe,"".concat(o,".").concat(m%2),null),domain:E,originalDomain:A,isCategorical:g,layout:c})))}return b},{})},ZNe=function(t,n){var r=n.axisType,i=r===void 0?"xAxis":r,o=n.AxisComp,a=n.graphicalItems,u=n.stackGroups,s=n.dataStartIndex,l=n.dataEndIndex,c=t.children,d="".concat(i,"Id"),h=fo(c,o),v={};return h.length?v=GNe(t,{axes:h,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:u,dataStartIndex:s,dataEndIndex:l}):a&&a.length&&(v=YNe(t,{Axis:o,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:u,dataStartIndex:s,dataEndIndex:l})),v},XNe=function(t){var n=Js(t),r=rs(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:EP(r,function(i){return i.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Sb(n,r)}},P$=function(t){var n=t.children,r=t.defaultShowTooltip,i=Oo(n,rh),o=0,a=0;return t.data&&t.data.length!==0&&(a=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(o=i.props.startIndex),i.props.endIndex>=0&&(a=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:o,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!r}},QNe=function(t){return!t||!t.length?!1:t.some(function(n){var r=us(n&&n.type);return r&&r.indexOf("Bar")>=0})},O$=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},JNe=function(t,n){var r=t.props,i=t.graphicalItems,o=t.xAxisMap,a=o===void 0?{}:o,u=t.yAxisMap,s=u===void 0?{}:u,l=r.width,c=r.height,d=r.children,h=r.margin||{},v=Oo(d,rh),g=Oo(d,Ad),m=Object.keys(s).reduce(function(E,C){var T=s[C],M=T.orientation;return!T.mirror&&!T.hide?Ee(Ee({},E),{},kt({},M,E[M]+T.width)):E},{left:h.left||0,right:h.right||0}),b=Object.keys(a).reduce(function(E,C){var T=a[C],M=T.orientation;return!T.mirror&&!T.hide?Ee(Ee({},E),{},kt({},M,da(E,"".concat(M))+T.height)):E},{top:h.top||0,bottom:h.bottom||0}),w=Ee(Ee({},b),m),x=w.bottom;v&&(w.bottom+=v.props.height||rh.defaultProps.height),g&&n&&(w=Xke(w,i,r,n));var S=l-w.left-w.right,A=c-w.top-w.bottom;return Ee(Ee({brushBottom:x},w),{},{width:Math.max(S,0),height:Math.max(A,0)})},eFe=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},tFe=function(t){var n=t.chartName,r=t.GraphicalChild,i=t.defaultTooltipEventType,o=i===void 0?"axis":i,a=t.validateTooltipEventTypes,u=a===void 0?["axis"]:a,s=t.axisComponents,l=t.legendContent,c=t.formatAxisMap,d=t.defaultProps,h=function(w,x){var S=x.graphicalItems,A=x.stackGroups,E=x.offset,C=x.updateId,T=x.dataStartIndex,M=x.dataEndIndex,F=w.barSize,U=w.layout,H=w.barGap,W=w.barCategoryGap,ie=w.maxBarSize,Z=O$(U),G=Z.numericAxisName,K=Z.cateAxisName,V=QNe(S),B=[];return S.forEach(function(q,Y){var ue=Hw(w.data,{graphicalItems:[q],dataStartIndex:T,dataEndIndex:M}),Q=q.type.defaultProps!==void 0?Ee(Ee({},q.type.defaultProps),q.props):q.props,J=Q.dataKey,se=Q.maxBarSize,de=Q["".concat(G,"Id")],Se=Q["".concat(K,"Id")],ge={},Ze=s.reduce(function(Ue,je){var ke=x["".concat(je.axisType,"Map")],nt=Q["".concat(je.axisType,"Id")];ke&&ke[nt]||je.axisType==="zAxis"||Qc();var gt=ke[nt];return Ee(Ee({},Ue),{},kt(kt({},je.axisType,gt),"".concat(je.axisType,"Ticks"),rs(gt)))},ge),Pe=Ze[K],Fe=Ze["".concat(K,"Ticks")],$e=A&&A[de]&&A[de].hasStack&&fTe(q,A[de].stackGroups),be=us(q.type).indexOf("Bar")>=0,yt=Sb(Pe,Fe),lt=[],It=V&&Yke({barSize:F,stackGroups:A,totalSize:eFe(Ze,K)});if(be){var mn,en,re=zt(se)?ie:se,pe=(mn=(en=Sb(Pe,Fe,!0))!==null&&en!==void 0?en:re)!==null&&mn!==void 0?mn:0;lt=Zke({barGap:H,barCategoryGap:W,bandSize:pe!==yt?pe:yt,sizeList:It[Se],maxBarSize:re}),pe!==yt&&(lt=lt.map(function(Ue){return Ee(Ee({},Ue),{},{position:Ee(Ee({},Ue.position),{},{offset:Ue.position.offset-pe/2})})}))}var ye=q&&q.type&&q.type.getComposedData;ye&&B.push({props:Ee(Ee({},ye(Ee(Ee({},Ze),{},{displayedData:ue,props:w,dataKey:J,item:q,bandSize:yt,barPosition:lt,offset:E,stackedData:$e,layout:U,dataStartIndex:T,dataEndIndex:M}))),{},kt(kt(kt({key:q.key||"item-".concat(Y)},G,Ze[G]),K,Ze[K]),"animationId",C)),childIndex:Gxe(q,w.children),item:q})}),B},v=function(w,x){var S=w.props,A=w.dataStartIndex,E=w.dataEndIndex,C=w.updateId;if(!GR({props:S}))return null;var T=S.children,M=S.layout,F=S.stackOffset,U=S.data,H=S.reverseStackOrder,W=O$(M),ie=W.numericAxisName,Z=W.cateAxisName,G=fo(T,r),K=sTe(U,G,"".concat(ie,"Id"),"".concat(Z,"Id"),F,H),V=s.reduce(function(Q,J){var se="".concat(J.axisType,"Map");return Ee(Ee({},Q),{},kt({},se,ZNe(S,Ee(Ee({},J),{},{graphicalItems:G,stackGroups:J.axisType===ie&&K,dataStartIndex:A,dataEndIndex:E}))))},{}),B=JNe(Ee(Ee({},V),{},{props:S,graphicalItems:G}),x?.legendBBox);Object.keys(V).forEach(function(Q){V[Q]=c(S,V[Q],B,Q.replace("Map",""),n)});var q=V["".concat(Z,"Map")],Y=XNe(q),ue=h(S,Ee(Ee({},V),{},{dataStartIndex:A,dataEndIndex:E,updateId:C,graphicalItems:G,stackGroups:K,offset:B}));return Ee(Ee({formattedGraphicalItems:ue,graphicalItems:G,offset:B,stackGroups:K},Y),V)},g=function(b){function w(x){var S,A,E;return DNe(this,w),E=NNe(this,w,[x]),kt(E,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),kt(E,"accessibilityManager",new bNe),kt(E,"handleLegendBBoxUpdate",function(C){if(C){var T=E.state,M=T.dataStartIndex,F=T.dataEndIndex,U=T.updateId;E.setState(Ee({legendBBox:C},v({props:E.props,dataStartIndex:M,dataEndIndex:F,updateId:U},Ee(Ee({},E.state),{},{legendBBox:C}))))}}),kt(E,"handleReceiveSyncEvent",function(C,T,M){if(E.props.syncId===C){if(M===E.eventEmitterSymbol&&typeof E.props.syncMethod!="function")return;E.applySyncEvent(T)}}),kt(E,"handleBrushChange",function(C){var T=C.startIndex,M=C.endIndex;if(T!==E.state.dataStartIndex||M!==E.state.dataEndIndex){var F=E.state.updateId;E.setState(function(){return Ee({dataStartIndex:T,dataEndIndex:M},v({props:E.props,dataStartIndex:T,dataEndIndex:M,updateId:F},E.state))}),E.triggerSyncEvent({dataStartIndex:T,dataEndIndex:M})}}),kt(E,"handleMouseEnter",function(C){var T=E.getMouseInfo(C);if(T){var M=Ee(Ee({},T),{},{isTooltipActive:!0});E.setState(M),E.triggerSyncEvent(M);var F=E.props.onMouseEnter;Wt(F)&&F(M,C)}}),kt(E,"triggeredAfterMouseMove",function(C){var T=E.getMouseInfo(C),M=T?Ee(Ee({},T),{},{isTooltipActive:!0}):{isTooltipActive:!1};E.setState(M),E.triggerSyncEvent(M);var F=E.props.onMouseMove;Wt(F)&&F(M,C)}),kt(E,"handleItemMouseEnter",function(C){E.setState(function(){return{isTooltipActive:!0,activeItem:C,activePayload:C.tooltipPayload,activeCoordinate:C.tooltipPosition||{x:C.cx,y:C.cy}}})}),kt(E,"handleItemMouseLeave",function(){E.setState(function(){return{isTooltipActive:!1}})}),kt(E,"handleMouseMove",function(C){C.persist(),E.throttleTriggeredAfterMouseMove(C)}),kt(E,"handleMouseLeave",function(C){E.throttleTriggeredAfterMouseMove.cancel();var T={isTooltipActive:!1};E.setState(T),E.triggerSyncEvent(T);var M=E.props.onMouseLeave;Wt(M)&&M(T,C)}),kt(E,"handleOuterEvent",function(C){var T=Kxe(C),M=da(E.props,"".concat(T));if(T&&Wt(M)){var F,U;/.*touch.*/i.test(T)?U=E.getMouseInfo(C.changedTouches[0]):U=E.getMouseInfo(C),M((F=U)!==null&&F!==void 0?F:{},C)}}),kt(E,"handleClick",function(C){var T=E.getMouseInfo(C);if(T){var M=Ee(Ee({},T),{},{isTooltipActive:!0});E.setState(M),E.triggerSyncEvent(M);var F=E.props.onClick;Wt(F)&&F(M,C)}}),kt(E,"handleMouseDown",function(C){var T=E.props.onMouseDown;if(Wt(T)){var M=E.getMouseInfo(C);T(M,C)}}),kt(E,"handleMouseUp",function(C){var T=E.props.onMouseUp;if(Wt(T)){var M=E.getMouseInfo(C);T(M,C)}}),kt(E,"handleTouchMove",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.throttleTriggeredAfterMouseMove(C.changedTouches[0])}),kt(E,"handleTouchStart",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.handleMouseDown(C.changedTouches[0])}),kt(E,"handleTouchEnd",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.handleMouseUp(C.changedTouches[0])}),kt(E,"handleDoubleClick",function(C){var T=E.props.onDoubleClick;if(Wt(T)){var M=E.getMouseInfo(C);T(M,C)}}),kt(E,"handleContextMenu",function(C){var T=E.props.onContextMenu;if(Wt(T)){var M=E.getMouseInfo(C);T(M,C)}}),kt(E,"triggerSyncEvent",function(C){E.props.syncId!==void 0&&WS.emit(VS,E.props.syncId,C,E.eventEmitterSymbol)}),kt(E,"applySyncEvent",function(C){var T=E.props,M=T.layout,F=T.syncMethod,U=E.state.updateId,H=C.dataStartIndex,W=C.dataEndIndex;if(C.dataStartIndex!==void 0||C.dataEndIndex!==void 0)E.setState(Ee({dataStartIndex:H,dataEndIndex:W},v({props:E.props,dataStartIndex:H,dataEndIndex:W,updateId:U},E.state)));else if(C.activeTooltipIndex!==void 0){var ie=C.chartX,Z=C.chartY,G=C.activeTooltipIndex,K=E.state,V=K.offset,B=K.tooltipTicks;if(!V)return;if(typeof F=="function")G=F(B,C);else if(F==="value"){G=-1;for(var q=0;q=0){var $e,be;if(ie.dataKey&&!ie.allowDuplicatedCategory){var yt=typeof ie.dataKey=="function"?Fe:"payload.".concat(ie.dataKey.toString());$e=G1(q,yt,G),be=Y&&ue&&G1(ue,yt,G)}else $e=q?.[Z],be=Y&&ue&&ue[Z];if(Se||de){var lt=C.props.activeIndex!==void 0?C.props.activeIndex:Z;return[y.cloneElement(C,Ee(Ee(Ee({},F.props),Ze),{},{activeIndex:lt})),null,null]}if(!zt($e))return[Pe].concat(gh(E.renderActivePoints({item:F,activePoint:$e,basePoint:be,childIndex:Z,isRange:Y})))}else{var It,mn=(It=E.getItemByXY(E.state.activeCoordinate))!==null&&It!==void 0?It:{graphicalItem:Pe},en=mn.graphicalItem,re=en.item,pe=re===void 0?C:re,ye=en.childIndex,Ue=Ee(Ee(Ee({},F.props),Ze),{},{activeIndex:ye});return[y.cloneElement(pe,Ue),null,null]}return Y?[Pe,null,null]:[Pe,null]}),kt(E,"renderCustomized",function(C,T,M){return y.cloneElement(C,Ee(Ee({key:"recharts-customized-".concat(M)},E.props),E.state))}),kt(E,"renderMap",{CartesianGrid:{handler:dy,once:!0},ReferenceArea:{handler:E.renderReferenceElement},ReferenceLine:{handler:dy},ReferenceDot:{handler:E.renderReferenceElement},XAxis:{handler:dy},YAxis:{handler:dy},Brush:{handler:E.renderBrush,once:!0},Bar:{handler:E.renderGraphicChild},Line:{handler:E.renderGraphicChild},Area:{handler:E.renderGraphicChild},Radar:{handler:E.renderGraphicChild},RadialBar:{handler:E.renderGraphicChild},Scatter:{handler:E.renderGraphicChild},Pie:{handler:E.renderGraphicChild},Funnel:{handler:E.renderGraphicChild},Tooltip:{handler:E.renderCursor,once:!0},PolarGrid:{handler:E.renderPolarGrid,once:!0},PolarAngleAxis:{handler:E.renderPolarAxis},PolarRadiusAxis:{handler:E.renderPolarAxis},Customized:{handler:E.renderCustomized}}),E.clipPathId="".concat((S=x.id)!==null&&S!==void 0?S:df("recharts"),"-clip"),E.throttleTriggeredAfterMouseMove=TW(E.triggeredAfterMouseMove,(A=x.throttleDelay)!==null&&A!==void 0?A:1e3/60),E.state={},E}return jNe(w,b),INe(w,[{key:"componentDidMount",value:function(){var S,A;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(S=this.props.margin.left)!==null&&S!==void 0?S:0,top:(A=this.props.margin.top)!==null&&A!==void 0?A:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var S=this.props,A=S.children,E=S.data,C=S.height,T=S.layout,M=Oo(A,Yu);if(M){var F=M.props.defaultIndex;if(!(typeof F!="number"||F<0||F>this.state.tooltipTicks.length-1)){var U=this.state.tooltipTicks[F]&&this.state.tooltipTicks[F].value,H=O6(this.state,E,F,U),W=this.state.tooltipTicks[F].coordinate,ie=(this.state.offset.top+C)/2,Z=T==="horizontal",G=Z?{x:W,y:ie}:{y:W,x:ie},K=this.state.formattedGraphicalItems.find(function(B){var q=B.item;return q.type.name==="Scatter"});K&&(G=Ee(Ee({},G),K.props.points[F].tooltipPosition),H=K.props.points[F].tooltipPayload);var V={activeTooltipIndex:F,isTooltipActive:!0,activeLabel:U,activePayload:H,activeCoordinate:G};this.setState(V),this.renderCursor(M),this.accessibilityManager.setIndex(F)}}}},{key:"getSnapshotBeforeUpdate",value:function(S,A){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==A.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==S.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==S.margin){var E,C;this.accessibilityManager.setDetails({offset:{left:(E=this.props.margin.left)!==null&&E!==void 0?E:0,top:(C=this.props.margin.top)!==null&&C!==void 0?C:0}})}return null}},{key:"componentDidUpdate",value:function(S){nE([Oo(S.children,Yu)],[Oo(this.props.children,Yu)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var S=Oo(this.props.children,Yu);if(S&&typeof S.props.shared=="boolean"){var A=S.props.shared?"axis":"item";return u.indexOf(A)>=0?A:o}return o}},{key:"getMouseInfo",value:function(S){if(!this.container)return null;var A=this.container,E=A.getBoundingClientRect(),C=xPe(E),T={chartX:Math.round(S.pageX-C.left),chartY:Math.round(S.pageY-C.top)},M=E.width/A.offsetWidth||1,F=this.inRange(T.chartX,T.chartY,M);if(!F)return null;var U=this.state,H=U.xAxisMap,W=U.yAxisMap,ie=this.getTooltipEventType();if(ie!=="axis"&&H&&W){var Z=Js(H).scale,G=Js(W).scale,K=Z&&Z.invert?Z.invert(T.chartX):null,V=G&&G.invert?G.invert(T.chartY):null;return Ee(Ee({},T),{},{xValue:K,yValue:V})}var B=A$(this.state,this.props.data,this.props.layout,F);return B?Ee(Ee({},T),B):null}},{key:"inRange",value:function(S,A){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,C=this.props.layout,T=S/E,M=A/E;if(C==="horizontal"||C==="vertical"){var F=this.state.offset,U=T>=F.left&&T<=F.left+F.width&&M>=F.top&&M<=F.top+F.height;return U?{x:T,y:M}:null}var H=this.state,W=H.angleAxisMap,ie=H.radiusAxisMap;if(W&&ie){var Z=Js(W);return r7({x:T,y:M},Z)}return null}},{key:"parseEventsOfWrapper",value:function(){var S=this.props.children,A=this.getTooltipEventType(),E=Oo(S,Yu),C={};E&&A==="axis"&&(E.props.trigger==="click"?C={onClick:this.handleClick}:C={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var T=Y1(this.props,this.handleOuterEvent);return Ee(Ee({},T),C)}},{key:"addListener",value:function(){WS.on(VS,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){WS.removeListener(VS,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(S,A,E){for(var C=this.state.formattedGraphicalItems,T=0,M=C.length;T{const{__scopeTabs:n,value:r,onValueChange:i,defaultValue:o,orientation:a="horizontal",dir:u,activationMode:s="automatic",...l}=e,c=hg(u),[d,h]=Ga({prop:r,onChange:i,defaultProp:o});return I.jsx(rFe,{scope:n,baseId:No(),value:d,onValueChange:h,orientation:a,dir:c,activationMode:s,children:I.jsx(pt.div,{dir:c,"data-orientation":a,...l,ref:t})})});ZH.displayName=fO;var XH="TabsList",QH=y.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...i}=e,o=dO(XH,n),a=YH(n);return I.jsx(KB,{asChild:!0,...a,orientation:o.orientation,dir:o.dir,loop:r,children:I.jsx(pt.div,{role:"tablist","aria-orientation":o.orientation,...i,ref:t})})});QH.displayName=XH;var JH="TabsTrigger",eq=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:i=!1,...o}=e,a=dO(JH,n),u=YH(n),s=rq(a.baseId,r),l=iq(a.baseId,r),c=r===a.value;return I.jsx(GB,{asChild:!0,...u,focusable:!i,active:c,children:I.jsx(pt.button,{type:"button",role:"tab","aria-selected":c,"aria-controls":l,"data-state":c?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:s,...o,ref:t,onMouseDown:Ye(e.onMouseDown,d=>{!i&&d.button===0&&d.ctrlKey===!1?a.onValueChange(r):d.preventDefault()}),onKeyDown:Ye(e.onKeyDown,d=>{[" ","Enter"].includes(d.key)&&a.onValueChange(r)}),onFocus:Ye(e.onFocus,()=>{const d=a.activationMode!=="manual";!c&&!i&&d&&a.onValueChange(r)})})})});eq.displayName=JH;var tq="TabsContent",nq=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:i,children:o,...a}=e,u=dO(tq,n),s=rq(u.baseId,r),l=iq(u.baseId,r),c=r===u.value,d=y.useRef(c);return y.useEffect(()=>{const h=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(h)},[]),I.jsx(ii,{present:i||c,children:({present:h})=>I.jsx(pt.div,{"data-state":c?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":s,hidden:!h,id:l,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:d.current?"0s":void 0},children:h&&o})})});nq.displayName=tq;function rq(e,t){return`${e}-trigger-${t}`}function iq(e,t){return`${e}-content-${t}`}var wYe=ZH,_Ye=QH,SYe=eq,CYe=nq;function k6(e,[t,n]){return Math.min(n,Math.max(t,e))}function hO(e){const t=y.useRef({value:e,previous:e});return y.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var iFe=[" ","Enter","ArrowUp","ArrowDown"],oFe=[" ","Enter"],Og="Select",[qw,Kw,aFe]=RA(Og),[Yh,EYe]=mi(Og,[aFe,Fl]),Gw=Fl(),[uFe,Wl]=Yh(Og),[sFe,lFe]=Yh(Og),oq=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:o,value:a,defaultValue:u,onValueChange:s,dir:l,name:c,autoComplete:d,disabled:h,required:v,form:g}=e,m=Gw(t),[b,w]=y.useState(null),[x,S]=y.useState(null),[A,E]=y.useState(!1),C=hg(l),[T=!1,M]=Ga({prop:r,defaultProp:i,onChange:o}),[F,U]=Ga({prop:a,defaultProp:u,onChange:s}),H=y.useRef(null),W=b?g||!!b.closest("form"):!0,[ie,Z]=y.useState(new Set),G=Array.from(ie).map(K=>K.props.value).join(";");return I.jsx(Ux,{...m,children:I.jsxs(uFe,{required:v,scope:t,trigger:b,onTriggerChange:w,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:A,onValueNodeHasChildrenChange:E,contentId:No(),value:F,onValueChange:U,open:T,onOpenChange:M,dir:C,triggerPointerDownPosRef:H,disabled:h,children:[I.jsx(qw.Provider,{scope:t,children:I.jsx(sFe,{scope:e.__scopeSelect,onNativeOptionAdd:y.useCallback(K=>{Z(V=>new Set(V).add(K))},[]),onNativeOptionRemove:y.useCallback(K=>{Z(V=>{const B=new Set(V);return B.delete(K),B})},[]),children:n})}),W?I.jsxs(Mq,{"aria-hidden":!0,required:v,tabIndex:-1,name:c,autoComplete:d,value:F,onChange:K=>U(K.target.value),disabled:h,form:g,children:[F===void 0?I.jsx("option",{value:""}):null,Array.from(ie)]},G):null]})})};oq.displayName=Og;var aq="SelectTrigger",uq=y.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...i}=e,o=Gw(n),a=Wl(aq,n),u=a.disabled||r,s=Kt(t,a.onTriggerChange),l=Kw(n),c=y.useRef("touch"),[d,h,v]=Rq(m=>{const b=l().filter(S=>!S.disabled),w=b.find(S=>S.value===a.value),x=Dq(b,m,w);x!==void 0&&a.onValueChange(x.value)}),g=m=>{u||(a.onOpenChange(!0),v()),m&&(a.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return I.jsx(vg,{asChild:!0,...o,children:I.jsx(pt.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":Tq(a.value)?"":void 0,...i,ref:s,onClick:Ye(i.onClick,m=>{m.currentTarget.focus(),c.current!=="mouse"&&g(m)}),onPointerDown:Ye(i.onPointerDown,m=>{c.current=m.pointerType;const b=m.target;b.hasPointerCapture(m.pointerId)&&b.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(g(m),m.preventDefault())}),onKeyDown:Ye(i.onKeyDown,m=>{const b=d.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&h(m.key),!(b&&m.key===" ")&&iFe.includes(m.key)&&(g(),m.preventDefault())})})})});uq.displayName=aq;var sq="SelectValue",lq=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,children:o,placeholder:a="",...u}=e,s=Wl(sq,n),{onValueNodeHasChildrenChange:l}=s,c=o!==void 0,d=Kt(t,s.onValueNodeChange);return ni(()=>{l(c)},[l,c]),I.jsx(pt.span,{...u,ref:d,style:{pointerEvents:"none"},children:Tq(s.value)?I.jsx(I.Fragment,{children:a}):o})});lq.displayName=sq;var cFe="SelectIcon",cq=y.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...i}=e;return I.jsx(pt.span,{"aria-hidden":!0,...i,ref:t,children:r||"▼"})});cq.displayName=cFe;var fFe="SelectPortal",fq=e=>I.jsx(cg,{asChild:!0,...e});fq.displayName=fFe;var ef="SelectContent",dq=y.forwardRef((e,t)=>{const n=Wl(ef,e.__scopeSelect),[r,i]=y.useState();if(ni(()=>{i(new DocumentFragment)},[]),!n.open){const o=r;return o?Ss.createPortal(I.jsx(hq,{scope:e.__scopeSelect,children:I.jsx(qw.Slot,{scope:e.__scopeSelect,children:I.jsx("div",{children:e.children})})}),o):null}return I.jsx(pq,{...e,ref:t})});dq.displayName=ef;var Oa=10,[hq,Vl]=Yh(ef),dFe="SelectContentImpl",pq=y.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:o,onPointerDownOutside:a,side:u,sideOffset:s,align:l,alignOffset:c,arrowPadding:d,collisionBoundary:h,collisionPadding:v,sticky:g,hideWhenDetached:m,avoidCollisions:b,...w}=e,x=Wl(ef,n),[S,A]=y.useState(null),[E,C]=y.useState(null),T=Kt(t,ge=>A(ge)),[M,F]=y.useState(null),[U,H]=y.useState(null),W=Kw(n),[ie,Z]=y.useState(!1),G=y.useRef(!1);y.useEffect(()=>{if(S)return dg(S)},[S]),Lx();const K=y.useCallback(ge=>{const[Ze,...Pe]=W().map(be=>be.ref.current),[Fe]=Pe.slice(-1),$e=document.activeElement;for(const be of ge)if(be===$e||(be?.scrollIntoView({block:"nearest"}),be===Ze&&E&&(E.scrollTop=0),be===Fe&&E&&(E.scrollTop=E.scrollHeight),be?.focus(),document.activeElement!==$e))return},[W,E]),V=y.useCallback(()=>K([M,S]),[K,M,S]);y.useEffect(()=>{ie&&V()},[ie,V]);const{onOpenChange:B,triggerPointerDownPosRef:q}=x;y.useEffect(()=>{if(S){let ge={x:0,y:0};const Ze=Fe=>{ge={x:Math.abs(Math.round(Fe.pageX)-(q.current?.x??0)),y:Math.abs(Math.round(Fe.pageY)-(q.current?.y??0))}},Pe=Fe=>{ge.x<=10&&ge.y<=10?Fe.preventDefault():S.contains(Fe.target)||B(!1),document.removeEventListener("pointermove",Ze),q.current=null};return q.current!==null&&(document.addEventListener("pointermove",Ze),document.addEventListener("pointerup",Pe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",Ze),document.removeEventListener("pointerup",Pe,{capture:!0})}}},[S,B,q]),y.useEffect(()=>{const ge=()=>B(!1);return window.addEventListener("blur",ge),window.addEventListener("resize",ge),()=>{window.removeEventListener("blur",ge),window.removeEventListener("resize",ge)}},[B]);const[Y,ue]=Rq(ge=>{const Ze=W().filter($e=>!$e.disabled),Pe=Ze.find($e=>$e.ref.current===document.activeElement),Fe=Dq(Ze,ge,Pe);Fe&&setTimeout(()=>Fe.ref.current.focus())}),Q=y.useCallback((ge,Ze,Pe)=>{const Fe=!G.current&&!Pe;(x.value!==void 0&&x.value===Ze||Fe)&&(F(ge),Fe&&(G.current=!0))},[x.value]),J=y.useCallback(()=>S?.focus(),[S]),se=y.useCallback((ge,Ze,Pe)=>{const Fe=!G.current&&!Pe;(x.value!==void 0&&x.value===Ze||Fe)&&H(ge)},[x.value]),de=r==="popper"?T6:vq,Se=de===T6?{side:u,sideOffset:s,align:l,alignOffset:c,arrowPadding:d,collisionBoundary:h,collisionPadding:v,sticky:g,hideWhenDetached:m,avoidCollisions:b}:{};return I.jsx(hq,{scope:n,content:S,viewport:E,onViewportChange:C,itemRefCallback:Q,selectedItem:M,onItemLeave:J,itemTextRefCallback:se,focusSelectedItem:V,selectedItemText:U,position:r,isPositioned:ie,searchRef:Y,children:I.jsx(fg,{as:Sl,allowPinchZoom:!0,children:I.jsx(lg,{asChild:!0,trapped:x.open,onMountAutoFocus:ge=>{ge.preventDefault()},onUnmountAutoFocus:Ye(i,ge=>{x.trigger?.focus({preventScroll:!0}),ge.preventDefault()}),children:I.jsx(kh,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:ge=>ge.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:I.jsx(de,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:ge=>ge.preventDefault(),...w,...Se,onPlaced:()=>Z(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:Ye(w.onKeyDown,ge=>{const Ze=ge.ctrlKey||ge.altKey||ge.metaKey;if(ge.key==="Tab"&&ge.preventDefault(),!Ze&&ge.key.length===1&&ue(ge.key),["ArrowUp","ArrowDown","Home","End"].includes(ge.key)){let Fe=W().filter($e=>!$e.disabled).map($e=>$e.ref.current);if(["ArrowUp","End"].includes(ge.key)&&(Fe=Fe.slice().reverse()),["ArrowUp","ArrowDown"].includes(ge.key)){const $e=ge.target,be=Fe.indexOf($e);Fe=Fe.slice(be+1)}setTimeout(()=>K(Fe)),ge.preventDefault()}})})})})})})});pq.displayName=dFe;var hFe="SelectItemAlignedPosition",vq=y.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...i}=e,o=Wl(ef,n),a=Vl(ef,n),[u,s]=y.useState(null),[l,c]=y.useState(null),d=Kt(t,T=>c(T)),h=Kw(n),v=y.useRef(!1),g=y.useRef(!0),{viewport:m,selectedItem:b,selectedItemText:w,focusSelectedItem:x}=a,S=y.useCallback(()=>{if(o.trigger&&o.valueNode&&u&&l&&m&&b&&w){const T=o.trigger.getBoundingClientRect(),M=l.getBoundingClientRect(),F=o.valueNode.getBoundingClientRect(),U=w.getBoundingClientRect();if(o.dir!=="rtl"){const $e=U.left-M.left,be=F.left-$e,yt=T.left-be,lt=T.width+yt,It=Math.max(lt,M.width),mn=window.innerWidth-Oa,en=k6(be,[Oa,Math.max(Oa,mn-It)]);u.style.minWidth=lt+"px",u.style.left=en+"px"}else{const $e=M.right-U.right,be=window.innerWidth-F.right-$e,yt=window.innerWidth-T.right-be,lt=T.width+yt,It=Math.max(lt,M.width),mn=window.innerWidth-Oa,en=k6(be,[Oa,Math.max(Oa,mn-It)]);u.style.minWidth=lt+"px",u.style.right=en+"px"}const H=h(),W=window.innerHeight-Oa*2,ie=m.scrollHeight,Z=window.getComputedStyle(l),G=parseInt(Z.borderTopWidth,10),K=parseInt(Z.paddingTop,10),V=parseInt(Z.borderBottomWidth,10),B=parseInt(Z.paddingBottom,10),q=G+K+ie+B+V,Y=Math.min(b.offsetHeight*5,q),ue=window.getComputedStyle(m),Q=parseInt(ue.paddingTop,10),J=parseInt(ue.paddingBottom,10),se=T.top+T.height/2-Oa,de=W-se,Se=b.offsetHeight/2,ge=b.offsetTop+Se,Ze=G+K+ge,Pe=q-Ze;if(Ze<=se){const $e=H.length>0&&b===H[H.length-1].ref.current;u.style.bottom="0px";const be=l.clientHeight-m.offsetTop-m.offsetHeight,yt=Math.max(de,Se+($e?J:0)+be+V),lt=Ze+yt;u.style.height=lt+"px"}else{const $e=H.length>0&&b===H[0].ref.current;u.style.top="0px";const yt=Math.max(se,G+m.offsetTop+($e?Q:0)+Se)+Pe;u.style.height=yt+"px",m.scrollTop=Ze-se+m.offsetTop}u.style.margin=`${Oa}px 0`,u.style.minHeight=Y+"px",u.style.maxHeight=W+"px",r?.(),requestAnimationFrame(()=>v.current=!0)}},[h,o.trigger,o.valueNode,u,l,m,b,w,o.dir,r]);ni(()=>S(),[S]);const[A,E]=y.useState();ni(()=>{l&&E(window.getComputedStyle(l).zIndex)},[l]);const C=y.useCallback(T=>{T&&g.current===!0&&(S(),x?.(),g.current=!1)},[S,x]);return I.jsx(vFe,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:v,onScrollButtonChange:C,children:I.jsx("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:I.jsx(pt.div,{...i,ref:d,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});vq.displayName=hFe;var pFe="SelectPopperPosition",T6=y.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:i=Oa,...o}=e,a=Gw(n);return I.jsx(Wx,{...a,...o,ref:t,align:r,collisionPadding:i,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});T6.displayName=pFe;var[vFe,pO]=Yh(ef,{}),M6="SelectViewport",gq=y.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...i}=e,o=Vl(M6,n),a=pO(M6,n),u=Kt(t,o.onViewportChange),s=y.useRef(0);return I.jsxs(I.Fragment,{children:[I.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),I.jsx(qw.Slot,{scope:n,children:I.jsx(pt.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:Ye(i.onScroll,l=>{const c=l.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:h}=a;if(h?.current&&d){const v=Math.abs(s.current-c.scrollTop);if(v>0){const g=window.innerHeight-Oa*2,m=parseFloat(d.style.minHeight),b=parseFloat(d.style.height),w=Math.max(m,b);if(w0?A:0,d.style.justifyContent="flex-end")}}}s.current=c.scrollTop})})})]})});gq.displayName=M6;var mq="SelectGroup",[gFe,mFe]=Yh(mq),yq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=No();return I.jsx(gFe,{scope:n,id:i,children:I.jsx(pt.div,{role:"group","aria-labelledby":i,...r,ref:t})})});yq.displayName=mq;var bq="SelectLabel",xq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=mFe(bq,n);return I.jsx(pt.div,{id:i.id,...r,ref:t})});xq.displayName=bq;var Yb="SelectItem",[yFe,wq]=Yh(Yb),_q=y.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:i=!1,textValue:o,...a}=e,u=Wl(Yb,n),s=Vl(Yb,n),l=u.value===r,[c,d]=y.useState(o??""),[h,v]=y.useState(!1),g=Kt(t,x=>s.itemRefCallback?.(x,r,i)),m=No(),b=y.useRef("touch"),w=()=>{i||(u.onValueChange(r),u.onOpenChange(!1))};if(r==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return I.jsx(yFe,{scope:n,value:r,disabled:i,textId:m,isSelected:l,onItemTextChange:y.useCallback(x=>{d(S=>S||(x?.textContent??"").trim())},[]),children:I.jsx(qw.ItemSlot,{scope:n,value:r,disabled:i,textValue:c,children:I.jsx(pt.div,{role:"option","aria-labelledby":m,"data-highlighted":h?"":void 0,"aria-selected":l&&h,"data-state":l?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...a,ref:g,onFocus:Ye(a.onFocus,()=>v(!0)),onBlur:Ye(a.onBlur,()=>v(!1)),onClick:Ye(a.onClick,()=>{b.current!=="mouse"&&w()}),onPointerUp:Ye(a.onPointerUp,()=>{b.current==="mouse"&&w()}),onPointerDown:Ye(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:Ye(a.onPointerMove,x=>{b.current=x.pointerType,i?s.onItemLeave?.():b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ye(a.onPointerLeave,x=>{x.currentTarget===document.activeElement&&s.onItemLeave?.()}),onKeyDown:Ye(a.onKeyDown,x=>{s.searchRef?.current!==""&&x.key===" "||(oFe.includes(x.key)&&w(),x.key===" "&&x.preventDefault())})})})})});_q.displayName=Yb;var Qp="SelectItemText",Sq=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,...o}=e,a=Wl(Qp,n),u=Vl(Qp,n),s=wq(Qp,n),l=lFe(Qp,n),[c,d]=y.useState(null),h=Kt(t,w=>d(w),s.onItemTextChange,w=>u.itemTextRefCallback?.(w,s.value,s.disabled)),v=c?.textContent,g=y.useMemo(()=>I.jsx("option",{value:s.value,disabled:s.disabled,children:v},s.value),[s.disabled,s.value,v]),{onNativeOptionAdd:m,onNativeOptionRemove:b}=l;return ni(()=>(m(g),()=>b(g)),[m,b,g]),I.jsxs(I.Fragment,{children:[I.jsx(pt.span,{id:s.textId,...o,ref:h}),s.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Ss.createPortal(o.children,a.valueNode):null]})});Sq.displayName=Qp;var Cq="SelectItemIndicator",Eq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return wq(Cq,n).isSelected?I.jsx(pt.span,{"aria-hidden":!0,...r,ref:t}):null});Eq.displayName=Cq;var R6="SelectScrollUpButton",Aq=y.forwardRef((e,t)=>{const n=Vl(R6,e.__scopeSelect),r=pO(R6,e.__scopeSelect),[i,o]=y.useState(!1),a=Kt(t,r.onScrollButtonChange);return ni(()=>{if(n.viewport&&n.isPositioned){let u=function(){const l=s.scrollTop>0;o(l)};const s=n.viewport;return u(),s.addEventListener("scroll",u),()=>s.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),i?I.jsx(Oq,{...e,ref:a,onAutoScroll:()=>{const{viewport:u,selectedItem:s}=n;u&&s&&(u.scrollTop=u.scrollTop-s.offsetHeight)}}):null});Aq.displayName=R6;var D6="SelectScrollDownButton",Pq=y.forwardRef((e,t)=>{const n=Vl(D6,e.__scopeSelect),r=pO(D6,e.__scopeSelect),[i,o]=y.useState(!1),a=Kt(t,r.onScrollButtonChange);return ni(()=>{if(n.viewport&&n.isPositioned){let u=function(){const l=s.scrollHeight-s.clientHeight,c=Math.ceil(s.scrollTop)s.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),i?I.jsx(Oq,{...e,ref:a,onAutoScroll:()=>{const{viewport:u,selectedItem:s}=n;u&&s&&(u.scrollTop=u.scrollTop+s.offsetHeight)}}):null});Pq.displayName=D6;var Oq=y.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...i}=e,o=Vl("SelectScrollButton",n),a=y.useRef(null),u=Kw(n),s=y.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return y.useEffect(()=>()=>s(),[s]),ni(()=>{u().find(c=>c.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[u]),I.jsx(pt.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Ye(i.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:Ye(i.onPointerMove,()=>{o.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:Ye(i.onPointerLeave,()=>{s()})})}),bFe="SelectSeparator",kq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return I.jsx(pt.div,{"aria-hidden":!0,...r,ref:t})});kq.displayName=bFe;var $6="SelectArrow",xFe=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=Gw(n),o=Wl($6,n),a=Vl($6,n);return o.open&&a.position==="popper"?I.jsx(Vx,{...i,...r,ref:t}):null});xFe.displayName=$6;function Tq(e){return e===""||e===void 0}var Mq=y.forwardRef((e,t)=>{const{value:n,...r}=e,i=y.useRef(null),o=Kt(t,i),a=hO(n);return y.useEffect(()=>{const u=i.current,s=window.HTMLSelectElement.prototype,c=Object.getOwnPropertyDescriptor(s,"value").set;if(a!==n&&c){const d=new Event("change",{bubbles:!0});c.call(u,n),u.dispatchEvent(d)}},[a,n]),I.jsx(ZA,{asChild:!0,children:I.jsx("select",{...r,ref:o,defaultValue:n})})});Mq.displayName="BubbleSelect";function Rq(e){const t=Wr(e),n=y.useRef(""),r=y.useRef(0),i=y.useCallback(a=>{const u=n.current+a;t(u),function s(l){n.current=l,window.clearTimeout(r.current),l!==""&&(r.current=window.setTimeout(()=>s(""),1e3))}(u)},[t]),o=y.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,o]}function Dq(e,t,n){const i=t.length>1&&Array.from(t).every(l=>l===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=wFe(e,Math.max(o,0));i.length===1&&(a=a.filter(l=>l!==n));const s=a.find(l=>l.textValue.toLowerCase().startsWith(i.toLowerCase()));return s!==n?s:void 0}function wFe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var AYe=oq,PYe=uq,OYe=lq,kYe=cq,TYe=fq,MYe=dq,RYe=gq,DYe=yq,$Ye=xq,IYe=_q,NYe=Sq,FYe=Eq,LYe=Aq,jYe=Pq,BYe=kq;const vO=6048e5,_Fe=864e5,k$=Symbol.for("constructDateFrom");function ri(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&k$ in e?e[k$](t):e instanceof Date?new e.constructor(t):new Date(t)}function Rn(e,t){return ri(t||e,e)}function Ui(e,t,n){const r=Rn(e,n?.in);return isNaN(t)?ri(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Za(e,t,n){const r=Rn(e,n?.in);if(isNaN(t))return ri(n?.in||e,NaN);if(!t)return r;const i=r.getDate(),o=ri(n?.in||e,r.getTime());o.setMonth(r.getMonth()+t+1,0);const a=o.getDate();return i>=a?o:(r.setFullYear(o.getFullYear(),o.getMonth(),i),r)}let SFe={};function kg(){return SFe}function ma(e,t){const n=kg(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Rn(e,t?.in),o=i.getDay(),a=(o=o.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}function Zb(e){const t=Rn(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function gf(e,...t){const n=ri.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function nf(e,t){const n=Rn(e,t?.in);return n.setHours(0,0,0,0),n}function gu(e,t,n){const[r,i]=gf(n?.in,e,t),o=nf(r),a=nf(i),u=+o-Zb(o),s=+a-Zb(a);return Math.round((u-s)/_Fe)}function CFe(e,t){const n=$q(e,t),r=ri(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),tf(r)}function I6(e,t,n){return Ui(e,t*7,n)}function EFe(e,t,n){return Za(e,t*12,n)}function AFe(e,t){let n,r=t?.in;return e.forEach(i=>{!r&&typeof i=="object"&&(r=ri.bind(null,i));const o=Rn(i,r);(!n||n{!r&&typeof i=="object"&&(r=ri.bind(null,i));const o=Rn(i,r);(!n||n>o||isNaN(+o))&&(n=o)}),ri(r,n||NaN)}function ao(e,t,n){const[r,i]=gf(n?.in,e,t);return+nf(r)==+nf(i)}function gO(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function OFe(e){return!(!gO(e)&&typeof e!="number"||isNaN(+Rn(e)))}function Wv(e,t,n){const[r,i]=gf(n?.in,e,t),o=r.getFullYear()-i.getFullYear(),a=r.getMonth()-i.getMonth();return o*12+a}function kFe(e,t,n){const[r,i]=gf(n?.in,e,t),o=ma(r,n),a=ma(i,n),u=+o-Zb(o),s=+a-Zb(a);return Math.round((u-s)/vO)}function mO(e,t){const n=Rn(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function ho(e,t){const n=Rn(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Iq(e,t){const n=Rn(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function yO(e,t){const n=kg(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Rn(e,t?.in),o=i.getDay(),a=(o{let r;const i=TFe[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function kd(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const RFe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},DFe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},$Fe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},IFe={date:kd({formats:RFe,defaultWidth:"full"}),time:kd({formats:DFe,defaultWidth:"full"}),dateTime:kd({formats:$Fe,defaultWidth:"full"})},NFe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},FFe=(e,t,n,r)=>NFe[e];function fu(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let i;if(r==="formatting"&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,u=n?.width?String(n.width):a;i=e.formattingValues[u]||e.formattingValues[a]}else{const a=e.defaultWidth,u=n?.width?String(n.width):e.defaultWidth;i=e.values[u]||e.values[a]}const o=e.argumentCallback?e.argumentCallback(t):t;return i[o]}}const LFe={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},jFe={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},BFe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},zFe={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},UFe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},WFe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},VFe=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},HFe={ordinalNumber:VFe,era:fu({values:LFe,defaultWidth:"wide"}),quarter:fu({values:jFe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:fu({values:BFe,defaultWidth:"wide"}),day:fu({values:zFe,defaultWidth:"wide"}),dayPeriod:fu({values:UFe,defaultWidth:"wide",formattingValues:WFe,defaultFormattingWidth:"wide"})};function du(e){return(t,n={})=>{const r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;const a=o[0],u=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],s=Array.isArray(u)?KFe(u,d=>d.test(a)):qFe(u,d=>d.test(a));let l;l=e.valueCallback?e.valueCallback(s):s,l=n.valueCallback?n.valueCallback(l):l;const c=t.slice(a.length);return{value:l,rest:c}}}function qFe(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function KFe(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const i=r[0],o=t.match(e.parsePattern);if(!o)return null;let a=e.valueCallback?e.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;const u=t.slice(i.length);return{value:a,rest:u}}}const GFe=/^(\d+)(th|st|nd|rd)?/i,YFe=/\d+/i,ZFe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},XFe={any:[/^b/i,/^(a|c)/i]},QFe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},JFe={any:[/1/i,/2/i,/3/i,/4/i]},eLe={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},tLe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},nLe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},rLe={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},iLe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},oLe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},aLe={ordinalNumber:Fq({matchPattern:GFe,parsePattern:YFe,valueCallback:e=>parseInt(e,10)}),era:du({matchPatterns:ZFe,defaultMatchWidth:"wide",parsePatterns:XFe,defaultParseWidth:"any"}),quarter:du({matchPatterns:QFe,defaultMatchWidth:"wide",parsePatterns:JFe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:du({matchPatterns:eLe,defaultMatchWidth:"wide",parsePatterns:tLe,defaultParseWidth:"any"}),day:du({matchPatterns:nLe,defaultMatchWidth:"wide",parsePatterns:rLe,defaultParseWidth:"any"}),dayPeriod:du({matchPatterns:iLe,defaultMatchWidth:"any",parsePatterns:oLe,defaultParseWidth:"any"})},Lq={code:"en-US",formatDistance:MFe,formatLong:IFe,formatRelative:FFe,localize:HFe,match:aLe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function uLe(e,t){const n=Rn(e,t?.in);return gu(n,Iq(n))+1}function jq(e,t){const n=Rn(e,t?.in),r=+tf(n)-+CFe(n);return Math.round(r/vO)+1}function Bq(e,t){const n=Rn(e,t?.in),r=n.getFullYear(),i=kg(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=ri(t?.in||e,0);a.setFullYear(r+1,0,o),a.setHours(0,0,0,0);const u=ma(a,t),s=ri(t?.in||e,0);s.setFullYear(r,0,o),s.setHours(0,0,0,0);const l=ma(s,t);return+n>=+u?r+1:+n>=+l?r:r-1}function sLe(e,t){const n=kg(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=Bq(e,t),o=ri(t?.in||e,0);return o.setFullYear(i,0,r),o.setHours(0,0,0,0),ma(o,t)}function zq(e,t){const n=Rn(e,t?.in),r=+ma(n,t)-+sLe(n,t);return Math.round(r/vO)+1}function Tn(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Us={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return Tn(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Tn(n+1,2)},d(e,t){return Tn(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Tn(e.getHours()%12||12,t.length)},H(e,t){return Tn(e.getHours(),t.length)},m(e,t){return Tn(e.getMinutes(),t.length)},s(e,t){return Tn(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),i=Math.trunc(r*Math.pow(10,n-3));return Tn(i,t.length)}},Hf={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},T$={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return Us.y(e,t)},Y:function(e,t,n,r){const i=Bq(e,r),o=i>0?i:1-i;if(t==="YY"){const a=o%100;return Tn(a,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Tn(o,t.length)},R:function(e,t){const n=$q(e);return Tn(n,t.length)},u:function(e,t){const n=e.getFullYear();return Tn(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return Tn(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return Tn(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Us.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return Tn(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const i=zq(e,r);return t==="wo"?n.ordinalNumber(i,{unit:"week"}):Tn(i,t.length)},I:function(e,t,n){const r=jq(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):Tn(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Us.d(e,t)},D:function(e,t,n){const r=uLe(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):Tn(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Tn(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Tn(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),i=r===0?7:r;switch(t){case"i":return String(i);case"ii":return Tn(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let i;switch(r===12?i=Hf.noon:r===0?i=Hf.midnight:i=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let i;switch(r>=17?i=Hf.evening:r>=12?i=Hf.afternoon:r>=4?i=Hf.morning:i=Hf.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Us.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Us.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):Tn(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):Tn(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Us.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Us.s(e,t)},S:function(e,t){return Us.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return R$(r);case"XXXX":case"XX":return cc(r);case"XXXXX":case"XXX":default:return cc(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return R$(r);case"xxxx":case"xx":return cc(r);case"xxxxx":case"xxx":default:return cc(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+M$(r,":");case"OOOO":default:return"GMT"+cc(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+M$(r,":");case"zzzz":default:return"GMT"+cc(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return Tn(r,t.length)},T:function(e,t,n){return Tn(+e,t.length)}};function M$(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Math.trunc(r/60),o=r%60;return o===0?n+String(i):n+String(i)+t+Tn(o,2)}function R$(e,t){return e%60===0?(e>0?"-":"+")+Tn(Math.abs(e)/60,2):cc(e,t)}function cc(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Tn(Math.trunc(r/60),2),o=Tn(r%60,2);return n+i+t+o}const D$=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},Uq=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},lLe=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return D$(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",D$(r,t)).replace("{{time}}",Uq(i,t))},cLe={p:Uq,P:lLe},fLe=/^D+$/,dLe=/^Y+$/,hLe=["D","DD","YY","YYYY"];function pLe(e){return fLe.test(e)}function vLe(e){return dLe.test(e)}function gLe(e,t,n){const r=mLe(e,t,n);if(console.warn(r),hLe.includes(e))throw new RangeError(r)}function mLe(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const yLe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,bLe=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,xLe=/^'([^]*?)'?$/,wLe=/''/g,_Le=/[a-zA-Z]/;function mf(e,t,n){const r=kg(),i=n?.locale??r.locale??Lq,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,u=Rn(e,n?.in);if(!OFe(u))throw new RangeError("Invalid time value");let s=t.match(bLe).map(c=>{const d=c[0];if(d==="p"||d==="P"){const h=cLe[d];return h(c,i.formatLong)}return c}).join("").match(yLe).map(c=>{if(c==="''")return{isToken:!1,value:"'"};const d=c[0];if(d==="'")return{isToken:!1,value:SLe(c)};if(T$[d])return{isToken:!0,value:c};if(d.match(_Le))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");return{isToken:!1,value:c}});i.localize.preprocessor&&(s=i.localize.preprocessor(u,s));const l={firstWeekContainsDate:o,weekStartsOn:a,locale:i};return s.map(c=>{if(!c.isToken)return c.value;const d=c.value;(!n?.useAdditionalWeekYearTokens&&vLe(d)||!n?.useAdditionalDayOfYearTokens&&pLe(d))&&gLe(d,t,String(e));const h=T$[d[0]];return h(u,d,i.localize,l)}).join("")}function SLe(e){const t=e.match(xLe);return t?t[1].replace(wLe,"'"):e}function CLe(e,t){const n=Rn(e,t?.in),r=n.getFullYear(),i=n.getMonth(),o=ri(n,0);return o.setFullYear(r,i+1,0),o.setHours(0,0,0,0),o.getDate()}function ELe(e){return Math.trunc(+Rn(e)/1e3)}function ALe(e,t){const n=Rn(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(0,0,0,0),Rn(n,t?.in)}function PLe(e,t){const n=Rn(e,t?.in);return kFe(ALe(n,t),ho(n,t),t)+1}function N6(e,t){return+Rn(e)>+Rn(t)}function Wq(e,t){return+Rn(e)<+Rn(t)}function OLe(e,t,n){const[r,i]=gf(n?.in,e,t);return+ma(r,n)==+ma(i,n)}function bO(e,t,n){const[r,i]=gf(n?.in,e,t);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()}function kLe(e,t,n){const[r,i]=gf(n?.in,e,t);return r.getFullYear()===i.getFullYear()}function qS(e,t,n){return Ui(e,-t,n)}function KS(e,t,n){const r=Rn(e,n?.in),i=r.getFullYear(),o=r.getDate(),a=ri(e,0);a.setFullYear(i,t,15),a.setHours(0,0,0,0);const u=CLe(a);return r.setMonth(t,Math.min(o,u)),r}function $$(e,t,n){const r=Rn(e,n?.in);return isNaN(+r)?ri(e,NaN):(r.setFullYear(t),r)}function zYe(e){return nf(Date.now(),e)}const TLe={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},MLe=(e,t,n)=>{let r;const i=TLe[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},RLe={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},DLe={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},$Le={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},ILe={date:kd({formats:RLe,defaultWidth:"full"}),time:kd({formats:DLe,defaultWidth:"full"}),dateTime:kd({formats:$Le,defaultWidth:"full"})};function I$(e,t,n){const r="eeee p";return OLe(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const NLe={lastWeek:I$,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:I$,other:"PP p"},FLe=(e,t,n,r)=>{const i=NLe[e];return typeof i=="function"?i(t,n,r):i},LLe={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},jLe={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},BLe={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},zLe={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},ULe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},WLe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},VLe=(e,t)=>{const n=Number(e);switch(t?.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},HLe={ordinalNumber:VLe,era:fu({values:LLe,defaultWidth:"wide"}),quarter:fu({values:jLe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:fu({values:BLe,defaultWidth:"wide"}),day:fu({values:zLe,defaultWidth:"wide"}),dayPeriod:fu({values:ULe,defaultWidth:"wide",formattingValues:WLe,defaultFormattingWidth:"wide"})},qLe=/^(第\s*)?\d+(日|时|分|秒)?/i,KLe=/\d+/i,GLe={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},YLe={any:[/^(前)/i,/^(公元)/i]},ZLe={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},XLe={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},QLe={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},JLe={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},eje={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},tje={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},nje={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},rje={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},ije={ordinalNumber:Fq({matchPattern:qLe,parsePattern:KLe,valueCallback:e=>parseInt(e,10)}),era:du({matchPatterns:GLe,defaultMatchWidth:"wide",parsePatterns:YLe,defaultParseWidth:"any"}),quarter:du({matchPatterns:ZLe,defaultMatchWidth:"wide",parsePatterns:XLe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:du({matchPatterns:QLe,defaultMatchWidth:"wide",parsePatterns:JLe,defaultParseWidth:"any"}),day:du({matchPatterns:eje,defaultMatchWidth:"wide",parsePatterns:tje,defaultParseWidth:"any"}),dayPeriod:du({matchPatterns:nje,defaultMatchWidth:"any",parsePatterns:rje,defaultParseWidth:"any"})},UYe={code:"zh-CN",formatDistance:MLe,formatLong:ILe,formatRelative:FLe,localize:HLe,match:ije,options:{weekStartsOn:1,firstWeekContainsDate:4}};var Rt=function(){return Rt=Object.assign||function(t){for(var n,r=1,i=arguments.length;r1&&(s||!l),d=t>1&&(l||!s),h=function(){r&&o(r)},v=function(){i&&o(i)};return I.jsx(Fje,{displayMonth:e.displayMonth,hideNext:c,hidePrevious:d,nextMonth:i,previousMonth:r,onPreviousClick:h,onNextClick:v})}function Lje(e){var t,n=Hn(),r=n.classNames,i=n.disableNavigation,o=n.styles,a=n.captionLayout,u=n.components,s=(t=u?.CaptionLabel)!==null&&t!==void 0?t:qq,l;return i?l=I.jsx(s,{id:e.id,displayMonth:e.displayMonth}):a==="dropdown"?l=I.jsx(N$,{displayMonth:e.displayMonth,id:e.id}):a==="dropdown-buttons"?l=I.jsxs(I.Fragment,{children:[I.jsx(N$,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id}),I.jsx(F$,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id})]}):l=I.jsxs(I.Fragment,{children:[I.jsx(s,{id:e.id,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),I.jsx(F$,{displayMonth:e.displayMonth,id:e.id})]}),I.jsx("div",{className:r.caption,style:o.caption,children:l})}function jje(e){var t=Hn(),n=t.footer,r=t.styles,i=t.classNames.tfoot;return n?I.jsx("tfoot",{className:i,style:r.tfoot,children:I.jsx("tr",{children:I.jsx("td",{colSpan:8,children:n})})}):I.jsx(I.Fragment,{})}function Bje(e,t,n){for(var r=n?tf(new Date):ma(new Date,{locale:e,weekStartsOn:t}),i=[],o=0;o<7;o++){var a=Ui(r,o);i.push(a)}return i}function zje(){var e=Hn(),t=e.classNames,n=e.styles,r=e.showWeekNumber,i=e.locale,o=e.weekStartsOn,a=e.ISOWeek,u=e.formatters.formatWeekdayName,s=e.labels.labelWeekday,l=Bje(i,o,a);return I.jsxs("tr",{style:n.head_row,className:t.head_row,children:[r&&I.jsx("td",{style:n.head_cell,className:t.head_cell}),l.map(function(c,d){return I.jsx("th",{scope:"col",className:t.head_cell,style:n.head_cell,"aria-label":s(c,{locale:i}),children:u(c,{locale:i})},d)})]})}function Uje(){var e,t=Hn(),n=t.classNames,r=t.styles,i=t.components,o=(e=i?.HeadRow)!==null&&e!==void 0?e:zje;return I.jsx("thead",{style:r.head,className:n.head,children:I.jsx(o,{})})}function Wje(e){var t=Hn(),n=t.locale,r=t.formatters.formatDay;return I.jsx(I.Fragment,{children:r(e.date,{locale:n})})}var xO=y.createContext(void 0);function Vje(e){if(!Tg(e.initialProps)){var t={selected:void 0,modifiers:{disabled:[]}};return I.jsx(xO.Provider,{value:t,children:e.children})}return I.jsx(Hje,{initialProps:e.initialProps,children:e.children})}function Hje(e){var t=e.initialProps,n=e.children,r=t.selected,i=t.min,o=t.max,a=function(l,c,d){var h,v;(h=t.onDayClick)===null||h===void 0||h.call(t,l,c,d);var g=!!(c.selected&&i&&r?.length===i);if(!g){var m=!!(!c.selected&&o&&r?.length===o);if(!m){var b=r?Vq([],r):[];if(c.selected){var w=b.findIndex(function(x){return ao(l,x)});b.splice(w,1)}else b.push(l);(v=t.onSelect)===null||v===void 0||v.call(t,b,l,c,d)}}},u={disabled:[]};r&&u.disabled.push(function(l){var c=o&&r.length>o-1,d=r.some(function(h){return ao(h,l)});return!!(c&&!d)});var s={selected:r,onDayClick:a,modifiers:u};return I.jsx(xO.Provider,{value:s,children:n})}function wO(){var e=y.useContext(xO);if(!e)throw new Error("useSelectMultiple must be used within a SelectMultipleProvider");return e}function qje(e,t){var n=t||{},r=n.from,i=n.to;return r&&i?ao(i,e)&&ao(r,e)?void 0:ao(i,e)?{from:i,to:void 0}:ao(r,e)?void 0:N6(r,e)?{from:e,to:i}:{from:r,to:e}:i?N6(e,i)?{from:i,to:e}:{from:e,to:i}:r?Wq(e,r)?{from:e,to:r}:{from:r,to:e}:{from:e,to:void 0}}var _O=y.createContext(void 0);function Kje(e){if(!Mg(e.initialProps)){var t={selected:void 0,modifiers:{range_start:[],range_end:[],range_middle:[],disabled:[]}};return I.jsx(_O.Provider,{value:t,children:e.children})}return I.jsx(Gje,{initialProps:e.initialProps,children:e.children})}function Gje(e){var t=e.initialProps,n=e.children,r=t.selected,i=r||{},o=i.from,a=i.to,u=t.min,s=t.max,l=function(v,g,m){var b,w;(b=t.onDayClick)===null||b===void 0||b.call(t,v,g,m);var x=qje(v,r);(w=t.onSelect)===null||w===void 0||w.call(t,x,v,g,m)},c={range_start:[],range_end:[],range_middle:[],disabled:[]};if(o?(c.range_start=[o],a?(c.range_end=[a],ao(o,a)||(c.range_middle=[{after:o,before:a}])):c.range_end=[o]):a&&(c.range_start=[a],c.range_end=[a]),u&&(o&&!a&&c.disabled.push({after:qS(o,u-1),before:Ui(o,u-1)}),o&&a&&c.disabled.push({after:o,before:Ui(o,u-1)}),!o&&a&&c.disabled.push({after:qS(a,u-1),before:Ui(a,u-1)})),s){if(o&&!a&&(c.disabled.push({before:Ui(o,-s+1)}),c.disabled.push({after:Ui(o,s-1)})),o&&a){var d=gu(a,o)+1,h=s-d;c.disabled.push({before:qS(o,h)}),c.disabled.push({after:Ui(a,h)})}!o&&a&&(c.disabled.push({before:Ui(a,-s+1)}),c.disabled.push({after:Ui(a,s-1)}))}return I.jsx(_O.Provider,{value:{selected:r,onDayClick:l,modifiers:c},children:n})}function SO(){var e=y.useContext(_O);if(!e)throw new Error("useSelectRange must be used within a SelectRangeProvider");return e}function Wy(e){return Array.isArray(e)?Vq([],e):e!==void 0?[e]:[]}function Yje(e){var t={};return Object.entries(e).forEach(function(n){var r=n[0],i=n[1];t[r]=Wy(i)}),t}var Xa;(function(e){e.Outside="outside",e.Disabled="disabled",e.Selected="selected",e.Hidden="hidden",e.Today="today",e.RangeStart="range_start",e.RangeEnd="range_end",e.RangeMiddle="range_middle"})(Xa||(Xa={}));var Zje=Xa.Selected,Hu=Xa.Disabled,Xje=Xa.Hidden,Qje=Xa.Today,GS=Xa.RangeEnd,YS=Xa.RangeMiddle,ZS=Xa.RangeStart,Jje=Xa.Outside;function eBe(e,t,n){var r,i=(r={},r[Zje]=Wy(e.selected),r[Hu]=Wy(e.disabled),r[Xje]=Wy(e.hidden),r[Qje]=[e.today],r[GS]=[],r[YS]=[],r[ZS]=[],r[Jje]=[],r);return e.fromDate&&i[Hu].push({before:e.fromDate}),e.toDate&&i[Hu].push({after:e.toDate}),Tg(e)?i[Hu]=i[Hu].concat(t.modifiers[Hu]):Mg(e)&&(i[Hu]=i[Hu].concat(n.modifiers[Hu]),i[ZS]=n.modifiers[ZS],i[YS]=n.modifiers[YS],i[GS]=n.modifiers[GS]),i}var Yq=y.createContext(void 0);function tBe(e){var t=Hn(),n=wO(),r=SO(),i=eBe(t,n,r),o=Yje(t.modifiers),a=Rt(Rt({},i),o);return I.jsx(Yq.Provider,{value:a,children:e.children})}function Zq(){var e=y.useContext(Yq);if(!e)throw new Error("useModifiers must be used within a ModifiersProvider");return e}function nBe(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function rBe(e){return!!(e&&typeof e=="object"&&"from"in e)}function iBe(e){return!!(e&&typeof e=="object"&&"after"in e)}function oBe(e){return!!(e&&typeof e=="object"&&"before"in e)}function aBe(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function uBe(e,t){var n,r=t.from,i=t.to;if(r&&i){var o=gu(i,r)<0;o&&(n=[i,r],r=n[0],i=n[1]);var a=gu(e,r)>=0&&gu(i,e)>=0;return a}return i?ao(i,e):r?ao(r,e):!1}function sBe(e){return gO(e)}function lBe(e){return Array.isArray(e)&&e.every(gO)}function cBe(e,t){return t.some(function(n){if(typeof n=="boolean")return n;if(sBe(n))return ao(e,n);if(lBe(n))return n.includes(e);if(rBe(n))return uBe(e,n);if(aBe(n))return n.dayOfWeek.includes(e.getDay());if(nBe(n)){var r=gu(n.before,e),i=gu(n.after,e),o=r>0,a=i<0,u=N6(n.before,n.after);return u?a&&o:o||a}return iBe(n)?gu(e,n.after)>0:oBe(n)?gu(n.before,e)>0:typeof n=="function"?n(e):!1})}function CO(e,t,n){var r=Object.keys(t).reduce(function(o,a){var u=t[a];return cBe(e,u)&&o.push(a),o},[]),i={};return r.forEach(function(o){return i[o]=!0}),n&&!bO(e,n)&&(i.outside=!0),i}function fBe(e,t){for(var n=ho(e[0]),r=mO(e[e.length-1]),i,o,a=n;a<=r;){var u=CO(a,t),s=!u.disabled&&!u.hidden;if(!s){a=Ui(a,1);continue}if(u.selected)return a;u.today&&!o&&(o=a),i||(i=a),a=Ui(a,1)}return o||i}var dBe=365;function Xq(e,t){var n=t.moveBy,r=t.direction,i=t.context,o=t.modifiers,a=t.retry,u=a===void 0?{count:0,lastFocused:e}:a,s=i.weekStartsOn,l=i.fromDate,c=i.toDate,d=i.locale,h={day:Ui,week:I6,month:Za,year:EFe,startOfWeek:function(b){return i.ISOWeek?tf(b):ma(b,{locale:d,weekStartsOn:s})},endOfWeek:function(b){return i.ISOWeek?Nq(b):yO(b,{locale:d,weekStartsOn:s})}},v=h[n](e,r==="after"?1:-1);r==="before"&&l?v=AFe([l,v]):r==="after"&&c&&(v=PFe([c,v]));var g=!0;if(o){var m=CO(v,o);g=!m.disabled&&!m.hidden}return g?v:u.count>dBe?u.lastFocused:Xq(v,{moveBy:n,direction:r,context:i,modifiers:o,retry:Rt(Rt({},u),{count:u.count+1})})}var Qq=y.createContext(void 0);function hBe(e){var t=Rg(),n=Zq(),r=y.useState(),i=r[0],o=r[1],a=y.useState(),u=a[0],s=a[1],l=fBe(t.displayMonths,n),c=i??(u&&t.isDateDisplayed(u))?u:l,d=function(){s(i),o(void 0)},h=function(b){o(b)},v=Hn(),g=function(b,w){if(i){var x=Xq(i,{moveBy:b,direction:w,context:v,modifiers:n});ao(i,x)||(t.goToDate(x,i),h(x))}},m={focusedDay:i,focusTarget:c,blur:d,focus:h,focusDayAfter:function(){return g("day","after")},focusDayBefore:function(){return g("day","before")},focusWeekAfter:function(){return g("week","after")},focusWeekBefore:function(){return g("week","before")},focusMonthBefore:function(){return g("month","before")},focusMonthAfter:function(){return g("month","after")},focusYearBefore:function(){return g("year","before")},focusYearAfter:function(){return g("year","after")},focusStartOfWeek:function(){return g("startOfWeek","before")},focusEndOfWeek:function(){return g("endOfWeek","after")}};return I.jsx(Qq.Provider,{value:m,children:e.children})}function EO(){var e=y.useContext(Qq);if(!e)throw new Error("useFocusContext must be used within a FocusProvider");return e}function pBe(e,t){var n=Zq(),r=CO(e,n,t);return r}var AO=y.createContext(void 0);function vBe(e){if(!Yw(e.initialProps)){var t={selected:void 0};return I.jsx(AO.Provider,{value:t,children:e.children})}return I.jsx(gBe,{initialProps:e.initialProps,children:e.children})}function gBe(e){var t=e.initialProps,n=e.children,r=function(o,a,u){var s,l,c;if((s=t.onDayClick)===null||s===void 0||s.call(t,o,a,u),a.selected&&!t.required){(l=t.onSelect)===null||l===void 0||l.call(t,void 0,o,a,u);return}(c=t.onSelect)===null||c===void 0||c.call(t,o,o,a,u)},i={selected:t.selected,onDayClick:r};return I.jsx(AO.Provider,{value:i,children:n})}function Jq(){var e=y.useContext(AO);if(!e)throw new Error("useSelectSingle must be used within a SelectSingleProvider");return e}function mBe(e,t){var n=Hn(),r=Jq(),i=wO(),o=SO(),a=EO(),u=a.focusDayAfter,s=a.focusDayBefore,l=a.focusWeekAfter,c=a.focusWeekBefore,d=a.blur,h=a.focus,v=a.focusMonthBefore,g=a.focusMonthAfter,m=a.focusYearBefore,b=a.focusYearAfter,w=a.focusStartOfWeek,x=a.focusEndOfWeek,S=function(V){var B,q,Y,ue;Yw(n)?(B=r.onDayClick)===null||B===void 0||B.call(r,e,t,V):Tg(n)?(q=i.onDayClick)===null||q===void 0||q.call(i,e,t,V):Mg(n)?(Y=o.onDayClick)===null||Y===void 0||Y.call(o,e,t,V):(ue=n.onDayClick)===null||ue===void 0||ue.call(n,e,t,V)},A=function(V){var B;h(e),(B=n.onDayFocus)===null||B===void 0||B.call(n,e,t,V)},E=function(V){var B;d(),(B=n.onDayBlur)===null||B===void 0||B.call(n,e,t,V)},C=function(V){var B;(B=n.onDayMouseEnter)===null||B===void 0||B.call(n,e,t,V)},T=function(V){var B;(B=n.onDayMouseLeave)===null||B===void 0||B.call(n,e,t,V)},M=function(V){var B;(B=n.onDayPointerEnter)===null||B===void 0||B.call(n,e,t,V)},F=function(V){var B;(B=n.onDayPointerLeave)===null||B===void 0||B.call(n,e,t,V)},U=function(V){var B;(B=n.onDayTouchCancel)===null||B===void 0||B.call(n,e,t,V)},H=function(V){var B;(B=n.onDayTouchEnd)===null||B===void 0||B.call(n,e,t,V)},W=function(V){var B;(B=n.onDayTouchMove)===null||B===void 0||B.call(n,e,t,V)},ie=function(V){var B;(B=n.onDayTouchStart)===null||B===void 0||B.call(n,e,t,V)},Z=function(V){var B;(B=n.onDayKeyUp)===null||B===void 0||B.call(n,e,t,V)},G=function(V){var B;switch(V.key){case"ArrowLeft":V.preventDefault(),V.stopPropagation(),n.dir==="rtl"?u():s();break;case"ArrowRight":V.preventDefault(),V.stopPropagation(),n.dir==="rtl"?s():u();break;case"ArrowDown":V.preventDefault(),V.stopPropagation(),l();break;case"ArrowUp":V.preventDefault(),V.stopPropagation(),c();break;case"PageUp":V.preventDefault(),V.stopPropagation(),V.shiftKey?m():v();break;case"PageDown":V.preventDefault(),V.stopPropagation(),V.shiftKey?b():g();break;case"Home":V.preventDefault(),V.stopPropagation(),w();break;case"End":V.preventDefault(),V.stopPropagation(),x();break}(B=n.onDayKeyDown)===null||B===void 0||B.call(n,e,t,V)},K={onClick:S,onFocus:A,onBlur:E,onKeyDown:G,onKeyUp:Z,onMouseEnter:C,onMouseLeave:T,onPointerEnter:M,onPointerLeave:F,onTouchCancel:U,onTouchEnd:H,onTouchMove:W,onTouchStart:ie};return K}function yBe(){var e=Hn(),t=Jq(),n=wO(),r=SO(),i=Yw(e)?t.selected:Tg(e)?n.selected:Mg(e)?r.selected:void 0;return i}function bBe(e){return Object.values(Xa).includes(e)}function xBe(e,t){var n=[e.classNames.day];return Object.keys(t).forEach(function(r){var i=e.modifiersClassNames[r];if(i)n.push(i);else if(bBe(r)){var o=e.classNames["day_".concat(r)];o&&n.push(o)}}),n}function wBe(e,t){var n=Rt({},e.styles.day);return Object.keys(t).forEach(function(r){var i;n=Rt(Rt({},n),(i=e.modifiersStyles)===null||i===void 0?void 0:i[r])}),n}function _Be(e,t,n){var r,i,o,a=Hn(),u=EO(),s=pBe(e,t),l=mBe(e,s),c=yBe(),d=!!(a.onDayClick||a.mode!=="default");y.useEffect(function(){var C;s.outside||u.focusedDay&&d&&ao(u.focusedDay,e)&&((C=n.current)===null||C===void 0||C.focus())},[u.focusedDay,e,n,d,s.outside]);var h=xBe(a,s).join(" "),v=wBe(a,s),g=!!(s.outside&&!a.showOutsideDays||s.hidden),m=(o=(i=a.components)===null||i===void 0?void 0:i.DayContent)!==null&&o!==void 0?o:Wje,b=I.jsx(m,{date:e,displayMonth:t,activeModifiers:s}),w={style:v,className:h,children:b,role:"gridcell"},x=u.focusTarget&&ao(u.focusTarget,e)&&!s.outside,S=u.focusedDay&&ao(u.focusedDay,e),A=Rt(Rt(Rt({},w),(r={disabled:s.disabled,role:"gridcell"},r["aria-selected"]=s.selected,r.tabIndex=S||x?0:-1,r)),l),E={isButton:d,isHidden:g,activeModifiers:s,selectedDays:c,buttonProps:A,divProps:w};return E}function SBe(e){var t=y.useRef(null),n=_Be(e.date,e.displayMonth,t);return n.isHidden?I.jsx("div",{role:"gridcell"}):n.isButton?I.jsx(Xb,Rt({name:"day",ref:t},n.buttonProps)):I.jsx("div",Rt({},n.divProps))}function CBe(e){var t=e.number,n=e.dates,r=Hn(),i=r.onWeekNumberClick,o=r.styles,a=r.classNames,u=r.locale,s=r.labels.labelWeekNumber,l=r.formatters.formatWeekNumber,c=l(Number(t),{locale:u});if(!i)return I.jsx("span",{className:a.weeknumber,style:o.weeknumber,children:c});var d=s(Number(t),{locale:u}),h=function(v){i(t,n,v)};return I.jsx(Xb,{name:"week-number","aria-label":d,className:a.weeknumber,style:o.weeknumber,onClick:h,children:c})}function EBe(e){var t,n,r=Hn(),i=r.styles,o=r.classNames,a=r.showWeekNumber,u=r.components,s=(t=u?.Day)!==null&&t!==void 0?t:SBe,l=(n=u?.WeekNumber)!==null&&n!==void 0?n:CBe,c;return a&&(c=I.jsx("td",{className:o.cell,style:i.cell,children:I.jsx(l,{number:e.weekNumber,dates:e.dates})})),I.jsxs("tr",{className:o.row,style:i.row,children:[c,e.dates.map(function(d){return I.jsx("td",{className:o.cell,style:i.cell,role:"presentation",children:I.jsx(s,{displayMonth:e.displayMonth,date:d})},ELe(d))})]})}function L$(e,t,n){for(var r=n?.ISOWeek?Nq(t):yO(t,n),i=n?.ISOWeek?tf(e):ma(e,n),o=gu(r,i),a=[],u=0;u<=o;u++)a.push(Ui(i,u));var s=a.reduce(function(l,c){var d=n?.ISOWeek?jq(c):zq(c,n),h=l.find(function(v){return v.weekNumber===d});return h?(h.dates.push(c),l):(l.push({weekNumber:d,dates:[c]}),l)},[]);return s}function ABe(e,t){var n=L$(ho(e),mO(e),t);if(t?.useFixedWeeks){var r=PLe(e,t);if(r<6){var i=n[n.length-1],o=i.dates[i.dates.length-1],a=I6(o,6-r),u=L$(I6(o,1),a,t);n.push.apply(n,u)}}return n}function PBe(e){var t,n,r,i=Hn(),o=i.locale,a=i.classNames,u=i.styles,s=i.hideHead,l=i.fixedWeeks,c=i.components,d=i.weekStartsOn,h=i.firstWeekContainsDate,v=i.ISOWeek,g=ABe(e.displayMonth,{useFixedWeeks:!!l,ISOWeek:v,locale:o,weekStartsOn:d,firstWeekContainsDate:h}),m=(t=c?.Head)!==null&&t!==void 0?t:Uje,b=(n=c?.Row)!==null&&n!==void 0?n:EBe,w=(r=c?.Footer)!==null&&r!==void 0?r:jje;return I.jsxs("table",{id:e.id,className:a.table,style:u.table,role:"grid","aria-labelledby":e["aria-labelledby"],children:[!s&&I.jsx(m,{}),I.jsx("tbody",{className:a.tbody,style:u.tbody,children:g.map(function(x){return I.jsx(b,{displayMonth:e.displayMonth,dates:x.dates,weekNumber:x.weekNumber},x.weekNumber)})}),I.jsx(w,{displayMonth:e.displayMonth})]})}function OBe(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var kBe=OBe()?y.useLayoutEffect:y.useEffect,XS=!1,TBe=0;function j$(){return"react-day-picker-".concat(++TBe)}function MBe(e){var t,n=e??(XS?j$():null),r=y.useState(n),i=r[0],o=r[1];return kBe(function(){i===null&&o(j$())},[]),y.useEffect(function(){XS===!1&&(XS=!0)},[]),(t=e??i)!==null&&t!==void 0?t:void 0}function RBe(e){var t,n,r=Hn(),i=r.dir,o=r.classNames,a=r.styles,u=r.components,s=Rg().displayMonths,l=MBe(r.id?"".concat(r.id,"-").concat(e.displayIndex):void 0),c=r.id?"".concat(r.id,"-grid-").concat(e.displayIndex):void 0,d=[o.month],h=a.month,v=e.displayIndex===0,g=e.displayIndex===s.length-1,m=!v&&!g;i==="rtl"&&(t=[v,g],g=t[0],v=t[1]),v&&(d.push(o.caption_start),h=Rt(Rt({},h),a.caption_start)),g&&(d.push(o.caption_end),h=Rt(Rt({},h),a.caption_end)),m&&(d.push(o.caption_between),h=Rt(Rt({},h),a.caption_between));var b=(n=u?.Caption)!==null&&n!==void 0?n:Lje;return I.jsxs("div",{className:d.join(" "),style:h,children:[I.jsx(b,{id:l,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),I.jsx(PBe,{id:c,"aria-labelledby":l,displayMonth:e.displayMonth})]},e.displayIndex)}function DBe(e){var t=Hn(),n=t.classNames,r=t.styles;return I.jsx("div",{className:n.months,style:r.months,children:e.children})}function $Be(e){var t,n,r=e.initialProps,i=Hn(),o=EO(),a=Rg(),u=y.useState(!1),s=u[0],l=u[1];y.useEffect(function(){i.initialFocus&&o.focusTarget&&(s||(o.focus(o.focusTarget),l(!0)))},[i.initialFocus,s,o.focus,o.focusTarget,o]);var c=[i.classNames.root,i.className];i.numberOfMonths>1&&c.push(i.classNames.multiple_months),i.showWeekNumber&&c.push(i.classNames.with_weeknumber);var d=Rt(Rt({},i.styles.root),i.style),h=Object.keys(r).filter(function(g){return g.startsWith("data-")}).reduce(function(g,m){var b;return Rt(Rt({},g),(b={},b[m]=r[m],b))},{}),v=(n=(t=r.components)===null||t===void 0?void 0:t.Months)!==null&&n!==void 0?n:DBe;return I.jsx("div",Rt({className:c.join(" "),style:d,dir:i.dir,id:i.id,nonce:r.nonce,title:r.title,lang:r.lang},h,{children:I.jsx(v,{children:a.displayMonths.map(function(g,m){return I.jsx(RBe,{displayIndex:m,displayMonth:g},m)})})}))}function IBe(e){var t=e.children,n=oje(e,["children"]);return I.jsx(Cje,{initialProps:n,children:I.jsx($je,{children:I.jsx(vBe,{initialProps:n,children:I.jsx(Vje,{initialProps:n,children:I.jsx(Kje,{initialProps:n,children:I.jsx(tBe,{children:I.jsx(hBe,{children:t})})})})})})})}function WYe(e){return I.jsx(IBe,Rt({},e,{children:I.jsx($Be,{initialProps:e})}))}var PO="Popover",[eK,VYe]=mi(PO,[Fl]),Dg=Fl(),[NBe,Hl]=eK(PO),tK=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:a=!1}=e,u=Dg(t),s=y.useRef(null),[l,c]=y.useState(!1),[d=!1,h]=Ga({prop:r,defaultProp:i,onChange:o});return I.jsx(Ux,{...u,children:I.jsx(NBe,{scope:t,contentId:No(),triggerRef:s,open:d,onOpenChange:h,onOpenToggle:y.useCallback(()=>h(v=>!v),[h]),hasCustomAnchor:l,onCustomAnchorAdd:y.useCallback(()=>c(!0),[]),onCustomAnchorRemove:y.useCallback(()=>c(!1),[]),modal:a,children:n})})};tK.displayName=PO;var nK="PopoverAnchor",FBe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Hl(nK,n),o=Dg(n),{onCustomAnchorAdd:a,onCustomAnchorRemove:u}=i;return y.useEffect(()=>(a(),()=>u()),[a,u]),I.jsx(vg,{...o,...r,ref:t})});FBe.displayName=nK;var rK="PopoverTrigger",iK=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Hl(rK,n),o=Dg(n),a=Kt(t,i.triggerRef),u=I.jsx(pt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":lK(i.open),...r,ref:a,onClick:Ye(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?u:I.jsx(vg,{asChild:!0,...o,children:u})});iK.displayName=rK;var OO="PopoverPortal",[LBe,jBe]=eK(OO,{forceMount:void 0}),oK=e=>{const{__scopePopover:t,forceMount:n,children:r,container:i}=e,o=Hl(OO,t);return I.jsx(LBe,{scope:t,forceMount:n,children:I.jsx(ii,{present:n||o.open,children:I.jsx(cg,{asChild:!0,container:i,children:r})})})};oK.displayName=OO;var mh="PopoverContent",aK=y.forwardRef((e,t)=>{const n=jBe(mh,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,o=Hl(mh,e.__scopePopover);return I.jsx(ii,{present:r||o.open,children:o.modal?I.jsx(BBe,{...i,ref:t}):I.jsx(zBe,{...i,ref:t})})});aK.displayName=mh;var BBe=y.forwardRef((e,t)=>{const n=Hl(mh,e.__scopePopover),r=y.useRef(null),i=Kt(t,r),o=y.useRef(!1);return y.useEffect(()=>{const a=r.current;if(a)return dg(a)},[]),I.jsx(fg,{as:Sl,allowPinchZoom:!0,children:I.jsx(uK,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ye(e.onCloseAutoFocus,a=>{a.preventDefault(),o.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Ye(e.onPointerDownOutside,a=>{const u=a.detail.originalEvent,s=u.button===0&&u.ctrlKey===!0,l=u.button===2||s;o.current=l},{checkForDefaultPrevented:!1}),onFocusOutside:Ye(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),zBe=y.forwardRef((e,t)=>{const n=Hl(mh,e.__scopePopover),r=y.useRef(!1),i=y.useRef(!1);return I.jsx(uK,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(r.current||n.triggerRef.current?.focus(),o.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const a=o.target;n.triggerRef.current?.contains(a)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),uK=y.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:a,onEscapeKeyDown:u,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:c,...d}=e,h=Hl(mh,n),v=Dg(n);return Lx(),I.jsx(lg,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:I.jsx(kh,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:c,onEscapeKeyDown:u,onPointerDownOutside:s,onFocusOutside:l,onDismiss:()=>h.onOpenChange(!1),children:I.jsx(Wx,{"data-state":lK(h.open),role:"dialog",id:h.contentId,...v,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),sK="PopoverClose",UBe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Hl(sK,n);return I.jsx(pt.button,{type:"button",...r,ref:t,onClick:Ye(e.onClick,()=>i.onOpenChange(!1))})});UBe.displayName=sK;var WBe="PopoverArrow",VBe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Dg(n);return I.jsx(Vx,{...i,...r,ref:t})});VBe.displayName=WBe;function lK(e){return e?"open":"closed"}var HYe=tK,qYe=iK,KYe=oK,GYe=aK,Qb={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors @@ -447,12 +447,12 @@ __p += '`),dn&&(Ie+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+Ie+`return __p -}`;var Xt=fk(function(){return _n(z,ft+"return "+Ie).apply(n,X)});if(Xt.source=Ie,e_(Xt))throw Xt;return Xt}function yte(f){return En(f).toLowerCase()}function bte(f){return En(f).toUpperCase()}function xte(f,p,_){if(f=En(f),f&&(_||p===n))return x5(f);if(!f||!(p=xo(p)))return f;var O=_a(f),R=_a(p),z=w5(O,R),X=_5(O,R)+1;return Fs(O,z,X).join("")}function wte(f,p,_){if(f=En(f),f&&(_||p===n))return f.slice(0,C5(f)+1);if(!f||!(p=xo(p)))return f;var O=_a(f),R=_5(O,_a(p))+1;return Fs(O,0,R).join("")}function _te(f,p,_){if(f=En(f),f&&(_||p===n))return f.replace(k,"");if(!f||!(p=xo(p)))return f;var O=_a(f),R=w5(O,_a(p));return Fs(O,R).join("")}function Ste(f,p){var _=U,O=H;if(sr(p)){var R="separator"in p?p.separator:R;_="length"in p?Yt(p.length):_,O="omission"in p?xo(p.omission):O}f=En(f);var z=f.length;if(xf(f)){var X=_a(f);z=X.length}if(_>=z)return f;var ae=_-wf(O);if(ae<1)return O;var fe=X?Fs(X,0,ae).join(""):f.slice(0,ae);if(R===n)return fe+O;if(X&&(ae+=fe.length-ae),t_(R)){if(f.slice(ae).search(R)){var Me,Re=fe;for(R.global||(R=m2(R.source,En(Be.exec(R))+"g")),R.lastIndex=0;Me=R.exec(Re);)var Ie=Me.index;fe=fe.slice(0,Ie===n?ae:Ie)}}else if(f.indexOf(xo(R),ae)!=ae){var et=fe.lastIndexOf(R);et>-1&&(fe=fe.slice(0,et))}return fe+O}function Cte(f){return f=En(f),f&&wn.test(f)?f.replace(_t,JY):f}var Ete=Of(function(f,p,_){return f+(_?" ":"")+p.toUpperCase()}),i_=d8("toUpperCase");function ck(f,p,_){return f=En(f),p=_?n:p,p===n?GY(f)?nZ(f):jY(f):f.match(p)||[]}var fk=Jt(function(f,p){try{return yo(f,n,p)}catch(_){return e_(_)?_:new jt(_)}}),Ate=Fu(function(f,p){return qo(p,function(_){_=ou(_),Iu(f,_,Q2(f[_],f))}),f});function Pte(f){var p=f==null?0:f.length,_=Et();return f=p?nr(f,function(O){if(typeof O[1]!="function")throw new Ko(a);return[_(O[0]),O[1]]}):[],Jt(function(O){for(var R=-1;++RB)return[];var _=ue,O=wi(f,ue);p=Et(p),f-=ue;for(var R=p2(O,p);++_0||p<0)?new sn(_):(f<0?_=_.takeRight(-f):f&&(_=_.drop(f)),p!==n&&(p=Yt(p),_=p<0?_.dropRight(-p):_.take(p-f)),_)},sn.prototype.takeRightWhile=function(f){return this.reverse().takeWhile(f).reverse()},sn.prototype.toArray=function(){return this.take(ue)},ru(sn.prototype,function(f,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),O=/^(?:head|last)$/.test(p),R=L[O?"take"+(p=="last"?"Right":""):p],z=O||/^find/.test(p);R&&(L.prototype[p]=function(){var X=this.__wrapped__,ae=O?[1]:arguments,fe=X instanceof sn,Me=ae[0],Re=fe||Ut(X),Ie=function(nn){var dn=R.apply(L,Ms([nn],ae));return O&&et?dn[0]:dn};Re&&_&&typeof Me=="function"&&Me.length!=1&&(fe=Re=!1);var et=this.__chain__,ft=!!this.__actions__.length,Pt=z&&!et,Xt=fe&&!ft;if(!z&&Re){X=Xt?X:new sn(this);var Ot=f.apply(X,ae);return Ot.__actions__.push({func:pm,args:[Ie],thisArg:n}),new Go(Ot,et)}return Pt&&Xt?f.apply(this,ae):(Ot=this.thru(Ie),Pt?O?Ot.value()[0]:Ot.value():Ot)})}),qo(["pop","push","shift","sort","splice","unshift"],function(f){var p=Bg[f],_=/^(?:push|sort|unshift)$/.test(f)?"tap":"thru",O=/^(?:pop|shift)$/.test(f);L.prototype[f]=function(){var R=arguments;if(O&&!this.__chain__){var z=this.value();return p.apply(Ut(z)?z:[],R)}return this[_](function(X){return p.apply(Ut(X)?X:[],R)})}}),ru(sn.prototype,function(f,p){var _=L[p];if(_){var O=_.name+"";kn.call(Ef,O)||(Ef[O]=[]),Ef[O].push({name:p,func:_})}}),Ef[um(n,w).name]=[{name:"wrapper",func:n}],sn.prototype.clone=CZ,sn.prototype.reverse=EZ,sn.prototype.value=AZ,L.prototype.at=tJ,L.prototype.chain=nJ,L.prototype.commit=rJ,L.prototype.next=iJ,L.prototype.plant=aJ,L.prototype.reverse=uJ,L.prototype.toJSON=L.prototype.valueOf=L.prototype.value=sJ,L.prototype.first=L.prototype.head,Qh&&(L.prototype[Qh]=oJ),L},_f=rZ();Kl?((Kl.exports=_f)._=_f,a2._=_f):si._=_f}).call(ua)})(Qb,Qb.exports);var YYe=Qb.exports;function HBe(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var kO="ScrollArea",[cK,ZYe]=mi(kO),[qBe,xa]=cK(kO),fK=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:i,scrollHideDelay:o=600,...a}=e,[u,s]=y.useState(null),[l,c]=y.useState(null),[d,h]=y.useState(null),[v,g]=y.useState(null),[m,b]=y.useState(null),[w,x]=y.useState(0),[S,A]=y.useState(0),[E,C]=y.useState(!1),[T,M]=y.useState(!1),F=Kt(t,H=>s(H)),U=hg(i);return I.jsx(qBe,{scope:n,type:r,dir:U,scrollHideDelay:o,scrollArea:u,viewport:l,onViewportChange:c,content:d,onContentChange:h,scrollbarX:v,onScrollbarXChange:g,scrollbarXEnabled:E,onScrollbarXEnabledChange:C,scrollbarY:m,onScrollbarYChange:b,scrollbarYEnabled:T,onScrollbarYEnabledChange:M,onCornerWidthChange:x,onCornerHeightChange:A,children:I.jsx(pt.div,{dir:U,...a,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});fK.displayName=kO;var dK="ScrollAreaViewport",hK=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:i,...o}=e,a=xa(dK,n),u=y.useRef(null),s=Kt(t,u,a.onViewportChange);return I.jsxs(I.Fragment,{children:[I.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),I.jsx(pt.div,{"data-radix-scroll-area-viewport":"",...o,ref:s,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:I.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});hK.displayName=dK;var Tu="ScrollAreaScrollbar",KBe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=xa(Tu,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:a}=i,u=e.orientation==="horizontal";return y.useEffect(()=>(u?o(!0):a(!0),()=>{u?o(!1):a(!1)}),[u,o,a]),i.type==="hover"?I.jsx(GBe,{...r,ref:t,forceMount:n}):i.type==="scroll"?I.jsx(YBe,{...r,ref:t,forceMount:n}):i.type==="auto"?I.jsx(pK,{...r,ref:t,forceMount:n}):i.type==="always"?I.jsx(TO,{...r,ref:t}):null});KBe.displayName=Tu;var GBe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=xa(Tu,e.__scopeScrollArea),[o,a]=y.useState(!1);return y.useEffect(()=>{const u=i.scrollArea;let s=0;if(u){const l=()=>{window.clearTimeout(s),a(!0)},c=()=>{s=window.setTimeout(()=>a(!1),i.scrollHideDelay)};return u.addEventListener("pointerenter",l),u.addEventListener("pointerleave",c),()=>{window.clearTimeout(s),u.removeEventListener("pointerenter",l),u.removeEventListener("pointerleave",c)}}},[i.scrollArea,i.scrollHideDelay]),I.jsx(ii,{present:n||o,children:I.jsx(pK,{"data-state":o?"visible":"hidden",...r,ref:t})})}),YBe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=xa(Tu,e.__scopeScrollArea),o=e.orientation==="horizontal",a=Xw(()=>s("SCROLL_END"),100),[u,s]=HBe("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(u==="idle"){const l=window.setTimeout(()=>s("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(l)}},[u,i.scrollHideDelay,s]),y.useEffect(()=>{const l=i.viewport,c=o?"scrollLeft":"scrollTop";if(l){let d=l[c];const h=()=>{const v=l[c];d!==v&&(s("SCROLL"),a()),d=v};return l.addEventListener("scroll",h),()=>l.removeEventListener("scroll",h)}},[i.viewport,o,s,a]),I.jsx(ii,{present:n||u!=="hidden",children:I.jsx(TO,{"data-state":u==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:Ye(e.onPointerEnter,()=>s("POINTER_ENTER")),onPointerLeave:Ye(e.onPointerLeave,()=>s("POINTER_LEAVE"))})})}),pK=y.forwardRef((e,t)=>{const n=xa(Tu,e.__scopeScrollArea),{forceMount:r,...i}=e,[o,a]=y.useState(!1),u=e.orientation==="horizontal",s=Xw(()=>{if(n.viewport){const l=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,i=xa(Tu,e.__scopeScrollArea),o=y.useRef(null),a=y.useRef(0),[u,s]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=yK(u.viewport,u.content),c={...r,sizes:u,onSizesChange:s,hasThumb:l>0&&l<1,onThumbChange:h=>o.current=h,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:h=>a.current=h};function d(h,v){return nze(h,a.current,u,v)}return n==="horizontal"?I.jsx(ZBe,{...c,ref:t,onThumbPositionChange:()=>{if(i.viewport&&o.current){const h=i.viewport.scrollLeft,v=B$(h,u,i.dir);o.current.style.transform=`translate3d(${v}px, 0, 0)`}},onWheelScroll:h=>{i.viewport&&(i.viewport.scrollLeft=h)},onDragScroll:h=>{i.viewport&&(i.viewport.scrollLeft=d(h,i.dir))}}):n==="vertical"?I.jsx(XBe,{...c,ref:t,onThumbPositionChange:()=>{if(i.viewport&&o.current){const h=i.viewport.scrollTop,v=B$(h,u);o.current.style.transform=`translate3d(0, ${v}px, 0)`}},onWheelScroll:h=>{i.viewport&&(i.viewport.scrollTop=h)},onDragScroll:h=>{i.viewport&&(i.viewport.scrollTop=d(h))}}):null}),ZBe=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...i}=e,o=xa(Tu,e.__scopeScrollArea),[a,u]=y.useState(),s=y.useRef(null),l=Kt(t,s,o.onScrollbarXChange);return y.useEffect(()=>{s.current&&u(getComputedStyle(s.current))},[s]),I.jsx(gK,{"data-orientation":"horizontal",...i,ref:l,sizes:n,style:{bottom:0,left:o.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:o.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Zw(n)+"px",...e.style},onThumbPointerDown:c=>e.onThumbPointerDown(c.x),onDragScroll:c=>e.onDragScroll(c.x),onWheelScroll:(c,d)=>{if(o.viewport){const h=o.viewport.scrollLeft+c.deltaX;e.onWheelScroll(h),xK(h,d)&&c.preventDefault()}},onResize:()=>{s.current&&o.viewport&&a&&r({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:s.current.clientWidth,paddingStart:ex(a.paddingLeft),paddingEnd:ex(a.paddingRight)}})}})}),XBe=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...i}=e,o=xa(Tu,e.__scopeScrollArea),[a,u]=y.useState(),s=y.useRef(null),l=Kt(t,s,o.onScrollbarYChange);return y.useEffect(()=>{s.current&&u(getComputedStyle(s.current))},[s]),I.jsx(gK,{"data-orientation":"vertical",...i,ref:l,sizes:n,style:{top:0,right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Zw(n)+"px",...e.style},onThumbPointerDown:c=>e.onThumbPointerDown(c.y),onDragScroll:c=>e.onDragScroll(c.y),onWheelScroll:(c,d)=>{if(o.viewport){const h=o.viewport.scrollTop+c.deltaY;e.onWheelScroll(h),xK(h,d)&&c.preventDefault()}},onResize:()=>{s.current&&o.viewport&&a&&r({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:s.current.clientHeight,paddingStart:ex(a.paddingTop),paddingEnd:ex(a.paddingBottom)}})}})}),[QBe,vK]=cK(Tu),gK=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:o,onThumbPointerUp:a,onThumbPointerDown:u,onThumbPositionChange:s,onDragScroll:l,onWheelScroll:c,onResize:d,...h}=e,v=xa(Tu,n),[g,m]=y.useState(null),b=Kt(t,F=>m(F)),w=y.useRef(null),x=y.useRef(""),S=v.viewport,A=r.content-r.viewport,E=Wr(c),C=Wr(s),T=Xw(d,10);function M(F){if(w.current){const U=F.clientX-w.current.left,H=F.clientY-w.current.top;l({x:U,y:H})}}return y.useEffect(()=>{const F=U=>{const H=U.target;g?.contains(H)&&E(U,A)};return document.addEventListener("wheel",F,{passive:!1}),()=>document.removeEventListener("wheel",F,{passive:!1})},[S,g,A,E]),y.useEffect(C,[r,C]),yh(g,T),yh(v.content,T),I.jsx(QBe,{scope:n,scrollbar:g,hasThumb:i,onThumbChange:Wr(o),onThumbPointerUp:Wr(a),onThumbPositionChange:C,onThumbPointerDown:Wr(u),children:I.jsx(pt.div,{...h,ref:b,style:{position:"absolute",...h.style},onPointerDown:Ye(e.onPointerDown,F=>{F.button===0&&(F.target.setPointerCapture(F.pointerId),w.current=g.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),M(F))}),onPointerMove:Ye(e.onPointerMove,M),onPointerUp:Ye(e.onPointerUp,F=>{const U=F.target;U.hasPointerCapture(F.pointerId)&&U.releasePointerCapture(F.pointerId),document.body.style.webkitUserSelect=x.current,v.viewport&&(v.viewport.style.scrollBehavior=""),w.current=null})})})}),Jb="ScrollAreaThumb",JBe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=vK(Jb,e.__scopeScrollArea);return I.jsx(ii,{present:n||i.hasThumb,children:I.jsx(eze,{ref:t,...r})})}),eze=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...i}=e,o=xa(Jb,n),a=vK(Jb,n),{onThumbPositionChange:u}=a,s=Kt(t,d=>a.onThumbChange(d)),l=y.useRef(void 0),c=Xw(()=>{l.current&&(l.current(),l.current=void 0)},100);return y.useEffect(()=>{const d=o.viewport;if(d){const h=()=>{if(c(),!l.current){const v=rze(d,u);l.current=v,u()}};return u(),d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[o.viewport,c,u]),I.jsx(pt.div,{"data-state":a.hasThumb?"visible":"hidden",...i,ref:s,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Ye(e.onPointerDownCapture,d=>{const v=d.target.getBoundingClientRect(),g=d.clientX-v.left,m=d.clientY-v.top;a.onThumbPointerDown({x:g,y:m})}),onPointerUp:Ye(e.onPointerUp,a.onThumbPointerUp)})});JBe.displayName=Jb;var MO="ScrollAreaCorner",mK=y.forwardRef((e,t)=>{const n=xa(MO,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?I.jsx(tze,{...e,ref:t}):null});mK.displayName=MO;var tze=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,i=xa(MO,n),[o,a]=y.useState(0),[u,s]=y.useState(0),l=!!(o&&u);return yh(i.scrollbarX,()=>{const c=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(c),s(c)}),yh(i.scrollbarY,()=>{const c=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(c),a(c)}),l?I.jsx(pt.div,{...r,ref:t,style:{width:o,height:u,position:"absolute",right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function ex(e){return e?parseInt(e,10):0}function yK(e,t){const n=e/t;return isNaN(n)?0:n}function Zw(e){const t=yK(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function nze(e,t,n,r="ltr"){const i=Zw(n),o=i/2,a=t||o,u=i-a,s=n.scrollbar.paddingStart+a,l=n.scrollbar.size-n.scrollbar.paddingEnd-u,c=n.content-n.viewport,d=r==="ltr"?[0,c]:[c*-1,0];return bK([s,l],d)(e)}function B$(e,t,n="ltr"){const r=Zw(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-i,a=t.content-t.viewport,u=o-r,s=n==="ltr"?[0,a]:[a*-1,0],l=M6(e,s);return bK([0,a],[0,u])(l)}function bK(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function xK(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function i(){const o={left:e.scrollLeft,top:e.scrollTop},a=n.left!==o.left,u=n.top!==o.top;(a||u)&&t(),n=o,r=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(r)};function Xw(e,t){const n=Wr(e),r=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),y.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function yh(e,t){const n=Wr(t);ni(()=>{let r=0;if(e){const i=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return i.observe(e),()=>{window.cancelAnimationFrame(r),i.unobserve(e)}}},[e,n])}var XYe=fK,QYe=hK,JYe=mK,RO="Progress",DO=100,[ize,eZe]=mi(RO),[oze,aze]=ize(RO),wK=y.forwardRef((e,t)=>{const{__scopeProgress:n,value:r=null,max:i,getValueLabel:o=uze,...a}=e;(i||i===0)&&!z$(i)&&console.error(sze(`${i}`,"Progress"));const u=z$(i)?i:DO;r!==null&&!U$(r,u)&&console.error(lze(`${r}`,"Progress"));const s=U$(r,u)?r:null,l=tx(s)?o(s,u):void 0;return I.jsx(oze,{scope:n,value:s,max:u,children:I.jsx(pt.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":tx(s)?s:void 0,"aria-valuetext":l,role:"progressbar","data-state":CK(s,u),"data-value":s??void 0,"data-max":u,...a,ref:t})})});wK.displayName=RO;var _K="ProgressIndicator",SK=y.forwardRef((e,t)=>{const{__scopeProgress:n,...r}=e,i=aze(_K,n);return I.jsx(pt.div,{"data-state":CK(i.value,i.max),"data-value":i.value??void 0,"data-max":i.max,...r,ref:t})});SK.displayName=_K;function uze(e,t){return`${Math.round(e/t*100)}%`}function CK(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function tx(e){return typeof e=="number"}function z$(e){return tx(e)&&!isNaN(e)&&e>0}function U$(e,t){return tx(e)&&!isNaN(e)&&e<=t&&e>=0}function sze(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${DO}\`.`}function lze(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: +}`;var Xt=fk(function(){return _n(z,ft+"return "+Ie).apply(n,X)});if(Xt.source=Ie,e_(Xt))throw Xt;return Xt}function yte(f){return En(f).toLowerCase()}function bte(f){return En(f).toUpperCase()}function xte(f,p,_){if(f=En(f),f&&(_||p===n))return x5(f);if(!f||!(p=xo(p)))return f;var O=_a(f),R=_a(p),z=w5(O,R),X=_5(O,R)+1;return Fs(O,z,X).join("")}function wte(f,p,_){if(f=En(f),f&&(_||p===n))return f.slice(0,C5(f)+1);if(!f||!(p=xo(p)))return f;var O=_a(f),R=_5(O,_a(p))+1;return Fs(O,0,R).join("")}function _te(f,p,_){if(f=En(f),f&&(_||p===n))return f.replace(k,"");if(!f||!(p=xo(p)))return f;var O=_a(f),R=w5(O,_a(p));return Fs(O,R).join("")}function Ste(f,p){var _=U,O=H;if(sr(p)){var R="separator"in p?p.separator:R;_="length"in p?Yt(p.length):_,O="omission"in p?xo(p.omission):O}f=En(f);var z=f.length;if(xf(f)){var X=_a(f);z=X.length}if(_>=z)return f;var ae=_-wf(O);if(ae<1)return O;var fe=X?Fs(X,0,ae).join(""):f.slice(0,ae);if(R===n)return fe+O;if(X&&(ae+=fe.length-ae),t_(R)){if(f.slice(ae).search(R)){var Me,Re=fe;for(R.global||(R=m2(R.source,En(Be.exec(R))+"g")),R.lastIndex=0;Me=R.exec(Re);)var Ie=Me.index;fe=fe.slice(0,Ie===n?ae:Ie)}}else if(f.indexOf(xo(R),ae)!=ae){var et=fe.lastIndexOf(R);et>-1&&(fe=fe.slice(0,et))}return fe+O}function Cte(f){return f=En(f),f&&wn.test(f)?f.replace(_t,JY):f}var Ete=Of(function(f,p,_){return f+(_?" ":"")+p.toUpperCase()}),i_=d8("toUpperCase");function ck(f,p,_){return f=En(f),p=_?n:p,p===n?GY(f)?nZ(f):jY(f):f.match(p)||[]}var fk=Jt(function(f,p){try{return yo(f,n,p)}catch(_){return e_(_)?_:new jt(_)}}),Ate=Fu(function(f,p){return qo(p,function(_){_=ou(_),Iu(f,_,Q2(f[_],f))}),f});function Pte(f){var p=f==null?0:f.length,_=Et();return f=p?nr(f,function(O){if(typeof O[1]!="function")throw new Ko(a);return[_(O[0]),O[1]]}):[],Jt(function(O){for(var R=-1;++RB)return[];var _=ue,O=wi(f,ue);p=Et(p),f-=ue;for(var R=p2(O,p);++_0||p<0)?new sn(_):(f<0?_=_.takeRight(-f):f&&(_=_.drop(f)),p!==n&&(p=Yt(p),_=p<0?_.dropRight(-p):_.take(p-f)),_)},sn.prototype.takeRightWhile=function(f){return this.reverse().takeWhile(f).reverse()},sn.prototype.toArray=function(){return this.take(ue)},ru(sn.prototype,function(f,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),O=/^(?:head|last)$/.test(p),R=L[O?"take"+(p=="last"?"Right":""):p],z=O||/^find/.test(p);R&&(L.prototype[p]=function(){var X=this.__wrapped__,ae=O?[1]:arguments,fe=X instanceof sn,Me=ae[0],Re=fe||Ut(X),Ie=function(nn){var dn=R.apply(L,Ms([nn],ae));return O&&et?dn[0]:dn};Re&&_&&typeof Me=="function"&&Me.length!=1&&(fe=Re=!1);var et=this.__chain__,ft=!!this.__actions__.length,Pt=z&&!et,Xt=fe&&!ft;if(!z&&Re){X=Xt?X:new sn(this);var Ot=f.apply(X,ae);return Ot.__actions__.push({func:pm,args:[Ie],thisArg:n}),new Go(Ot,et)}return Pt&&Xt?f.apply(this,ae):(Ot=this.thru(Ie),Pt?O?Ot.value()[0]:Ot.value():Ot)})}),qo(["pop","push","shift","sort","splice","unshift"],function(f){var p=Bg[f],_=/^(?:push|sort|unshift)$/.test(f)?"tap":"thru",O=/^(?:pop|shift)$/.test(f);L.prototype[f]=function(){var R=arguments;if(O&&!this.__chain__){var z=this.value();return p.apply(Ut(z)?z:[],R)}return this[_](function(X){return p.apply(Ut(X)?X:[],R)})}}),ru(sn.prototype,function(f,p){var _=L[p];if(_){var O=_.name+"";kn.call(Ef,O)||(Ef[O]=[]),Ef[O].push({name:p,func:_})}}),Ef[um(n,w).name]=[{name:"wrapper",func:n}],sn.prototype.clone=CZ,sn.prototype.reverse=EZ,sn.prototype.value=AZ,L.prototype.at=tJ,L.prototype.chain=nJ,L.prototype.commit=rJ,L.prototype.next=iJ,L.prototype.plant=aJ,L.prototype.reverse=uJ,L.prototype.toJSON=L.prototype.valueOf=L.prototype.value=sJ,L.prototype.first=L.prototype.head,Qh&&(L.prototype[Qh]=oJ),L},_f=rZ();Kl?((Kl.exports=_f)._=_f,a2._=_f):si._=_f}).call(ua)})(Qb,Qb.exports);var YYe=Qb.exports;function HBe(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var kO="ScrollArea",[cK,ZYe]=mi(kO),[qBe,xa]=cK(kO),fK=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:i,scrollHideDelay:o=600,...a}=e,[u,s]=y.useState(null),[l,c]=y.useState(null),[d,h]=y.useState(null),[v,g]=y.useState(null),[m,b]=y.useState(null),[w,x]=y.useState(0),[S,A]=y.useState(0),[E,C]=y.useState(!1),[T,M]=y.useState(!1),F=Kt(t,H=>s(H)),U=hg(i);return I.jsx(qBe,{scope:n,type:r,dir:U,scrollHideDelay:o,scrollArea:u,viewport:l,onViewportChange:c,content:d,onContentChange:h,scrollbarX:v,onScrollbarXChange:g,scrollbarXEnabled:E,onScrollbarXEnabledChange:C,scrollbarY:m,onScrollbarYChange:b,scrollbarYEnabled:T,onScrollbarYEnabledChange:M,onCornerWidthChange:x,onCornerHeightChange:A,children:I.jsx(pt.div,{dir:U,...a,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});fK.displayName=kO;var dK="ScrollAreaViewport",hK=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:i,...o}=e,a=xa(dK,n),u=y.useRef(null),s=Kt(t,u,a.onViewportChange);return I.jsxs(I.Fragment,{children:[I.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),I.jsx(pt.div,{"data-radix-scroll-area-viewport":"",...o,ref:s,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:I.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});hK.displayName=dK;var Tu="ScrollAreaScrollbar",KBe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=xa(Tu,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:a}=i,u=e.orientation==="horizontal";return y.useEffect(()=>(u?o(!0):a(!0),()=>{u?o(!1):a(!1)}),[u,o,a]),i.type==="hover"?I.jsx(GBe,{...r,ref:t,forceMount:n}):i.type==="scroll"?I.jsx(YBe,{...r,ref:t,forceMount:n}):i.type==="auto"?I.jsx(pK,{...r,ref:t,forceMount:n}):i.type==="always"?I.jsx(TO,{...r,ref:t}):null});KBe.displayName=Tu;var GBe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=xa(Tu,e.__scopeScrollArea),[o,a]=y.useState(!1);return y.useEffect(()=>{const u=i.scrollArea;let s=0;if(u){const l=()=>{window.clearTimeout(s),a(!0)},c=()=>{s=window.setTimeout(()=>a(!1),i.scrollHideDelay)};return u.addEventListener("pointerenter",l),u.addEventListener("pointerleave",c),()=>{window.clearTimeout(s),u.removeEventListener("pointerenter",l),u.removeEventListener("pointerleave",c)}}},[i.scrollArea,i.scrollHideDelay]),I.jsx(ii,{present:n||o,children:I.jsx(pK,{"data-state":o?"visible":"hidden",...r,ref:t})})}),YBe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=xa(Tu,e.__scopeScrollArea),o=e.orientation==="horizontal",a=Xw(()=>s("SCROLL_END"),100),[u,s]=HBe("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(u==="idle"){const l=window.setTimeout(()=>s("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(l)}},[u,i.scrollHideDelay,s]),y.useEffect(()=>{const l=i.viewport,c=o?"scrollLeft":"scrollTop";if(l){let d=l[c];const h=()=>{const v=l[c];d!==v&&(s("SCROLL"),a()),d=v};return l.addEventListener("scroll",h),()=>l.removeEventListener("scroll",h)}},[i.viewport,o,s,a]),I.jsx(ii,{present:n||u!=="hidden",children:I.jsx(TO,{"data-state":u==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:Ye(e.onPointerEnter,()=>s("POINTER_ENTER")),onPointerLeave:Ye(e.onPointerLeave,()=>s("POINTER_LEAVE"))})})}),pK=y.forwardRef((e,t)=>{const n=xa(Tu,e.__scopeScrollArea),{forceMount:r,...i}=e,[o,a]=y.useState(!1),u=e.orientation==="horizontal",s=Xw(()=>{if(n.viewport){const l=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,i=xa(Tu,e.__scopeScrollArea),o=y.useRef(null),a=y.useRef(0),[u,s]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=yK(u.viewport,u.content),c={...r,sizes:u,onSizesChange:s,hasThumb:l>0&&l<1,onThumbChange:h=>o.current=h,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:h=>a.current=h};function d(h,v){return nze(h,a.current,u,v)}return n==="horizontal"?I.jsx(ZBe,{...c,ref:t,onThumbPositionChange:()=>{if(i.viewport&&o.current){const h=i.viewport.scrollLeft,v=B$(h,u,i.dir);o.current.style.transform=`translate3d(${v}px, 0, 0)`}},onWheelScroll:h=>{i.viewport&&(i.viewport.scrollLeft=h)},onDragScroll:h=>{i.viewport&&(i.viewport.scrollLeft=d(h,i.dir))}}):n==="vertical"?I.jsx(XBe,{...c,ref:t,onThumbPositionChange:()=>{if(i.viewport&&o.current){const h=i.viewport.scrollTop,v=B$(h,u);o.current.style.transform=`translate3d(0, ${v}px, 0)`}},onWheelScroll:h=>{i.viewport&&(i.viewport.scrollTop=h)},onDragScroll:h=>{i.viewport&&(i.viewport.scrollTop=d(h))}}):null}),ZBe=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...i}=e,o=xa(Tu,e.__scopeScrollArea),[a,u]=y.useState(),s=y.useRef(null),l=Kt(t,s,o.onScrollbarXChange);return y.useEffect(()=>{s.current&&u(getComputedStyle(s.current))},[s]),I.jsx(gK,{"data-orientation":"horizontal",...i,ref:l,sizes:n,style:{bottom:0,left:o.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:o.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Zw(n)+"px",...e.style},onThumbPointerDown:c=>e.onThumbPointerDown(c.x),onDragScroll:c=>e.onDragScroll(c.x),onWheelScroll:(c,d)=>{if(o.viewport){const h=o.viewport.scrollLeft+c.deltaX;e.onWheelScroll(h),xK(h,d)&&c.preventDefault()}},onResize:()=>{s.current&&o.viewport&&a&&r({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:s.current.clientWidth,paddingStart:ex(a.paddingLeft),paddingEnd:ex(a.paddingRight)}})}})}),XBe=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...i}=e,o=xa(Tu,e.__scopeScrollArea),[a,u]=y.useState(),s=y.useRef(null),l=Kt(t,s,o.onScrollbarYChange);return y.useEffect(()=>{s.current&&u(getComputedStyle(s.current))},[s]),I.jsx(gK,{"data-orientation":"vertical",...i,ref:l,sizes:n,style:{top:0,right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Zw(n)+"px",...e.style},onThumbPointerDown:c=>e.onThumbPointerDown(c.y),onDragScroll:c=>e.onDragScroll(c.y),onWheelScroll:(c,d)=>{if(o.viewport){const h=o.viewport.scrollTop+c.deltaY;e.onWheelScroll(h),xK(h,d)&&c.preventDefault()}},onResize:()=>{s.current&&o.viewport&&a&&r({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:s.current.clientHeight,paddingStart:ex(a.paddingTop),paddingEnd:ex(a.paddingBottom)}})}})}),[QBe,vK]=cK(Tu),gK=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:o,onThumbPointerUp:a,onThumbPointerDown:u,onThumbPositionChange:s,onDragScroll:l,onWheelScroll:c,onResize:d,...h}=e,v=xa(Tu,n),[g,m]=y.useState(null),b=Kt(t,F=>m(F)),w=y.useRef(null),x=y.useRef(""),S=v.viewport,A=r.content-r.viewport,E=Wr(c),C=Wr(s),T=Xw(d,10);function M(F){if(w.current){const U=F.clientX-w.current.left,H=F.clientY-w.current.top;l({x:U,y:H})}}return y.useEffect(()=>{const F=U=>{const H=U.target;g?.contains(H)&&E(U,A)};return document.addEventListener("wheel",F,{passive:!1}),()=>document.removeEventListener("wheel",F,{passive:!1})},[S,g,A,E]),y.useEffect(C,[r,C]),yh(g,T),yh(v.content,T),I.jsx(QBe,{scope:n,scrollbar:g,hasThumb:i,onThumbChange:Wr(o),onThumbPointerUp:Wr(a),onThumbPositionChange:C,onThumbPointerDown:Wr(u),children:I.jsx(pt.div,{...h,ref:b,style:{position:"absolute",...h.style},onPointerDown:Ye(e.onPointerDown,F=>{F.button===0&&(F.target.setPointerCapture(F.pointerId),w.current=g.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),M(F))}),onPointerMove:Ye(e.onPointerMove,M),onPointerUp:Ye(e.onPointerUp,F=>{const U=F.target;U.hasPointerCapture(F.pointerId)&&U.releasePointerCapture(F.pointerId),document.body.style.webkitUserSelect=x.current,v.viewport&&(v.viewport.style.scrollBehavior=""),w.current=null})})})}),Jb="ScrollAreaThumb",JBe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=vK(Jb,e.__scopeScrollArea);return I.jsx(ii,{present:n||i.hasThumb,children:I.jsx(eze,{ref:t,...r})})}),eze=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...i}=e,o=xa(Jb,n),a=vK(Jb,n),{onThumbPositionChange:u}=a,s=Kt(t,d=>a.onThumbChange(d)),l=y.useRef(void 0),c=Xw(()=>{l.current&&(l.current(),l.current=void 0)},100);return y.useEffect(()=>{const d=o.viewport;if(d){const h=()=>{if(c(),!l.current){const v=rze(d,u);l.current=v,u()}};return u(),d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[o.viewport,c,u]),I.jsx(pt.div,{"data-state":a.hasThumb?"visible":"hidden",...i,ref:s,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Ye(e.onPointerDownCapture,d=>{const v=d.target.getBoundingClientRect(),g=d.clientX-v.left,m=d.clientY-v.top;a.onThumbPointerDown({x:g,y:m})}),onPointerUp:Ye(e.onPointerUp,a.onThumbPointerUp)})});JBe.displayName=Jb;var MO="ScrollAreaCorner",mK=y.forwardRef((e,t)=>{const n=xa(MO,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?I.jsx(tze,{...e,ref:t}):null});mK.displayName=MO;var tze=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,i=xa(MO,n),[o,a]=y.useState(0),[u,s]=y.useState(0),l=!!(o&&u);return yh(i.scrollbarX,()=>{const c=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(c),s(c)}),yh(i.scrollbarY,()=>{const c=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(c),a(c)}),l?I.jsx(pt.div,{...r,ref:t,style:{width:o,height:u,position:"absolute",right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function ex(e){return e?parseInt(e,10):0}function yK(e,t){const n=e/t;return isNaN(n)?0:n}function Zw(e){const t=yK(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function nze(e,t,n,r="ltr"){const i=Zw(n),o=i/2,a=t||o,u=i-a,s=n.scrollbar.paddingStart+a,l=n.scrollbar.size-n.scrollbar.paddingEnd-u,c=n.content-n.viewport,d=r==="ltr"?[0,c]:[c*-1,0];return bK([s,l],d)(e)}function B$(e,t,n="ltr"){const r=Zw(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-i,a=t.content-t.viewport,u=o-r,s=n==="ltr"?[0,a]:[a*-1,0],l=k6(e,s);return bK([0,a],[0,u])(l)}function bK(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function xK(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function i(){const o={left:e.scrollLeft,top:e.scrollTop},a=n.left!==o.left,u=n.top!==o.top;(a||u)&&t(),n=o,r=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(r)};function Xw(e,t){const n=Wr(e),r=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),y.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function yh(e,t){const n=Wr(t);ni(()=>{let r=0;if(e){const i=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return i.observe(e),()=>{window.cancelAnimationFrame(r),i.unobserve(e)}}},[e,n])}var XYe=fK,QYe=hK,JYe=mK,RO="Progress",DO=100,[ize,eZe]=mi(RO),[oze,aze]=ize(RO),wK=y.forwardRef((e,t)=>{const{__scopeProgress:n,value:r=null,max:i,getValueLabel:o=uze,...a}=e;(i||i===0)&&!z$(i)&&console.error(sze(`${i}`,"Progress"));const u=z$(i)?i:DO;r!==null&&!U$(r,u)&&console.error(lze(`${r}`,"Progress"));const s=U$(r,u)?r:null,l=tx(s)?o(s,u):void 0;return I.jsx(oze,{scope:n,value:s,max:u,children:I.jsx(pt.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":tx(s)?s:void 0,"aria-valuetext":l,role:"progressbar","data-state":CK(s,u),"data-value":s??void 0,"data-max":u,...a,ref:t})})});wK.displayName=RO;var _K="ProgressIndicator",SK=y.forwardRef((e,t)=>{const{__scopeProgress:n,...r}=e,i=aze(_K,n);return I.jsx(pt.div,{"data-state":CK(i.value,i.max),"data-value":i.value??void 0,"data-max":i.max,...r,ref:t})});SK.displayName=_K;function uze(e,t){return`${Math.round(e/t*100)}%`}function CK(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function tx(e){return typeof e=="number"}function z$(e){return tx(e)&&!isNaN(e)&&e>0}function U$(e,t){return tx(e)&&!isNaN(e)&&e<=t&&e>=0}function sze(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${DO}\`.`}function lze(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: - a positive number - less than the value passed to \`max\` (or ${DO} if no \`max\` prop is set) - \`null\` or \`undefined\` if the progress is indeterminate. -Defaulting to \`null\`.`}var tZe=wK,nZe=SK,cze="Separator",W$="horizontal",fze=["horizontal","vertical"],EK=y.forwardRef((e,t)=>{const{decorative:n,orientation:r=W$,...i}=e,o=dze(r)?r:W$,u=n?{role:"none"}:{"aria-orientation":o==="vertical"?o:void 0,role:"separator"};return I.jsx(pt.div,{"data-orientation":o,...u,...i,ref:t})});EK.displayName=cze;function dze(e){return fze.includes(e)}var rZe=EK,$O="Switch",[hze,iZe]=mi($O),[pze,vze]=hze($O),AK=y.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:i,defaultChecked:o,required:a,disabled:u,value:s="on",onCheckedChange:l,form:c,...d}=e,[h,v]=y.useState(null),g=Kt(t,S=>v(S)),m=y.useRef(!1),b=h?c||!!h.closest("form"):!0,[w=!1,x]=Ga({prop:i,defaultProp:o,onChange:l});return I.jsxs(pze,{scope:n,checked:w,disabled:u,children:[I.jsx(pt.button,{type:"button",role:"switch","aria-checked":w,"aria-required":a,"data-state":kK(w),"data-disabled":u?"":void 0,disabled:u,value:s,...d,ref:g,onClick:Ye(e.onClick,S=>{x(A=>!A),b&&(m.current=S.isPropagationStopped(),m.current||S.stopPropagation())})}),b&&I.jsx(gze,{control:h,bubbles:!m.current,name:r,value:s,checked:w,required:a,disabled:u,form:c,style:{transform:"translateX(-100%)"}})]})});AK.displayName=$O;var PK="SwitchThumb",OK=y.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,i=vze(PK,n);return I.jsx(pt.span,{"data-state":kK(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:t})});OK.displayName=PK;var gze=e=>{const{control:t,checked:n,bubbles:r=!0,...i}=e,o=y.useRef(null),a=yO(n),u=jA(t);return y.useEffect(()=>{const s=o.current,l=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(l,"checked").set;if(a!==n&&d){const h=new Event("click",{bubbles:r});d.call(s,n),s.dispatchEvent(h)}},[a,n,r]),I.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:o,style:{...e.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function kK(e){return e?"checked":"unchecked"}var oZe=AK,aZe=OK;/** +Defaulting to \`null\`.`}var tZe=wK,nZe=SK,cze="Separator",W$="horizontal",fze=["horizontal","vertical"],EK=y.forwardRef((e,t)=>{const{decorative:n,orientation:r=W$,...i}=e,o=dze(r)?r:W$,u=n?{role:"none"}:{"aria-orientation":o==="vertical"?o:void 0,role:"separator"};return I.jsx(pt.div,{"data-orientation":o,...u,...i,ref:t})});EK.displayName=cze;function dze(e){return fze.includes(e)}var rZe=EK,$O="Switch",[hze,iZe]=mi($O),[pze,vze]=hze($O),AK=y.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:i,defaultChecked:o,required:a,disabled:u,value:s="on",onCheckedChange:l,form:c,...d}=e,[h,v]=y.useState(null),g=Kt(t,S=>v(S)),m=y.useRef(!1),b=h?c||!!h.closest("form"):!0,[w=!1,x]=Ga({prop:i,defaultProp:o,onChange:l});return I.jsxs(pze,{scope:n,checked:w,disabled:u,children:[I.jsx(pt.button,{type:"button",role:"switch","aria-checked":w,"aria-required":a,"data-state":kK(w),"data-disabled":u?"":void 0,disabled:u,value:s,...d,ref:g,onClick:Ye(e.onClick,S=>{x(A=>!A),b&&(m.current=S.isPropagationStopped(),m.current||S.stopPropagation())})}),b&&I.jsx(gze,{control:h,bubbles:!m.current,name:r,value:s,checked:w,required:a,disabled:u,form:c,style:{transform:"translateX(-100%)"}})]})});AK.displayName=$O;var PK="SwitchThumb",OK=y.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,i=vze(PK,n);return I.jsx(pt.span,{"data-state":kK(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:t})});OK.displayName=PK;var gze=e=>{const{control:t,checked:n,bubbles:r=!0,...i}=e,o=y.useRef(null),a=hO(n),u=jA(t);return y.useEffect(()=>{const s=o.current,l=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(l,"checked").set;if(a!==n&&d){const h=new Event("click",{bubbles:r});d.call(s,n),s.dispatchEvent(h)}},[a,n,r]),I.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:o,style:{...e.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function kK(e){return e?"checked":"unchecked"}var oZe=AK,aZe=OK;/** * table-core * * Copyright (c) TanStack @@ -525,4 +525,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `:">",o};Zh.prototype.renderInline=function(e,t,n){let r="";const i=this.rules;for(let o=0,a=e.length;o=0&&(r=this.attrs[n][1]),r};nu.prototype.attrJoin=function(t,n){const r=this.attrIndex(t);r<0?this.attrPush([t,n]):this.attrs[r][1]=this.attrs[r][1]+" "+n};function qG(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}qG.prototype.Token=nu;const UVe=/\r\n?|\n/g,WVe=/\0/g;function VVe(e){let t;t=e.src.replace(UVe,` `),t=t.replace(WVe,"�"),e.src=t}function HVe(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function qVe(e){const t=e.tokens;for(let n=0,r=t.length;n\s]/i.test(e)}function GVe(e){return/^<\/a\s*>/i.test(e)}function YVe(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,r=t.length;n=0;a--){const u=i[a];if(u.type==="link_close"){for(a--;i[a].level!==u.level&&i[a].type!=="link_open";)a--;continue}if(u.type==="html_inline"&&(KVe(u.content)&&o>0&&o--,GVe(u.content)&&o++),!(o>0)&&u.type==="text"&&e.md.linkify.test(u.content)){const s=u.content;let l=e.md.linkify.match(s);const c=[];let d=u.level,h=0;l.length>0&&l[0].index===0&&a>0&&i[a-1].type==="text_special"&&(l=l.slice(1));for(let v=0;vh){const E=new e.Token("text","",0);E.content=s.slice(h,w),E.level=d,c.push(E)}const x=new e.Token("link_open","a",1);x.attrs=[["href",m]],x.level=d++,x.markup="linkify",x.info="auto",c.push(x);const S=new e.Token("text","",0);S.content=b,S.level=d,c.push(S);const A=new e.Token("link_close","a",-1);A.level=--d,A.markup="linkify",A.info="auto",c.push(A),h=l[v].lastIndex}if(h=0;n--){const r=e[n];r.type==="text"&&!t&&(r.content=r.content.replace(XVe,JVe)),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function tHe(e){let t=0;for(let n=e.length-1;n>=0;n--){const r=e[n];r.type==="text"&&!t&&KG.test(r.content)&&(r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function nHe(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(ZVe.test(e.tokens[t].content)&&eHe(e.tokens[t].children),KG.test(e.tokens[t].content)&&tHe(e.tokens[t].children))}const rHe=/['"]/,gI=/['"]/g,mI="’";function by(e,t,n){return e.slice(0,t)+n+e.slice(t+1)}function iHe(e,t){let n;const r=[];for(let i=0;i=0&&!(r[n].level<=a);n--);if(r.length=n+1,o.type!=="text")continue;let u=o.content,s=0,l=u.length;e:for(;s=0)g=u.charCodeAt(c.index-1);else for(n=i-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){g=e[n].content.charCodeAt(e[n].content.length-1);break}let m=32;if(s=48&&g<=57&&(h=d=!1),d&&h&&(d=b,h=w),!d&&!h){v&&(o.content=by(o.content,c.index,mI));continue}if(h)for(n=r.length-1;n>=0;n--){let A=r[n];if(r[n].level=0;t--)e.tokens[t].type!=="inline"||!rHe.test(e.tokens[t].content)||iHe(e.tokens[t].children,e)}function aHe(e){let t,n;const r=e.tokens,i=r.length;for(let o=0;o0&&this.level++,this.tokens.push(r),r};Ru.prototype.isEmpty=function(t){return this.bMarks[t]+this.tShift[t]>=this.eMarks[t]};Ru.prototype.skipEmptyLines=function(t){for(let n=this.lineMax;tn;)if(!Vn(this.src.charCodeAt(--t)))return t+1;return t};Ru.prototype.skipChars=function(t,n){for(let r=this.src.length;tr;)if(n!==this.src.charCodeAt(--t))return t+1;return t};Ru.prototype.getLines=function(t,n,r,i){if(t>=n)return"";const o=new Array(n-t);for(let a=0,u=t;ur?o[a]=new Array(s-r+1).join(" ")+this.src.slice(c,d):o[a]=this.src.slice(c,d)}return o.join("")};Ru.prototype.Token=nu;const uHe=65536;function h3(e,t){const n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];return e.src.slice(n,r)}function yI(e){const t=[],n=e.length;let r=0,i=e.charCodeAt(r),o=!1,a=0,u="";for(;rn)return!1;let i=t+1;if(e.sCount[i]=4)return!1;let o=e.bMarks[i]+e.tShift[i];if(o>=e.eMarks[i])return!1;const a=e.src.charCodeAt(o++);if(a!==124&&a!==45&&a!==58||o>=e.eMarks[i])return!1;const u=e.src.charCodeAt(o++);if(u!==124&&u!==45&&u!==58&&!Vn(u)||a===45&&Vn(u))return!1;for(;o=4)return!1;l=yI(s),l.length&&l[0]===""&&l.shift(),l.length&&l[l.length-1]===""&&l.pop();const d=l.length;if(d===0||d!==c.length)return!1;if(r)return!0;const h=e.parentType;e.parentType="table";const v=e.md.block.ruler.getRules("blockquote"),g=e.push("table_open","table",1),m=[t,0];g.map=m;const b=e.push("thead_open","thead",1);b.map=[t,t+1];const w=e.push("tr_open","tr",1);w.map=[t,t+1];for(let A=0;A=4||(l=yI(s),l.length&&l[0]===""&&l.shift(),l.length&&l[l.length-1]===""&&l.pop(),S+=d-l.length,S>uHe))break;if(i===t+2){const C=e.push("tbody_open","tbody",1);C.map=x=[t+2,0]}const E=e.push("tr_open","tr",1);E.map=[i,i+1];for(let C=0;C=4){r++,i=r;continue}break}e.line=i;const o=e.push("code_block","code",0);return o.content=e.getLines(t,i,4+e.blkIndent,!1)+` -`,o.map=[t,e.line],!0}function cHe(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||i+3>o)return!1;const a=e.src.charCodeAt(i);if(a!==126&&a!==96)return!1;let u=i;i=e.skipChars(i,a);let s=i-u;if(s<3)return!1;const l=e.src.slice(u,i),c=e.src.slice(i,o);if(a===96&&c.indexOf(String.fromCharCode(a))>=0)return!1;if(r)return!0;let d=t,h=!1;for(;d++,!(d>=n||(i=u=e.bMarks[d]+e.tShift[d],o=e.eMarks[d],i=4)&&(i=e.skipChars(i,a),!(i-u=4||e.src.charCodeAt(i)!==62)return!1;if(r)return!0;const u=[],s=[],l=[],c=[],d=e.md.block.ruler.getRules("blockquote"),h=e.parentType;e.parentType="blockquote";let v=!1,g;for(g=t;g=o)break;if(e.src.charCodeAt(i++)===62&&!S){let E=e.sCount[g]+1,C,T;e.src.charCodeAt(i)===32?(i++,E++,T=!1,C=!0):e.src.charCodeAt(i)===9?(C=!0,(e.bsCount[g]+E)%4===3?(i++,E++,T=!1):T=!0):C=!1;let M=E;for(u.push(e.bMarks[g]),e.bMarks[g]=i;i=o,s.push(e.bsCount[g]),e.bsCount[g]=e.sCount[g]+1+(C?1:0),l.push(e.sCount[g]),e.sCount[g]=M-E,c.push(e.tShift[g]),e.tShift[g]=i-e.bMarks[g];continue}if(v)break;let A=!1;for(let E=0,C=d.length;E";const w=[t,0];b.map=w,e.md.block.tokenize(e,t,g);const x=e.push("blockquote_close","blockquote",-1);x.markup=">",e.lineMax=a,e.parentType=h,w[1]=e.line;for(let S=0;S=4)return!1;let o=e.bMarks[t]+e.tShift[t];const a=e.src.charCodeAt(o++);if(a!==42&&a!==45&&a!==95)return!1;let u=1;for(;o=r)return-1;let o=e.src.charCodeAt(i++);if(o<48||o>57)return-1;for(;;){if(i>=r)return-1;if(o=e.src.charCodeAt(i++),o>=48&&o<=57){if(i-n>=10)return-1;continue}if(o===41||o===46)break;return-1}return i=4||e.listIndent>=0&&e.sCount[s]-e.listIndent>=4&&e.sCount[s]=e.blkIndent&&(c=!0);let d,h,v;if((v=xI(e,s))>=0){if(d=!0,a=e.bMarks[s]+e.tShift[s],h=Number(e.src.slice(a,v-1)),c&&h!==1)return!1}else if((v=bI(e,s))>=0)d=!1;else return!1;if(c&&e.skipSpaces(v)>=e.eMarks[s])return!1;if(r)return!0;const g=e.src.charCodeAt(v-1),m=e.tokens.length;d?(u=e.push("ordered_list_open","ol",1),h!==1&&(u.attrs=[["start",h]])):u=e.push("bullet_list_open","ul",1);const b=[s,0];u.map=b,u.markup=String.fromCharCode(g);let w=!1;const x=e.md.block.ruler.getRules("list"),S=e.parentType;for(e.parentType="list";s=i?T=1:T=E-A,T>4&&(T=1);const M=A+T;u=e.push("list_item_open","li",1),u.markup=String.fromCharCode(g);const F=[s,0];u.map=F,d&&(u.info=e.src.slice(a,v-1));const U=e.tight,H=e.tShift[s],W=e.sCount[s],ie=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=M,e.tight=!0,e.tShift[s]=C-e.bMarks[s],e.sCount[s]=E,C>=i&&e.isEmpty(s+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,s,n,!0),(!e.tight||w)&&(l=!1),w=e.line-s>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=ie,e.tShift[s]=H,e.sCount[s]=W,e.tight=U,u=e.push("list_item_close","li",-1),u.markup=String.fromCharCode(g),s=e.line,F[1]=s,s>=n||e.sCount[s]=4)break;let Z=!1;for(let G=0,K=x.length;G=4||e.src.charCodeAt(i)!==91)return!1;function u(x){const S=e.lineMax;if(x>=S||e.isEmpty(x))return null;let A=!1;if(e.sCount[x]-e.blkIndent>3&&(A=!0),e.sCount[x]<0&&(A=!0),!A){const T=e.md.block.ruler.getRules("reference"),M=e.parentType;e.parentType="reference";let F=!1;for(let U=0,H=T.length;U"u"&&(e.env.references={}),typeof e.env.references[w]>"u"&&(e.env.references[w]={title:b,href:d}),e.line=a),!0):!1}const gHe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],mHe="[a-zA-Z_:][a-zA-Z0-9:._-]*",yHe="[^\"'=<>`\\x00-\\x20]+",bHe="'[^']*'",xHe='"[^"]*"',wHe="(?:"+yHe+"|"+bHe+"|"+xHe+")",_He="(?:\\s+"+mHe+"(?:\\s*=\\s*"+wHe+")?)",GG="<[A-Za-z][A-Za-z0-9\\-]*"+_He+"*\\s*\\/?>",YG="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",SHe="",CHe="<[?][\\s\\S]*?[?]>",EHe="]*>",AHe="",PHe=new RegExp("^(?:"+GG+"|"+YG+"|"+SHe+"|"+CHe+"|"+EHe+"|"+AHe+")"),OHe=new RegExp("^(?:"+GG+"|"+YG+")"),qf=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(OHe.source+"\\s*$"),/^$/,!1]];function kHe(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(i)!==60)return!1;let a=e.src.slice(i,o),u=0;for(;u=4)return!1;let a=e.src.charCodeAt(i);if(a!==35||i>=o)return!1;let u=1;for(a=e.src.charCodeAt(++i);a===35&&i6||ii&&Vn(e.src.charCodeAt(s-1))&&(o=s),e.line=t+1;const l=e.push("heading_open","h"+String(u),1);l.markup="########".slice(0,u),l.map=[t,e.line];const c=e.push("inline","",0);c.content=e.src.slice(i,o).trim(),c.map=[t,e.line],c.children=[];const d=e.push("heading_close","h"+String(u),-1);return d.markup="########".slice(0,u),!0}function MHe(e,t,n){const r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const i=e.parentType;e.parentType="paragraph";let o=0,a,u=t+1;for(;u3)continue;if(e.sCount[u]>=e.blkIndent){let v=e.bMarks[u]+e.tShift[u];const g=e.eMarks[u];if(v=g))){o=a===61?1:2;break}}if(e.sCount[u]<0)continue;let h=!1;for(let v=0,g=r.length;v3||e.sCount[o]<0)continue;let l=!1;for(let c=0,d=r.length;c=n||e.sCount[a]=o){e.line=n;break}const s=e.line;let l=!1;for(let c=0;c=e.line)throw new Error("block rule didn't increment state.line");break}if(!l)throw new Error("none of the block rules matched");e.tight=!u,e.isEmpty(e.line-1)&&(u=!0),a=e.line,a0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(i),r};Ig.prototype.scanDelims=function(e,t){const n=this.posMax,r=this.src.charCodeAt(e),i=e>0?this.src.charCodeAt(e-1):32;let o=e;for(;o0)return!1;const n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const i=e.pending.match(IHe);if(!i)return!1;const o=i[1],a=e.md.linkify.matchAtStart(e.src.slice(n-o.length));if(!a)return!1;let u=a.url;if(u.length<=o.length)return!1;u=u.replace(/\*+$/,"");const s=e.md.normalizeLink(u);if(!e.md.validateLink(s))return!1;if(!t){e.pending=e.pending.slice(0,-o.length);const l=e.push("link_open","a",1);l.attrs=[["href",s]],l.markup="linkify",l.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(u);const d=e.push("link_close","a",-1);d.markup="linkify",d.info="auto"}return e.pos+=u.length-o.length,!0}function FHe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const r=e.pending.length-1,i=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let o=r-1;for(;o>=1&&e.pending.charCodeAt(o-1)===32;)o--;e.pending=e.pending.slice(0,o),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){n5[e.charCodeAt(0)]=1});function LHe(e,t){let n=e.pos;const r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let i=e.src.charCodeAt(n);if(i===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&i<=56319&&n+1=56320&&u<=57343&&(o+=e.src[n+1],n++)}const a="\\"+o;if(!t){const u=e.push("text_special","",0);i<256&&n5[i]!==0?u.content=o:u.content=a,u.markup=a,u.info="escape"}return e.pos=n+1,!0}function jHe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const i=n;n++;const o=e.posMax;for(;n=0;r--){const i=t[r];if(i.marker!==95&&i.marker!==42||i.end===-1)continue;const o=t[i.end],a=r>0&&t[r-1].end===i.end+1&&t[r-1].marker===i.marker&&t[r-1].token===i.token-1&&t[i.end+1].token===o.token+1,u=String.fromCharCode(i.marker),s=e.tokens[i.token];s.type=a?"strong_open":"em_open",s.tag=a?"strong":"em",s.nesting=1,s.markup=a?u+u:u,s.content="";const l=e.tokens[o.token];l.type=a?"strong_close":"em_close",l.tag=a?"strong":"em",l.nesting=-1,l.markup=a?u+u:u,l.content="",a&&(e.tokens[t[r-1].token].content="",e.tokens[t[i.end+1].token].content="",r--)}}function WHe(e){const t=e.tokens_meta,n=e.tokens_meta.length;_I(e,e.delimiters);for(let r=0;r=d)return!1;if(s=g,i=e.md.helpers.parseLinkDestination(e.src,g,e.posMax),i.ok){for(a=e.md.normalizeLink(i.str),e.md.validateLink(a)?g=i.pos:a="",s=g;g=d||e.src.charCodeAt(g)!==41)&&(l=!0),g++}if(l){if(typeof e.env.references>"u")return!1;if(g=0?r=e.src.slice(s,g++):g=v+1):g=v+1,r||(r=e.src.slice(h,v)),o=e.env.references[n2(r)],!o)return e.pos=c,!1;a=o.href,u=o.title}if(!t){e.pos=h,e.posMax=v;const m=e.push("link_open","a",1),b=[["href",a]];m.attrs=b,u&&b.push(["title",u]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=g,e.posMax=d,!0}function HHe(e,t){let n,r,i,o,a,u,s,l,c="";const d=e.pos,h=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const v=e.pos+2,g=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(g<0)return!1;if(o=g+1,o=h)return!1;for(l=o,u=e.md.helpers.parseLinkDestination(e.src,o,e.posMax),u.ok&&(c=e.md.normalizeLink(u.str),e.md.validateLink(c)?o=u.pos:c=""),l=o;o=h||e.src.charCodeAt(o)!==41)return e.pos=d,!1;o++}else{if(typeof e.env.references>"u")return!1;if(o=0?i=e.src.slice(l,o++):o=g+1):o=g+1,i||(i=e.src.slice(v,g)),a=e.env.references[n2(i)],!a)return e.pos=d,!1;c=a.href,s=a.title}if(!t){r=e.src.slice(v,g);const m=[];e.md.inline.parse(r,e.md,e.env,m);const b=e.push("image","img",0),w=[["src",c],["alt",""]];b.attrs=w,b.children=m,b.content=r,s&&w.push(["title",s])}return e.pos=o,e.posMax=h,!0}const qHe=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,KHe=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function GHe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const r=e.pos,i=e.posMax;for(;;){if(++n>=i)return!1;const a=e.src.charCodeAt(n);if(a===60)return!1;if(a===62)break}const o=e.src.slice(r+1,n);if(KHe.test(o)){const a=e.md.normalizeLink(o);if(!e.md.validateLink(a))return!1;if(!t){const u=e.push("link_open","a",1);u.attrs=[["href",a]],u.markup="autolink",u.info="auto";const s=e.push("text","",0);s.content=e.md.normalizeLinkText(o);const l=e.push("link_close","a",-1);l.markup="autolink",l.info="auto"}return e.pos+=o.length+2,!0}if(qHe.test(o)){const a=e.md.normalizeLink("mailto:"+o);if(!e.md.validateLink(a))return!1;if(!t){const u=e.push("link_open","a",1);u.attrs=[["href",a]],u.markup="autolink",u.info="auto";const s=e.push("text","",0);s.content=e.md.normalizeLinkText(o);const l=e.push("link_close","a",-1);l.markup="autolink",l.info="auto"}return e.pos+=o.length+2,!0}return!1}function YHe(e){return/^\s]/i.test(e)}function ZHe(e){return/^<\/a\s*>/i.test(e)}function XHe(e){const t=e|32;return t>=97&&t<=122}function QHe(e,t){if(!e.md.options.html)return!1;const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;const i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!XHe(i))return!1;const o=e.src.slice(r).match(PHe);if(!o)return!1;if(!t){const a=e.push("html_inline","",0);a.content=o[0],YHe(a.content)&&e.linkLevel++,ZHe(a.content)&&e.linkLevel--}return e.pos+=o[0].length,!0}const JHe=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,eqe=/^&([a-z][a-z0-9]{1,31});/i;function tqe(e,t){const n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(JHe);if(o){if(!t){const a=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),u=e.push("text_special","",0);u.content=e5(a)?ix(a):ix(65533),u.markup=o[0],u.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(eqe);if(o){const a=WG(o[0]);if(a!==o[0]){if(!t){const u=e.push("text_special","",0);u.content=a,u.markup=o[0],u.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function SI(e){const t={},n=e.length;if(!n)return;let r=0,i=-2;const o=[];for(let a=0;as;l-=o[l]+1){const d=e[l];if(d.marker===u.marker&&d.open&&d.end<0){let h=!1;if((d.close||u.open)&&(d.length+u.length)%3===0&&(d.length%3!==0||u.length%3!==0)&&(h=!0),!h){const v=l>0&&!e[l-1].open?o[l-1]+1:0;o[a]=a-l+v,o[l]=v,u.open=!1,d.end=a,d.close=!1,c=-1,i=-2;break}}}c!==-1&&(t[u.marker][(u.open?3:0)+(u.length||0)%3]=c)}}function nqe(e){const t=e.tokens_meta,n=e.tokens_meta.length;SI(e.delimiters);for(let r=0;r0&&r++,i[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,o[t]=e.pos};Ng.prototype.tokenize=function(e){const t=this.ruler.getRules(""),n=t.length,r=e.posMax,i=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Ng.prototype.parse=function(e,t,n,r){const i=new this.State(e,t,n,r);this.tokenize(i);const o=this.ruler2.getRules(""),a=o.length;for(let u=0;u|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}function Q6(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}function i2(e){return Object.prototype.toString.call(e)}function oqe(e){return i2(e)==="[object String]"}function aqe(e){return i2(e)==="[object Object]"}function uqe(e){return i2(e)==="[object RegExp]"}function CI(e){return i2(e)==="[object Function]"}function sqe(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const QG={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function lqe(e){return Object.keys(e||{}).reduce(function(t,n){return t||QG.hasOwnProperty(n)},!1)}const cqe={"http:":{validate:function(e,t,n){const r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){const r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){const r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},fqe="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",dqe="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function hqe(e){e.__index__=-1,e.__text_cache__=""}function pqe(e){return function(t,n){const r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function EI(){return function(e,t){t.normalize(e)}}function ox(e){const t=e.re=iqe(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(fqe),n.push(t.src_xn),t.src_tlds=n.join("|");function r(u){return u.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");const i=[];e.__compiled__={};function o(u,s){throw new Error('(LinkifyIt) Invalid schema "'+u+'": '+s)}Object.keys(e.__schemas__).forEach(function(u){const s=e.__schemas__[u];if(s===null)return;const l={validate:null,link:null};if(e.__compiled__[u]=l,aqe(s)){uqe(s.validate)?l.validate=pqe(s.validate):CI(s.validate)?l.validate=s.validate:o(u,s),CI(s.normalize)?l.normalize=s.normalize:s.normalize?o(u,s):l.normalize=EI();return}if(oqe(s)){i.push(u);return}o(u,s)}),i.forEach(function(u){e.__compiled__[e.__schemas__[u]]&&(e.__compiled__[u].validate=e.__compiled__[e.__schemas__[u]].validate,e.__compiled__[u].normalize=e.__compiled__[e.__schemas__[u]].normalize)}),e.__compiled__[""]={validate:null,normalize:EI()};const a=Object.keys(e.__compiled__).filter(function(u){return u.length>0&&e.__compiled__[u]}).map(sqe).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),hqe(e)}function vqe(e,t){const n=e.__index__,r=e.__last_index__,i=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=i,this.text=i,this.url=i}function J6(e,t){const n=new vqe(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function Uo(e,t){if(!(this instanceof Uo))return new Uo(e,t);t||lqe(e)&&(t=e,e={}),this.__opts__=Q6({},QG,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Q6({},cqe,e),this.__compiled__={},this.__tlds__=dqe,this.__tlds_replaced__=!1,this.re={},ox(this)}Uo.prototype.add=function(t,n){return this.__schemas__[t]=n,ox(this),this};Uo.prototype.set=function(t){return this.__opts__=Q6(this.__opts__,t),this};Uo.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;let n,r,i,o,a,u,s,l,c;if(this.re.schema_test.test(t)){for(s=this.re.schema_search,s.lastIndex=0;(n=s.exec(t))!==null;)if(o=this.testSchemaAt(t,n[2],s.lastIndex),o){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+o;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(l=t.search(this.re.host_fuzzy_test),l>=0&&(this.__index__<0||l=0&&(i=t.match(this.re.email_fuzzy))!==null&&(a=i.index+i[1].length,u=i.index+i[0].length,(this.__index__<0||athis.__last_index__)&&(this.__schema__="mailto:",this.__index__=a,this.__last_index__=u))),this.__index__>=0};Uo.prototype.pretest=function(t){return this.re.pretest.test(t)};Uo.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0};Uo.prototype.match=function(t){const n=[];let r=0;this.__index__>=0&&this.__text_cache__===t&&(n.push(J6(this,r)),r=this.__last_index__);let i=r?t.slice(r):t;for(;this.test(i);)n.push(J6(this,r)),i=i.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};Uo.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;const n=this.re.schema_at_start.exec(t);if(!n)return null;const r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,J6(this,0)):null};Uo.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,i,o){return r!==o[i-1]}).reverse(),ox(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,ox(this),this)};Uo.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};Uo.prototype.onCompile=function(){};const Md=2147483647,mu=36,r5=1,Zv=26,gqe=38,mqe=700,JG=72,eY=128,tY="-",yqe=/^xn--/,bqe=/[^\0-\x7F]/,xqe=/[\x2E\u3002\uFF0E\uFF61]/g,wqe={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},g3=mu-r5,yu=Math.floor,m3=String.fromCharCode;function Ys(e){throw new RangeError(wqe[e])}function _qe(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function nY(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(xqe,".");const i=e.split("."),o=_qe(i,t).join(".");return r+o}function rY(e){const t=[];let n=0;const r=e.length;for(;n=55296&&i<=56319&&nString.fromCodePoint(...e),Cqe=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:mu},AI=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},iY=function(e,t,n){let r=0;for(e=n?yu(e/mqe):e>>1,e+=yu(e/t);e>g3*Zv>>1;r+=mu)e=yu(e/g3);return yu(r+(g3+1)*e/(e+gqe))},oY=function(e){const t=[],n=e.length;let r=0,i=eY,o=JG,a=e.lastIndexOf(tY);a<0&&(a=0);for(let u=0;u=128&&Ys("not-basic"),t.push(e.charCodeAt(u));for(let u=a>0?a+1:0;u=n&&Ys("invalid-input");const h=Cqe(e.charCodeAt(u++));h>=mu&&Ys("invalid-input"),h>yu((Md-r)/c)&&Ys("overflow"),r+=h*c;const v=d<=o?r5:d>=o+Zv?Zv:d-o;if(hyu(Md/g)&&Ys("overflow"),c*=g}const l=t.length+1;o=iY(r-s,l,s==0),yu(r/l)>Md-i&&Ys("overflow"),i+=yu(r/l),r%=l,t.splice(r++,0,i)}return String.fromCodePoint(...t)},aY=function(e){const t=[];e=rY(e);const n=e.length;let r=eY,i=0,o=JG;for(const s of e)s<128&&t.push(m3(s));const a=t.length;let u=a;for(a&&t.push(tY);u=r&&cyu((Md-i)/l)&&Ys("overflow"),i+=(s-r)*l,r=s;for(const c of e)if(cMd&&Ys("overflow"),c===r){let d=i;for(let h=mu;;h+=mu){const v=h<=o?r5:h>=o+Zv?Zv:h-o;if(d=0))try{t.hostname=uY.toASCII(t.hostname)}catch{}return $g(ZO(t))}function Iqe(e){const t=XO(e,!0);if(t.hostname&&(!t.protocol||sY.indexOf(t.protocol)>=0))try{t.hostname=uY.toUnicode(t.hostname)}catch{}return bh(ZO(t),bh.defaultChars+"%")}function Qa(e,t){if(!(this instanceof Qa))return new Qa(e,t);t||JO(e)||(t=e||{},e="default"),this.inline=new Ng,this.block=new r2,this.core=new t5,this.renderer=new Zh,this.linkify=new Uo,this.validateLink=Dqe,this.normalizeLink=$qe,this.normalizeLinkText=Iqe,this.utils=FVe,this.helpers=t2({},zVe),this.options={},this.configure(e),t&&this.set(t)}Qa.prototype.set=function(e){return t2(this.options,e),this};Qa.prototype.configure=function(e){const t=this;if(JO(e)){const n=e;if(e=Tqe[n],!e)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this};Qa.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));const r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};Qa.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));const r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};Qa.prototype.use=function(e){const t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};Qa.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};Qa.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};Qa.prototype.parseInline=function(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};Qa.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var lY={exports:{}};(function(e){(function(t){var n=function(k){var D,$=new Float64Array(16);if(k)for(D=0;D>24&255,k[D+1]=$>>16&255,k[D+2]=$>>8&255,k[D+3]=$&255,k[D+4]=P>>24&255,k[D+5]=P>>16&255,k[D+6]=P>>8&255,k[D+7]=P&255}function m(k,D,$,P,N){var ee,ne=0;for(ee=0;ee>>8)-1}function b(k,D,$,P){return m(k,D,$,P,16)}function w(k,D,$,P){return m(k,D,$,P,32)}function x(k,D,$,P){for(var N=P[0]&255|(P[1]&255)<<8|(P[2]&255)<<16|(P[3]&255)<<24,ee=$[0]&255|($[1]&255)<<8|($[2]&255)<<16|($[3]&255)<<24,ne=$[4]&255|($[5]&255)<<8|($[6]&255)<<16|($[7]&255)<<24,he=$[8]&255|($[9]&255)<<8|($[10]&255)<<16|($[11]&255)<<24,Ce=$[12]&255|($[13]&255)<<8|($[14]&255)<<16|($[15]&255)<<24,Be=P[4]&255|(P[5]&255)<<8|(P[6]&255)<<16|(P[7]&255)<<24,He=D[0]&255|(D[1]&255)<<8|(D[2]&255)<<16|(D[3]&255)<<24,ct=D[4]&255|(D[5]&255)<<8|(D[6]&255)<<16|(D[7]&255)<<24,Ne=D[8]&255|(D[9]&255)<<8|(D[10]&255)<<16|(D[11]&255)<<24,rt=D[12]&255|(D[13]&255)<<8|(D[14]&255)<<16|(D[15]&255)<<24,bt=P[8]&255|(P[9]&255)<<8|(P[10]&255)<<16|(P[11]&255)<<24,At=$[16]&255|($[17]&255)<<8|($[18]&255)<<16|($[19]&255)<<24,vt=$[20]&255|($[21]&255)<<8|($[22]&255)<<16|($[23]&255)<<24,ht=$[24]&255|($[25]&255)<<8|($[26]&255)<<16|($[27]&255)<<24,xt=$[28]&255|($[29]&255)<<8|($[30]&255)<<16|($[31]&255)<<24,wt=P[12]&255|(P[13]&255)<<8|(P[14]&255)<<16|(P[15]&255)<<24,Je=N,st=ee,Qe=ne,Le=he,qe=Ce,Ge=Be,me=He,ve=ct,De=Ne,Oe=rt,Te=bt,ze=At,mt=vt,Nt=ht,Ft=xt,$t=wt,te,Gt=0;Gt<20;Gt+=2)te=Je+mt|0,qe^=te<<7|te>>>25,te=qe+Je|0,De^=te<<9|te>>>23,te=De+qe|0,mt^=te<<13|te>>>19,te=mt+De|0,Je^=te<<18|te>>>14,te=Ge+st|0,Oe^=te<<7|te>>>25,te=Oe+Ge|0,Nt^=te<<9|te>>>23,te=Nt+Oe|0,st^=te<<13|te>>>19,te=st+Nt|0,Ge^=te<<18|te>>>14,te=Te+me|0,Ft^=te<<7|te>>>25,te=Ft+Te|0,Qe^=te<<9|te>>>23,te=Qe+Ft|0,me^=te<<13|te>>>19,te=me+Qe|0,Te^=te<<18|te>>>14,te=$t+ze|0,Le^=te<<7|te>>>25,te=Le+$t|0,ve^=te<<9|te>>>23,te=ve+Le|0,ze^=te<<13|te>>>19,te=ze+ve|0,$t^=te<<18|te>>>14,te=Je+Le|0,st^=te<<7|te>>>25,te=st+Je|0,Qe^=te<<9|te>>>23,te=Qe+st|0,Le^=te<<13|te>>>19,te=Le+Qe|0,Je^=te<<18|te>>>14,te=Ge+qe|0,me^=te<<7|te>>>25,te=me+Ge|0,ve^=te<<9|te>>>23,te=ve+me|0,qe^=te<<13|te>>>19,te=qe+ve|0,Ge^=te<<18|te>>>14,te=Te+Oe|0,ze^=te<<7|te>>>25,te=ze+Te|0,De^=te<<9|te>>>23,te=De+ze|0,Oe^=te<<13|te>>>19,te=Oe+De|0,Te^=te<<18|te>>>14,te=$t+Ft|0,mt^=te<<7|te>>>25,te=mt+$t|0,Nt^=te<<9|te>>>23,te=Nt+mt|0,Ft^=te<<13|te>>>19,te=Ft+Nt|0,$t^=te<<18|te>>>14;Je=Je+N|0,st=st+ee|0,Qe=Qe+ne|0,Le=Le+he|0,qe=qe+Ce|0,Ge=Ge+Be|0,me=me+He|0,ve=ve+ct|0,De=De+Ne|0,Oe=Oe+rt|0,Te=Te+bt|0,ze=ze+At|0,mt=mt+vt|0,Nt=Nt+ht|0,Ft=Ft+xt|0,$t=$t+wt|0,k[0]=Je>>>0&255,k[1]=Je>>>8&255,k[2]=Je>>>16&255,k[3]=Je>>>24&255,k[4]=st>>>0&255,k[5]=st>>>8&255,k[6]=st>>>16&255,k[7]=st>>>24&255,k[8]=Qe>>>0&255,k[9]=Qe>>>8&255,k[10]=Qe>>>16&255,k[11]=Qe>>>24&255,k[12]=Le>>>0&255,k[13]=Le>>>8&255,k[14]=Le>>>16&255,k[15]=Le>>>24&255,k[16]=qe>>>0&255,k[17]=qe>>>8&255,k[18]=qe>>>16&255,k[19]=qe>>>24&255,k[20]=Ge>>>0&255,k[21]=Ge>>>8&255,k[22]=Ge>>>16&255,k[23]=Ge>>>24&255,k[24]=me>>>0&255,k[25]=me>>>8&255,k[26]=me>>>16&255,k[27]=me>>>24&255,k[28]=ve>>>0&255,k[29]=ve>>>8&255,k[30]=ve>>>16&255,k[31]=ve>>>24&255,k[32]=De>>>0&255,k[33]=De>>>8&255,k[34]=De>>>16&255,k[35]=De>>>24&255,k[36]=Oe>>>0&255,k[37]=Oe>>>8&255,k[38]=Oe>>>16&255,k[39]=Oe>>>24&255,k[40]=Te>>>0&255,k[41]=Te>>>8&255,k[42]=Te>>>16&255,k[43]=Te>>>24&255,k[44]=ze>>>0&255,k[45]=ze>>>8&255,k[46]=ze>>>16&255,k[47]=ze>>>24&255,k[48]=mt>>>0&255,k[49]=mt>>>8&255,k[50]=mt>>>16&255,k[51]=mt>>>24&255,k[52]=Nt>>>0&255,k[53]=Nt>>>8&255,k[54]=Nt>>>16&255,k[55]=Nt>>>24&255,k[56]=Ft>>>0&255,k[57]=Ft>>>8&255,k[58]=Ft>>>16&255,k[59]=Ft>>>24&255,k[60]=$t>>>0&255,k[61]=$t>>>8&255,k[62]=$t>>>16&255,k[63]=$t>>>24&255}function S(k,D,$,P){for(var N=P[0]&255|(P[1]&255)<<8|(P[2]&255)<<16|(P[3]&255)<<24,ee=$[0]&255|($[1]&255)<<8|($[2]&255)<<16|($[3]&255)<<24,ne=$[4]&255|($[5]&255)<<8|($[6]&255)<<16|($[7]&255)<<24,he=$[8]&255|($[9]&255)<<8|($[10]&255)<<16|($[11]&255)<<24,Ce=$[12]&255|($[13]&255)<<8|($[14]&255)<<16|($[15]&255)<<24,Be=P[4]&255|(P[5]&255)<<8|(P[6]&255)<<16|(P[7]&255)<<24,He=D[0]&255|(D[1]&255)<<8|(D[2]&255)<<16|(D[3]&255)<<24,ct=D[4]&255|(D[5]&255)<<8|(D[6]&255)<<16|(D[7]&255)<<24,Ne=D[8]&255|(D[9]&255)<<8|(D[10]&255)<<16|(D[11]&255)<<24,rt=D[12]&255|(D[13]&255)<<8|(D[14]&255)<<16|(D[15]&255)<<24,bt=P[8]&255|(P[9]&255)<<8|(P[10]&255)<<16|(P[11]&255)<<24,At=$[16]&255|($[17]&255)<<8|($[18]&255)<<16|($[19]&255)<<24,vt=$[20]&255|($[21]&255)<<8|($[22]&255)<<16|($[23]&255)<<24,ht=$[24]&255|($[25]&255)<<8|($[26]&255)<<16|($[27]&255)<<24,xt=$[28]&255|($[29]&255)<<8|($[30]&255)<<16|($[31]&255)<<24,wt=P[12]&255|(P[13]&255)<<8|(P[14]&255)<<16|(P[15]&255)<<24,Je=N,st=ee,Qe=ne,Le=he,qe=Ce,Ge=Be,me=He,ve=ct,De=Ne,Oe=rt,Te=bt,ze=At,mt=vt,Nt=ht,Ft=xt,$t=wt,te,Gt=0;Gt<20;Gt+=2)te=Je+mt|0,qe^=te<<7|te>>>25,te=qe+Je|0,De^=te<<9|te>>>23,te=De+qe|0,mt^=te<<13|te>>>19,te=mt+De|0,Je^=te<<18|te>>>14,te=Ge+st|0,Oe^=te<<7|te>>>25,te=Oe+Ge|0,Nt^=te<<9|te>>>23,te=Nt+Oe|0,st^=te<<13|te>>>19,te=st+Nt|0,Ge^=te<<18|te>>>14,te=Te+me|0,Ft^=te<<7|te>>>25,te=Ft+Te|0,Qe^=te<<9|te>>>23,te=Qe+Ft|0,me^=te<<13|te>>>19,te=me+Qe|0,Te^=te<<18|te>>>14,te=$t+ze|0,Le^=te<<7|te>>>25,te=Le+$t|0,ve^=te<<9|te>>>23,te=ve+Le|0,ze^=te<<13|te>>>19,te=ze+ve|0,$t^=te<<18|te>>>14,te=Je+Le|0,st^=te<<7|te>>>25,te=st+Je|0,Qe^=te<<9|te>>>23,te=Qe+st|0,Le^=te<<13|te>>>19,te=Le+Qe|0,Je^=te<<18|te>>>14,te=Ge+qe|0,me^=te<<7|te>>>25,te=me+Ge|0,ve^=te<<9|te>>>23,te=ve+me|0,qe^=te<<13|te>>>19,te=qe+ve|0,Ge^=te<<18|te>>>14,te=Te+Oe|0,ze^=te<<7|te>>>25,te=ze+Te|0,De^=te<<9|te>>>23,te=De+ze|0,Oe^=te<<13|te>>>19,te=Oe+De|0,Te^=te<<18|te>>>14,te=$t+Ft|0,mt^=te<<7|te>>>25,te=mt+$t|0,Nt^=te<<9|te>>>23,te=Nt+mt|0,Ft^=te<<13|te>>>19,te=Ft+Nt|0,$t^=te<<18|te>>>14;k[0]=Je>>>0&255,k[1]=Je>>>8&255,k[2]=Je>>>16&255,k[3]=Je>>>24&255,k[4]=Ge>>>0&255,k[5]=Ge>>>8&255,k[6]=Ge>>>16&255,k[7]=Ge>>>24&255,k[8]=Te>>>0&255,k[9]=Te>>>8&255,k[10]=Te>>>16&255,k[11]=Te>>>24&255,k[12]=$t>>>0&255,k[13]=$t>>>8&255,k[14]=$t>>>16&255,k[15]=$t>>>24&255,k[16]=me>>>0&255,k[17]=me>>>8&255,k[18]=me>>>16&255,k[19]=me>>>24&255,k[20]=ve>>>0&255,k[21]=ve>>>8&255,k[22]=ve>>>16&255,k[23]=ve>>>24&255,k[24]=De>>>0&255,k[25]=De>>>8&255,k[26]=De>>>16&255,k[27]=De>>>24&255,k[28]=Oe>>>0&255,k[29]=Oe>>>8&255,k[30]=Oe>>>16&255,k[31]=Oe>>>24&255}function A(k,D,$,P){x(k,D,$,P)}function E(k,D,$,P){S(k,D,$,P)}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function T(k,D,$,P,N,ee,ne){var he=new Uint8Array(16),Ce=new Uint8Array(64),Be,He;for(He=0;He<16;He++)he[He]=0;for(He=0;He<8;He++)he[He]=ee[He];for(;N>=64;){for(A(Ce,he,ne,C),He=0;He<64;He++)k[D+He]=$[P+He]^Ce[He];for(Be=1,He=8;He<16;He++)Be=Be+(he[He]&255)|0,he[He]=Be&255,Be>>>=8;N-=64,D+=64,P+=64}if(N>0)for(A(Ce,he,ne,C),He=0;He=64;){for(A(ne,ee,N,C),Ce=0;Ce<64;Ce++)k[D+Ce]=ne[Ce];for(he=1,Ce=8;Ce<16;Ce++)he=he+(ee[Ce]&255)|0,ee[Ce]=he&255,he>>>=8;$-=64,D+=64}if($>0)for(A(ne,ee,N,C),Ce=0;Ce<$;Ce++)k[D+Ce]=ne[Ce];return 0}function F(k,D,$,P,N){var ee=new Uint8Array(32);E(ee,P,N,C);for(var ne=new Uint8Array(8),he=0;he<8;he++)ne[he]=P[he+16];return M(k,D,$,ne,ee)}function U(k,D,$,P,N,ee,ne){var he=new Uint8Array(32);E(he,ee,ne,C);for(var Ce=new Uint8Array(8),Be=0;Be<8;Be++)Ce[Be]=ee[Be+16];return T(k,D,$,P,N,Ce,he)}var H=function(k){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var D,$,P,N,ee,ne,he,Ce;D=k[0]&255|(k[1]&255)<<8,this.r[0]=D&8191,$=k[2]&255|(k[3]&255)<<8,this.r[1]=(D>>>13|$<<3)&8191,P=k[4]&255|(k[5]&255)<<8,this.r[2]=($>>>10|P<<6)&7939,N=k[6]&255|(k[7]&255)<<8,this.r[3]=(P>>>7|N<<9)&8191,ee=k[8]&255|(k[9]&255)<<8,this.r[4]=(N>>>4|ee<<12)&255,this.r[5]=ee>>>1&8190,ne=k[10]&255|(k[11]&255)<<8,this.r[6]=(ee>>>14|ne<<2)&8191,he=k[12]&255|(k[13]&255)<<8,this.r[7]=(ne>>>11|he<<5)&8065,Ce=k[14]&255|(k[15]&255)<<8,this.r[8]=(he>>>8|Ce<<8)&8191,this.r[9]=Ce>>>5&127,this.pad[0]=k[16]&255|(k[17]&255)<<8,this.pad[1]=k[18]&255|(k[19]&255)<<8,this.pad[2]=k[20]&255|(k[21]&255)<<8,this.pad[3]=k[22]&255|(k[23]&255)<<8,this.pad[4]=k[24]&255|(k[25]&255)<<8,this.pad[5]=k[26]&255|(k[27]&255)<<8,this.pad[6]=k[28]&255|(k[29]&255)<<8,this.pad[7]=k[30]&255|(k[31]&255)<<8};H.prototype.blocks=function(k,D,$){for(var P=this.fin?0:2048,N,ee,ne,he,Ce,Be,He,ct,Ne,rt,bt,At,vt,ht,xt,wt,Je,st,Qe,Le=this.h[0],qe=this.h[1],Ge=this.h[2],me=this.h[3],ve=this.h[4],De=this.h[5],Oe=this.h[6],Te=this.h[7],ze=this.h[8],mt=this.h[9],Nt=this.r[0],Ft=this.r[1],$t=this.r[2],te=this.r[3],Gt=this.r[4],on=this.r[5],an=this.r[6],Lt=this.r[7],un=this.r[8],tn=this.r[9];$>=16;)N=k[D+0]&255|(k[D+1]&255)<<8,Le+=N&8191,ee=k[D+2]&255|(k[D+3]&255)<<8,qe+=(N>>>13|ee<<3)&8191,ne=k[D+4]&255|(k[D+5]&255)<<8,Ge+=(ee>>>10|ne<<6)&8191,he=k[D+6]&255|(k[D+7]&255)<<8,me+=(ne>>>7|he<<9)&8191,Ce=k[D+8]&255|(k[D+9]&255)<<8,ve+=(he>>>4|Ce<<12)&8191,De+=Ce>>>1&8191,Be=k[D+10]&255|(k[D+11]&255)<<8,Oe+=(Ce>>>14|Be<<2)&8191,He=k[D+12]&255|(k[D+13]&255)<<8,Te+=(Be>>>11|He<<5)&8191,ct=k[D+14]&255|(k[D+15]&255)<<8,ze+=(He>>>8|ct<<8)&8191,mt+=ct>>>5|P,Ne=0,rt=Ne,rt+=Le*Nt,rt+=qe*(5*tn),rt+=Ge*(5*un),rt+=me*(5*Lt),rt+=ve*(5*an),Ne=rt>>>13,rt&=8191,rt+=De*(5*on),rt+=Oe*(5*Gt),rt+=Te*(5*te),rt+=ze*(5*$t),rt+=mt*(5*Ft),Ne+=rt>>>13,rt&=8191,bt=Ne,bt+=Le*Ft,bt+=qe*Nt,bt+=Ge*(5*tn),bt+=me*(5*un),bt+=ve*(5*Lt),Ne=bt>>>13,bt&=8191,bt+=De*(5*an),bt+=Oe*(5*on),bt+=Te*(5*Gt),bt+=ze*(5*te),bt+=mt*(5*$t),Ne+=bt>>>13,bt&=8191,At=Ne,At+=Le*$t,At+=qe*Ft,At+=Ge*Nt,At+=me*(5*tn),At+=ve*(5*un),Ne=At>>>13,At&=8191,At+=De*(5*Lt),At+=Oe*(5*an),At+=Te*(5*on),At+=ze*(5*Gt),At+=mt*(5*te),Ne+=At>>>13,At&=8191,vt=Ne,vt+=Le*te,vt+=qe*$t,vt+=Ge*Ft,vt+=me*Nt,vt+=ve*(5*tn),Ne=vt>>>13,vt&=8191,vt+=De*(5*un),vt+=Oe*(5*Lt),vt+=Te*(5*an),vt+=ze*(5*on),vt+=mt*(5*Gt),Ne+=vt>>>13,vt&=8191,ht=Ne,ht+=Le*Gt,ht+=qe*te,ht+=Ge*$t,ht+=me*Ft,ht+=ve*Nt,Ne=ht>>>13,ht&=8191,ht+=De*(5*tn),ht+=Oe*(5*un),ht+=Te*(5*Lt),ht+=ze*(5*an),ht+=mt*(5*on),Ne+=ht>>>13,ht&=8191,xt=Ne,xt+=Le*on,xt+=qe*Gt,xt+=Ge*te,xt+=me*$t,xt+=ve*Ft,Ne=xt>>>13,xt&=8191,xt+=De*Nt,xt+=Oe*(5*tn),xt+=Te*(5*un),xt+=ze*(5*Lt),xt+=mt*(5*an),Ne+=xt>>>13,xt&=8191,wt=Ne,wt+=Le*an,wt+=qe*on,wt+=Ge*Gt,wt+=me*te,wt+=ve*$t,Ne=wt>>>13,wt&=8191,wt+=De*Ft,wt+=Oe*Nt,wt+=Te*(5*tn),wt+=ze*(5*un),wt+=mt*(5*Lt),Ne+=wt>>>13,wt&=8191,Je=Ne,Je+=Le*Lt,Je+=qe*an,Je+=Ge*on,Je+=me*Gt,Je+=ve*te,Ne=Je>>>13,Je&=8191,Je+=De*$t,Je+=Oe*Ft,Je+=Te*Nt,Je+=ze*(5*tn),Je+=mt*(5*un),Ne+=Je>>>13,Je&=8191,st=Ne,st+=Le*un,st+=qe*Lt,st+=Ge*an,st+=me*on,st+=ve*Gt,Ne=st>>>13,st&=8191,st+=De*te,st+=Oe*$t,st+=Te*Ft,st+=ze*Nt,st+=mt*(5*tn),Ne+=st>>>13,st&=8191,Qe=Ne,Qe+=Le*tn,Qe+=qe*un,Qe+=Ge*Lt,Qe+=me*an,Qe+=ve*on,Ne=Qe>>>13,Qe&=8191,Qe+=De*Gt,Qe+=Oe*te,Qe+=Te*$t,Qe+=ze*Ft,Qe+=mt*Nt,Ne+=Qe>>>13,Qe&=8191,Ne=(Ne<<2)+Ne|0,Ne=Ne+rt|0,rt=Ne&8191,Ne=Ne>>>13,bt+=Ne,Le=rt,qe=bt,Ge=At,me=vt,ve=ht,De=xt,Oe=wt,Te=Je,ze=st,mt=Qe,D+=16,$-=16;this.h[0]=Le,this.h[1]=qe,this.h[2]=Ge,this.h[3]=me,this.h[4]=ve,this.h[5]=De,this.h[6]=Oe,this.h[7]=Te,this.h[8]=ze,this.h[9]=mt},H.prototype.finish=function(k,D){var $=new Uint16Array(10),P,N,ee,ne;if(this.leftover){for(ne=this.leftover,this.buffer[ne++]=1;ne<16;ne++)this.buffer[ne]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(P=this.h[1]>>>13,this.h[1]&=8191,ne=2;ne<10;ne++)this.h[ne]+=P,P=this.h[ne]>>>13,this.h[ne]&=8191;for(this.h[0]+=P*5,P=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=P,P=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=P,$[0]=this.h[0]+5,P=$[0]>>>13,$[0]&=8191,ne=1;ne<10;ne++)$[ne]=this.h[ne]+P,P=$[ne]>>>13,$[ne]&=8191;for($[9]-=8192,N=(P^1)-1,ne=0;ne<10;ne++)$[ne]&=N;for(N=~N,ne=0;ne<10;ne++)this.h[ne]=this.h[ne]&N|$[ne];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,ee=this.h[0]+this.pad[0],this.h[0]=ee&65535,ne=1;ne<8;ne++)ee=(this.h[ne]+this.pad[ne]|0)+(ee>>>16)|0,this.h[ne]=ee&65535;k[D+0]=this.h[0]>>>0&255,k[D+1]=this.h[0]>>>8&255,k[D+2]=this.h[1]>>>0&255,k[D+3]=this.h[1]>>>8&255,k[D+4]=this.h[2]>>>0&255,k[D+5]=this.h[2]>>>8&255,k[D+6]=this.h[3]>>>0&255,k[D+7]=this.h[3]>>>8&255,k[D+8]=this.h[4]>>>0&255,k[D+9]=this.h[4]>>>8&255,k[D+10]=this.h[5]>>>0&255,k[D+11]=this.h[5]>>>8&255,k[D+12]=this.h[6]>>>0&255,k[D+13]=this.h[6]>>>8&255,k[D+14]=this.h[7]>>>0&255,k[D+15]=this.h[7]>>>8&255},H.prototype.update=function(k,D,$){var P,N;if(this.leftover){for(N=16-this.leftover,N>$&&(N=$),P=0;P=16&&(N=$-$%16,this.blocks(k,D,N),D+=N,$-=N),$){for(P=0;P<$;P++)this.buffer[this.leftover+P]=k[D+P];this.leftover+=$}};function W(k,D,$,P,N,ee){var ne=new H(ee);return ne.update($,P,N),ne.finish(k,D),0}function ie(k,D,$,P,N,ee){var ne=new Uint8Array(16);return W(ne,0,$,P,N,ee),b(k,D,ne,0)}function Z(k,D,$,P,N){var ee;if($<32)return-1;for(U(k,0,D,0,$,P,N),W(k,16,k,32,$-32,k),ee=0;ee<16;ee++)k[ee]=0;return 0}function G(k,D,$,P,N){var ee,ne=new Uint8Array(32);if($<32||(F(ne,0,32,P,N),ie(D,16,D,32,$-32,ne)!==0))return-1;for(U(k,0,D,0,$,P,N),ee=0;ee<32;ee++)k[ee]=0;return 0}function K(k,D){var $;for($=0;$<16;$++)k[$]=D[$]|0}function V(k){var D,$,P=1;for(D=0;D<16;D++)$=k[D]+P+65535,P=Math.floor($/65536),k[D]=$-P*65536;k[0]+=P-1+37*(P-1)}function B(k,D,$){for(var P,N=~($-1),ee=0;ee<16;ee++)P=N&(k[ee]^D[ee]),k[ee]^=P,D[ee]^=P}function q(k,D){var $,P,N,ee=n(),ne=n();for($=0;$<16;$++)ne[$]=D[$];for(V(ne),V(ne),V(ne),P=0;P<2;P++){for(ee[0]=ne[0]-65517,$=1;$<15;$++)ee[$]=ne[$]-65535-(ee[$-1]>>16&1),ee[$-1]&=65535;ee[15]=ne[15]-32767-(ee[14]>>16&1),N=ee[15]>>16&1,ee[14]&=65535,B(ne,ee,1-N)}for($=0;$<16;$++)k[2*$]=ne[$]&255,k[2*$+1]=ne[$]>>8}function Y(k,D){var $=new Uint8Array(32),P=new Uint8Array(32);return q($,k),q(P,D),w($,0,P,0)}function ue(k){var D=new Uint8Array(32);return q(D,k),D[0]&1}function Q(k,D){var $;for($=0;$<16;$++)k[$]=D[2*$]+(D[2*$+1]<<8);k[15]&=32767}function J(k,D,$){for(var P=0;P<16;P++)k[P]=D[P]+$[P]}function se(k,D,$){for(var P=0;P<16;P++)k[P]=D[P]-$[P]}function de(k,D,$){var P,N,ee=0,ne=0,he=0,Ce=0,Be=0,He=0,ct=0,Ne=0,rt=0,bt=0,At=0,vt=0,ht=0,xt=0,wt=0,Je=0,st=0,Qe=0,Le=0,qe=0,Ge=0,me=0,ve=0,De=0,Oe=0,Te=0,ze=0,mt=0,Nt=0,Ft=0,$t=0,te=$[0],Gt=$[1],on=$[2],an=$[3],Lt=$[4],un=$[5],tn=$[6],Kn=$[7],pn=$[8],On=$[9],Gn=$[10],Yn=$[11],xr=$[12],$r=$[13],Ir=$[14],Nr=$[15];P=D[0],ee+=P*te,ne+=P*Gt,he+=P*on,Ce+=P*an,Be+=P*Lt,He+=P*un,ct+=P*tn,Ne+=P*Kn,rt+=P*pn,bt+=P*On,At+=P*Gn,vt+=P*Yn,ht+=P*xr,xt+=P*$r,wt+=P*Ir,Je+=P*Nr,P=D[1],ne+=P*te,he+=P*Gt,Ce+=P*on,Be+=P*an,He+=P*Lt,ct+=P*un,Ne+=P*tn,rt+=P*Kn,bt+=P*pn,At+=P*On,vt+=P*Gn,ht+=P*Yn,xt+=P*xr,wt+=P*$r,Je+=P*Ir,st+=P*Nr,P=D[2],he+=P*te,Ce+=P*Gt,Be+=P*on,He+=P*an,ct+=P*Lt,Ne+=P*un,rt+=P*tn,bt+=P*Kn,At+=P*pn,vt+=P*On,ht+=P*Gn,xt+=P*Yn,wt+=P*xr,Je+=P*$r,st+=P*Ir,Qe+=P*Nr,P=D[3],Ce+=P*te,Be+=P*Gt,He+=P*on,ct+=P*an,Ne+=P*Lt,rt+=P*un,bt+=P*tn,At+=P*Kn,vt+=P*pn,ht+=P*On,xt+=P*Gn,wt+=P*Yn,Je+=P*xr,st+=P*$r,Qe+=P*Ir,Le+=P*Nr,P=D[4],Be+=P*te,He+=P*Gt,ct+=P*on,Ne+=P*an,rt+=P*Lt,bt+=P*un,At+=P*tn,vt+=P*Kn,ht+=P*pn,xt+=P*On,wt+=P*Gn,Je+=P*Yn,st+=P*xr,Qe+=P*$r,Le+=P*Ir,qe+=P*Nr,P=D[5],He+=P*te,ct+=P*Gt,Ne+=P*on,rt+=P*an,bt+=P*Lt,At+=P*un,vt+=P*tn,ht+=P*Kn,xt+=P*pn,wt+=P*On,Je+=P*Gn,st+=P*Yn,Qe+=P*xr,Le+=P*$r,qe+=P*Ir,Ge+=P*Nr,P=D[6],ct+=P*te,Ne+=P*Gt,rt+=P*on,bt+=P*an,At+=P*Lt,vt+=P*un,ht+=P*tn,xt+=P*Kn,wt+=P*pn,Je+=P*On,st+=P*Gn,Qe+=P*Yn,Le+=P*xr,qe+=P*$r,Ge+=P*Ir,me+=P*Nr,P=D[7],Ne+=P*te,rt+=P*Gt,bt+=P*on,At+=P*an,vt+=P*Lt,ht+=P*un,xt+=P*tn,wt+=P*Kn,Je+=P*pn,st+=P*On,Qe+=P*Gn,Le+=P*Yn,qe+=P*xr,Ge+=P*$r,me+=P*Ir,ve+=P*Nr,P=D[8],rt+=P*te,bt+=P*Gt,At+=P*on,vt+=P*an,ht+=P*Lt,xt+=P*un,wt+=P*tn,Je+=P*Kn,st+=P*pn,Qe+=P*On,Le+=P*Gn,qe+=P*Yn,Ge+=P*xr,me+=P*$r,ve+=P*Ir,De+=P*Nr,P=D[9],bt+=P*te,At+=P*Gt,vt+=P*on,ht+=P*an,xt+=P*Lt,wt+=P*un,Je+=P*tn,st+=P*Kn,Qe+=P*pn,Le+=P*On,qe+=P*Gn,Ge+=P*Yn,me+=P*xr,ve+=P*$r,De+=P*Ir,Oe+=P*Nr,P=D[10],At+=P*te,vt+=P*Gt,ht+=P*on,xt+=P*an,wt+=P*Lt,Je+=P*un,st+=P*tn,Qe+=P*Kn,Le+=P*pn,qe+=P*On,Ge+=P*Gn,me+=P*Yn,ve+=P*xr,De+=P*$r,Oe+=P*Ir,Te+=P*Nr,P=D[11],vt+=P*te,ht+=P*Gt,xt+=P*on,wt+=P*an,Je+=P*Lt,st+=P*un,Qe+=P*tn,Le+=P*Kn,qe+=P*pn,Ge+=P*On,me+=P*Gn,ve+=P*Yn,De+=P*xr,Oe+=P*$r,Te+=P*Ir,ze+=P*Nr,P=D[12],ht+=P*te,xt+=P*Gt,wt+=P*on,Je+=P*an,st+=P*Lt,Qe+=P*un,Le+=P*tn,qe+=P*Kn,Ge+=P*pn,me+=P*On,ve+=P*Gn,De+=P*Yn,Oe+=P*xr,Te+=P*$r,ze+=P*Ir,mt+=P*Nr,P=D[13],xt+=P*te,wt+=P*Gt,Je+=P*on,st+=P*an,Qe+=P*Lt,Le+=P*un,qe+=P*tn,Ge+=P*Kn,me+=P*pn,ve+=P*On,De+=P*Gn,Oe+=P*Yn,Te+=P*xr,ze+=P*$r,mt+=P*Ir,Nt+=P*Nr,P=D[14],wt+=P*te,Je+=P*Gt,st+=P*on,Qe+=P*an,Le+=P*Lt,qe+=P*un,Ge+=P*tn,me+=P*Kn,ve+=P*pn,De+=P*On,Oe+=P*Gn,Te+=P*Yn,ze+=P*xr,mt+=P*$r,Nt+=P*Ir,Ft+=P*Nr,P=D[15],Je+=P*te,st+=P*Gt,Qe+=P*on,Le+=P*an,qe+=P*Lt,Ge+=P*un,me+=P*tn,ve+=P*Kn,De+=P*pn,Oe+=P*On,Te+=P*Gn,ze+=P*Yn,mt+=P*xr,Nt+=P*$r,Ft+=P*Ir,$t+=P*Nr,ee+=38*st,ne+=38*Qe,he+=38*Le,Ce+=38*qe,Be+=38*Ge,He+=38*me,ct+=38*ve,Ne+=38*De,rt+=38*Oe,bt+=38*Te,At+=38*ze,vt+=38*mt,ht+=38*Nt,xt+=38*Ft,wt+=38*$t,N=1,P=ee+N+65535,N=Math.floor(P/65536),ee=P-N*65536,P=ne+N+65535,N=Math.floor(P/65536),ne=P-N*65536,P=he+N+65535,N=Math.floor(P/65536),he=P-N*65536,P=Ce+N+65535,N=Math.floor(P/65536),Ce=P-N*65536,P=Be+N+65535,N=Math.floor(P/65536),Be=P-N*65536,P=He+N+65535,N=Math.floor(P/65536),He=P-N*65536,P=ct+N+65535,N=Math.floor(P/65536),ct=P-N*65536,P=Ne+N+65535,N=Math.floor(P/65536),Ne=P-N*65536,P=rt+N+65535,N=Math.floor(P/65536),rt=P-N*65536,P=bt+N+65535,N=Math.floor(P/65536),bt=P-N*65536,P=At+N+65535,N=Math.floor(P/65536),At=P-N*65536,P=vt+N+65535,N=Math.floor(P/65536),vt=P-N*65536,P=ht+N+65535,N=Math.floor(P/65536),ht=P-N*65536,P=xt+N+65535,N=Math.floor(P/65536),xt=P-N*65536,P=wt+N+65535,N=Math.floor(P/65536),wt=P-N*65536,P=Je+N+65535,N=Math.floor(P/65536),Je=P-N*65536,ee+=N-1+37*(N-1),N=1,P=ee+N+65535,N=Math.floor(P/65536),ee=P-N*65536,P=ne+N+65535,N=Math.floor(P/65536),ne=P-N*65536,P=he+N+65535,N=Math.floor(P/65536),he=P-N*65536,P=Ce+N+65535,N=Math.floor(P/65536),Ce=P-N*65536,P=Be+N+65535,N=Math.floor(P/65536),Be=P-N*65536,P=He+N+65535,N=Math.floor(P/65536),He=P-N*65536,P=ct+N+65535,N=Math.floor(P/65536),ct=P-N*65536,P=Ne+N+65535,N=Math.floor(P/65536),Ne=P-N*65536,P=rt+N+65535,N=Math.floor(P/65536),rt=P-N*65536,P=bt+N+65535,N=Math.floor(P/65536),bt=P-N*65536,P=At+N+65535,N=Math.floor(P/65536),At=P-N*65536,P=vt+N+65535,N=Math.floor(P/65536),vt=P-N*65536,P=ht+N+65535,N=Math.floor(P/65536),ht=P-N*65536,P=xt+N+65535,N=Math.floor(P/65536),xt=P-N*65536,P=wt+N+65535,N=Math.floor(P/65536),wt=P-N*65536,P=Je+N+65535,N=Math.floor(P/65536),Je=P-N*65536,ee+=N-1+37*(N-1),k[0]=ee,k[1]=ne,k[2]=he,k[3]=Ce,k[4]=Be,k[5]=He,k[6]=ct,k[7]=Ne,k[8]=rt,k[9]=bt,k[10]=At,k[11]=vt,k[12]=ht,k[13]=xt,k[14]=wt,k[15]=Je}function Se(k,D){de(k,D,D)}function ge(k,D){var $=n(),P;for(P=0;P<16;P++)$[P]=D[P];for(P=253;P>=0;P--)Se($,$),P!==2&&P!==4&&de($,$,D);for(P=0;P<16;P++)k[P]=$[P]}function Ze(k,D){var $=n(),P;for(P=0;P<16;P++)$[P]=D[P];for(P=250;P>=0;P--)Se($,$),P!==1&&de($,$,D);for(P=0;P<16;P++)k[P]=$[P]}function Pe(k,D,$){var P=new Uint8Array(32),N=new Float64Array(80),ee,ne,he=n(),Ce=n(),Be=n(),He=n(),ct=n(),Ne=n();for(ne=0;ne<31;ne++)P[ne]=D[ne];for(P[31]=D[31]&127|64,P[0]&=248,Q(N,$),ne=0;ne<16;ne++)Ce[ne]=N[ne],He[ne]=he[ne]=Be[ne]=0;for(he[0]=He[0]=1,ne=254;ne>=0;--ne)ee=P[ne>>>3]>>>(ne&7)&1,B(he,Ce,ee),B(Be,He,ee),J(ct,he,Be),se(he,he,Be),J(Be,Ce,He),se(Ce,Ce,He),Se(He,ct),Se(Ne,he),de(he,Be,he),de(Be,Ce,ct),J(ct,he,Be),se(he,he,Be),Se(Ce,he),se(Be,He,Ne),de(he,Be,s),J(he,he,He),de(Be,Be,he),de(he,He,Ne),de(He,Ce,N),Se(Ce,ct),B(he,Ce,ee),B(Be,He,ee);for(ne=0;ne<16;ne++)N[ne+16]=he[ne],N[ne+32]=Be[ne],N[ne+48]=Ce[ne],N[ne+64]=He[ne];var rt=N.subarray(32),bt=N.subarray(16);return ge(rt,rt),de(bt,bt,rt),q(k,bt),0}function Fe(k,D){return Pe(k,D,o)}function $e(k,D){return r(D,32),Fe(k,D)}function be(k,D,$){var P=new Uint8Array(32);return Pe(P,$,D),E(k,i,P,C)}var yt=Z,lt=G;function It(k,D,$,P,N,ee){var ne=new Uint8Array(32);return be(ne,N,ee),yt(k,D,$,P,ne)}function mn(k,D,$,P,N,ee){var ne=new Uint8Array(32);return be(ne,N,ee),lt(k,D,$,P,ne)}var en=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function re(k,D,$,P){for(var N=new Int32Array(16),ee=new Int32Array(16),ne,he,Ce,Be,He,ct,Ne,rt,bt,At,vt,ht,xt,wt,Je,st,Qe,Le,qe,Ge,me,ve,De,Oe,Te,ze,mt=k[0],Nt=k[1],Ft=k[2],$t=k[3],te=k[4],Gt=k[5],on=k[6],an=k[7],Lt=D[0],un=D[1],tn=D[2],Kn=D[3],pn=D[4],On=D[5],Gn=D[6],Yn=D[7],xr=0;P>=128;){for(qe=0;qe<16;qe++)Ge=8*qe+xr,N[qe]=$[Ge+0]<<24|$[Ge+1]<<16|$[Ge+2]<<8|$[Ge+3],ee[qe]=$[Ge+4]<<24|$[Ge+5]<<16|$[Ge+6]<<8|$[Ge+7];for(qe=0;qe<80;qe++)if(ne=mt,he=Nt,Ce=Ft,Be=$t,He=te,ct=Gt,Ne=on,rt=an,bt=Lt,At=un,vt=tn,ht=Kn,xt=pn,wt=On,Je=Gn,st=Yn,me=an,ve=Yn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=(te>>>14|pn<<18)^(te>>>18|pn<<14)^(pn>>>9|te<<23),ve=(pn>>>14|te<<18)^(pn>>>18|te<<14)^(te>>>9|pn<<23),De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,me=te&Gt^~te&on,ve=pn&On^~pn&Gn,De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,me=en[qe*2],ve=en[qe*2+1],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,me=N[qe%16],ve=ee[qe%16],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,Qe=Te&65535|ze<<16,Le=De&65535|Oe<<16,me=Qe,ve=Le,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=(mt>>>28|Lt<<4)^(Lt>>>2|mt<<30)^(Lt>>>7|mt<<25),ve=(Lt>>>28|mt<<4)^(mt>>>2|Lt<<30)^(mt>>>7|Lt<<25),De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,me=mt&Nt^mt&Ft^Nt&Ft,ve=Lt&un^Lt&tn^un&tn,De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,rt=Te&65535|ze<<16,st=De&65535|Oe<<16,me=Be,ve=ht,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=Qe,ve=Le,De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,Be=Te&65535|ze<<16,ht=De&65535|Oe<<16,Nt=ne,Ft=he,$t=Ce,te=Be,Gt=He,on=ct,an=Ne,mt=rt,un=bt,tn=At,Kn=vt,pn=ht,On=xt,Gn=wt,Yn=Je,Lt=st,qe%16===15)for(Ge=0;Ge<16;Ge++)me=N[Ge],ve=ee[Ge],De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=N[(Ge+9)%16],ve=ee[(Ge+9)%16],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Qe=N[(Ge+1)%16],Le=ee[(Ge+1)%16],me=(Qe>>>1|Le<<31)^(Qe>>>8|Le<<24)^Qe>>>7,ve=(Le>>>1|Qe<<31)^(Le>>>8|Qe<<24)^(Le>>>7|Qe<<25),De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Qe=N[(Ge+14)%16],Le=ee[(Ge+14)%16],me=(Qe>>>19|Le<<13)^(Le>>>29|Qe<<3)^Qe>>>6,ve=(Le>>>19|Qe<<13)^(Qe>>>29|Le<<3)^(Le>>>6|Qe<<26),De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,N[Ge]=Te&65535|ze<<16,ee[Ge]=De&65535|Oe<<16;me=mt,ve=Lt,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[0],ve=D[0],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[0]=mt=Te&65535|ze<<16,D[0]=Lt=De&65535|Oe<<16,me=Nt,ve=un,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[1],ve=D[1],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[1]=Nt=Te&65535|ze<<16,D[1]=un=De&65535|Oe<<16,me=Ft,ve=tn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[2],ve=D[2],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[2]=Ft=Te&65535|ze<<16,D[2]=tn=De&65535|Oe<<16,me=$t,ve=Kn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[3],ve=D[3],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[3]=$t=Te&65535|ze<<16,D[3]=Kn=De&65535|Oe<<16,me=te,ve=pn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[4],ve=D[4],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[4]=te=Te&65535|ze<<16,D[4]=pn=De&65535|Oe<<16,me=Gt,ve=On,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[5],ve=D[5],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[5]=Gt=Te&65535|ze<<16,D[5]=On=De&65535|Oe<<16,me=on,ve=Gn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[6],ve=D[6],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[6]=on=Te&65535|ze<<16,D[6]=Gn=De&65535|Oe<<16,me=an,ve=Yn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[7],ve=D[7],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[7]=an=Te&65535|ze<<16,D[7]=Yn=De&65535|Oe<<16,xr+=128,P-=128}return P}function pe(k,D,$){var P=new Int32Array(8),N=new Int32Array(8),ee=new Uint8Array(256),ne,he=$;for(P[0]=1779033703,P[1]=3144134277,P[2]=1013904242,P[3]=2773480762,P[4]=1359893119,P[5]=2600822924,P[6]=528734635,P[7]=1541459225,N[0]=4089235720,N[1]=2227873595,N[2]=4271175723,N[3]=1595750129,N[4]=2917565137,N[5]=725511199,N[6]=4215389547,N[7]=327033209,re(P,N,D,$),$%=128,ne=0;ne<$;ne++)ee[ne]=D[he-$+ne];for(ee[$]=128,$=256-128*($<112?1:0),ee[$-9]=0,g(ee,$-8,he/536870912|0,he<<3),re(P,N,ee,$),ne=0;ne<8;ne++)g(k,8*ne,P[ne],N[ne]);return 0}function ye(k,D){var $=n(),P=n(),N=n(),ee=n(),ne=n(),he=n(),Ce=n(),Be=n(),He=n();se($,k[1],k[0]),se(He,D[1],D[0]),de($,$,He),J(P,k[0],k[1]),J(He,D[0],D[1]),de(P,P,He),de(N,k[3],D[3]),de(N,N,c),de(ee,k[2],D[2]),J(ee,ee,ee),se(ne,P,$),se(he,ee,N),J(Ce,ee,N),J(Be,P,$),de(k[0],ne,he),de(k[1],Be,Ce),de(k[2],Ce,he),de(k[3],ne,Be)}function Ue(k,D,$){var P;for(P=0;P<4;P++)B(k[P],D[P],$)}function je(k,D){var $=n(),P=n(),N=n();ge(N,D[2]),de($,D[0],N),de(P,D[1],N),q(k,P),k[31]^=ue($)<<7}function ke(k,D,$){var P,N;for(K(k[0],a),K(k[1],u),K(k[2],u),K(k[3],a),N=255;N>=0;--N)P=$[N/8|0]>>(N&7)&1,Ue(k,D,P),ye(D,k),ye(k,k),Ue(k,D,P)}function nt(k,D){var $=[n(),n(),n(),n()];K($[0],d),K($[1],h),K($[2],u),de($[3],d,h),ke(k,$,D)}function gt(k,D,$){var P=new Uint8Array(64),N=[n(),n(),n(),n()],ee;for($||r(D,32),pe(P,D,32),P[0]&=248,P[31]&=127,P[31]|=64,nt(N,P),je(k,N),ee=0;ee<32;ee++)D[ee+32]=k[ee];return 0}var bn=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Vt(k,D){var $,P,N,ee;for(P=63;P>=32;--P){for($=0,N=P-32,ee=P-12;N>4)*bn[N],$=D[N]>>8,D[N]&=255;for(N=0;N<32;N++)D[N]-=$*bn[N];for(P=0;P<32;P++)D[P+1]+=D[P]>>8,k[P]=D[P]&255}function xn(k){var D=new Float64Array(64),$;for($=0;$<64;$++)D[$]=k[$];for($=0;$<64;$++)k[$]=0;Vt(k,D)}function Ii(k,D,$,P){var N=new Uint8Array(64),ee=new Uint8Array(64),ne=new Uint8Array(64),he,Ce,Be=new Float64Array(64),He=[n(),n(),n(),n()];pe(N,P,32),N[0]&=248,N[31]&=127,N[31]|=64;var ct=$+64;for(he=0;he<$;he++)k[64+he]=D[he];for(he=0;he<32;he++)k[32+he]=N[32+he];for(pe(ne,k.subarray(32),$+32),xn(ne),nt(He,ne),je(k,He),he=32;he<64;he++)k[he]=P[he];for(pe(ee,k,$+64),xn(ee),he=0;he<64;he++)Be[he]=0;for(he=0;he<32;he++)Be[he]=ne[he];for(he=0;he<32;he++)for(Ce=0;Ce<32;Ce++)Be[he+Ce]+=ee[he]*N[Ce];return Vt(k.subarray(32),Be),ct}function br(k,D){var $=n(),P=n(),N=n(),ee=n(),ne=n(),he=n(),Ce=n();return K(k[2],u),Q(k[1],D),Se(N,k[1]),de(ee,N,l),se(N,N,k[2]),J(ee,k[2],ee),Se(ne,ee),Se(he,ne),de(Ce,he,ne),de($,Ce,N),de($,$,ee),Ze($,$),de($,$,N),de($,$,ee),de($,$,ee),de(k[0],$,ee),Se(P,k[0]),de(P,P,ee),Y(P,N)&&de(k[0],k[0],v),Se(P,k[0]),de(P,P,ee),Y(P,N)?-1:(ue(k[0])===D[31]>>7&&se(k[0],a,k[0]),de(k[3],k[0],k[1]),0)}function yi(k,D,$,P){var N,ee=new Uint8Array(32),ne=new Uint8Array(64),he=[n(),n(),n(),n()],Ce=[n(),n(),n(),n()];if($<64||br(Ce,P))return-1;for(N=0;N<$;N++)k[N]=D[N];for(N=0;N<32;N++)k[N+32]=P[N];if(pe(ne,k,$),xn(ne),ke(he,Ce,ne),nt(Ce,D.subarray(32)),ye(he,Ce),je(ee,he),$-=64,w(D,0,ee,0)){for(N=0;N<$;N++)k[N]=0;return-1}for(N=0;N<$;N++)k[N]=D[N+64];return $}var ar=32,ui=24,bi=32,Rr=16,Yi=32,go=32,xi=32,Dr=32,wa=32,_t=ui,fn=bi,wn=Rr,qn=64,ur=32,Yr=64,mo=32,ql=64;t.lowlevel={crypto_core_hsalsa20:E,crypto_stream_xor:U,crypto_stream:F,crypto_stream_salsa20_xor:T,crypto_stream_salsa20:M,crypto_onetimeauth:W,crypto_onetimeauth_verify:ie,crypto_verify_16:b,crypto_verify_32:w,crypto_secretbox:Z,crypto_secretbox_open:G,crypto_scalarmult:Pe,crypto_scalarmult_base:Fe,crypto_box_beforenm:be,crypto_box_afternm:yt,crypto_box:It,crypto_box_open:mn,crypto_box_keypair:$e,crypto_hash:pe,crypto_sign:Ii,crypto_sign_keypair:gt,crypto_sign_open:yi,crypto_secretbox_KEYBYTES:ar,crypto_secretbox_NONCEBYTES:ui,crypto_secretbox_ZEROBYTES:bi,crypto_secretbox_BOXZEROBYTES:Rr,crypto_scalarmult_BYTES:Yi,crypto_scalarmult_SCALARBYTES:go,crypto_box_PUBLICKEYBYTES:xi,crypto_box_SECRETKEYBYTES:Dr,crypto_box_BEFORENMBYTES:wa,crypto_box_NONCEBYTES:_t,crypto_box_ZEROBYTES:fn,crypto_box_BOXZEROBYTES:wn,crypto_sign_BYTES:qn,crypto_sign_PUBLICKEYBYTES:ur,crypto_sign_SECRETKEYBYTES:Yr,crypto_sign_SEEDBYTES:mo,crypto_hash_BYTES:ql,gf:n,D:l,L:bn,pack25519:q,unpack25519:Q,M:de,A:J,S:Se,Z:se,pow2523:Ze,add:ye,set25519:K,modL:Vt,scalarmult:ke,scalarbase:nt};function yf(k,D){if(k.length!==ar)throw new Error("bad key size");if(D.length!==ui)throw new Error("bad nonce size")}function oe(k,D){if(k.length!==xi)throw new Error("bad public key size");if(D.length!==Dr)throw new Error("bad secret key size")}function le(){for(var k=0;k=0},t.sign.keyPair=function(){var k=new Uint8Array(ur),D=new Uint8Array(Yr);return gt(k,D),{publicKey:k,secretKey:D}},t.sign.keyPair.fromSecretKey=function(k){if(le(k),k.length!==Yr)throw new Error("bad secret key size");for(var D=new Uint8Array(ur),$=0;$"u"?typeof Buffer.from<"u"?(t.encodeBase64=function(r){return Buffer.from(r).toString("base64")},t.decodeBase64=function(r){return n(r),new Uint8Array(Array.prototype.slice.call(Buffer.from(r,"base64"),0))}):(t.encodeBase64=function(r){return new Buffer(r).toString("base64")},t.decodeBase64=function(r){return n(r),new Uint8Array(Array.prototype.slice.call(new Buffer(r,"base64"),0))}):(t.encodeBase64=function(r){var i,o=[],a=r.length;for(i=0;i{const{__scopeCheckbox:n,name:r,checked:i,defaultChecked:o,required:a,disabled:u,value:s="on",onCheckedChange:l,form:c,...d}=e,[h,v]=y.useState(null),g=Kt(t,A=>v(A)),m=y.useRef(!1),b=h?c||!!h.closest("form"):!0,[w=!1,x]=Ga({prop:i,defaultProp:o,onChange:l}),S=y.useRef(w);return y.useEffect(()=>{const A=h?.form;if(A){const E=()=>x(S.current);return A.addEventListener("reset",E),()=>A.removeEventListener("reset",E)}},[h,x]),I.jsxs(Fqe,{scope:n,state:w,disabled:u,children:[I.jsx(pt.button,{type:"button",role:"checkbox","aria-checked":bl(w)?"mixed":w,"aria-required":a,"data-state":pY(w),"data-disabled":u?"":void 0,disabled:u,value:s,...d,ref:g,onKeyDown:Ye(e.onKeyDown,A=>{A.key==="Enter"&&A.preventDefault()}),onClick:Ye(e.onClick,A=>{x(E=>bl(E)?!0:!E),b&&(m.current=A.isPropagationStopped(),m.current||A.stopPropagation())})}),b&&I.jsx(jqe,{control:h,bubbles:!m.current,name:r,value:s,checked:w,required:a,disabled:u,form:c,style:{transform:"translateX(-100%)"},defaultChecked:bl(o)?!1:o})]})});fY.displayName=i5;var dY="CheckboxIndicator",hY=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...i}=e,o=Lqe(dY,n);return I.jsx(ii,{present:r||bl(o.state)||o.state===!0,children:I.jsx(pt.span,{"data-state":pY(o.state),"data-disabled":o.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});hY.displayName=dY;var jqe=e=>{const{control:t,checked:n,bubbles:r=!0,defaultChecked:i,...o}=e,a=y.useRef(null),u=yO(n),s=jA(t);y.useEffect(()=>{const c=a.current,d=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(d,"checked").set;if(u!==n&&v){const g=new Event("click",{bubbles:r});c.indeterminate=bl(n),v.call(c,bl(n)?!1:n),c.dispatchEvent(g)}},[u,n,r]);const l=y.useRef(bl(n)?!1:n);return I.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i??l.current,...o,tabIndex:-1,ref:a,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function bl(e){return e==="indeterminate"}function pY(e){return bl(e)?"indeterminate":e?"checked":"unchecked"}var kZe=fY,TZe=hY;export{xGe as $,spe as A,RKe as B,jKe as C,fpe as D,dpe as E,LKe as F,bB as G,JKe as H,dKe as I,ppe as J,lpe as K,cpe as L,iKe as M,fGe as N,zqe as O,qqe as P,DKe as Q,j as R,Sl as S,hpe as T,Ipe as U,Npe as V,EGe as W,ZKe as X,AGe as Y,gGe as Z,mGe as _,Yqe as a,NGe as a$,wGe as a0,SGe as a1,qKe as a2,_Ge as a3,tGe as a4,bGe as a5,CGe as a6,pGe as a7,vGe as a8,yGe as a9,$Ge as aA,oGe as aB,aYe as aC,gKe as aD,_Ke as aE,vYe as aF,gYe as aG,mYe as aH,Gqe as aI,_Ye as aJ,SYe as aK,CYe as aL,wYe as aM,qS as aN,NKe as aO,mf as aP,yYe as aQ,bYe as aR,lO as aS,cO as aT,nIe as aU,Yu as aV,vf as aW,Kh as aX,AYe as aY,nYe as aZ,UGe as a_,kGe as aa,RGe as ab,TGe as ac,MGe as ad,Vqe as ae,nKe as af,aKe as ag,wKe as ah,Xqe as ai,uKe as aj,mKe as ak,oKe as al,fKe as am,xKe as an,bKe as ao,hKe as ap,yKe as aq,tKe as ar,Jqe as as,sKe as at,AKe as au,EKe as av,SKe as aw,PKe as ax,vKe as ay,rKe as az,rg as b,CZe as b$,zGe as b0,jGe as b1,dYe as b2,cYe as b3,OYe as b4,TYe as b5,kYe as b6,MYe as b7,GKe as b8,BYe as b9,FGe as bA,EYe as bB,WGe as bC,tZe as bD,nZe as bE,tYe as bF,sYe as bG,oYe as bH,QGe as bI,KGe as bJ,qGe as bK,rZe as bL,eKe as bM,CKe as bN,pKe as bO,Qqe as bP,oZe as bQ,aZe as bR,FKe as bS,nGe as bT,rGe as bU,hZe as bV,vZe as bW,GGe as bX,LGe as bY,xZe as bZ,wZe as b_,XKe as ba,zYe as bb,RYe as bc,DYe as bd,$Ye as be,NYe as bf,FYe as bg,jYe as bh,LYe as bi,UYe as bj,IYe as bk,WYe as bl,YKe as bm,KYe as bn,GYe as bo,HYe as bp,qYe as bq,XYe as br,QYe as bs,JYe as bt,KBe as bu,JBe as bv,YYe as bw,rYe as bx,IGe as by,BGe as bz,cn as c,EZe as c0,_Ze as c1,SZe as c2,mZe as c3,yZe as c4,bZe as c5,iGe as c6,aGe as c7,lYe as c8,pZe as c9,eYe as cA,HGe as cB,UBe as cC,Hqe as cD,YGe as cE,VGe as cF,uZe as ca,cZe as cb,fZe as cc,dZe as cd,fYe as ce,hYe as cf,sZe as cg,lZe as ch,Qa as ci,yr as cj,uGe as ck,Gc as cl,AZe as cm,PZe as cn,uYe as co,ZGe as cp,JGe as cq,iYe as cr,XGe as cs,kZe as ct,TZe as cu,QKe as cv,lGe as cw,KKe as cx,eGe as cy,sGe as cz,Uqe as d,Kr as e,MKe as f,kKe as g,TKe as h,OKe as i,I as j,mk as k,IKe as l,Wqe as m,WKe as n,mA as o,cKe as p,lKe as q,y as r,VKe as s,Zqe as t,QF as u,HKe as v,Kqe as w,BKe as x,UKe as y,zKe as z}; +`,o.map=[t,e.line],!0}function cHe(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||i+3>o)return!1;const a=e.src.charCodeAt(i);if(a!==126&&a!==96)return!1;let u=i;i=e.skipChars(i,a);let s=i-u;if(s<3)return!1;const l=e.src.slice(u,i),c=e.src.slice(i,o);if(a===96&&c.indexOf(String.fromCharCode(a))>=0)return!1;if(r)return!0;let d=t,h=!1;for(;d++,!(d>=n||(i=u=e.bMarks[d]+e.tShift[d],o=e.eMarks[d],i=4)&&(i=e.skipChars(i,a),!(i-u=4||e.src.charCodeAt(i)!==62)return!1;if(r)return!0;const u=[],s=[],l=[],c=[],d=e.md.block.ruler.getRules("blockquote"),h=e.parentType;e.parentType="blockquote";let v=!1,g;for(g=t;g=o)break;if(e.src.charCodeAt(i++)===62&&!S){let E=e.sCount[g]+1,C,T;e.src.charCodeAt(i)===32?(i++,E++,T=!1,C=!0):e.src.charCodeAt(i)===9?(C=!0,(e.bsCount[g]+E)%4===3?(i++,E++,T=!1):T=!0):C=!1;let M=E;for(u.push(e.bMarks[g]),e.bMarks[g]=i;i=o,s.push(e.bsCount[g]),e.bsCount[g]=e.sCount[g]+1+(C?1:0),l.push(e.sCount[g]),e.sCount[g]=M-E,c.push(e.tShift[g]),e.tShift[g]=i-e.bMarks[g];continue}if(v)break;let A=!1;for(let E=0,C=d.length;E";const w=[t,0];b.map=w,e.md.block.tokenize(e,t,g);const x=e.push("blockquote_close","blockquote",-1);x.markup=">",e.lineMax=a,e.parentType=h,w[1]=e.line;for(let S=0;S=4)return!1;let o=e.bMarks[t]+e.tShift[t];const a=e.src.charCodeAt(o++);if(a!==42&&a!==45&&a!==95)return!1;let u=1;for(;o=r)return-1;let o=e.src.charCodeAt(i++);if(o<48||o>57)return-1;for(;;){if(i>=r)return-1;if(o=e.src.charCodeAt(i++),o>=48&&o<=57){if(i-n>=10)return-1;continue}if(o===41||o===46)break;return-1}return i=4||e.listIndent>=0&&e.sCount[s]-e.listIndent>=4&&e.sCount[s]=e.blkIndent&&(c=!0);let d,h,v;if((v=xI(e,s))>=0){if(d=!0,a=e.bMarks[s]+e.tShift[s],h=Number(e.src.slice(a,v-1)),c&&h!==1)return!1}else if((v=bI(e,s))>=0)d=!1;else return!1;if(c&&e.skipSpaces(v)>=e.eMarks[s])return!1;if(r)return!0;const g=e.src.charCodeAt(v-1),m=e.tokens.length;d?(u=e.push("ordered_list_open","ol",1),h!==1&&(u.attrs=[["start",h]])):u=e.push("bullet_list_open","ul",1);const b=[s,0];u.map=b,u.markup=String.fromCharCode(g);let w=!1;const x=e.md.block.ruler.getRules("list"),S=e.parentType;for(e.parentType="list";s=i?T=1:T=E-A,T>4&&(T=1);const M=A+T;u=e.push("list_item_open","li",1),u.markup=String.fromCharCode(g);const F=[s,0];u.map=F,d&&(u.info=e.src.slice(a,v-1));const U=e.tight,H=e.tShift[s],W=e.sCount[s],ie=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=M,e.tight=!0,e.tShift[s]=C-e.bMarks[s],e.sCount[s]=E,C>=i&&e.isEmpty(s+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,s,n,!0),(!e.tight||w)&&(l=!1),w=e.line-s>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=ie,e.tShift[s]=H,e.sCount[s]=W,e.tight=U,u=e.push("list_item_close","li",-1),u.markup=String.fromCharCode(g),s=e.line,F[1]=s,s>=n||e.sCount[s]=4)break;let Z=!1;for(let G=0,K=x.length;G=4||e.src.charCodeAt(i)!==91)return!1;function u(x){const S=e.lineMax;if(x>=S||e.isEmpty(x))return null;let A=!1;if(e.sCount[x]-e.blkIndent>3&&(A=!0),e.sCount[x]<0&&(A=!0),!A){const T=e.md.block.ruler.getRules("reference"),M=e.parentType;e.parentType="reference";let F=!1;for(let U=0,H=T.length;U"u"&&(e.env.references={}),typeof e.env.references[w]>"u"&&(e.env.references[w]={title:b,href:d}),e.line=a),!0):!1}const gHe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],mHe="[a-zA-Z_:][a-zA-Z0-9:._-]*",yHe="[^\"'=<>`\\x00-\\x20]+",bHe="'[^']*'",xHe='"[^"]*"',wHe="(?:"+yHe+"|"+bHe+"|"+xHe+")",_He="(?:\\s+"+mHe+"(?:\\s*=\\s*"+wHe+")?)",GG="<[A-Za-z][A-Za-z0-9\\-]*"+_He+"*\\s*\\/?>",YG="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",SHe="",CHe="<[?][\\s\\S]*?[?]>",EHe="]*>",AHe="",PHe=new RegExp("^(?:"+GG+"|"+YG+"|"+SHe+"|"+CHe+"|"+EHe+"|"+AHe+")"),OHe=new RegExp("^(?:"+GG+"|"+YG+")"),qf=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(OHe.source+"\\s*$"),/^$/,!1]];function kHe(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(i)!==60)return!1;let a=e.src.slice(i,o),u=0;for(;u=4)return!1;let a=e.src.charCodeAt(i);if(a!==35||i>=o)return!1;let u=1;for(a=e.src.charCodeAt(++i);a===35&&i6||ii&&Vn(e.src.charCodeAt(s-1))&&(o=s),e.line=t+1;const l=e.push("heading_open","h"+String(u),1);l.markup="########".slice(0,u),l.map=[t,e.line];const c=e.push("inline","",0);c.content=e.src.slice(i,o).trim(),c.map=[t,e.line],c.children=[];const d=e.push("heading_close","h"+String(u),-1);return d.markup="########".slice(0,u),!0}function MHe(e,t,n){const r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const i=e.parentType;e.parentType="paragraph";let o=0,a,u=t+1;for(;u3)continue;if(e.sCount[u]>=e.blkIndent){let v=e.bMarks[u]+e.tShift[u];const g=e.eMarks[u];if(v=g))){o=a===61?1:2;break}}if(e.sCount[u]<0)continue;let h=!1;for(let v=0,g=r.length;v3||e.sCount[o]<0)continue;let l=!1;for(let c=0,d=r.length;c=n||e.sCount[a]=o){e.line=n;break}const s=e.line;let l=!1;for(let c=0;c=e.line)throw new Error("block rule didn't increment state.line");break}if(!l)throw new Error("none of the block rules matched");e.tight=!u,e.isEmpty(e.line-1)&&(u=!0),a=e.line,a0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(i),r};Ig.prototype.scanDelims=function(e,t){const n=this.posMax,r=this.src.charCodeAt(e),i=e>0?this.src.charCodeAt(e-1):32;let o=e;for(;o0)return!1;const n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const i=e.pending.match(IHe);if(!i)return!1;const o=i[1],a=e.md.linkify.matchAtStart(e.src.slice(n-o.length));if(!a)return!1;let u=a.url;if(u.length<=o.length)return!1;u=u.replace(/\*+$/,"");const s=e.md.normalizeLink(u);if(!e.md.validateLink(s))return!1;if(!t){e.pending=e.pending.slice(0,-o.length);const l=e.push("link_open","a",1);l.attrs=[["href",s]],l.markup="linkify",l.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(u);const d=e.push("link_close","a",-1);d.markup="linkify",d.info="auto"}return e.pos+=u.length-o.length,!0}function FHe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const r=e.pending.length-1,i=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let o=r-1;for(;o>=1&&e.pending.charCodeAt(o-1)===32;)o--;e.pending=e.pending.slice(0,o),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){n5[e.charCodeAt(0)]=1});function LHe(e,t){let n=e.pos;const r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let i=e.src.charCodeAt(n);if(i===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&i<=56319&&n+1=56320&&u<=57343&&(o+=e.src[n+1],n++)}const a="\\"+o;if(!t){const u=e.push("text_special","",0);i<256&&n5[i]!==0?u.content=o:u.content=a,u.markup=a,u.info="escape"}return e.pos=n+1,!0}function jHe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const i=n;n++;const o=e.posMax;for(;n=0;r--){const i=t[r];if(i.marker!==95&&i.marker!==42||i.end===-1)continue;const o=t[i.end],a=r>0&&t[r-1].end===i.end+1&&t[r-1].marker===i.marker&&t[r-1].token===i.token-1&&t[i.end+1].token===o.token+1,u=String.fromCharCode(i.marker),s=e.tokens[i.token];s.type=a?"strong_open":"em_open",s.tag=a?"strong":"em",s.nesting=1,s.markup=a?u+u:u,s.content="";const l=e.tokens[o.token];l.type=a?"strong_close":"em_close",l.tag=a?"strong":"em",l.nesting=-1,l.markup=a?u+u:u,l.content="",a&&(e.tokens[t[r-1].token].content="",e.tokens[t[i.end+1].token].content="",r--)}}function WHe(e){const t=e.tokens_meta,n=e.tokens_meta.length;_I(e,e.delimiters);for(let r=0;r=d)return!1;if(s=g,i=e.md.helpers.parseLinkDestination(e.src,g,e.posMax),i.ok){for(a=e.md.normalizeLink(i.str),e.md.validateLink(a)?g=i.pos:a="",s=g;g=d||e.src.charCodeAt(g)!==41)&&(l=!0),g++}if(l){if(typeof e.env.references>"u")return!1;if(g=0?r=e.src.slice(s,g++):g=v+1):g=v+1,r||(r=e.src.slice(h,v)),o=e.env.references[n2(r)],!o)return e.pos=c,!1;a=o.href,u=o.title}if(!t){e.pos=h,e.posMax=v;const m=e.push("link_open","a",1),b=[["href",a]];m.attrs=b,u&&b.push(["title",u]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=g,e.posMax=d,!0}function HHe(e,t){let n,r,i,o,a,u,s,l,c="";const d=e.pos,h=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const v=e.pos+2,g=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(g<0)return!1;if(o=g+1,o=h)return!1;for(l=o,u=e.md.helpers.parseLinkDestination(e.src,o,e.posMax),u.ok&&(c=e.md.normalizeLink(u.str),e.md.validateLink(c)?o=u.pos:c=""),l=o;o=h||e.src.charCodeAt(o)!==41)return e.pos=d,!1;o++}else{if(typeof e.env.references>"u")return!1;if(o=0?i=e.src.slice(l,o++):o=g+1):o=g+1,i||(i=e.src.slice(v,g)),a=e.env.references[n2(i)],!a)return e.pos=d,!1;c=a.href,s=a.title}if(!t){r=e.src.slice(v,g);const m=[];e.md.inline.parse(r,e.md,e.env,m);const b=e.push("image","img",0),w=[["src",c],["alt",""]];b.attrs=w,b.children=m,b.content=r,s&&w.push(["title",s])}return e.pos=o,e.posMax=h,!0}const qHe=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,KHe=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function GHe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const r=e.pos,i=e.posMax;for(;;){if(++n>=i)return!1;const a=e.src.charCodeAt(n);if(a===60)return!1;if(a===62)break}const o=e.src.slice(r+1,n);if(KHe.test(o)){const a=e.md.normalizeLink(o);if(!e.md.validateLink(a))return!1;if(!t){const u=e.push("link_open","a",1);u.attrs=[["href",a]],u.markup="autolink",u.info="auto";const s=e.push("text","",0);s.content=e.md.normalizeLinkText(o);const l=e.push("link_close","a",-1);l.markup="autolink",l.info="auto"}return e.pos+=o.length+2,!0}if(qHe.test(o)){const a=e.md.normalizeLink("mailto:"+o);if(!e.md.validateLink(a))return!1;if(!t){const u=e.push("link_open","a",1);u.attrs=[["href",a]],u.markup="autolink",u.info="auto";const s=e.push("text","",0);s.content=e.md.normalizeLinkText(o);const l=e.push("link_close","a",-1);l.markup="autolink",l.info="auto"}return e.pos+=o.length+2,!0}return!1}function YHe(e){return/^\s]/i.test(e)}function ZHe(e){return/^<\/a\s*>/i.test(e)}function XHe(e){const t=e|32;return t>=97&&t<=122}function QHe(e,t){if(!e.md.options.html)return!1;const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;const i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!XHe(i))return!1;const o=e.src.slice(r).match(PHe);if(!o)return!1;if(!t){const a=e.push("html_inline","",0);a.content=o[0],YHe(a.content)&&e.linkLevel++,ZHe(a.content)&&e.linkLevel--}return e.pos+=o[0].length,!0}const JHe=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,eqe=/^&([a-z][a-z0-9]{1,31});/i;function tqe(e,t){const n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(JHe);if(o){if(!t){const a=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),u=e.push("text_special","",0);u.content=e5(a)?ix(a):ix(65533),u.markup=o[0],u.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(eqe);if(o){const a=WG(o[0]);if(a!==o[0]){if(!t){const u=e.push("text_special","",0);u.content=a,u.markup=o[0],u.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function SI(e){const t={},n=e.length;if(!n)return;let r=0,i=-2;const o=[];for(let a=0;as;l-=o[l]+1){const d=e[l];if(d.marker===u.marker&&d.open&&d.end<0){let h=!1;if((d.close||u.open)&&(d.length+u.length)%3===0&&(d.length%3!==0||u.length%3!==0)&&(h=!0),!h){const v=l>0&&!e[l-1].open?o[l-1]+1:0;o[a]=a-l+v,o[l]=v,u.open=!1,d.end=a,d.close=!1,c=-1,i=-2;break}}}c!==-1&&(t[u.marker][(u.open?3:0)+(u.length||0)%3]=c)}}function nqe(e){const t=e.tokens_meta,n=e.tokens_meta.length;SI(e.delimiters);for(let r=0;r0&&r++,i[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,o[t]=e.pos};Ng.prototype.tokenize=function(e){const t=this.ruler.getRules(""),n=t.length,r=e.posMax,i=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Ng.prototype.parse=function(e,t,n,r){const i=new this.State(e,t,n,r);this.tokenize(i);const o=this.ruler2.getRules(""),a=o.length;for(let u=0;u|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}function Q6(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}function i2(e){return Object.prototype.toString.call(e)}function oqe(e){return i2(e)==="[object String]"}function aqe(e){return i2(e)==="[object Object]"}function uqe(e){return i2(e)==="[object RegExp]"}function CI(e){return i2(e)==="[object Function]"}function sqe(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const QG={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function lqe(e){return Object.keys(e||{}).reduce(function(t,n){return t||QG.hasOwnProperty(n)},!1)}const cqe={"http:":{validate:function(e,t,n){const r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){const r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){const r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},fqe="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",dqe="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function hqe(e){e.__index__=-1,e.__text_cache__=""}function pqe(e){return function(t,n){const r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function EI(){return function(e,t){t.normalize(e)}}function ox(e){const t=e.re=iqe(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(fqe),n.push(t.src_xn),t.src_tlds=n.join("|");function r(u){return u.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");const i=[];e.__compiled__={};function o(u,s){throw new Error('(LinkifyIt) Invalid schema "'+u+'": '+s)}Object.keys(e.__schemas__).forEach(function(u){const s=e.__schemas__[u];if(s===null)return;const l={validate:null,link:null};if(e.__compiled__[u]=l,aqe(s)){uqe(s.validate)?l.validate=pqe(s.validate):CI(s.validate)?l.validate=s.validate:o(u,s),CI(s.normalize)?l.normalize=s.normalize:s.normalize?o(u,s):l.normalize=EI();return}if(oqe(s)){i.push(u);return}o(u,s)}),i.forEach(function(u){e.__compiled__[e.__schemas__[u]]&&(e.__compiled__[u].validate=e.__compiled__[e.__schemas__[u]].validate,e.__compiled__[u].normalize=e.__compiled__[e.__schemas__[u]].normalize)}),e.__compiled__[""]={validate:null,normalize:EI()};const a=Object.keys(e.__compiled__).filter(function(u){return u.length>0&&e.__compiled__[u]}).map(sqe).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),hqe(e)}function vqe(e,t){const n=e.__index__,r=e.__last_index__,i=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=i,this.text=i,this.url=i}function J6(e,t){const n=new vqe(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function Uo(e,t){if(!(this instanceof Uo))return new Uo(e,t);t||lqe(e)&&(t=e,e={}),this.__opts__=Q6({},QG,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Q6({},cqe,e),this.__compiled__={},this.__tlds__=dqe,this.__tlds_replaced__=!1,this.re={},ox(this)}Uo.prototype.add=function(t,n){return this.__schemas__[t]=n,ox(this),this};Uo.prototype.set=function(t){return this.__opts__=Q6(this.__opts__,t),this};Uo.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;let n,r,i,o,a,u,s,l,c;if(this.re.schema_test.test(t)){for(s=this.re.schema_search,s.lastIndex=0;(n=s.exec(t))!==null;)if(o=this.testSchemaAt(t,n[2],s.lastIndex),o){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+o;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(l=t.search(this.re.host_fuzzy_test),l>=0&&(this.__index__<0||l=0&&(i=t.match(this.re.email_fuzzy))!==null&&(a=i.index+i[1].length,u=i.index+i[0].length,(this.__index__<0||athis.__last_index__)&&(this.__schema__="mailto:",this.__index__=a,this.__last_index__=u))),this.__index__>=0};Uo.prototype.pretest=function(t){return this.re.pretest.test(t)};Uo.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0};Uo.prototype.match=function(t){const n=[];let r=0;this.__index__>=0&&this.__text_cache__===t&&(n.push(J6(this,r)),r=this.__last_index__);let i=r?t.slice(r):t;for(;this.test(i);)n.push(J6(this,r)),i=i.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};Uo.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;const n=this.re.schema_at_start.exec(t);if(!n)return null;const r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,J6(this,0)):null};Uo.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,i,o){return r!==o[i-1]}).reverse(),ox(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,ox(this),this)};Uo.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};Uo.prototype.onCompile=function(){};const Md=2147483647,mu=36,r5=1,Zv=26,gqe=38,mqe=700,JG=72,eY=128,tY="-",yqe=/^xn--/,bqe=/[^\0-\x7F]/,xqe=/[\x2E\u3002\uFF0E\uFF61]/g,wqe={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},g3=mu-r5,yu=Math.floor,m3=String.fromCharCode;function Ys(e){throw new RangeError(wqe[e])}function _qe(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function nY(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(xqe,".");const i=e.split("."),o=_qe(i,t).join(".");return r+o}function rY(e){const t=[];let n=0;const r=e.length;for(;n=55296&&i<=56319&&nString.fromCodePoint(...e),Cqe=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:mu},AI=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},iY=function(e,t,n){let r=0;for(e=n?yu(e/mqe):e>>1,e+=yu(e/t);e>g3*Zv>>1;r+=mu)e=yu(e/g3);return yu(r+(g3+1)*e/(e+gqe))},oY=function(e){const t=[],n=e.length;let r=0,i=eY,o=JG,a=e.lastIndexOf(tY);a<0&&(a=0);for(let u=0;u=128&&Ys("not-basic"),t.push(e.charCodeAt(u));for(let u=a>0?a+1:0;u=n&&Ys("invalid-input");const h=Cqe(e.charCodeAt(u++));h>=mu&&Ys("invalid-input"),h>yu((Md-r)/c)&&Ys("overflow"),r+=h*c;const v=d<=o?r5:d>=o+Zv?Zv:d-o;if(hyu(Md/g)&&Ys("overflow"),c*=g}const l=t.length+1;o=iY(r-s,l,s==0),yu(r/l)>Md-i&&Ys("overflow"),i+=yu(r/l),r%=l,t.splice(r++,0,i)}return String.fromCodePoint(...t)},aY=function(e){const t=[];e=rY(e);const n=e.length;let r=eY,i=0,o=JG;for(const s of e)s<128&&t.push(m3(s));const a=t.length;let u=a;for(a&&t.push(tY);u=r&&cyu((Md-i)/l)&&Ys("overflow"),i+=(s-r)*l,r=s;for(const c of e)if(cMd&&Ys("overflow"),c===r){let d=i;for(let h=mu;;h+=mu){const v=h<=o?r5:h>=o+Zv?Zv:h-o;if(d=0))try{t.hostname=uY.toASCII(t.hostname)}catch{}return $g(ZO(t))}function Iqe(e){const t=XO(e,!0);if(t.hostname&&(!t.protocol||sY.indexOf(t.protocol)>=0))try{t.hostname=uY.toUnicode(t.hostname)}catch{}return bh(ZO(t),bh.defaultChars+"%")}function Qa(e,t){if(!(this instanceof Qa))return new Qa(e,t);t||JO(e)||(t=e||{},e="default"),this.inline=new Ng,this.block=new r2,this.core=new t5,this.renderer=new Zh,this.linkify=new Uo,this.validateLink=Dqe,this.normalizeLink=$qe,this.normalizeLinkText=Iqe,this.utils=FVe,this.helpers=t2({},zVe),this.options={},this.configure(e),t&&this.set(t)}Qa.prototype.set=function(e){return t2(this.options,e),this};Qa.prototype.configure=function(e){const t=this;if(JO(e)){const n=e;if(e=Tqe[n],!e)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this};Qa.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));const r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};Qa.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));const r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};Qa.prototype.use=function(e){const t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};Qa.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};Qa.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};Qa.prototype.parseInline=function(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};Qa.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var lY={exports:{}};(function(e){(function(t){var n=function(k){var D,$=new Float64Array(16);if(k)for(D=0;D>24&255,k[D+1]=$>>16&255,k[D+2]=$>>8&255,k[D+3]=$&255,k[D+4]=P>>24&255,k[D+5]=P>>16&255,k[D+6]=P>>8&255,k[D+7]=P&255}function m(k,D,$,P,N){var ee,ne=0;for(ee=0;ee>>8)-1}function b(k,D,$,P){return m(k,D,$,P,16)}function w(k,D,$,P){return m(k,D,$,P,32)}function x(k,D,$,P){for(var N=P[0]&255|(P[1]&255)<<8|(P[2]&255)<<16|(P[3]&255)<<24,ee=$[0]&255|($[1]&255)<<8|($[2]&255)<<16|($[3]&255)<<24,ne=$[4]&255|($[5]&255)<<8|($[6]&255)<<16|($[7]&255)<<24,he=$[8]&255|($[9]&255)<<8|($[10]&255)<<16|($[11]&255)<<24,Ce=$[12]&255|($[13]&255)<<8|($[14]&255)<<16|($[15]&255)<<24,Be=P[4]&255|(P[5]&255)<<8|(P[6]&255)<<16|(P[7]&255)<<24,He=D[0]&255|(D[1]&255)<<8|(D[2]&255)<<16|(D[3]&255)<<24,ct=D[4]&255|(D[5]&255)<<8|(D[6]&255)<<16|(D[7]&255)<<24,Ne=D[8]&255|(D[9]&255)<<8|(D[10]&255)<<16|(D[11]&255)<<24,rt=D[12]&255|(D[13]&255)<<8|(D[14]&255)<<16|(D[15]&255)<<24,bt=P[8]&255|(P[9]&255)<<8|(P[10]&255)<<16|(P[11]&255)<<24,At=$[16]&255|($[17]&255)<<8|($[18]&255)<<16|($[19]&255)<<24,vt=$[20]&255|($[21]&255)<<8|($[22]&255)<<16|($[23]&255)<<24,ht=$[24]&255|($[25]&255)<<8|($[26]&255)<<16|($[27]&255)<<24,xt=$[28]&255|($[29]&255)<<8|($[30]&255)<<16|($[31]&255)<<24,wt=P[12]&255|(P[13]&255)<<8|(P[14]&255)<<16|(P[15]&255)<<24,Je=N,st=ee,Qe=ne,Le=he,qe=Ce,Ge=Be,me=He,ve=ct,De=Ne,Oe=rt,Te=bt,ze=At,mt=vt,Nt=ht,Ft=xt,$t=wt,te,Gt=0;Gt<20;Gt+=2)te=Je+mt|0,qe^=te<<7|te>>>25,te=qe+Je|0,De^=te<<9|te>>>23,te=De+qe|0,mt^=te<<13|te>>>19,te=mt+De|0,Je^=te<<18|te>>>14,te=Ge+st|0,Oe^=te<<7|te>>>25,te=Oe+Ge|0,Nt^=te<<9|te>>>23,te=Nt+Oe|0,st^=te<<13|te>>>19,te=st+Nt|0,Ge^=te<<18|te>>>14,te=Te+me|0,Ft^=te<<7|te>>>25,te=Ft+Te|0,Qe^=te<<9|te>>>23,te=Qe+Ft|0,me^=te<<13|te>>>19,te=me+Qe|0,Te^=te<<18|te>>>14,te=$t+ze|0,Le^=te<<7|te>>>25,te=Le+$t|0,ve^=te<<9|te>>>23,te=ve+Le|0,ze^=te<<13|te>>>19,te=ze+ve|0,$t^=te<<18|te>>>14,te=Je+Le|0,st^=te<<7|te>>>25,te=st+Je|0,Qe^=te<<9|te>>>23,te=Qe+st|0,Le^=te<<13|te>>>19,te=Le+Qe|0,Je^=te<<18|te>>>14,te=Ge+qe|0,me^=te<<7|te>>>25,te=me+Ge|0,ve^=te<<9|te>>>23,te=ve+me|0,qe^=te<<13|te>>>19,te=qe+ve|0,Ge^=te<<18|te>>>14,te=Te+Oe|0,ze^=te<<7|te>>>25,te=ze+Te|0,De^=te<<9|te>>>23,te=De+ze|0,Oe^=te<<13|te>>>19,te=Oe+De|0,Te^=te<<18|te>>>14,te=$t+Ft|0,mt^=te<<7|te>>>25,te=mt+$t|0,Nt^=te<<9|te>>>23,te=Nt+mt|0,Ft^=te<<13|te>>>19,te=Ft+Nt|0,$t^=te<<18|te>>>14;Je=Je+N|0,st=st+ee|0,Qe=Qe+ne|0,Le=Le+he|0,qe=qe+Ce|0,Ge=Ge+Be|0,me=me+He|0,ve=ve+ct|0,De=De+Ne|0,Oe=Oe+rt|0,Te=Te+bt|0,ze=ze+At|0,mt=mt+vt|0,Nt=Nt+ht|0,Ft=Ft+xt|0,$t=$t+wt|0,k[0]=Je>>>0&255,k[1]=Je>>>8&255,k[2]=Je>>>16&255,k[3]=Je>>>24&255,k[4]=st>>>0&255,k[5]=st>>>8&255,k[6]=st>>>16&255,k[7]=st>>>24&255,k[8]=Qe>>>0&255,k[9]=Qe>>>8&255,k[10]=Qe>>>16&255,k[11]=Qe>>>24&255,k[12]=Le>>>0&255,k[13]=Le>>>8&255,k[14]=Le>>>16&255,k[15]=Le>>>24&255,k[16]=qe>>>0&255,k[17]=qe>>>8&255,k[18]=qe>>>16&255,k[19]=qe>>>24&255,k[20]=Ge>>>0&255,k[21]=Ge>>>8&255,k[22]=Ge>>>16&255,k[23]=Ge>>>24&255,k[24]=me>>>0&255,k[25]=me>>>8&255,k[26]=me>>>16&255,k[27]=me>>>24&255,k[28]=ve>>>0&255,k[29]=ve>>>8&255,k[30]=ve>>>16&255,k[31]=ve>>>24&255,k[32]=De>>>0&255,k[33]=De>>>8&255,k[34]=De>>>16&255,k[35]=De>>>24&255,k[36]=Oe>>>0&255,k[37]=Oe>>>8&255,k[38]=Oe>>>16&255,k[39]=Oe>>>24&255,k[40]=Te>>>0&255,k[41]=Te>>>8&255,k[42]=Te>>>16&255,k[43]=Te>>>24&255,k[44]=ze>>>0&255,k[45]=ze>>>8&255,k[46]=ze>>>16&255,k[47]=ze>>>24&255,k[48]=mt>>>0&255,k[49]=mt>>>8&255,k[50]=mt>>>16&255,k[51]=mt>>>24&255,k[52]=Nt>>>0&255,k[53]=Nt>>>8&255,k[54]=Nt>>>16&255,k[55]=Nt>>>24&255,k[56]=Ft>>>0&255,k[57]=Ft>>>8&255,k[58]=Ft>>>16&255,k[59]=Ft>>>24&255,k[60]=$t>>>0&255,k[61]=$t>>>8&255,k[62]=$t>>>16&255,k[63]=$t>>>24&255}function S(k,D,$,P){for(var N=P[0]&255|(P[1]&255)<<8|(P[2]&255)<<16|(P[3]&255)<<24,ee=$[0]&255|($[1]&255)<<8|($[2]&255)<<16|($[3]&255)<<24,ne=$[4]&255|($[5]&255)<<8|($[6]&255)<<16|($[7]&255)<<24,he=$[8]&255|($[9]&255)<<8|($[10]&255)<<16|($[11]&255)<<24,Ce=$[12]&255|($[13]&255)<<8|($[14]&255)<<16|($[15]&255)<<24,Be=P[4]&255|(P[5]&255)<<8|(P[6]&255)<<16|(P[7]&255)<<24,He=D[0]&255|(D[1]&255)<<8|(D[2]&255)<<16|(D[3]&255)<<24,ct=D[4]&255|(D[5]&255)<<8|(D[6]&255)<<16|(D[7]&255)<<24,Ne=D[8]&255|(D[9]&255)<<8|(D[10]&255)<<16|(D[11]&255)<<24,rt=D[12]&255|(D[13]&255)<<8|(D[14]&255)<<16|(D[15]&255)<<24,bt=P[8]&255|(P[9]&255)<<8|(P[10]&255)<<16|(P[11]&255)<<24,At=$[16]&255|($[17]&255)<<8|($[18]&255)<<16|($[19]&255)<<24,vt=$[20]&255|($[21]&255)<<8|($[22]&255)<<16|($[23]&255)<<24,ht=$[24]&255|($[25]&255)<<8|($[26]&255)<<16|($[27]&255)<<24,xt=$[28]&255|($[29]&255)<<8|($[30]&255)<<16|($[31]&255)<<24,wt=P[12]&255|(P[13]&255)<<8|(P[14]&255)<<16|(P[15]&255)<<24,Je=N,st=ee,Qe=ne,Le=he,qe=Ce,Ge=Be,me=He,ve=ct,De=Ne,Oe=rt,Te=bt,ze=At,mt=vt,Nt=ht,Ft=xt,$t=wt,te,Gt=0;Gt<20;Gt+=2)te=Je+mt|0,qe^=te<<7|te>>>25,te=qe+Je|0,De^=te<<9|te>>>23,te=De+qe|0,mt^=te<<13|te>>>19,te=mt+De|0,Je^=te<<18|te>>>14,te=Ge+st|0,Oe^=te<<7|te>>>25,te=Oe+Ge|0,Nt^=te<<9|te>>>23,te=Nt+Oe|0,st^=te<<13|te>>>19,te=st+Nt|0,Ge^=te<<18|te>>>14,te=Te+me|0,Ft^=te<<7|te>>>25,te=Ft+Te|0,Qe^=te<<9|te>>>23,te=Qe+Ft|0,me^=te<<13|te>>>19,te=me+Qe|0,Te^=te<<18|te>>>14,te=$t+ze|0,Le^=te<<7|te>>>25,te=Le+$t|0,ve^=te<<9|te>>>23,te=ve+Le|0,ze^=te<<13|te>>>19,te=ze+ve|0,$t^=te<<18|te>>>14,te=Je+Le|0,st^=te<<7|te>>>25,te=st+Je|0,Qe^=te<<9|te>>>23,te=Qe+st|0,Le^=te<<13|te>>>19,te=Le+Qe|0,Je^=te<<18|te>>>14,te=Ge+qe|0,me^=te<<7|te>>>25,te=me+Ge|0,ve^=te<<9|te>>>23,te=ve+me|0,qe^=te<<13|te>>>19,te=qe+ve|0,Ge^=te<<18|te>>>14,te=Te+Oe|0,ze^=te<<7|te>>>25,te=ze+Te|0,De^=te<<9|te>>>23,te=De+ze|0,Oe^=te<<13|te>>>19,te=Oe+De|0,Te^=te<<18|te>>>14,te=$t+Ft|0,mt^=te<<7|te>>>25,te=mt+$t|0,Nt^=te<<9|te>>>23,te=Nt+mt|0,Ft^=te<<13|te>>>19,te=Ft+Nt|0,$t^=te<<18|te>>>14;k[0]=Je>>>0&255,k[1]=Je>>>8&255,k[2]=Je>>>16&255,k[3]=Je>>>24&255,k[4]=Ge>>>0&255,k[5]=Ge>>>8&255,k[6]=Ge>>>16&255,k[7]=Ge>>>24&255,k[8]=Te>>>0&255,k[9]=Te>>>8&255,k[10]=Te>>>16&255,k[11]=Te>>>24&255,k[12]=$t>>>0&255,k[13]=$t>>>8&255,k[14]=$t>>>16&255,k[15]=$t>>>24&255,k[16]=me>>>0&255,k[17]=me>>>8&255,k[18]=me>>>16&255,k[19]=me>>>24&255,k[20]=ve>>>0&255,k[21]=ve>>>8&255,k[22]=ve>>>16&255,k[23]=ve>>>24&255,k[24]=De>>>0&255,k[25]=De>>>8&255,k[26]=De>>>16&255,k[27]=De>>>24&255,k[28]=Oe>>>0&255,k[29]=Oe>>>8&255,k[30]=Oe>>>16&255,k[31]=Oe>>>24&255}function A(k,D,$,P){x(k,D,$,P)}function E(k,D,$,P){S(k,D,$,P)}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function T(k,D,$,P,N,ee,ne){var he=new Uint8Array(16),Ce=new Uint8Array(64),Be,He;for(He=0;He<16;He++)he[He]=0;for(He=0;He<8;He++)he[He]=ee[He];for(;N>=64;){for(A(Ce,he,ne,C),He=0;He<64;He++)k[D+He]=$[P+He]^Ce[He];for(Be=1,He=8;He<16;He++)Be=Be+(he[He]&255)|0,he[He]=Be&255,Be>>>=8;N-=64,D+=64,P+=64}if(N>0)for(A(Ce,he,ne,C),He=0;He=64;){for(A(ne,ee,N,C),Ce=0;Ce<64;Ce++)k[D+Ce]=ne[Ce];for(he=1,Ce=8;Ce<16;Ce++)he=he+(ee[Ce]&255)|0,ee[Ce]=he&255,he>>>=8;$-=64,D+=64}if($>0)for(A(ne,ee,N,C),Ce=0;Ce<$;Ce++)k[D+Ce]=ne[Ce];return 0}function F(k,D,$,P,N){var ee=new Uint8Array(32);E(ee,P,N,C);for(var ne=new Uint8Array(8),he=0;he<8;he++)ne[he]=P[he+16];return M(k,D,$,ne,ee)}function U(k,D,$,P,N,ee,ne){var he=new Uint8Array(32);E(he,ee,ne,C);for(var Ce=new Uint8Array(8),Be=0;Be<8;Be++)Ce[Be]=ee[Be+16];return T(k,D,$,P,N,Ce,he)}var H=function(k){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var D,$,P,N,ee,ne,he,Ce;D=k[0]&255|(k[1]&255)<<8,this.r[0]=D&8191,$=k[2]&255|(k[3]&255)<<8,this.r[1]=(D>>>13|$<<3)&8191,P=k[4]&255|(k[5]&255)<<8,this.r[2]=($>>>10|P<<6)&7939,N=k[6]&255|(k[7]&255)<<8,this.r[3]=(P>>>7|N<<9)&8191,ee=k[8]&255|(k[9]&255)<<8,this.r[4]=(N>>>4|ee<<12)&255,this.r[5]=ee>>>1&8190,ne=k[10]&255|(k[11]&255)<<8,this.r[6]=(ee>>>14|ne<<2)&8191,he=k[12]&255|(k[13]&255)<<8,this.r[7]=(ne>>>11|he<<5)&8065,Ce=k[14]&255|(k[15]&255)<<8,this.r[8]=(he>>>8|Ce<<8)&8191,this.r[9]=Ce>>>5&127,this.pad[0]=k[16]&255|(k[17]&255)<<8,this.pad[1]=k[18]&255|(k[19]&255)<<8,this.pad[2]=k[20]&255|(k[21]&255)<<8,this.pad[3]=k[22]&255|(k[23]&255)<<8,this.pad[4]=k[24]&255|(k[25]&255)<<8,this.pad[5]=k[26]&255|(k[27]&255)<<8,this.pad[6]=k[28]&255|(k[29]&255)<<8,this.pad[7]=k[30]&255|(k[31]&255)<<8};H.prototype.blocks=function(k,D,$){for(var P=this.fin?0:2048,N,ee,ne,he,Ce,Be,He,ct,Ne,rt,bt,At,vt,ht,xt,wt,Je,st,Qe,Le=this.h[0],qe=this.h[1],Ge=this.h[2],me=this.h[3],ve=this.h[4],De=this.h[5],Oe=this.h[6],Te=this.h[7],ze=this.h[8],mt=this.h[9],Nt=this.r[0],Ft=this.r[1],$t=this.r[2],te=this.r[3],Gt=this.r[4],on=this.r[5],an=this.r[6],Lt=this.r[7],un=this.r[8],tn=this.r[9];$>=16;)N=k[D+0]&255|(k[D+1]&255)<<8,Le+=N&8191,ee=k[D+2]&255|(k[D+3]&255)<<8,qe+=(N>>>13|ee<<3)&8191,ne=k[D+4]&255|(k[D+5]&255)<<8,Ge+=(ee>>>10|ne<<6)&8191,he=k[D+6]&255|(k[D+7]&255)<<8,me+=(ne>>>7|he<<9)&8191,Ce=k[D+8]&255|(k[D+9]&255)<<8,ve+=(he>>>4|Ce<<12)&8191,De+=Ce>>>1&8191,Be=k[D+10]&255|(k[D+11]&255)<<8,Oe+=(Ce>>>14|Be<<2)&8191,He=k[D+12]&255|(k[D+13]&255)<<8,Te+=(Be>>>11|He<<5)&8191,ct=k[D+14]&255|(k[D+15]&255)<<8,ze+=(He>>>8|ct<<8)&8191,mt+=ct>>>5|P,Ne=0,rt=Ne,rt+=Le*Nt,rt+=qe*(5*tn),rt+=Ge*(5*un),rt+=me*(5*Lt),rt+=ve*(5*an),Ne=rt>>>13,rt&=8191,rt+=De*(5*on),rt+=Oe*(5*Gt),rt+=Te*(5*te),rt+=ze*(5*$t),rt+=mt*(5*Ft),Ne+=rt>>>13,rt&=8191,bt=Ne,bt+=Le*Ft,bt+=qe*Nt,bt+=Ge*(5*tn),bt+=me*(5*un),bt+=ve*(5*Lt),Ne=bt>>>13,bt&=8191,bt+=De*(5*an),bt+=Oe*(5*on),bt+=Te*(5*Gt),bt+=ze*(5*te),bt+=mt*(5*$t),Ne+=bt>>>13,bt&=8191,At=Ne,At+=Le*$t,At+=qe*Ft,At+=Ge*Nt,At+=me*(5*tn),At+=ve*(5*un),Ne=At>>>13,At&=8191,At+=De*(5*Lt),At+=Oe*(5*an),At+=Te*(5*on),At+=ze*(5*Gt),At+=mt*(5*te),Ne+=At>>>13,At&=8191,vt=Ne,vt+=Le*te,vt+=qe*$t,vt+=Ge*Ft,vt+=me*Nt,vt+=ve*(5*tn),Ne=vt>>>13,vt&=8191,vt+=De*(5*un),vt+=Oe*(5*Lt),vt+=Te*(5*an),vt+=ze*(5*on),vt+=mt*(5*Gt),Ne+=vt>>>13,vt&=8191,ht=Ne,ht+=Le*Gt,ht+=qe*te,ht+=Ge*$t,ht+=me*Ft,ht+=ve*Nt,Ne=ht>>>13,ht&=8191,ht+=De*(5*tn),ht+=Oe*(5*un),ht+=Te*(5*Lt),ht+=ze*(5*an),ht+=mt*(5*on),Ne+=ht>>>13,ht&=8191,xt=Ne,xt+=Le*on,xt+=qe*Gt,xt+=Ge*te,xt+=me*$t,xt+=ve*Ft,Ne=xt>>>13,xt&=8191,xt+=De*Nt,xt+=Oe*(5*tn),xt+=Te*(5*un),xt+=ze*(5*Lt),xt+=mt*(5*an),Ne+=xt>>>13,xt&=8191,wt=Ne,wt+=Le*an,wt+=qe*on,wt+=Ge*Gt,wt+=me*te,wt+=ve*$t,Ne=wt>>>13,wt&=8191,wt+=De*Ft,wt+=Oe*Nt,wt+=Te*(5*tn),wt+=ze*(5*un),wt+=mt*(5*Lt),Ne+=wt>>>13,wt&=8191,Je=Ne,Je+=Le*Lt,Je+=qe*an,Je+=Ge*on,Je+=me*Gt,Je+=ve*te,Ne=Je>>>13,Je&=8191,Je+=De*$t,Je+=Oe*Ft,Je+=Te*Nt,Je+=ze*(5*tn),Je+=mt*(5*un),Ne+=Je>>>13,Je&=8191,st=Ne,st+=Le*un,st+=qe*Lt,st+=Ge*an,st+=me*on,st+=ve*Gt,Ne=st>>>13,st&=8191,st+=De*te,st+=Oe*$t,st+=Te*Ft,st+=ze*Nt,st+=mt*(5*tn),Ne+=st>>>13,st&=8191,Qe=Ne,Qe+=Le*tn,Qe+=qe*un,Qe+=Ge*Lt,Qe+=me*an,Qe+=ve*on,Ne=Qe>>>13,Qe&=8191,Qe+=De*Gt,Qe+=Oe*te,Qe+=Te*$t,Qe+=ze*Ft,Qe+=mt*Nt,Ne+=Qe>>>13,Qe&=8191,Ne=(Ne<<2)+Ne|0,Ne=Ne+rt|0,rt=Ne&8191,Ne=Ne>>>13,bt+=Ne,Le=rt,qe=bt,Ge=At,me=vt,ve=ht,De=xt,Oe=wt,Te=Je,ze=st,mt=Qe,D+=16,$-=16;this.h[0]=Le,this.h[1]=qe,this.h[2]=Ge,this.h[3]=me,this.h[4]=ve,this.h[5]=De,this.h[6]=Oe,this.h[7]=Te,this.h[8]=ze,this.h[9]=mt},H.prototype.finish=function(k,D){var $=new Uint16Array(10),P,N,ee,ne;if(this.leftover){for(ne=this.leftover,this.buffer[ne++]=1;ne<16;ne++)this.buffer[ne]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(P=this.h[1]>>>13,this.h[1]&=8191,ne=2;ne<10;ne++)this.h[ne]+=P,P=this.h[ne]>>>13,this.h[ne]&=8191;for(this.h[0]+=P*5,P=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=P,P=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=P,$[0]=this.h[0]+5,P=$[0]>>>13,$[0]&=8191,ne=1;ne<10;ne++)$[ne]=this.h[ne]+P,P=$[ne]>>>13,$[ne]&=8191;for($[9]-=8192,N=(P^1)-1,ne=0;ne<10;ne++)$[ne]&=N;for(N=~N,ne=0;ne<10;ne++)this.h[ne]=this.h[ne]&N|$[ne];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,ee=this.h[0]+this.pad[0],this.h[0]=ee&65535,ne=1;ne<8;ne++)ee=(this.h[ne]+this.pad[ne]|0)+(ee>>>16)|0,this.h[ne]=ee&65535;k[D+0]=this.h[0]>>>0&255,k[D+1]=this.h[0]>>>8&255,k[D+2]=this.h[1]>>>0&255,k[D+3]=this.h[1]>>>8&255,k[D+4]=this.h[2]>>>0&255,k[D+5]=this.h[2]>>>8&255,k[D+6]=this.h[3]>>>0&255,k[D+7]=this.h[3]>>>8&255,k[D+8]=this.h[4]>>>0&255,k[D+9]=this.h[4]>>>8&255,k[D+10]=this.h[5]>>>0&255,k[D+11]=this.h[5]>>>8&255,k[D+12]=this.h[6]>>>0&255,k[D+13]=this.h[6]>>>8&255,k[D+14]=this.h[7]>>>0&255,k[D+15]=this.h[7]>>>8&255},H.prototype.update=function(k,D,$){var P,N;if(this.leftover){for(N=16-this.leftover,N>$&&(N=$),P=0;P=16&&(N=$-$%16,this.blocks(k,D,N),D+=N,$-=N),$){for(P=0;P<$;P++)this.buffer[this.leftover+P]=k[D+P];this.leftover+=$}};function W(k,D,$,P,N,ee){var ne=new H(ee);return ne.update($,P,N),ne.finish(k,D),0}function ie(k,D,$,P,N,ee){var ne=new Uint8Array(16);return W(ne,0,$,P,N,ee),b(k,D,ne,0)}function Z(k,D,$,P,N){var ee;if($<32)return-1;for(U(k,0,D,0,$,P,N),W(k,16,k,32,$-32,k),ee=0;ee<16;ee++)k[ee]=0;return 0}function G(k,D,$,P,N){var ee,ne=new Uint8Array(32);if($<32||(F(ne,0,32,P,N),ie(D,16,D,32,$-32,ne)!==0))return-1;for(U(k,0,D,0,$,P,N),ee=0;ee<32;ee++)k[ee]=0;return 0}function K(k,D){var $;for($=0;$<16;$++)k[$]=D[$]|0}function V(k){var D,$,P=1;for(D=0;D<16;D++)$=k[D]+P+65535,P=Math.floor($/65536),k[D]=$-P*65536;k[0]+=P-1+37*(P-1)}function B(k,D,$){for(var P,N=~($-1),ee=0;ee<16;ee++)P=N&(k[ee]^D[ee]),k[ee]^=P,D[ee]^=P}function q(k,D){var $,P,N,ee=n(),ne=n();for($=0;$<16;$++)ne[$]=D[$];for(V(ne),V(ne),V(ne),P=0;P<2;P++){for(ee[0]=ne[0]-65517,$=1;$<15;$++)ee[$]=ne[$]-65535-(ee[$-1]>>16&1),ee[$-1]&=65535;ee[15]=ne[15]-32767-(ee[14]>>16&1),N=ee[15]>>16&1,ee[14]&=65535,B(ne,ee,1-N)}for($=0;$<16;$++)k[2*$]=ne[$]&255,k[2*$+1]=ne[$]>>8}function Y(k,D){var $=new Uint8Array(32),P=new Uint8Array(32);return q($,k),q(P,D),w($,0,P,0)}function ue(k){var D=new Uint8Array(32);return q(D,k),D[0]&1}function Q(k,D){var $;for($=0;$<16;$++)k[$]=D[2*$]+(D[2*$+1]<<8);k[15]&=32767}function J(k,D,$){for(var P=0;P<16;P++)k[P]=D[P]+$[P]}function se(k,D,$){for(var P=0;P<16;P++)k[P]=D[P]-$[P]}function de(k,D,$){var P,N,ee=0,ne=0,he=0,Ce=0,Be=0,He=0,ct=0,Ne=0,rt=0,bt=0,At=0,vt=0,ht=0,xt=0,wt=0,Je=0,st=0,Qe=0,Le=0,qe=0,Ge=0,me=0,ve=0,De=0,Oe=0,Te=0,ze=0,mt=0,Nt=0,Ft=0,$t=0,te=$[0],Gt=$[1],on=$[2],an=$[3],Lt=$[4],un=$[5],tn=$[6],Kn=$[7],pn=$[8],On=$[9],Gn=$[10],Yn=$[11],xr=$[12],$r=$[13],Ir=$[14],Nr=$[15];P=D[0],ee+=P*te,ne+=P*Gt,he+=P*on,Ce+=P*an,Be+=P*Lt,He+=P*un,ct+=P*tn,Ne+=P*Kn,rt+=P*pn,bt+=P*On,At+=P*Gn,vt+=P*Yn,ht+=P*xr,xt+=P*$r,wt+=P*Ir,Je+=P*Nr,P=D[1],ne+=P*te,he+=P*Gt,Ce+=P*on,Be+=P*an,He+=P*Lt,ct+=P*un,Ne+=P*tn,rt+=P*Kn,bt+=P*pn,At+=P*On,vt+=P*Gn,ht+=P*Yn,xt+=P*xr,wt+=P*$r,Je+=P*Ir,st+=P*Nr,P=D[2],he+=P*te,Ce+=P*Gt,Be+=P*on,He+=P*an,ct+=P*Lt,Ne+=P*un,rt+=P*tn,bt+=P*Kn,At+=P*pn,vt+=P*On,ht+=P*Gn,xt+=P*Yn,wt+=P*xr,Je+=P*$r,st+=P*Ir,Qe+=P*Nr,P=D[3],Ce+=P*te,Be+=P*Gt,He+=P*on,ct+=P*an,Ne+=P*Lt,rt+=P*un,bt+=P*tn,At+=P*Kn,vt+=P*pn,ht+=P*On,xt+=P*Gn,wt+=P*Yn,Je+=P*xr,st+=P*$r,Qe+=P*Ir,Le+=P*Nr,P=D[4],Be+=P*te,He+=P*Gt,ct+=P*on,Ne+=P*an,rt+=P*Lt,bt+=P*un,At+=P*tn,vt+=P*Kn,ht+=P*pn,xt+=P*On,wt+=P*Gn,Je+=P*Yn,st+=P*xr,Qe+=P*$r,Le+=P*Ir,qe+=P*Nr,P=D[5],He+=P*te,ct+=P*Gt,Ne+=P*on,rt+=P*an,bt+=P*Lt,At+=P*un,vt+=P*tn,ht+=P*Kn,xt+=P*pn,wt+=P*On,Je+=P*Gn,st+=P*Yn,Qe+=P*xr,Le+=P*$r,qe+=P*Ir,Ge+=P*Nr,P=D[6],ct+=P*te,Ne+=P*Gt,rt+=P*on,bt+=P*an,At+=P*Lt,vt+=P*un,ht+=P*tn,xt+=P*Kn,wt+=P*pn,Je+=P*On,st+=P*Gn,Qe+=P*Yn,Le+=P*xr,qe+=P*$r,Ge+=P*Ir,me+=P*Nr,P=D[7],Ne+=P*te,rt+=P*Gt,bt+=P*on,At+=P*an,vt+=P*Lt,ht+=P*un,xt+=P*tn,wt+=P*Kn,Je+=P*pn,st+=P*On,Qe+=P*Gn,Le+=P*Yn,qe+=P*xr,Ge+=P*$r,me+=P*Ir,ve+=P*Nr,P=D[8],rt+=P*te,bt+=P*Gt,At+=P*on,vt+=P*an,ht+=P*Lt,xt+=P*un,wt+=P*tn,Je+=P*Kn,st+=P*pn,Qe+=P*On,Le+=P*Gn,qe+=P*Yn,Ge+=P*xr,me+=P*$r,ve+=P*Ir,De+=P*Nr,P=D[9],bt+=P*te,At+=P*Gt,vt+=P*on,ht+=P*an,xt+=P*Lt,wt+=P*un,Je+=P*tn,st+=P*Kn,Qe+=P*pn,Le+=P*On,qe+=P*Gn,Ge+=P*Yn,me+=P*xr,ve+=P*$r,De+=P*Ir,Oe+=P*Nr,P=D[10],At+=P*te,vt+=P*Gt,ht+=P*on,xt+=P*an,wt+=P*Lt,Je+=P*un,st+=P*tn,Qe+=P*Kn,Le+=P*pn,qe+=P*On,Ge+=P*Gn,me+=P*Yn,ve+=P*xr,De+=P*$r,Oe+=P*Ir,Te+=P*Nr,P=D[11],vt+=P*te,ht+=P*Gt,xt+=P*on,wt+=P*an,Je+=P*Lt,st+=P*un,Qe+=P*tn,Le+=P*Kn,qe+=P*pn,Ge+=P*On,me+=P*Gn,ve+=P*Yn,De+=P*xr,Oe+=P*$r,Te+=P*Ir,ze+=P*Nr,P=D[12],ht+=P*te,xt+=P*Gt,wt+=P*on,Je+=P*an,st+=P*Lt,Qe+=P*un,Le+=P*tn,qe+=P*Kn,Ge+=P*pn,me+=P*On,ve+=P*Gn,De+=P*Yn,Oe+=P*xr,Te+=P*$r,ze+=P*Ir,mt+=P*Nr,P=D[13],xt+=P*te,wt+=P*Gt,Je+=P*on,st+=P*an,Qe+=P*Lt,Le+=P*un,qe+=P*tn,Ge+=P*Kn,me+=P*pn,ve+=P*On,De+=P*Gn,Oe+=P*Yn,Te+=P*xr,ze+=P*$r,mt+=P*Ir,Nt+=P*Nr,P=D[14],wt+=P*te,Je+=P*Gt,st+=P*on,Qe+=P*an,Le+=P*Lt,qe+=P*un,Ge+=P*tn,me+=P*Kn,ve+=P*pn,De+=P*On,Oe+=P*Gn,Te+=P*Yn,ze+=P*xr,mt+=P*$r,Nt+=P*Ir,Ft+=P*Nr,P=D[15],Je+=P*te,st+=P*Gt,Qe+=P*on,Le+=P*an,qe+=P*Lt,Ge+=P*un,me+=P*tn,ve+=P*Kn,De+=P*pn,Oe+=P*On,Te+=P*Gn,ze+=P*Yn,mt+=P*xr,Nt+=P*$r,Ft+=P*Ir,$t+=P*Nr,ee+=38*st,ne+=38*Qe,he+=38*Le,Ce+=38*qe,Be+=38*Ge,He+=38*me,ct+=38*ve,Ne+=38*De,rt+=38*Oe,bt+=38*Te,At+=38*ze,vt+=38*mt,ht+=38*Nt,xt+=38*Ft,wt+=38*$t,N=1,P=ee+N+65535,N=Math.floor(P/65536),ee=P-N*65536,P=ne+N+65535,N=Math.floor(P/65536),ne=P-N*65536,P=he+N+65535,N=Math.floor(P/65536),he=P-N*65536,P=Ce+N+65535,N=Math.floor(P/65536),Ce=P-N*65536,P=Be+N+65535,N=Math.floor(P/65536),Be=P-N*65536,P=He+N+65535,N=Math.floor(P/65536),He=P-N*65536,P=ct+N+65535,N=Math.floor(P/65536),ct=P-N*65536,P=Ne+N+65535,N=Math.floor(P/65536),Ne=P-N*65536,P=rt+N+65535,N=Math.floor(P/65536),rt=P-N*65536,P=bt+N+65535,N=Math.floor(P/65536),bt=P-N*65536,P=At+N+65535,N=Math.floor(P/65536),At=P-N*65536,P=vt+N+65535,N=Math.floor(P/65536),vt=P-N*65536,P=ht+N+65535,N=Math.floor(P/65536),ht=P-N*65536,P=xt+N+65535,N=Math.floor(P/65536),xt=P-N*65536,P=wt+N+65535,N=Math.floor(P/65536),wt=P-N*65536,P=Je+N+65535,N=Math.floor(P/65536),Je=P-N*65536,ee+=N-1+37*(N-1),N=1,P=ee+N+65535,N=Math.floor(P/65536),ee=P-N*65536,P=ne+N+65535,N=Math.floor(P/65536),ne=P-N*65536,P=he+N+65535,N=Math.floor(P/65536),he=P-N*65536,P=Ce+N+65535,N=Math.floor(P/65536),Ce=P-N*65536,P=Be+N+65535,N=Math.floor(P/65536),Be=P-N*65536,P=He+N+65535,N=Math.floor(P/65536),He=P-N*65536,P=ct+N+65535,N=Math.floor(P/65536),ct=P-N*65536,P=Ne+N+65535,N=Math.floor(P/65536),Ne=P-N*65536,P=rt+N+65535,N=Math.floor(P/65536),rt=P-N*65536,P=bt+N+65535,N=Math.floor(P/65536),bt=P-N*65536,P=At+N+65535,N=Math.floor(P/65536),At=P-N*65536,P=vt+N+65535,N=Math.floor(P/65536),vt=P-N*65536,P=ht+N+65535,N=Math.floor(P/65536),ht=P-N*65536,P=xt+N+65535,N=Math.floor(P/65536),xt=P-N*65536,P=wt+N+65535,N=Math.floor(P/65536),wt=P-N*65536,P=Je+N+65535,N=Math.floor(P/65536),Je=P-N*65536,ee+=N-1+37*(N-1),k[0]=ee,k[1]=ne,k[2]=he,k[3]=Ce,k[4]=Be,k[5]=He,k[6]=ct,k[7]=Ne,k[8]=rt,k[9]=bt,k[10]=At,k[11]=vt,k[12]=ht,k[13]=xt,k[14]=wt,k[15]=Je}function Se(k,D){de(k,D,D)}function ge(k,D){var $=n(),P;for(P=0;P<16;P++)$[P]=D[P];for(P=253;P>=0;P--)Se($,$),P!==2&&P!==4&&de($,$,D);for(P=0;P<16;P++)k[P]=$[P]}function Ze(k,D){var $=n(),P;for(P=0;P<16;P++)$[P]=D[P];for(P=250;P>=0;P--)Se($,$),P!==1&&de($,$,D);for(P=0;P<16;P++)k[P]=$[P]}function Pe(k,D,$){var P=new Uint8Array(32),N=new Float64Array(80),ee,ne,he=n(),Ce=n(),Be=n(),He=n(),ct=n(),Ne=n();for(ne=0;ne<31;ne++)P[ne]=D[ne];for(P[31]=D[31]&127|64,P[0]&=248,Q(N,$),ne=0;ne<16;ne++)Ce[ne]=N[ne],He[ne]=he[ne]=Be[ne]=0;for(he[0]=He[0]=1,ne=254;ne>=0;--ne)ee=P[ne>>>3]>>>(ne&7)&1,B(he,Ce,ee),B(Be,He,ee),J(ct,he,Be),se(he,he,Be),J(Be,Ce,He),se(Ce,Ce,He),Se(He,ct),Se(Ne,he),de(he,Be,he),de(Be,Ce,ct),J(ct,he,Be),se(he,he,Be),Se(Ce,he),se(Be,He,Ne),de(he,Be,s),J(he,he,He),de(Be,Be,he),de(he,He,Ne),de(He,Ce,N),Se(Ce,ct),B(he,Ce,ee),B(Be,He,ee);for(ne=0;ne<16;ne++)N[ne+16]=he[ne],N[ne+32]=Be[ne],N[ne+48]=Ce[ne],N[ne+64]=He[ne];var rt=N.subarray(32),bt=N.subarray(16);return ge(rt,rt),de(bt,bt,rt),q(k,bt),0}function Fe(k,D){return Pe(k,D,o)}function $e(k,D){return r(D,32),Fe(k,D)}function be(k,D,$){var P=new Uint8Array(32);return Pe(P,$,D),E(k,i,P,C)}var yt=Z,lt=G;function It(k,D,$,P,N,ee){var ne=new Uint8Array(32);return be(ne,N,ee),yt(k,D,$,P,ne)}function mn(k,D,$,P,N,ee){var ne=new Uint8Array(32);return be(ne,N,ee),lt(k,D,$,P,ne)}var en=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function re(k,D,$,P){for(var N=new Int32Array(16),ee=new Int32Array(16),ne,he,Ce,Be,He,ct,Ne,rt,bt,At,vt,ht,xt,wt,Je,st,Qe,Le,qe,Ge,me,ve,De,Oe,Te,ze,mt=k[0],Nt=k[1],Ft=k[2],$t=k[3],te=k[4],Gt=k[5],on=k[6],an=k[7],Lt=D[0],un=D[1],tn=D[2],Kn=D[3],pn=D[4],On=D[5],Gn=D[6],Yn=D[7],xr=0;P>=128;){for(qe=0;qe<16;qe++)Ge=8*qe+xr,N[qe]=$[Ge+0]<<24|$[Ge+1]<<16|$[Ge+2]<<8|$[Ge+3],ee[qe]=$[Ge+4]<<24|$[Ge+5]<<16|$[Ge+6]<<8|$[Ge+7];for(qe=0;qe<80;qe++)if(ne=mt,he=Nt,Ce=Ft,Be=$t,He=te,ct=Gt,Ne=on,rt=an,bt=Lt,At=un,vt=tn,ht=Kn,xt=pn,wt=On,Je=Gn,st=Yn,me=an,ve=Yn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=(te>>>14|pn<<18)^(te>>>18|pn<<14)^(pn>>>9|te<<23),ve=(pn>>>14|te<<18)^(pn>>>18|te<<14)^(te>>>9|pn<<23),De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,me=te&Gt^~te&on,ve=pn&On^~pn&Gn,De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,me=en[qe*2],ve=en[qe*2+1],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,me=N[qe%16],ve=ee[qe%16],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,Qe=Te&65535|ze<<16,Le=De&65535|Oe<<16,me=Qe,ve=Le,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=(mt>>>28|Lt<<4)^(Lt>>>2|mt<<30)^(Lt>>>7|mt<<25),ve=(Lt>>>28|mt<<4)^(mt>>>2|Lt<<30)^(mt>>>7|Lt<<25),De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,me=mt&Nt^mt&Ft^Nt&Ft,ve=Lt&un^Lt&tn^un&tn,De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,rt=Te&65535|ze<<16,st=De&65535|Oe<<16,me=Be,ve=ht,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=Qe,ve=Le,De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,Be=Te&65535|ze<<16,ht=De&65535|Oe<<16,Nt=ne,Ft=he,$t=Ce,te=Be,Gt=He,on=ct,an=Ne,mt=rt,un=bt,tn=At,Kn=vt,pn=ht,On=xt,Gn=wt,Yn=Je,Lt=st,qe%16===15)for(Ge=0;Ge<16;Ge++)me=N[Ge],ve=ee[Ge],De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=N[(Ge+9)%16],ve=ee[(Ge+9)%16],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Qe=N[(Ge+1)%16],Le=ee[(Ge+1)%16],me=(Qe>>>1|Le<<31)^(Qe>>>8|Le<<24)^Qe>>>7,ve=(Le>>>1|Qe<<31)^(Le>>>8|Qe<<24)^(Le>>>7|Qe<<25),De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Qe=N[(Ge+14)%16],Le=ee[(Ge+14)%16],me=(Qe>>>19|Le<<13)^(Le>>>29|Qe<<3)^Qe>>>6,ve=(Le>>>19|Qe<<13)^(Qe>>>29|Le<<3)^(Le>>>6|Qe<<26),De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,N[Ge]=Te&65535|ze<<16,ee[Ge]=De&65535|Oe<<16;me=mt,ve=Lt,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[0],ve=D[0],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[0]=mt=Te&65535|ze<<16,D[0]=Lt=De&65535|Oe<<16,me=Nt,ve=un,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[1],ve=D[1],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[1]=Nt=Te&65535|ze<<16,D[1]=un=De&65535|Oe<<16,me=Ft,ve=tn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[2],ve=D[2],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[2]=Ft=Te&65535|ze<<16,D[2]=tn=De&65535|Oe<<16,me=$t,ve=Kn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[3],ve=D[3],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[3]=$t=Te&65535|ze<<16,D[3]=Kn=De&65535|Oe<<16,me=te,ve=pn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[4],ve=D[4],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[4]=te=Te&65535|ze<<16,D[4]=pn=De&65535|Oe<<16,me=Gt,ve=On,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[5],ve=D[5],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[5]=Gt=Te&65535|ze<<16,D[5]=On=De&65535|Oe<<16,me=on,ve=Gn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[6],ve=D[6],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[6]=on=Te&65535|ze<<16,D[6]=Gn=De&65535|Oe<<16,me=an,ve=Yn,De=ve&65535,Oe=ve>>>16,Te=me&65535,ze=me>>>16,me=k[7],ve=D[7],De+=ve&65535,Oe+=ve>>>16,Te+=me&65535,ze+=me>>>16,Oe+=De>>>16,Te+=Oe>>>16,ze+=Te>>>16,k[7]=an=Te&65535|ze<<16,D[7]=Yn=De&65535|Oe<<16,xr+=128,P-=128}return P}function pe(k,D,$){var P=new Int32Array(8),N=new Int32Array(8),ee=new Uint8Array(256),ne,he=$;for(P[0]=1779033703,P[1]=3144134277,P[2]=1013904242,P[3]=2773480762,P[4]=1359893119,P[5]=2600822924,P[6]=528734635,P[7]=1541459225,N[0]=4089235720,N[1]=2227873595,N[2]=4271175723,N[3]=1595750129,N[4]=2917565137,N[5]=725511199,N[6]=4215389547,N[7]=327033209,re(P,N,D,$),$%=128,ne=0;ne<$;ne++)ee[ne]=D[he-$+ne];for(ee[$]=128,$=256-128*($<112?1:0),ee[$-9]=0,g(ee,$-8,he/536870912|0,he<<3),re(P,N,ee,$),ne=0;ne<8;ne++)g(k,8*ne,P[ne],N[ne]);return 0}function ye(k,D){var $=n(),P=n(),N=n(),ee=n(),ne=n(),he=n(),Ce=n(),Be=n(),He=n();se($,k[1],k[0]),se(He,D[1],D[0]),de($,$,He),J(P,k[0],k[1]),J(He,D[0],D[1]),de(P,P,He),de(N,k[3],D[3]),de(N,N,c),de(ee,k[2],D[2]),J(ee,ee,ee),se(ne,P,$),se(he,ee,N),J(Ce,ee,N),J(Be,P,$),de(k[0],ne,he),de(k[1],Be,Ce),de(k[2],Ce,he),de(k[3],ne,Be)}function Ue(k,D,$){var P;for(P=0;P<4;P++)B(k[P],D[P],$)}function je(k,D){var $=n(),P=n(),N=n();ge(N,D[2]),de($,D[0],N),de(P,D[1],N),q(k,P),k[31]^=ue($)<<7}function ke(k,D,$){var P,N;for(K(k[0],a),K(k[1],u),K(k[2],u),K(k[3],a),N=255;N>=0;--N)P=$[N/8|0]>>(N&7)&1,Ue(k,D,P),ye(D,k),ye(k,k),Ue(k,D,P)}function nt(k,D){var $=[n(),n(),n(),n()];K($[0],d),K($[1],h),K($[2],u),de($[3],d,h),ke(k,$,D)}function gt(k,D,$){var P=new Uint8Array(64),N=[n(),n(),n(),n()],ee;for($||r(D,32),pe(P,D,32),P[0]&=248,P[31]&=127,P[31]|=64,nt(N,P),je(k,N),ee=0;ee<32;ee++)D[ee+32]=k[ee];return 0}var bn=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Vt(k,D){var $,P,N,ee;for(P=63;P>=32;--P){for($=0,N=P-32,ee=P-12;N>4)*bn[N],$=D[N]>>8,D[N]&=255;for(N=0;N<32;N++)D[N]-=$*bn[N];for(P=0;P<32;P++)D[P+1]+=D[P]>>8,k[P]=D[P]&255}function xn(k){var D=new Float64Array(64),$;for($=0;$<64;$++)D[$]=k[$];for($=0;$<64;$++)k[$]=0;Vt(k,D)}function Ii(k,D,$,P){var N=new Uint8Array(64),ee=new Uint8Array(64),ne=new Uint8Array(64),he,Ce,Be=new Float64Array(64),He=[n(),n(),n(),n()];pe(N,P,32),N[0]&=248,N[31]&=127,N[31]|=64;var ct=$+64;for(he=0;he<$;he++)k[64+he]=D[he];for(he=0;he<32;he++)k[32+he]=N[32+he];for(pe(ne,k.subarray(32),$+32),xn(ne),nt(He,ne),je(k,He),he=32;he<64;he++)k[he]=P[he];for(pe(ee,k,$+64),xn(ee),he=0;he<64;he++)Be[he]=0;for(he=0;he<32;he++)Be[he]=ne[he];for(he=0;he<32;he++)for(Ce=0;Ce<32;Ce++)Be[he+Ce]+=ee[he]*N[Ce];return Vt(k.subarray(32),Be),ct}function br(k,D){var $=n(),P=n(),N=n(),ee=n(),ne=n(),he=n(),Ce=n();return K(k[2],u),Q(k[1],D),Se(N,k[1]),de(ee,N,l),se(N,N,k[2]),J(ee,k[2],ee),Se(ne,ee),Se(he,ne),de(Ce,he,ne),de($,Ce,N),de($,$,ee),Ze($,$),de($,$,N),de($,$,ee),de($,$,ee),de(k[0],$,ee),Se(P,k[0]),de(P,P,ee),Y(P,N)&&de(k[0],k[0],v),Se(P,k[0]),de(P,P,ee),Y(P,N)?-1:(ue(k[0])===D[31]>>7&&se(k[0],a,k[0]),de(k[3],k[0],k[1]),0)}function yi(k,D,$,P){var N,ee=new Uint8Array(32),ne=new Uint8Array(64),he=[n(),n(),n(),n()],Ce=[n(),n(),n(),n()];if($<64||br(Ce,P))return-1;for(N=0;N<$;N++)k[N]=D[N];for(N=0;N<32;N++)k[N+32]=P[N];if(pe(ne,k,$),xn(ne),ke(he,Ce,ne),nt(Ce,D.subarray(32)),ye(he,Ce),je(ee,he),$-=64,w(D,0,ee,0)){for(N=0;N<$;N++)k[N]=0;return-1}for(N=0;N<$;N++)k[N]=D[N+64];return $}var ar=32,ui=24,bi=32,Rr=16,Yi=32,go=32,xi=32,Dr=32,wa=32,_t=ui,fn=bi,wn=Rr,qn=64,ur=32,Yr=64,mo=32,ql=64;t.lowlevel={crypto_core_hsalsa20:E,crypto_stream_xor:U,crypto_stream:F,crypto_stream_salsa20_xor:T,crypto_stream_salsa20:M,crypto_onetimeauth:W,crypto_onetimeauth_verify:ie,crypto_verify_16:b,crypto_verify_32:w,crypto_secretbox:Z,crypto_secretbox_open:G,crypto_scalarmult:Pe,crypto_scalarmult_base:Fe,crypto_box_beforenm:be,crypto_box_afternm:yt,crypto_box:It,crypto_box_open:mn,crypto_box_keypair:$e,crypto_hash:pe,crypto_sign:Ii,crypto_sign_keypair:gt,crypto_sign_open:yi,crypto_secretbox_KEYBYTES:ar,crypto_secretbox_NONCEBYTES:ui,crypto_secretbox_ZEROBYTES:bi,crypto_secretbox_BOXZEROBYTES:Rr,crypto_scalarmult_BYTES:Yi,crypto_scalarmult_SCALARBYTES:go,crypto_box_PUBLICKEYBYTES:xi,crypto_box_SECRETKEYBYTES:Dr,crypto_box_BEFORENMBYTES:wa,crypto_box_NONCEBYTES:_t,crypto_box_ZEROBYTES:fn,crypto_box_BOXZEROBYTES:wn,crypto_sign_BYTES:qn,crypto_sign_PUBLICKEYBYTES:ur,crypto_sign_SECRETKEYBYTES:Yr,crypto_sign_SEEDBYTES:mo,crypto_hash_BYTES:ql,gf:n,D:l,L:bn,pack25519:q,unpack25519:Q,M:de,A:J,S:Se,Z:se,pow2523:Ze,add:ye,set25519:K,modL:Vt,scalarmult:ke,scalarbase:nt};function yf(k,D){if(k.length!==ar)throw new Error("bad key size");if(D.length!==ui)throw new Error("bad nonce size")}function oe(k,D){if(k.length!==xi)throw new Error("bad public key size");if(D.length!==Dr)throw new Error("bad secret key size")}function le(){for(var k=0;k=0},t.sign.keyPair=function(){var k=new Uint8Array(ur),D=new Uint8Array(Yr);return gt(k,D),{publicKey:k,secretKey:D}},t.sign.keyPair.fromSecretKey=function(k){if(le(k),k.length!==Yr)throw new Error("bad secret key size");for(var D=new Uint8Array(ur),$=0;$"u"?typeof Buffer.from<"u"?(t.encodeBase64=function(r){return Buffer.from(r).toString("base64")},t.decodeBase64=function(r){return n(r),new Uint8Array(Array.prototype.slice.call(Buffer.from(r,"base64"),0))}):(t.encodeBase64=function(r){return new Buffer(r).toString("base64")},t.decodeBase64=function(r){return n(r),new Uint8Array(Array.prototype.slice.call(new Buffer(r,"base64"),0))}):(t.encodeBase64=function(r){var i,o=[],a=r.length;for(i=0;i{const{__scopeCheckbox:n,name:r,checked:i,defaultChecked:o,required:a,disabled:u,value:s="on",onCheckedChange:l,form:c,...d}=e,[h,v]=y.useState(null),g=Kt(t,A=>v(A)),m=y.useRef(!1),b=h?c||!!h.closest("form"):!0,[w=!1,x]=Ga({prop:i,defaultProp:o,onChange:l}),S=y.useRef(w);return y.useEffect(()=>{const A=h?.form;if(A){const E=()=>x(S.current);return A.addEventListener("reset",E),()=>A.removeEventListener("reset",E)}},[h,x]),I.jsxs(Fqe,{scope:n,state:w,disabled:u,children:[I.jsx(pt.button,{type:"button",role:"checkbox","aria-checked":bl(w)?"mixed":w,"aria-required":a,"data-state":pY(w),"data-disabled":u?"":void 0,disabled:u,value:s,...d,ref:g,onKeyDown:Ye(e.onKeyDown,A=>{A.key==="Enter"&&A.preventDefault()}),onClick:Ye(e.onClick,A=>{x(E=>bl(E)?!0:!E),b&&(m.current=A.isPropagationStopped(),m.current||A.stopPropagation())})}),b&&I.jsx(jqe,{control:h,bubbles:!m.current,name:r,value:s,checked:w,required:a,disabled:u,form:c,style:{transform:"translateX(-100%)"},defaultChecked:bl(o)?!1:o})]})});fY.displayName=i5;var dY="CheckboxIndicator",hY=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...i}=e,o=Lqe(dY,n);return I.jsx(ii,{present:r||bl(o.state)||o.state===!0,children:I.jsx(pt.span,{"data-state":pY(o.state),"data-disabled":o.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});hY.displayName=dY;var jqe=e=>{const{control:t,checked:n,bubbles:r=!0,defaultChecked:i,...o}=e,a=y.useRef(null),u=hO(n),s=jA(t);y.useEffect(()=>{const c=a.current,d=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(d,"checked").set;if(u!==n&&v){const g=new Event("click",{bubbles:r});c.indeterminate=bl(n),v.call(c,bl(n)?!1:n),c.dispatchEvent(g)}},[u,n,r]);const l=y.useRef(bl(n)?!1:n);return I.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i??l.current,...o,tabIndex:-1,ref:a,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function bl(e){return e==="indeterminate"}function pY(e){return bl(e)?"indeterminate":e?"checked":"unchecked"}var kZe=fY,TZe=hY;export{xGe as $,spe as A,RKe as B,jKe as C,fpe as D,dpe as E,LKe as F,bB as G,JKe as H,dKe as I,ppe as J,lpe as K,cpe as L,iKe as M,fGe as N,zqe as O,qqe as P,DKe as Q,j as R,Sl as S,hpe as T,Ipe as U,Npe as V,EGe as W,ZKe as X,AGe as Y,gGe as Z,mGe as _,Yqe as a,NYe as a$,wGe as a0,SGe as a1,qKe as a2,_Ge as a3,tGe as a4,bGe as a5,CGe as a6,pGe as a7,vGe as a8,yGe as a9,$Ge as aA,oGe as aB,aYe as aC,gKe as aD,_Ke as aE,vYe as aF,gYe as aG,mYe as aH,Gqe as aI,_Ye as aJ,SYe as aK,CYe as aL,wYe as aM,AYe as aN,OYe as aO,PYe as aP,kYe as aQ,GKe as aR,LYe as aS,XKe as aT,jYe as aU,TYe as aV,MYe as aW,RYe as aX,$Ye as aY,IYe as aZ,FYe as a_,kGe as aa,RGe as ab,TGe as ac,MGe as ad,Vqe as ae,nKe as af,aKe as ag,wKe as ah,Xqe as ai,uKe as aj,mKe as ak,oKe as al,fKe as am,xKe as an,bKe as ao,hKe as ap,yKe as aq,tKe as ar,Jqe as as,sKe as at,AKe as au,EKe as av,SKe as aw,PKe as ax,vKe as ay,rKe as az,rg as b,wZe as b$,BYe as b0,DYe as b1,NKe as b2,mf as b3,yYe as b4,bYe as b5,lO as b6,cO as b7,nIe as b8,Yu as b9,FGe as bA,zYe as bB,Ui as bC,WGe as bD,tZe as bE,nZe as bF,tYe as bG,sYe as bH,oYe as bI,QGe as bJ,KGe as bK,qGe as bL,rZe as bM,eKe as bN,CKe as bO,pKe as bP,Qqe as bQ,oZe as bR,aZe as bS,FKe as bT,nGe as bU,rGe as bV,hZe as bW,vZe as bX,GGe as bY,LGe as bZ,xZe as b_,vf as ba,Kh as bb,qS as bc,UYe as bd,nYe as be,UGe as bf,NGe as bg,zGe as bh,jGe as bi,dYe as bj,cYe as bk,WYe as bl,YKe as bm,KYe as bn,GYe as bo,HYe as bp,qYe as bq,XYe as br,QYe as bs,JYe as bt,KBe as bu,JBe as bv,YYe as bw,rYe as bx,IGe as by,BGe as bz,cn as c,CZe as c0,EZe as c1,_Ze as c2,SZe as c3,mZe as c4,yZe as c5,bZe as c6,iGe as c7,aGe as c8,lYe as c9,sGe as cA,eYe as cB,HGe as cC,UBe as cD,Hqe as cE,YGe as cF,VGe as cG,pZe as ca,uZe as cb,cZe as cc,fZe as cd,dZe as ce,fYe as cf,hYe as cg,sZe as ch,lZe as ci,Qa as cj,yr as ck,uGe as cl,Gc as cm,AZe as cn,PZe as co,uYe as cp,ZGe as cq,JGe as cr,iYe as cs,XGe as ct,kZe as cu,TZe as cv,QKe as cw,lGe as cx,KKe as cy,eGe as cz,Uqe as d,Kr as e,MKe as f,kKe as g,TKe as h,OKe as i,I as j,mk as k,IKe as l,Wqe as m,WKe as n,mA as o,cKe as p,lKe as q,y as r,VKe as s,Zqe as t,QF as u,HKe as v,Kqe as w,BKe as x,UKe as y,zKe as z};