Files
jiang13-forum/embed_static/static/spa/assets/index-DurEdRMk.js
freefire d0555de28e 统一 React 管理后台,修复评论换行与帖子置顶
- /admin/* 全部由 React SPA 渲染,替代旧版 HTML 后台页面
- 新增仪表盘、帖子/评论/用户管理、系统设置与 JSON API
- 帖子详情页支持管理员置顶;评论换行显示修复

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-15 23:06:44 +08:00

3 lines
87 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomePage-CrU3Xqcn.js","assets/react-vendor-CFzzFOsg.js","assets/virtual-vendor-DQlhmwRh.js","assets/badge-E7fnzaIj.js","assets/content-BR0rw1k4.js","assets/ui-vendor-BLDO93FK.js","assets/PostDetailPage-DEqZitTA.js","assets/postContent-CNPsgNvN.js","assets/markdown-vendor-DxR1h-Bq.js","assets/LoginPage-DGBpvRak.js","assets/form-ScadC3tp.js","assets/input-BN5iO3BQ.js","assets/RegisterPage-BTZhIdwh.js","assets/ComposePage-BzWi56ib.js","assets/BoardsManagePage-BKaQrjKx.js","assets/alert-dialog-CQ3zNojX.js","assets/ProfilePage-exbWgetG.js","assets/FavoritesPage-DPpP9uxT.js","assets/AdminDashboardPage-DPFKUnit.js","assets/AdminPostsPage-B9vFs1FY.js","assets/AdminCommentsPage-XNfj0Ldl.js","assets/AdminUsersPage-CCGcKbV7.js","assets/AdminSettingsPage-Cm_HgtOQ.js"])))=>i.map(i=>d[i]);
var Ns=Object.defineProperty;var Es=(e,s,t)=>s in e?Ns(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t;var ct=(e,s,t)=>Es(e,typeof s!="symbol"?s+"":s,t);import{r as x,j as o,e as Ge,g as Nt,i as Ts,O as Et,k as u,m as Cs,N as _s,B as Ps,n as zs,p as F,q as dt,t as Rs}from"./react-vendor-CFzzFOsg.js";import{S as Tt,C as As,a as Ct,P as Is,b as _t,I as Pt,c as zt,d as Rt,e as Os,R as At,f as Ds,L as It,g as Ot,h as Ms,T as Ls,H as Bs,i as $s,j as Dt,k as Vs,l as Fs,M as Gs,m as Ws,n as Mt,A as Hs,F as Us,o as Ys,p as Ks,U as qs,q as Xs,r as Js}from"./ui-vendor-BLDO93FK.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))r(c);new MutationObserver(c=>{for(const l of c)if(l.type==="childList")for(const n of l.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&r(n)}).observe(document,{childList:!0,subtree:!0});function t(c){const l={};return c.integrity&&(l.integrity=c.integrity),c.referrerPolicy&&(l.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?l.credentials="include":c.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(c){if(c.ep)return;c.ep=!0;const l=t(c);fetch(c.href,l)}})();const Lt="j13-theme";function Bt(){return localStorage.getItem(Lt)==="dark"?"dark":"light"}function $t(e){const s=document.documentElement;s.classList.toggle("dark",e==="dark"),s.style.colorScheme=e,localStorage.setItem(Lt,e)}const Qs="modulepreload",Zs=function(e){return"/"+e},ut={},te=function(s,t,r){let c=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const n=document.querySelector("meta[property=csp-nonce]"),d=(n==null?void 0:n.nonce)||(n==null?void 0:n.getAttribute("nonce"));c=Promise.allSettled(t.map(m=>{if(m=Zs(m),m in ut)return;ut[m]=!0;const i=m.endsWith(".css"),y=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${m}"]${y}`))return;const a=document.createElement("link");if(a.rel=i?"stylesheet":Qs,i||(a.as="script"),a.crossOrigin="",a.href=m,d&&a.setAttribute("nonce",d),document.head.appendChild(a),i)return new Promise((S,P)=>{a.addEventListener("load",S),a.addEventListener("error",()=>P(new Error(`Unable to preload CSS for ${m}`)))})}))}function l(n){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=n,window.dispatchEvent(d),!d.defaultPrevented)throw n}return c.then(n=>{for(const d of n||[])d.status==="rejected"&&l(d.reason);return s().catch(l)})},eo="";async function E(e,s={}){const t=await fetch(eo+e,{credentials:"same-origin",...s,headers:{...s.body instanceof FormData?{}:{"Content-Type":"application/json"},...s.headers}});let r;try{r=await t.json()}catch{throw new Error("服务器响应异常")}if(!t.ok)throw new Error(r.error||"请求失败");return r}const ye={me:()=>E("/api/me"),stats:()=>E("/api/stats"),boards:()=>E("/api/boards"),posts:e=>{const s=new URLSearchParams(e).toString();return E(`/api/posts?${s}`)},hotPosts:()=>E("/api/posts/hot"),post:e=>E(`/api/posts/${e}`),comments:(e,s)=>{const t=s!=null&&s.length?`?my_ids=${s.join(",")}`:"";return E(`/api/posts/${e}/comments${t}`)},notifications:()=>E("/api/notifications"),online:()=>E("/api/online"),presence:()=>E("/api/presence",{method:"POST"}),favorites:()=>E("/api/favorites"),createBoard:e=>E("/api/admin/boards",{method:"POST",body:JSON.stringify(e)}),updateBoard:(e,s)=>E(`/api/admin/boards/${e}`,{method:"PUT",body:JSON.stringify(s)}),deleteBoard:e=>E(`/api/admin/boards/${e}`,{method:"DELETE"}),adminDashboard:()=>E("/api/admin/dashboard"),adminSettings:()=>E("/api/admin/settings"),adminPosts:e=>{const s=new URLSearchParams;e.page&&s.set("page",String(e.page)),e.keyword&&s.set("keyword",e.keyword);const t=s.toString();return E(`/api/admin/posts${t?`?${t}`:""}`)},adminPinPost:(e,s)=>E(`/api/admin/posts/${e}/pin`,{method:"POST",body:JSON.stringify({pinned:s})}),adminDeletePost:e=>E(`/api/admin/posts/${e}`,{method:"DELETE"}),adminComments:(e=1)=>E(`/api/admin/comments?page=${e}`),adminDeleteComment:e=>E(`/api/admin/comments/${e}`,{method:"DELETE"}),adminUsers:(e=1)=>E(`/api/admin/users?page=${e}`),adminBanUser:(e,s)=>E(`/api/admin/users/${e}/ban`,{method:"POST",body:JSON.stringify({banned:s})}),adminBackup:()=>E("/api/admin/backup",{method:"POST"}),updateNickname:e=>{const s=new FormData;return s.append("nickname",e),E("/api/profile/nickname",{method:"POST",body:s,headers:{}})},updatePassword:(e,s)=>{const t=new FormData;return t.append("old_password",e),t.append("new_password",s),E("/api/profile/password",{method:"POST",body:t,headers:{}})},uploadAvatar:e=>{const s=new FormData;return s.append("avatar",e),E("/api/profile/avatar",{method:"POST",body:s,headers:{}})},createPost:e=>{const s=new FormData;return s.append("board_id",e.board_id),s.append("title",e.title),s.append("content",e.content),s.append("tags",e.tags||""),E("/api/posts",{method:"POST",body:s,headers:{}})},updatePost:(e,s)=>{const t=new FormData;return t.append("title",s.title),t.append("content",s.content),t.append("tags",s.tags||""),E(`/api/posts/${e}`,{method:"PUT",body:t,headers:{}})},login:(e,s)=>{const t=new FormData;return t.append("username",e),t.append("password",s),E("/api/login",{method:"POST",body:t,headers:{}})},register:(e,s,t)=>{const r=new FormData;return r.append("username",e),r.append("password",s),r.append("nickname",t),E("/api/register",{method:"POST",body:r,headers:{}})},logout:()=>E("/api/logout",{method:"POST"}),like:e=>E(`/api/posts/${e}/like`,{method:"POST"}),favorite:e=>E(`/api/posts/${e}/favorite`,{method:"POST"}),addComment:(e,s)=>{const t=new FormData;return t.append("content",s.content),s.replyTo&&t.append("reply_to",String(s.replyTo)),s.guestNick&&t.append("guest_nick",s.guestNick),s.guestEmail&&t.append("guest_email",s.guestEmail),s.guestUrl&&t.append("guest_url",s.guestUrl),s.isPrivate&&t.append("is_private","1"),E(`/api/posts/${e}/comments`,{method:"POST",body:t,headers:{}})},ping:()=>E("/api/ping",{method:"POST"})},Vt=x.createContext({user:null,loading:!0,refresh:async()=>{},logout:async()=>{}});function to({children:e}){const[s,t]=x.useState(null),[r,c]=x.useState(!0),l=x.useCallback(async()=>{try{const d=await ye.me();t(d.user??null)}catch{t(null)}finally{c(!1)}},[]);x.useEffect(()=>{l()},[l]);const n=async()=>{await ye.logout(),t(null)};return o.jsx(Vt.Provider,{value:{user:s,loading:r,refresh:l,logout:n},children:e})}const We=()=>x.useContext(Vt),Ft=x.createContext({theme:"light",toggle:()=>{}});function so({children:e}){const[s,t]=x.useState(Bt);x.useLayoutEffect(()=>{$t(s)},[s]);const r=()=>t(c=>c==="light"?"dark":"light");return o.jsx(Ft.Provider,{value:{theme:s,toggle:r},children:e})}const Gt=()=>x.useContext(Ft);function oo(e){const[s,t]=x.useState(()=>window.matchMedia(e).matches);return x.useLayoutEffect(()=>{const r=window.matchMedia(e),c=()=>t(r.matches);return r.addEventListener("change",c),()=>r.removeEventListener("change",c)},[e]),s}function xe(){return o.jsxs("div",{className:"page-loader",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"page-loader__dot"}),"加载中…"]})}function Wt(e){var s,t,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var c=e.length;for(s=0;s<c;s++)e[s]&&(t=Wt(e[s]))&&(r&&(r+=" "),r+=t)}else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}function Ht(){for(var e,s,t=0,r="",c=arguments.length;t<c;t++)(e=arguments[t])&&(s=Wt(e))&&(r&&(r+=" "),r+=s);return r}const ro=(e,s)=>{const t=new Array(e.length+s.length);for(let r=0;r<e.length;r++)t[r]=e[r];for(let r=0;r<s.length;r++)t[e.length+r]=s[r];return t},ao=(e,s)=>({classGroupId:e,validator:s}),Ut=(e=new Map,s=null,t)=>({nextPart:e,validators:s,classGroupId:t}),Fe="-",mt=[],no="arbitrary..",io=e=>{const s=co(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:n=>{if(n.startsWith("[")&&n.endsWith("]"))return lo(n);const d=n.split(Fe),m=d[0]===""&&d.length>1?1:0;return Yt(d,m,s)},getConflictingClassGroupIds:(n,d)=>{if(d){const m=r[n],i=t[n];return m?i?ro(i,m):m:i||mt}return t[n]||mt}}},Yt=(e,s,t)=>{if(e.length-s===0)return t.classGroupId;const c=e[s],l=t.nextPart.get(c);if(l){const i=Yt(e,s+1,l);if(i)return i}const n=t.validators;if(n===null)return;const d=s===0?e.join(Fe):e.slice(s).join(Fe),m=n.length;for(let i=0;i<m;i++){const y=n[i];if(y.validator(d))return y.classGroupId}},lo=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const s=e.slice(1,-1),t=s.indexOf(":"),r=s.slice(0,t);return r?no+r:void 0})(),co=e=>{const{theme:s,classGroups:t}=e;return uo(t,s)},uo=(e,s)=>{const t=Ut();for(const r in e){const c=e[r];Qe(c,t,r,s)}return t},Qe=(e,s,t,r)=>{const c=e.length;for(let l=0;l<c;l++){const n=e[l];mo(n,s,t,r)}},mo=(e,s,t,r)=>{if(typeof e=="string"){po(e,s,t);return}if(typeof e=="function"){fo(e,s,t,r);return}ho(e,s,t,r)},po=(e,s,t)=>{const r=e===""?s:Kt(s,e);r.classGroupId=t},fo=(e,s,t,r)=>{if(go(e)){Qe(e(r),s,t,r);return}s.validators===null&&(s.validators=[]),s.validators.push(ao(t,e))},ho=(e,s,t,r)=>{const c=Object.entries(e),l=c.length;for(let n=0;n<l;n++){const[d,m]=c[n];Qe(m,Kt(s,d),t,r)}},Kt=(e,s)=>{let t=e;const r=s.split(Fe),c=r.length;for(let l=0;l<c;l++){const n=r[l];let d=t.nextPart.get(n);d||(d=Ut(),t.nextPart.set(n,d)),t=d}return t},go=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,bo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let s=0,t=Object.create(null),r=Object.create(null);const c=(l,n)=>{t[l]=n,s++,s>e&&(s=0,r=t,t=Object.create(null))};return{get(l){let n=t[l];if(n!==void 0)return n;if((n=r[l])!==void 0)return c(l,n),n},set(l,n){l in t?t[l]=n:c(l,n)}}},qe="!",pt=":",xo=[],ft=(e,s,t,r,c)=>({modifiers:e,hasImportantModifier:s,baseClassName:t,maybePostfixModifierPosition:r,isExternal:c}),yo=e=>{const{prefix:s,experimentalParseClassName:t}=e;let r=c=>{const l=[];let n=0,d=0,m=0,i;const y=c.length;for(let O=0;O<y;O++){const I=c[O];if(n===0&&d===0){if(I===pt){l.push(c.slice(m,O)),m=O+1;continue}if(I==="/"){i=O;continue}}I==="["?n++:I==="]"?n--:I==="("?d++:I===")"&&d--}const a=l.length===0?c:c.slice(m);let S=a,P=!1;a.endsWith(qe)?(S=a.slice(0,-1),P=!0):a.startsWith(qe)&&(S=a.slice(1),P=!0);const z=i&&i>m?i-m:void 0;return ft(l,P,S,z)};if(s){const c=s+pt,l=r;r=n=>n.startsWith(c)?l(n.slice(c.length)):ft(xo,!1,n,void 0,!0)}if(t){const c=r;r=l=>t({className:l,parseClassName:c})}return r},vo=e=>{const s=new Map;return e.orderSensitiveModifiers.forEach((t,r)=>{s.set(t,1e6+r)}),t=>{const r=[];let c=[];for(let l=0;l<t.length;l++){const n=t[l],d=n[0]==="[",m=s.has(n);d||m?(c.length>0&&(c.sort(),r.push(...c),c=[]),r.push(n)):c.push(n)}return c.length>0&&(c.sort(),r.push(...c)),r}},wo=e=>({cache:bo(e.cacheSize),parseClassName:yo(e),sortModifiers:vo(e),postfixLookupClassGroupIds:ko(e),...io(e)}),ko=e=>{const s=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let r=0;r<t.length;r++)s[t[r]]=!0;return s},jo=/\s+/,So=(e,s)=>{const{parseClassName:t,getClassGroupId:r,getConflictingClassGroupIds:c,sortModifiers:l,postfixLookupClassGroupIds:n}=s,d=[],m=e.trim().split(jo);let i="";for(let y=m.length-1;y>=0;y-=1){const a=m[y],{isExternal:S,modifiers:P,hasImportantModifier:z,baseClassName:O,maybePostfixModifierPosition:I}=t(a);if(S){i=a+(i.length>0?" "+i:i);continue}let j=!!I,L;if(j){const D=O.substring(0,I);L=r(D);const p=L&&n[L]?r(O):void 0;p&&p!==L&&(L=p,j=!1)}else L=r(O);if(!L){if(!j){i=a+(i.length>0?" "+i:i);continue}if(L=r(O),!L){i=a+(i.length>0?" "+i:i);continue}j=!1}const q=P.length===0?"":P.length===1?P[0]:l(P).join(":"),J=z?q+qe:q,se=J+L;if(d.indexOf(se)>-1)continue;d.push(se);const B=c(L,j);for(let D=0;D<B.length;++D){const p=B[D];d.push(J+p)}i=a+(i.length>0?" "+i:i)}return i},No=(...e)=>{let s=0,t,r,c="";for(;s<e.length;)(t=e[s++])&&(r=qt(t))&&(c&&(c+=" "),c+=r);return c},qt=e=>{if(typeof e=="string")return e;let s,t="";for(let r=0;r<e.length;r++)e[r]&&(s=qt(e[r]))&&(t&&(t+=" "),t+=s);return t},Eo=(e,...s)=>{let t,r,c,l;const n=m=>{const i=s.reduce((y,a)=>a(y),e());return t=wo(i),r=t.cache.get,c=t.cache.set,l=d,d(m)},d=m=>{const i=r(m);if(i)return i;const y=So(m,t);return c(m,y),y};return l=n,(...m)=>l(No(...m))},To=[],$=e=>{const s=t=>t[e]||To;return s.isThemeGetter=!0,s},Xt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Jt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Co=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,_o=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Po=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,zo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ro=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ao=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ke=e=>Co.test(e),w=e=>!!e&&!Number.isNaN(Number(e)),pe=e=>!!e&&Number.isInteger(Number(e)),Ye=e=>e.endsWith("%")&&w(e.slice(0,-1)),be=e=>_o.test(e),Qt=()=>!0,Io=e=>Po.test(e)&&!zo.test(e),Ze=()=>!1,Oo=e=>Ro.test(e),Do=e=>Ao.test(e),Mo=e=>!f(e)&&!h(e),Lo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Bo=e=>je(e,ts,Ze),f=e=>Xt.test(e),Te=e=>je(e,ss,Io),ht=e=>je(e,Yo,w),$o=e=>je(e,rs,Qt),Vo=e=>je(e,os,Ze),gt=e=>je(e,Zt,Ze),Fo=e=>je(e,es,Do),Be=e=>je(e,as,Oo),h=e=>Jt.test(e),Ie=e=>Ce(e,ss),Go=e=>Ce(e,os),bt=e=>Ce(e,Zt),Wo=e=>Ce(e,ts),Ho=e=>Ce(e,es),$e=e=>Ce(e,as,!0),Uo=e=>Ce(e,rs,!0),je=(e,s,t)=>{const r=Xt.exec(e);return r?r[1]?s(r[1]):t(r[2]):!1},Ce=(e,s,t=!1)=>{const r=Jt.exec(e);return r?r[1]?s(r[1]):t:!1},Zt=e=>e==="position"||e==="percentage",es=e=>e==="image"||e==="url",ts=e=>e==="length"||e==="size"||e==="bg-size",ss=e=>e==="length",Yo=e=>e==="number",os=e=>e==="family-name",rs=e=>e==="number"||e==="weight",as=e=>e==="shadow",Ko=()=>{const e=$("color"),s=$("font"),t=$("text"),r=$("font-weight"),c=$("tracking"),l=$("leading"),n=$("breakpoint"),d=$("container"),m=$("spacing"),i=$("radius"),y=$("shadow"),a=$("inset-shadow"),S=$("text-shadow"),P=$("drop-shadow"),z=$("blur"),O=$("perspective"),I=$("aspect"),j=$("ease"),L=$("animate"),q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],J=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],se=()=>[...J(),h,f],B=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto","contain","none"],p=()=>[h,f,m],M=()=>[ke,"full","auto",...p()],oe=()=>[pe,"none","subgrid",h,f],ue=()=>["auto",{span:["full",pe,h,f]},pe,h,f],re=()=>[pe,"auto",h,f],U=()=>["auto","min","max","fr",h,f],ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Y=()=>["start","end","center","stretch","center-safe","end-safe"],g=()=>["auto",...p()],T=()=>[ke,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...p()],K=()=>[ke,"screen","full","dvw","lvw","svw","min","max","fit",...p()],G=()=>[ke,"screen","full","lh","dvh","lvh","svh","min","max","fit",...p()],b=()=>[e,h,f],me=()=>[...J(),bt,gt,{position:[h,f]}],Se=()=>["no-repeat",{repeat:["","x","y","space","round"]}],N=()=>["auto","cover","contain",Wo,Bo,{size:[h,f]}],R=()=>[Ye,Ie,Te],k=()=>["","none","full",i,h,f],C=()=>["",w,Ie,Te],ie=()=>["solid","dashed","dotted","double"],_=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],A=()=>[w,Ye,bt,gt],Ne=()=>["","none",z,h,f],he=()=>["none",w,h,f],le=()=>["none",w,h,f],Re=()=>[w,h,f],ve=()=>[ke,"full",...p()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[be],breakpoint:[be],color:[Qt],container:[be],"drop-shadow":[be],ease:["in","out","in-out"],font:[Mo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[be],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[be],shadow:[be],spacing:["px",w],text:[be],"text-shadow":[be],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ke,f,h,I]}],container:["container"],"container-type":[{"@container":["","normal","size",h,f]}],"container-named":[Lo],columns:[{columns:[w,f,h,d]}],"break-after":[{"break-after":q()}],"break-before":[{"break-before":q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:se()}],overflow:[{overflow:B()}],"overflow-x":[{"overflow-x":B()}],"overflow-y":[{"overflow-y":B()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{"inset-s":M(),start:M()}],end:[{"inset-e":M(),end:M()}],"inset-bs":[{"inset-bs":M()}],"inset-be":[{"inset-be":M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[pe,"auto",h,f]}],basis:[{basis:[ke,"full","auto",d,...p()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[w,ke,"auto","initial","none",f]}],grow:[{grow:["",w,h,f]}],shrink:[{shrink:["",w,h,f]}],order:[{order:[pe,"first","last","none",h,f]}],"grid-cols":[{"grid-cols":oe()}],"col-start-end":[{col:ue()}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":oe()}],"row-start-end":[{row:ue()}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":U()}],"auto-rows":[{"auto-rows":U()}],gap:[{gap:p()}],"gap-x":[{"gap-x":p()}],"gap-y":[{"gap-y":p()}],"justify-content":[{justify:[...ne(),"normal"]}],"justify-items":[{"justify-items":[...Y(),"normal"]}],"justify-self":[{"justify-self":["auto",...Y()]}],"align-content":[{content:["normal",...ne()]}],"align-items":[{items:[...Y(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Y(),{baseline:["","last"]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...Y(),"baseline"]}],"place-self":[{"place-self":["auto",...Y()]}],p:[{p:p()}],px:[{px:p()}],py:[{py:p()}],ps:[{ps:p()}],pe:[{pe:p()}],pbs:[{pbs:p()}],pbe:[{pbe:p()}],pt:[{pt:p()}],pr:[{pr:p()}],pb:[{pb:p()}],pl:[{pl:p()}],m:[{m:g()}],mx:[{mx:g()}],my:[{my:g()}],ms:[{ms:g()}],me:[{me:g()}],mbs:[{mbs:g()}],mbe:[{mbe:g()}],mt:[{mt:g()}],mr:[{mr:g()}],mb:[{mb:g()}],ml:[{ml:g()}],"space-x":[{"space-x":p()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":p()}],"space-y-reverse":["space-y-reverse"],size:[{size:T()}],"inline-size":[{inline:["auto",...K()]}],"min-inline-size":[{"min-inline":["auto",...K()]}],"max-inline-size":[{"max-inline":["none",...K()]}],"block-size":[{block:["auto",...G()]}],"min-block-size":[{"min-block":["auto",...G()]}],"max-block-size":[{"max-block":["none",...G()]}],w:[{w:[d,"screen",...T()]}],"min-w":[{"min-w":[d,"screen","none",...T()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[n]},...T()]}],h:[{h:["screen","lh",...T()]}],"min-h":[{"min-h":["screen","lh","none",...T()]}],"max-h":[{"max-h":["screen","lh",...T()]}],"font-size":[{text:["base",t,Ie,Te]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Uo,$o]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ye,f]}],"font-family":[{font:[Go,Vo,s]}],"font-features":[{"font-features":[f]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,h,f]}],"line-clamp":[{"line-clamp":[w,"none",h,ht]}],leading:[{leading:[l,...p()]}],"list-image":[{"list-image":["none",h,f]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",h,f]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:b()}],"text-color":[{text:b()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ie(),"wavy"]}],"text-decoration-thickness":[{decoration:[w,"from-font","auto",h,Te]}],"text-decoration-color":[{decoration:b()}],"underline-offset":[{"underline-offset":[w,"auto",h,f]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:p()}],"tab-size":[{tab:[pe,h,f]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",h,f]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",h,f]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:me()}],"bg-repeat":[{bg:Se()}],"bg-size":[{bg:N()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},pe,h,f],radial:["",h,f],conic:[pe,h,f]},Ho,Fo]}],"bg-color":[{bg:b()}],"gradient-from-pos":[{from:R()}],"gradient-via-pos":[{via:R()}],"gradient-to-pos":[{to:R()}],"gradient-from":[{from:b()}],"gradient-via":[{via:b()}],"gradient-to":[{to:b()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:C()}],"border-w-x":[{"border-x":C()}],"border-w-y":[{"border-y":C()}],"border-w-s":[{"border-s":C()}],"border-w-e":[{"border-e":C()}],"border-w-bs":[{"border-bs":C()}],"border-w-be":[{"border-be":C()}],"border-w-t":[{"border-t":C()}],"border-w-r":[{"border-r":C()}],"border-w-b":[{"border-b":C()}],"border-w-l":[{"border-l":C()}],"divide-x":[{"divide-x":C()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":C()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ie(),"hidden","none"]}],"divide-style":[{divide:[...ie(),"hidden","none"]}],"border-color":[{border:b()}],"border-color-x":[{"border-x":b()}],"border-color-y":[{"border-y":b()}],"border-color-s":[{"border-s":b()}],"border-color-e":[{"border-e":b()}],"border-color-bs":[{"border-bs":b()}],"border-color-be":[{"border-be":b()}],"border-color-t":[{"border-t":b()}],"border-color-r":[{"border-r":b()}],"border-color-b":[{"border-b":b()}],"border-color-l":[{"border-l":b()}],"divide-color":[{divide:b()}],"outline-style":[{outline:[...ie(),"none","hidden"]}],"outline-offset":[{"outline-offset":[w,h,f]}],"outline-w":[{outline:["",w,Ie,Te]}],"outline-color":[{outline:b()}],shadow:[{shadow:["","none",y,$e,Be]}],"shadow-color":[{shadow:b()}],"inset-shadow":[{"inset-shadow":["none",a,$e,Be]}],"inset-shadow-color":[{"inset-shadow":b()}],"ring-w":[{ring:C()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:b()}],"ring-offset-w":[{"ring-offset":[w,Te]}],"ring-offset-color":[{"ring-offset":b()}],"inset-ring-w":[{"inset-ring":C()}],"inset-ring-color":[{"inset-ring":b()}],"text-shadow":[{"text-shadow":["none",S,$e,Be]}],"text-shadow-color":[{"text-shadow":b()}],opacity:[{opacity:[w,h,f]}],"mix-blend":[{"mix-blend":[..._(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":_()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[w]}],"mask-image-linear-from-pos":[{"mask-linear-from":A()}],"mask-image-linear-to-pos":[{"mask-linear-to":A()}],"mask-image-linear-from-color":[{"mask-linear-from":b()}],"mask-image-linear-to-color":[{"mask-linear-to":b()}],"mask-image-t-from-pos":[{"mask-t-from":A()}],"mask-image-t-to-pos":[{"mask-t-to":A()}],"mask-image-t-from-color":[{"mask-t-from":b()}],"mask-image-t-to-color":[{"mask-t-to":b()}],"mask-image-r-from-pos":[{"mask-r-from":A()}],"mask-image-r-to-pos":[{"mask-r-to":A()}],"mask-image-r-from-color":[{"mask-r-from":b()}],"mask-image-r-to-color":[{"mask-r-to":b()}],"mask-image-b-from-pos":[{"mask-b-from":A()}],"mask-image-b-to-pos":[{"mask-b-to":A()}],"mask-image-b-from-color":[{"mask-b-from":b()}],"mask-image-b-to-color":[{"mask-b-to":b()}],"mask-image-l-from-pos":[{"mask-l-from":A()}],"mask-image-l-to-pos":[{"mask-l-to":A()}],"mask-image-l-from-color":[{"mask-l-from":b()}],"mask-image-l-to-color":[{"mask-l-to":b()}],"mask-image-x-from-pos":[{"mask-x-from":A()}],"mask-image-x-to-pos":[{"mask-x-to":A()}],"mask-image-x-from-color":[{"mask-x-from":b()}],"mask-image-x-to-color":[{"mask-x-to":b()}],"mask-image-y-from-pos":[{"mask-y-from":A()}],"mask-image-y-to-pos":[{"mask-y-to":A()}],"mask-image-y-from-color":[{"mask-y-from":b()}],"mask-image-y-to-color":[{"mask-y-to":b()}],"mask-image-radial":[{"mask-radial":[h,f]}],"mask-image-radial-from-pos":[{"mask-radial-from":A()}],"mask-image-radial-to-pos":[{"mask-radial-to":A()}],"mask-image-radial-from-color":[{"mask-radial-from":b()}],"mask-image-radial-to-color":[{"mask-radial-to":b()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":J()}],"mask-image-conic-pos":[{"mask-conic":[w]}],"mask-image-conic-from-pos":[{"mask-conic-from":A()}],"mask-image-conic-to-pos":[{"mask-conic-to":A()}],"mask-image-conic-from-color":[{"mask-conic-from":b()}],"mask-image-conic-to-color":[{"mask-conic-to":b()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:me()}],"mask-repeat":[{mask:Se()}],"mask-size":[{mask:N()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",h,f]}],filter:[{filter:["","none",h,f]}],blur:[{blur:Ne()}],brightness:[{brightness:[w,h,f]}],contrast:[{contrast:[w,h,f]}],"drop-shadow":[{"drop-shadow":["","none",P,$e,Be]}],"drop-shadow-color":[{"drop-shadow":b()}],grayscale:[{grayscale:["",w,h,f]}],"hue-rotate":[{"hue-rotate":[w,h,f]}],invert:[{invert:["",w,h,f]}],saturate:[{saturate:[w,h,f]}],sepia:[{sepia:["",w,h,f]}],"backdrop-filter":[{"backdrop-filter":["","none",h,f]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[w,h,f]}],"backdrop-contrast":[{"backdrop-contrast":[w,h,f]}],"backdrop-grayscale":[{"backdrop-grayscale":["",w,h,f]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[w,h,f]}],"backdrop-invert":[{"backdrop-invert":["",w,h,f]}],"backdrop-opacity":[{"backdrop-opacity":[w,h,f]}],"backdrop-saturate":[{"backdrop-saturate":[w,h,f]}],"backdrop-sepia":[{"backdrop-sepia":["",w,h,f]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":p()}],"border-spacing-x":[{"border-spacing-x":p()}],"border-spacing-y":[{"border-spacing-y":p()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",h,f]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[w,"initial",h,f]}],ease:[{ease:["linear","initial",j,h,f]}],delay:[{delay:[w,h,f]}],animate:[{animate:["none",L,h,f]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[O,h,f]}],"perspective-origin":[{"perspective-origin":se()}],rotate:[{rotate:he()}],"rotate-x":[{"rotate-x":he()}],"rotate-y":[{"rotate-y":he()}],"rotate-z":[{"rotate-z":he()}],scale:[{scale:le()}],"scale-x":[{"scale-x":le()}],"scale-y":[{"scale-y":le()}],"scale-z":[{"scale-z":le()}],"scale-3d":["scale-3d"],skew:[{skew:Re()}],"skew-x":[{"skew-x":Re()}],"skew-y":[{"skew-y":Re()}],transform:[{transform:[h,f,"","none","gpu","cpu"]}],"transform-origin":[{origin:se()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ve()}],"translate-x":[{"translate-x":ve()}],"translate-y":[{"translate-y":ve()}],"translate-z":[{"translate-z":ve()}],"translate-none":["translate-none"],zoom:[{zoom:[pe,h,f]}],accent:[{accent:b()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:b()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",h,f]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":b()}],"scrollbar-track-color":[{"scrollbar-track":b()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":p()}],"scroll-mx":[{"scroll-mx":p()}],"scroll-my":[{"scroll-my":p()}],"scroll-ms":[{"scroll-ms":p()}],"scroll-me":[{"scroll-me":p()}],"scroll-mbs":[{"scroll-mbs":p()}],"scroll-mbe":[{"scroll-mbe":p()}],"scroll-mt":[{"scroll-mt":p()}],"scroll-mr":[{"scroll-mr":p()}],"scroll-mb":[{"scroll-mb":p()}],"scroll-ml":[{"scroll-ml":p()}],"scroll-p":[{"scroll-p":p()}],"scroll-px":[{"scroll-px":p()}],"scroll-py":[{"scroll-py":p()}],"scroll-ps":[{"scroll-ps":p()}],"scroll-pe":[{"scroll-pe":p()}],"scroll-pbs":[{"scroll-pbs":p()}],"scroll-pbe":[{"scroll-pbe":p()}],"scroll-pt":[{"scroll-pt":p()}],"scroll-pr":[{"scroll-pr":p()}],"scroll-pb":[{"scroll-pb":p()}],"scroll-pl":[{"scroll-pl":p()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",h,f]}],fill:[{fill:["none",...b()]}],"stroke-w":[{stroke:[w,Ie,Te,ht]}],stroke:[{stroke:["none",...b()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},qo=Eo(Ko);function ee(...e){return qo(Ht(e))}const Xo=Ms,Jo=Ls,Qo=x.forwardRef(({className:e,inset:s,children:t,...r},c)=>o.jsxs(Tt,{ref:c,className:ee("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",s&&"pl-8",e),...r,children:[t,o.jsx(As,{className:"ml-auto"})]}));Qo.displayName=Tt.displayName;const Zo=x.forwardRef(({className:e,...s},t)=>o.jsx(Ct,{ref:t,className:ee("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",e),...s}));Zo.displayName=Ct.displayName;const ns=x.forwardRef(({className:e,sideOffset:s=4,...t},r)=>o.jsx(Is,{children:o.jsx(_t,{ref:r,sideOffset:s,className:ee("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",e),...t})}));ns.displayName=_t.displayName;const Oe=x.forwardRef(({className:e,inset:s,...t},r)=>o.jsx(Pt,{ref:r,className:ee("relative flex cursor-default select-none items-center gap-2 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 [&>svg]:size-4 [&>svg]:shrink-0",s&&"pl-8",e),...t}));Oe.displayName=Pt.displayName;const er=x.forwardRef(({className:e,children:s,checked:t,...r},c)=>o.jsxs(zt,{ref:c,className:ee("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",e),checked:t,...r,children:[o.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:o.jsx(Rt,{children:o.jsx(Os,{className:"h-4 w-4"})})}),s]}));er.displayName=zt.displayName;const tr=x.forwardRef(({className:e,children:s,...t},r)=>o.jsxs(At,{ref:r,className:ee("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",e),...t,children:[o.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:o.jsx(Rt,{children:o.jsx(Ds,{className:"h-2 w-2 fill-current"})})}),s]}));tr.displayName=At.displayName;const sr=x.forwardRef(({className:e,inset:s,...t},r)=>o.jsx(It,{ref:r,className:ee("px-2 py-1.5 text-sm font-semibold",s&&"pl-8",e),...t}));sr.displayName=It.displayName;const Xe=x.forwardRef(({className:e,...s},t)=>o.jsx(Ot,{ref:t,className:ee("-mx-1 my-1 h-px bg-muted",e),...s}));Xe.displayName=Ot.displayName;const is="j13-cache-boards",ls="j13-cache-stats";function cs(e){try{const s=sessionStorage.getItem(e);return s?JSON.parse(s):null}catch{return null}}function ds(e,s){try{sessionStorage.setItem(e,JSON.stringify(s))}catch{}}function xt(){return cs(is)??[]}function yt(){return cs(ls)}function or(e){ds(is,e)}function rr(e){ds(ls,e)}const ar=["/post/","/profile"];function us(e){return ar.some(s=>e.startsWith(s))}function nr(e,s){return us(e)?null:e.startsWith("/favorites")?"favorites":e.startsWith("/admin")?"admin":s===0?"all":String(s)}function ir({boards:e,activeBoard:s,onSelectBoard:t}){const r=Ge(),c=Nt(),{user:l}=We(),n=(l==null?void 0:l.role)==="admin",d=nr(c.pathname,s),m=(i,y,a,S)=>o.jsxs("button",{type:"button",className:ee("sidebar-nav-item",d!=null&&d===i&&"active"),onClick:S,children:[a,o.jsx("span",{className:"flex-1 truncate",children:y})]},i);return o.jsxs("aside",{className:"sidebar",children:[o.jsx("div",{className:"sidebar-section",children:"浏览"}),o.jsxs("nav",{className:"sidebar-nav",children:[m("all","全部帖子",o.jsx(Bs,{}),()=>{t(0),r("/")}),l&&m("favorites","我的收藏",o.jsx($s,{}),()=>r("/favorites"))]}),e.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"sidebar-section",style:{marginTop:8},children:"板块"}),o.jsx("nav",{className:"sidebar-nav",children:e.map(i=>o.jsx("button",{type:"button",className:ee("sidebar-nav-item",d!=null&&d===String(i.id)&&"active"),onClick:()=>{t(i.id),r(`/?board=${i.id}`)},children:o.jsx("span",{className:"flex-1 truncate",children:i.name})},i.id))})]}),n&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"sidebar-section",style:{marginTop:8},children:"管理"}),o.jsx("nav",{className:"sidebar-nav",children:m("admin","管理后台",o.jsx(Dt,{}),()=>r("/admin/dashboard"))})]})]})}function lr({hot:e,notifications:s,online:t,onPostClick:r}){const c=(e==null?void 0:e.slice(0,8))??[],l=(s==null?void 0:s.slice(0,6))??[],n=(t==null?void 0:t.users)??[];return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"widget-card",children:[o.jsx("div",{className:"widget-card-head",children:"🔥 热门帖子"}),o.jsx("div",{className:"widget-card-body",children:c.length===0?o.jsx("div",{style:{fontSize:13,color:"var(--color-text-3)",padding:"8px 0"},children:"暂无数据"}):c.map((d,m)=>o.jsxs("div",{className:"widget-item",onClick:()=>r(d.id),children:[o.jsx("span",{style:{color:m<3?"#e74c3c":"var(--color-text-3)",fontWeight:600,minWidth:18},children:m+1}),o.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d.title})]},d.id))})]}),o.jsxs("div",{className:"widget-card",children:[o.jsx("div",{className:"widget-card-head",children:"📢 最新动态"}),o.jsx("div",{className:"widget-card-body",children:l.length===0?o.jsx("div",{style:{fontSize:13,color:"var(--color-text-3)",padding:"8px 0"},children:"暂无动态"}):l.map(d=>o.jsxs("div",{className:"widget-item",onClick:()=>r(d.id),children:[o.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d.title}),o.jsx("span",{style:{fontSize:11,color:"var(--color-text-4)",flexShrink:0},children:d.created_at})]},d.id))})]}),o.jsxs("div",{className:"widget-card",children:[o.jsxs("div",{className:"widget-card-head",children:["👀 当前浏览 ",(t==null?void 0:t.count)??"—"," 人"]}),o.jsxs("div",{className:"widget-card-body",children:[o.jsxs("div",{style:{fontSize:12,color:"var(--color-text-3)",marginBottom:8},children:["会员 ",(t==null?void 0:t.members)??0," · 游客 ",(t==null?void 0:t.guests)??0]}),o.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[n.map(d=>{var m;return o.jsx("span",{title:d.nickname,style:{width:28,height:28,borderRadius:"50%",background:"var(--j13-green)",color:"#fff",fontSize:12,display:"inline-flex",alignItems:"center",justifyContent:"center"},children:((m=d.nickname)==null?void 0:m[0])||"?"},d.id)}),n.length===0&&o.jsx("span",{style:{fontSize:13,color:"var(--color-text-3)"},children:"暂无会员在线"})]})]})]}),o.jsx("div",{className:"widget-card widget-card--about",children:o.jsx("div",{className:"widget-card-body",children:o.jsxs("p",{className:"widget-about-text",children:[o.jsx("strong",{children:"姜十三论坛"}),"拾三一隅,自在交流。轻量社区,专为小圈子打造。"]})})})]})}function cr(){var Y;const{user:e,loading:s,logout:t}=We(),{theme:r,toggle:c}=Gt(),l=oo("(max-width: 768px)"),n=Ge(),d=Nt(),[m]=Ts(),i=d.pathname.startsWith("/compose")||/\/post\/\d+\/edit$/.test(d.pathname),[y,a]=x.useState(()=>xt()),[S,P]=x.useState(()=>yt()),[z,O]=x.useState(()=>xt().length>0||!!yt()),[I,j]=x.useState([]),[L,q]=x.useState([]),[J,se]=x.useState(null),[B,D]=x.useState(Number(m.get("board"))||0),[p,M]=x.useState(m.get("keyword")||"");x.useEffect(()=>{D(Number(m.get("board"))||0)},[m]),x.useEffect(()=>{M(m.get("keyword")||"")},[m]);const oe=x.useCallback(()=>{Promise.all([ye.boards().then(g=>{const T=g.boards??[];return a(T),or(T),T}).catch(()=>[]),ye.stats().then(g=>(P(g),rr(g),g)).catch(()=>null)]).finally(()=>O(!0))},[]),ue=x.useCallback(()=>{ye.online().then(g=>{se({count:g.count??0,members:g.members??0,guests:g.guests??0,users:Array.isArray(g.users)?g.users:[]})}).catch(()=>{})},[]);x.useEffect(()=>{oe(),ye.hotPosts().then(G=>j(Array.isArray(G.posts)?G.posts:[])).catch(()=>{}),ye.notifications().then(G=>q(Array.isArray(G.notifications)?G.notifications:[])).catch(()=>{}),ue(),ye.presence().catch(()=>{});const g=setInterval(ue,3e4),T=setInterval(()=>ye.presence().catch(()=>{}),6e4),K=()=>oe();return window.addEventListener("boards-refresh",K),()=>{clearInterval(g),clearInterval(T),window.removeEventListener("boards-refresh",K)}},[oe,ue]);const re=()=>{p.trim()?n(`/?keyword=${encodeURIComponent(p.trim())}`):n("/")},U=((Y=e==null?void 0:e.nickname)==null?void 0:Y.charAt(0))||"?",ne=us(d.pathname)?-1:B;return o.jsx("div",{className:"app-shell",children:o.jsxs("div",{className:"app-frame",children:[o.jsx("header",{className:"app-header",children:o.jsxs("div",{className:"header-inner",children:[o.jsxs("button",{type:"button",className:"header-brand",onClick:()=>n("/"),children:[o.jsx("span",{className:"header-logo-mark",children:"姜"}),!l&&o.jsx("span",{className:"header-logo-text",children:"姜十三论坛"})]}),!i&&o.jsxs("div",{className:"header-search-wrap",children:[o.jsx(Vs,{className:"header-search-icon",size:16}),o.jsx("input",{className:"header-search-input",type:"search",placeholder:"搜索帖子...",value:p,onChange:g=>M(g.target.value),onKeyDown:g=>g.key==="Enter"&&re()}),p&&o.jsx("button",{type:"button",className:"header-search-clear",onClick:()=>{M(""),n("/")},"aria-label":"清除搜索",children:"×"})]}),o.jsxs("div",{className:"header-actions",children:[!i&&o.jsxs("button",{type:"button",className:"header-compose-btn",onClick:()=>n(e?"/compose":"/login"),children:[o.jsx(Fs,{size:16}),!l&&o.jsx("span",{children:"发帖"})]}),o.jsxs("div",{className:"header-action-group",children:[o.jsx("button",{type:"button",className:"header-icon-btn",onClick:c,title:r==="light"?"切换暗色模式":"切换亮色模式",children:r==="light"?o.jsx(Gs,{size:18}):o.jsx(Ws,{size:18})}),s?o.jsx("span",{className:"header-auth-slot header-auth-slot--loading","aria-hidden":!0}):e?o.jsxs(Xo,{children:[o.jsx(Jo,{asChild:!0,children:o.jsx("button",{type:"button",className:"header-user-btn",title:e.nickname,children:e.avatar?o.jsx("img",{src:e.avatar,alt:"",className:"header-user-avatar"}):o.jsx("span",{className:"header-user-initial",children:U})})}),o.jsxs(ns,{align:"end",className:"w-40",children:[o.jsx(Oe,{onClick:()=>n("/profile"),children:"个人中心"}),o.jsx(Oe,{onClick:()=>n("/favorites"),children:"我的收藏"}),e.role==="admin"&&o.jsxs(o.Fragment,{children:[o.jsx(Xe,{}),o.jsx(Oe,{onClick:()=>n("/admin/dashboard"),children:"管理后台"})]}),o.jsx(Xe,{}),o.jsx(Oe,{onClick:()=>t().then(()=>n("/login")),children:"退出登录"})]})]}):o.jsx("button",{type:"button",className:"header-login-btn",onClick:()=>n("/login"),children:"登录"})]})]})]})}),o.jsxs("div",{className:`app-body${i?" app-body--compose":""}`,children:[!i&&o.jsx(ir,{boards:y,activeBoard:B,onSelectBoard:D}),o.jsxs("div",{className:`content-workspace${i?" content-workspace--compose":""}`,children:[o.jsxs("main",{className:`main-content${i?" main-content--compose":""}`,children:[l&&!i&&o.jsxs("div",{className:"mobile-board-bar",children:[o.jsx("span",{className:`board-chip ${ne===0?"active":""}`,onClick:()=>{D(0),n("/")},children:"全部"}),y.map(g=>o.jsx("span",{className:`board-chip ${ne===g.id?"active":""}`,onClick:()=>{D(g.id),n(`/?board=${g.id}`)},children:g.name},g.id))]}),o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(Et,{context:{boardId:B,keyword:m.get("keyword")||"",setBoardId:D,boards:y,stats:S,layoutReady:z,refreshBoards:oe,isMobile:l}})})]}),!i&&o.jsx("aside",{className:"aside-panel",children:o.jsx(lr,{hot:I,notifications:L,online:J,onPostClick:g=>n(`/post/${g}`)})})]})]})]})})}const dr={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-8 w-8"};function ur({className:e,size:s="md"}){return o.jsx(Mt,{className:ee("animate-spin text-[var(--j13-green)]",dr[s],e),"aria-label":"加载中"})}function mr(e){if(typeof document>"u")return;let s=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",s.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}const pr=e=>{switch(e){case"success":return gr;case"info":return xr;case"warning":return br;case"error":return yr;default:return null}},fr=Array(12).fill(0),hr=({visible:e,className:s})=>u.createElement("div",{className:["sonner-loading-wrapper",s].filter(Boolean).join(" "),"data-visible":e},u.createElement("div",{className:"sonner-spinner"},fr.map((t,r)=>u.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),gr=u.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},u.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),br=u.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},u.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),xr=u.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},u.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),yr=u.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},u.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),vr=u.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},u.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),u.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),wr=()=>{const[e,s]=u.useState(document.hidden);return u.useEffect(()=>{const t=()=>{s(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),e};let Je=1;class kr{constructor(){this.subscribe=s=>(this.subscribers.push(s),()=>{const t=this.subscribers.indexOf(s);this.subscribers.splice(t,1)}),this.publish=s=>{this.subscribers.forEach(t=>t(s))},this.addToast=s=>{this.publish(s),this.toasts=[...this.toasts,s]},this.create=s=>{var t;const{message:r,...c}=s,l=typeof(s==null?void 0:s.id)=="number"||((t=s.id)==null?void 0:t.length)>0?s.id:Je++,n=this.toasts.find(m=>m.id===l),d=s.dismissible===void 0?!0:s.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),n?this.toasts=this.toasts.map(m=>m.id===l?(this.publish({...m,...s,id:l,title:r}),{...m,...s,id:l,dismissible:d,title:r}):m):this.addToast({title:r,...c,dismissible:d,id:l}),l},this.dismiss=s=>(s?(this.dismissedToasts.add(s),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:s,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(r=>r({id:t.id,dismiss:!0}))}),s),this.message=(s,t)=>this.create({...t,message:s}),this.error=(s,t)=>this.create({...t,message:s,type:"error"}),this.success=(s,t)=>this.create({...t,type:"success",message:s}),this.info=(s,t)=>this.create({...t,type:"info",message:s}),this.warning=(s,t)=>this.create({...t,type:"warning",message:s}),this.loading=(s,t)=>this.create({...t,type:"loading",message:s}),this.promise=(s,t)=>{if(!t)return;let r;t.loading!==void 0&&(r=this.create({...t,promise:s,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));const c=Promise.resolve(s instanceof Function?s():s);let l=r!==void 0,n;const d=c.then(async i=>{if(n=["resolve",i],u.isValidElement(i))l=!1,this.create({id:r,type:"default",message:i});else if(Sr(i)&&!i.ok){l=!1;const a=typeof t.error=="function"?await t.error(`HTTP error! status: ${i.status}`):t.error,S=typeof t.description=="function"?await t.description(`HTTP error! status: ${i.status}`):t.description,z=typeof a=="object"&&!u.isValidElement(a)?a:{message:a};this.create({id:r,type:"error",description:S,...z})}else if(i instanceof Error){l=!1;const a=typeof t.error=="function"?await t.error(i):t.error,S=typeof t.description=="function"?await t.description(i):t.description,z=typeof a=="object"&&!u.isValidElement(a)?a:{message:a};this.create({id:r,type:"error",description:S,...z})}else if(t.success!==void 0){l=!1;const a=typeof t.success=="function"?await t.success(i):t.success,S=typeof t.description=="function"?await t.description(i):t.description,z=typeof a=="object"&&!u.isValidElement(a)?a:{message:a};this.create({id:r,type:"success",description:S,...z})}}).catch(async i=>{if(n=["reject",i],t.error!==void 0){l=!1;const y=typeof t.error=="function"?await t.error(i):t.error,a=typeof t.description=="function"?await t.description(i):t.description,P=typeof y=="object"&&!u.isValidElement(y)?y:{message:y};this.create({id:r,type:"error",description:a,...P})}}).finally(()=>{l&&(this.dismiss(r),r=void 0),t.finally==null||t.finally.call(t)}),m=()=>new Promise((i,y)=>d.then(()=>n[0]==="reject"?y(n[1]):i(n[1])).catch(y));return typeof r!="string"&&typeof r!="number"?{unwrap:m}:Object.assign(r,{unwrap:m})},this.custom=(s,t)=>{const r=(t==null?void 0:t.id)||Je++;return this.create({jsx:s(r),id:r,...t}),r},this.getActiveToasts=()=>this.toasts.filter(s=>!this.dismissedToasts.has(s.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const X=new kr,jr=(e,s)=>{const t=(s==null?void 0:s.id)||Je++;return X.addToast({title:e,...s,id:t}),t},Sr=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Nr=jr,Er=()=>X.toasts,Tr=()=>X.getActiveToasts(),Ke=Object.assign(Nr,{success:X.success,info:X.info,warning:X.warning,error:X.error,custom:X.custom,message:X.message,promise:X.promise,dismiss:X.dismiss,loading:X.loading},{getHistory:Er,getToasts:Tr});mr("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Ve(e){return e.label!==void 0}const Cr=3,_r="24px",Pr="16px",vt=4e3,zr=356,Rr=14,Ar=45,Ir=200;function fe(...e){return e.filter(Boolean).join(" ")}function Or(e){const[s,t]=e.split("-"),r=[];return s&&r.push(s),t&&r.push(t),r}const Dr=e=>{var s,t,r,c,l,n,d,m,i;const{invert:y,toast:a,unstyled:S,interacting:P,setHeights:z,visibleToasts:O,heights:I,index:j,toasts:L,expanded:q,removeToast:J,defaultRichColors:se,closeButton:B,style:D,cancelButtonStyle:p,actionButtonStyle:M,className:oe="",descriptionClassName:ue="",duration:re,position:U,gap:ne,expandByDefault:Y,classNames:g,icons:T,closeButtonAriaLabel:K="Close toast"}=e,[G,b]=u.useState(null),[me,Se]=u.useState(null),[N,R]=u.useState(!1),[k,C]=u.useState(!1),[ie,_]=u.useState(!1),[A,Ne]=u.useState(!1),[he,le]=u.useState(!1),[Re,ve]=u.useState(0),[fs,et]=u.useState(0),Ae=u.useRef(a.duration||re||vt),tt=u.useRef(null),ge=u.useRef(null),hs=j===0,gs=j+1<=O,Q=a.type,_e=a.dismissible!==!1,bs=a.className||"",xs=a.descriptionClassName||"",De=u.useMemo(()=>I.findIndex(v=>v.toastId===a.id)||0,[I,a.id]),ys=u.useMemo(()=>{var v;return(v=a.closeButton)!=null?v:B},[a.closeButton,B]),st=u.useMemo(()=>a.duration||re||vt,[a.duration,re]),He=u.useRef(0),Pe=u.useRef(0),ot=u.useRef(0),ze=u.useRef(null),[vs,ws]=U.split("-"),rt=u.useMemo(()=>I.reduce((v,V,H)=>H>=De?v:v+V.height,0),[I,De]),at=wr(),ks=a.invert||y,Ue=Q==="loading";Pe.current=u.useMemo(()=>De*ne+rt,[De,rt]),u.useEffect(()=>{Ae.current=st},[st]),u.useEffect(()=>{R(!0)},[]),u.useEffect(()=>{const v=ge.current;if(v){const V=v.getBoundingClientRect().height;return et(V),z(H=>[{toastId:a.id,height:V,position:a.position},...H]),()=>z(H=>H.filter(Z=>Z.toastId!==a.id))}},[z,a.id]),u.useLayoutEffect(()=>{if(!N)return;const v=ge.current,V=v.style.height;v.style.height="auto";const H=v.getBoundingClientRect().height;v.style.height=V,et(H),z(Z=>Z.find(W=>W.toastId===a.id)?Z.map(W=>W.toastId===a.id?{...W,height:H}:W):[{toastId:a.id,height:H,position:a.position},...Z])},[N,a.title,a.description,z,a.id,a.jsx,a.action,a.cancel]);const we=u.useCallback(()=>{C(!0),ve(Pe.current),z(v=>v.filter(V=>V.toastId!==a.id)),setTimeout(()=>{J(a)},Ir)},[a,J,z,Pe]);u.useEffect(()=>{if(a.promise&&Q==="loading"||a.duration===1/0||a.type==="loading")return;let v;return q||P||at?(()=>{if(ot.current<He.current){const Z=new Date().getTime()-He.current;Ae.current=Ae.current-Z}ot.current=new Date().getTime()})():(()=>{Ae.current!==1/0&&(He.current=new Date().getTime(),v=setTimeout(()=>{a.onAutoClose==null||a.onAutoClose.call(a,a),we()},Ae.current))})(),()=>clearTimeout(v)},[q,P,a,Q,at,we]),u.useEffect(()=>{a.delete&&(we(),a.onDismiss==null||a.onDismiss.call(a,a))},[we,a.delete]);function js(){var v;if(T!=null&&T.loading){var V;return u.createElement("div",{className:fe(g==null?void 0:g.loader,a==null||(V=a.classNames)==null?void 0:V.loader,"sonner-loader"),"data-visible":Q==="loading"},T.loading)}return u.createElement(hr,{className:fe(g==null?void 0:g.loader,a==null||(v=a.classNames)==null?void 0:v.loader),visible:Q==="loading"})}const Ss=a.icon||(T==null?void 0:T[Q])||pr(Q);var nt,it;return u.createElement("li",{tabIndex:0,ref:ge,className:fe(oe,bs,g==null?void 0:g.toast,a==null||(s=a.classNames)==null?void 0:s.toast,g==null?void 0:g.default,g==null?void 0:g[Q],a==null||(t=a.classNames)==null?void 0:t[Q]),"data-sonner-toast":"","data-rich-colors":(nt=a.richColors)!=null?nt:se,"data-styled":!(a.jsx||a.unstyled||S),"data-mounted":N,"data-promise":!!a.promise,"data-swiped":he,"data-removed":k,"data-visible":gs,"data-y-position":vs,"data-x-position":ws,"data-index":j,"data-front":hs,"data-swiping":ie,"data-dismissible":_e,"data-type":Q,"data-invert":ks,"data-swipe-out":A,"data-swipe-direction":me,"data-expanded":!!(q||Y&&N),"data-testid":a.testId,style:{"--index":j,"--toasts-before":j,"--z-index":L.length-j,"--offset":`${k?Re:Pe.current}px`,"--initial-height":Y?"auto":`${fs}px`,...D,...a.style},onDragEnd:()=>{_(!1),b(null),ze.current=null},onPointerDown:v=>{v.button!==2&&(Ue||!_e||(tt.current=new Date,ve(Pe.current),v.target.setPointerCapture(v.pointerId),v.target.tagName!=="BUTTON"&&(_(!0),ze.current={x:v.clientX,y:v.clientY})))},onPointerUp:()=>{var v,V,H;if(A||!_e)return;ze.current=null;const Z=Number(((v=ge.current)==null?void 0:v.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Me=Number(((V=ge.current)==null?void 0:V.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),W=new Date().getTime()-((H=tt.current)==null?void 0:H.getTime()),ae=G==="x"?Z:Me,Le=Math.abs(ae)/W;if(Math.abs(ae)>=Ar||Le>.11){ve(Pe.current),a.onDismiss==null||a.onDismiss.call(a,a),Se(G==="x"?Z>0?"right":"left":Me>0?"down":"up"),we(),Ne(!0);return}else{var ce,de;(ce=ge.current)==null||ce.style.setProperty("--swipe-amount-x","0px"),(de=ge.current)==null||de.style.setProperty("--swipe-amount-y","0px")}le(!1),_(!1),b(null)},onPointerMove:v=>{var V,H,Z;if(!ze.current||!_e||((V=window.getSelection())==null?void 0:V.toString().length)>0)return;const W=v.clientY-ze.current.y,ae=v.clientX-ze.current.x;var Le;const ce=(Le=e.swipeDirections)!=null?Le:Or(U);!G&&(Math.abs(ae)>1||Math.abs(W)>1)&&b(Math.abs(ae)>Math.abs(W)?"x":"y");let de={x:0,y:0};const lt=Ee=>1/(1.5+Math.abs(Ee)/20);if(G==="y"){if(ce.includes("top")||ce.includes("bottom"))if(ce.includes("top")&&W<0||ce.includes("bottom")&&W>0)de.y=W;else{const Ee=W*lt(W);de.y=Math.abs(Ee)<Math.abs(W)?Ee:W}}else if(G==="x"&&(ce.includes("left")||ce.includes("right")))if(ce.includes("left")&&ae<0||ce.includes("right")&&ae>0)de.x=ae;else{const Ee=ae*lt(ae);de.x=Math.abs(Ee)<Math.abs(ae)?Ee:ae}(Math.abs(de.x)>0||Math.abs(de.y)>0)&&le(!0),(H=ge.current)==null||H.style.setProperty("--swipe-amount-x",`${de.x}px`),(Z=ge.current)==null||Z.style.setProperty("--swipe-amount-y",`${de.y}px`)}},ys&&!a.jsx&&Q!=="loading"?u.createElement("button",{"aria-label":K,"data-disabled":Ue,"data-close-button":!0,onClick:Ue||!_e?()=>{}:()=>{we(),a.onDismiss==null||a.onDismiss.call(a,a)},className:fe(g==null?void 0:g.closeButton,a==null||(r=a.classNames)==null?void 0:r.closeButton)},(it=T==null?void 0:T.close)!=null?it:vr):null,(Q||a.icon||a.promise)&&a.icon!==null&&((T==null?void 0:T[Q])!==null||a.icon)?u.createElement("div",{"data-icon":"",className:fe(g==null?void 0:g.icon,a==null||(c=a.classNames)==null?void 0:c.icon)},a.promise||a.type==="loading"&&!a.icon?a.icon||js():null,a.type!=="loading"?Ss:null):null,u.createElement("div",{"data-content":"",className:fe(g==null?void 0:g.content,a==null||(l=a.classNames)==null?void 0:l.content)},u.createElement("div",{"data-title":"",className:fe(g==null?void 0:g.title,a==null||(n=a.classNames)==null?void 0:n.title)},a.jsx?a.jsx:typeof a.title=="function"?a.title():a.title),a.description?u.createElement("div",{"data-description":"",className:fe(ue,xs,g==null?void 0:g.description,a==null||(d=a.classNames)==null?void 0:d.description)},typeof a.description=="function"?a.description():a.description):null),u.isValidElement(a.cancel)?a.cancel:a.cancel&&Ve(a.cancel)?u.createElement("button",{"data-button":!0,"data-cancel":!0,style:a.cancelButtonStyle||p,onClick:v=>{Ve(a.cancel)&&_e&&(a.cancel.onClick==null||a.cancel.onClick.call(a.cancel,v),we())},className:fe(g==null?void 0:g.cancelButton,a==null||(m=a.classNames)==null?void 0:m.cancelButton)},a.cancel.label):null,u.isValidElement(a.action)?a.action:a.action&&Ve(a.action)?u.createElement("button",{"data-button":!0,"data-action":!0,style:a.actionButtonStyle||M,onClick:v=>{Ve(a.action)&&(a.action.onClick==null||a.action.onClick.call(a.action,v),!v.defaultPrevented&&we())},className:fe(g==null?void 0:g.actionButton,a==null||(i=a.classNames)==null?void 0:i.actionButton)},a.action.label):null)};function wt(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function Mr(e,s){const t={};return[e,s].forEach((r,c)=>{const l=c===1,n=l?"--mobile-offset":"--offset",d=l?Pr:_r;function m(i){["top","right","bottom","left"].forEach(y=>{t[`${n}-${y}`]=typeof i=="number"?`${i}px`:i})}typeof r=="number"||typeof r=="string"?m(r):typeof r=="object"?["top","right","bottom","left"].forEach(i=>{r[i]===void 0?t[`${n}-${i}`]=d:t[`${n}-${i}`]=typeof r[i]=="number"?`${r[i]}px`:r[i]}):m(d)}),t}const Lr=u.forwardRef(function(s,t){const{id:r,invert:c,position:l="bottom-right",hotkey:n=["altKey","KeyT"],expand:d,closeButton:m,className:i,offset:y,mobileOffset:a,theme:S="light",richColors:P,duration:z,style:O,visibleToasts:I=Cr,toastOptions:j,dir:L=wt(),gap:q=Rr,icons:J,containerAriaLabel:se="Notifications"}=s,[B,D]=u.useState([]),p=u.useMemo(()=>r?B.filter(N=>N.toasterId===r):B.filter(N=>!N.toasterId),[B,r]),M=u.useMemo(()=>Array.from(new Set([l].concat(p.filter(N=>N.position).map(N=>N.position)))),[p,l]),[oe,ue]=u.useState([]),[re,U]=u.useState(!1),[ne,Y]=u.useState(!1),[g,T]=u.useState(S!=="system"?S:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),K=u.useRef(null),G=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),b=u.useRef(null),me=u.useRef(!1),Se=u.useCallback(N=>{D(R=>{var k;return(k=R.find(C=>C.id===N.id))!=null&&k.delete||X.dismiss(N.id),R.filter(({id:C})=>C!==N.id)})},[]);return u.useEffect(()=>X.subscribe(N=>{if(N.dismiss){requestAnimationFrame(()=>{D(R=>R.map(k=>k.id===N.id?{...k,delete:!0}:k))});return}setTimeout(()=>{Cs.flushSync(()=>{D(R=>{const k=R.findIndex(C=>C.id===N.id);return k!==-1?[...R.slice(0,k),{...R[k],...N},...R.slice(k+1)]:[N,...R]})})})}),[B]),u.useEffect(()=>{if(S!=="system"){T(S);return}if(S==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?T("dark"):T("light")),typeof window>"u")return;const N=window.matchMedia("(prefers-color-scheme: dark)");try{N.addEventListener("change",({matches:R})=>{T(R?"dark":"light")})}catch{N.addListener(({matches:k})=>{try{T(k?"dark":"light")}catch(C){console.error(C)}})}},[S]),u.useEffect(()=>{B.length<=1&&U(!1)},[B]),u.useEffect(()=>{const N=R=>{var k;if(n.every(_=>R[_]||R.code===_)){var ie;U(!0),(ie=K.current)==null||ie.focus()}R.code==="Escape"&&(document.activeElement===K.current||(k=K.current)!=null&&k.contains(document.activeElement))&&U(!1)};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[n]),u.useEffect(()=>{if(K.current)return()=>{b.current&&(b.current.focus({preventScroll:!0}),b.current=null,me.current=!1)}},[K.current]),u.createElement("section",{ref:t,"aria-label":`${se} ${G}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},M.map((N,R)=>{var k;const[C,ie]=N.split("-");return p.length?u.createElement("ol",{key:N,dir:L==="auto"?wt():L,tabIndex:-1,ref:K,className:i,"data-sonner-toaster":!0,"data-sonner-theme":g,"data-y-position":C,"data-x-position":ie,style:{"--front-toast-height":`${((k=oe[0])==null?void 0:k.height)||0}px`,"--width":`${zr}px`,"--gap":`${q}px`,...O,...Mr(y,a)},onBlur:_=>{me.current&&!_.currentTarget.contains(_.relatedTarget)&&(me.current=!1,b.current&&(b.current.focus({preventScroll:!0}),b.current=null))},onFocus:_=>{_.target instanceof HTMLElement&&_.target.dataset.dismissible==="false"||me.current||(me.current=!0,b.current=_.relatedTarget)},onMouseEnter:()=>U(!0),onMouseMove:()=>U(!0),onMouseLeave:()=>{ne||U(!1)},onDragEnd:()=>U(!1),onPointerDown:_=>{_.target instanceof HTMLElement&&_.target.dataset.dismissible==="false"||Y(!0)},onPointerUp:()=>Y(!1)},p.filter(_=>!_.position&&R===0||_.position===N).map((_,A)=>{var Ne,he;return u.createElement(Dr,{key:_.id,icons:J,index:A,toast:_,defaultRichColors:P,duration:(Ne=j==null?void 0:j.duration)!=null?Ne:z,className:j==null?void 0:j.className,descriptionClassName:j==null?void 0:j.descriptionClassName,invert:c,visibleToasts:I,closeButton:(he=j==null?void 0:j.closeButton)!=null?he:m,interacting:ne,position:N,style:j==null?void 0:j.style,unstyled:j==null?void 0:j.unstyled,classNames:j==null?void 0:j.classNames,cancelButtonStyle:j==null?void 0:j.cancelButtonStyle,actionButtonStyle:j==null?void 0:j.actionButtonStyle,closeButtonAriaLabel:j==null?void 0:j.closeButtonAriaLabel,removeToast:Se,toasts:p.filter(le=>le.position==_.position),heights:oe.filter(le=>le.position==_.position),setHeights:ue,expandByDefault:d,gap:q,expanded:re,swipeDirections:s.swipeDirections})})):null}))}),ms={success:e=>Ke.success(e),error:e=>Ke.error(e),warning:e=>Ke.warning(e)},Br=[{to:"/admin/dashboard",label:"仪表盘",icon:Dt},{to:"/admin/boards",label:"板块管理",icon:Us},{to:"/admin/posts",label:"帖子管理",icon:Ys},{to:"/admin/comments",label:"评论管理",icon:Ks},{to:"/admin/users",label:"用户管理",icon:qs},{to:"/admin/settings",label:"系统设置",icon:Xs}];function $r(){const{user:e,loading:s}=We(),t=Ge();return x.useEffect(()=>{if(!s){if(!e){t("/login");return}e.role!=="admin"&&(ms.warning("需要管理员权限"),t("/"))}},[e,s,t]),s?o.jsx("div",{className:"flex justify-center py-24",children:o.jsx(ur,{size:"lg"})}):!e||e.role!=="admin"?null:o.jsxs("div",{className:"admin-shell",children:[o.jsxs("header",{className:"admin-topbar",children:[o.jsxs("div",{className:"admin-topbar-brand",children:[o.jsx("div",{className:"admin-topbar-mark",children:"姜"}),o.jsxs("div",{children:[o.jsx("div",{className:"admin-topbar-title",children:"姜十三论坛"}),o.jsx("div",{className:"admin-topbar-sub",children:"管理后台"})]})]}),o.jsxs("div",{className:"admin-topbar-actions",children:[o.jsxs("button",{type:"button",className:"admin-link-btn",onClick:()=>t("/"),children:[o.jsx(Hs,{size:16}),"返回论坛"]}),o.jsx("span",{className:"admin-topbar-user",children:e.nickname})]})]}),o.jsxs("div",{className:"admin-body",children:[o.jsx("aside",{className:"admin-sidebar",children:Br.map(({to:r,label:c,icon:l})=>o.jsxs(_s,{to:r,className:({isActive:n})=>ee("admin-nav-item",n&&"active"),children:[o.jsx(l,{size:16}),c]},r))}),o.jsx("main",{className:"admin-main",children:o.jsx(Et,{})})]})]})}function la(){const{user:e,loading:s}=We(),t=Ge();return x.useEffect(()=>{s||(e?e.role!=="admin"&&(ms.warning("需要管理员权限"),t("/")):t("/login"))},[e,s,t]),{user:e,loading:s,ready:!s&&!!e&&e.role==="admin"}}const kt=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,jt=Ht,Vr=(e,s)=>t=>{var r;if((s==null?void 0:s.variants)==null)return jt(e,t==null?void 0:t.class,t==null?void 0:t.className);const{variants:c,defaultVariants:l}=s,n=Object.keys(c).map(i=>{const y=t==null?void 0:t[i],a=l==null?void 0:l[i];if(y===null)return null;const S=kt(y)||kt(a);return c[i][S]}),d=t&&Object.entries(t).reduce((i,y)=>{let[a,S]=y;return S===void 0||(i[a]=S),i},{}),m=s==null||(r=s.compoundVariants)===null||r===void 0?void 0:r.reduce((i,y)=>{let{class:a,className:S,...P}=y;return Object.entries(P).every(z=>{let[O,I]=z;return Array.isArray(I)?I.includes({...l,...d}[O]):{...l,...d}[O]===I})?[...i,a,S]:i},[]);return jt(e,n,m,t==null?void 0:t.class,t==null?void 0:t.className)},Fr=Vr("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground 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"}}),ps=x.forwardRef(({className:e,variant:s,size:t,asChild:r=!1,loading:c,children:l,disabled:n,...d},m)=>{const i=r?Js:"button";return o.jsxs(i,{className:ee(Fr({variant:s,size:t,className:e})),ref:m,disabled:n||c,...d,children:[c?o.jsx(Mt,{className:"animate-spin"}):null,l]})});ps.displayName="Button";class Gr extends x.Component{constructor(){super(...arguments);ct(this,"state",{error:null})}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,r){console.error("[Jiang13Forum]",t,r.componentStack)}render(){return this.state.error?o.jsxs("div",{style:{padding:24,textAlign:"center"},children:[o.jsx("h3",{children:"页面渲染出错"}),o.jsx("p",{style:{color:"var(--color-text-3)",fontSize:13},children:this.state.error.message}),o.jsx(ps,{size:"sm",onClick:()=>{this.setState({error:null}),window.location.reload()},children:"刷新页面"})]}):this.props.children}}function Wr(){const{theme:e}=Gt();return o.jsx(Lr,{theme:e,position:"top-center",richColors:!0,closeButton:!0,toastOptions:{classNames:{toast:"font-sans"}}})}const Hr=x.lazy(()=>te(()=>import("./HomePage-CrU3Xqcn.js"),__vite__mapDeps([0,1,2,3,4,5]))),Ur=x.lazy(()=>te(()=>import("./PostDetailPage-DEqZitTA.js"),__vite__mapDeps([6,1,3,4,5,7,8]))),Yr=x.lazy(()=>te(()=>import("./LoginPage-DGBpvRak.js"),__vite__mapDeps([9,1,10,5,11]))),Kr=x.lazy(()=>te(()=>import("./RegisterPage-BTZhIdwh.js"),__vite__mapDeps([12,1,10,5,11]))),St=x.lazy(()=>te(()=>import("./ComposePage-BzWi56ib.js"),__vite__mapDeps([13,1,8,7,5]))),qr=x.lazy(()=>te(()=>import("./BoardsManagePage-BKaQrjKx.js"),__vite__mapDeps([14,1,10,5,11,3,15]))),Xr=x.lazy(()=>te(()=>import("./ProfilePage-exbWgetG.js"),__vite__mapDeps([16,1,10,5,11,3]))),Jr=x.lazy(()=>te(()=>import("./FavoritesPage-DPpP9uxT.js"),__vite__mapDeps([17,1,4,5]))),Qr=x.lazy(()=>te(()=>import("./AdminDashboardPage-DPFKUnit.js"),__vite__mapDeps([18,1,3,5]))),Zr=x.lazy(()=>te(()=>import("./AdminPostsPage-B9vFs1FY.js"),__vite__mapDeps([19,1,11,3,15,5]))),ea=x.lazy(()=>te(()=>import("./AdminCommentsPage-XNfj0Ldl.js"),__vite__mapDeps([20,1,3,15,5]))),ta=x.lazy(()=>te(()=>import("./AdminUsersPage-CCGcKbV7.js"),__vite__mapDeps([21,1,3,5]))),sa=x.lazy(()=>te(()=>import("./AdminSettingsPage-Cm_HgtOQ.js"),__vite__mapDeps([22,1,5])));function oa(){return o.jsx(so,{children:o.jsx(to,{children:o.jsxs(Gr,{children:[o.jsx(Ps,{children:o.jsxs(zs,{children:[o.jsx(F,{path:"/login",element:o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(Yr,{})})}),o.jsx(F,{path:"/register",element:o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(Kr,{})})}),o.jsx(F,{path:"/boards",element:o.jsx(dt,{to:"/admin/boards",replace:!0})}),o.jsxs(F,{path:"/admin",element:o.jsx($r,{}),children:[o.jsx(F,{index:!0,element:o.jsx(dt,{to:"/admin/dashboard",replace:!0})}),o.jsx(F,{path:"dashboard",element:o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(Qr,{})})}),o.jsx(F,{path:"boards",element:o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(qr,{})})}),o.jsx(F,{path:"posts",element:o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(Zr,{})})}),o.jsx(F,{path:"comments",element:o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(ea,{})})}),o.jsx(F,{path:"users",element:o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(ta,{})})}),o.jsx(F,{path:"settings",element:o.jsx(x.Suspense,{fallback:o.jsx(xe,{}),children:o.jsx(sa,{})})})]}),o.jsxs(F,{element:o.jsx(cr,{}),children:[o.jsx(F,{path:"/",element:o.jsx(Hr,{})}),o.jsx(F,{path:"/post/:id",element:o.jsx(Ur,{})}),o.jsx(F,{path:"/post/:id/edit",element:o.jsx(St,{})}),o.jsx(F,{path:"/compose",element:o.jsx(St,{})}),o.jsx(F,{path:"/profile",element:o.jsx(Xr,{})}),o.jsx(F,{path:"/favorites",element:o.jsx(Jr,{})})]})]})}),o.jsx(Wr,{})]})})})}$t(Bt());Rs.createRoot(document.getElementById("root")).render(o.jsx(u.StrictMode,{children:o.jsx(oa,{})}));export{ps as B,ur as S,ye as a,la as b,ee as c,Vr as d,Fr as e,ms as n,We as u};