3 lines
91 KiB
JavaScript
3 lines
91 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomePage-DC4iWqJT.js","assets/react-vendor-1fwFMt02.js","assets/virtual-vendor-DDSEW9eW.js","assets/badge-CS5odIe6.js","assets/PinnedIcon-_RgLYKvd.js","assets/ui-vendor-Gb6mai95.js","assets/content-BrFHUpp8.js","assets/PostDetailPage-BjTvWYTM.js","assets/postContent-ClrHK1rL.js","assets/purify-vendor-Cx4rtWv4.js","assets/LoginPage-sbkZASpH.js","assets/form-cra7lKcv.js","assets/input-DOedlbiC.js","assets/RegisterPage-D4yO0Lp-.js","assets/ComposePage-BiusUtIm.js","assets/dialog-CtQqbmck.js","assets/BoardsManagePage-DXFAZqh1.js","assets/textarea-CwI-oiTC.js","assets/alert-dialog-D0wiVaPM.js","assets/ProfilePage-DiORLSTl.js","assets/FavoritesPage-BrE1xy6C.js","assets/AdminDashboardPage-Co9xzcB-.js","assets/AdminPostsPage--PeUmtdb.js","assets/AdminCommentsPage-CQrE8jZ9.js","assets/AdminUsersPage-YBnRhF6k.js","assets/AdminSettingsPage-B63MNTuF.js"])))=>i.map(i=>d[i]);
|
||
var Is=Object.defineProperty;var Os=(e,t,s)=>t in e?Is(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var ft=(e,t,s)=>Os(e,typeof t!="symbol"?t+"":t,s);import{r as b,j as r,e as qe,g as Pt,i as Rt,k as u,m as Ls,O as zt,N as Ds,B as Ms,n as Bs,p as G,q as ht,t as $s}from"./react-vendor-1fwFMt02.js";import{S as At,C as Fs,a as It,P as Vs,b as Ot,I as Lt,c as Dt,d as Mt,e as Us,R as Bt,f as Gs,L as $t,g as Ft,h as Ws,T as Hs,i as Ys,M as qs,F as Js,H as Ks,j as Xs,k as Vt,l as Qs,m as Zs,n as eo,o as to,p as Ut,A as so,q as oo,r as ro,s as ao,U as no,t as io,u as lo}from"./ui-vendor-Gb6mai95.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))o(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const n of l.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&o(n)}).observe(document,{childList:!0,subtree:!0});function s(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function o(i){if(i.ep)return;i.ep=!0;const l=s(i);fetch(i.href,l)}})();const Gt="j13-theme";function Wt(){return localStorage.getItem(Gt)==="dark"?"dark":"light"}function Ht(e){const t=document.documentElement;t.classList.toggle("dark",e==="dark"),t.style.colorScheme=e,localStorage.setItem(Gt,e)}const co="modulepreload",uo=function(e){return"/"+e},gt={},re=function(t,s,o){let i=Promise.resolve();if(s&&s.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"));i=Promise.allSettled(s.map(m=>{if(m=uo(m),m in gt)return;gt[m]=!0;const c=m.endsWith(".css"),x=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${m}"]${x}`))return;const a=document.createElement("link");if(a.rel=c?"stylesheet":co,c||(a.as="script"),a.crossOrigin="",a.href=m,d&&a.setAttribute("nonce",d),document.head.appendChild(a),c)return new Promise((E,T)=>{a.addEventListener("load",E),a.addEventListener("error",()=>T(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 i.then(n=>{for(const d of n||[])d.status==="rejected"&&l(d.reason);return t().catch(l)})},mo="";async function v(e,t={}){const s=await fetch(mo+e,{credentials:"same-origin",...t,headers:{...t.body instanceof FormData?{}:{"Content-Type":"application/json"},...t.headers}});let o;try{o=await s.json()}catch{throw new Error("服务器响应异常")}if(!s.ok)throw new Error(o.error||"请求失败");return o}const he={me:()=>v("/api/me"),stats:()=>v("/api/stats"),forumLimits:()=>v("/api/forum-limits"),boards:()=>v("/api/boards"),posts:e=>{const t=new URLSearchParams(e).toString();return v(`/api/posts?${t}`)},hotPosts:()=>v("/api/posts/hot"),post:(e,t)=>{const s=t!=null&&t.skipView?"?skip_view=1":"";return v(`/api/posts/${e}${s}`)},comments:(e,t)=>{const s=t!=null&&t.length?`?my_ids=${t.join(",")}`:"";return v(`/api/posts/${e}/comments${s}`)},notifications:()=>v("/api/notifications"),online:()=>v("/api/online"),presence:()=>v("/api/presence",{method:"POST"}),favorites:()=>v("/api/favorites"),createBoard:e=>v("/api/admin/boards",{method:"POST",body:JSON.stringify(e)}),updateBoard:(e,t)=>v(`/api/admin/boards/${e}`,{method:"PUT",body:JSON.stringify(t)}),deleteBoard:e=>v(`/api/admin/boards/${e}`,{method:"DELETE"}),adminDashboard:()=>v("/api/admin/dashboard"),adminSettings:()=>v("/api/admin/settings"),adminPosts:e=>{const t=new URLSearchParams;e.page&&t.set("page",String(e.page)),e.keyword&&t.set("keyword",e.keyword);const s=t.toString();return v(`/api/admin/posts${s?`?${s}`:""}`)},adminPinPost:(e,t)=>v(`/api/admin/posts/${e}/pin`,{method:"POST",body:JSON.stringify({pinned:t})}),adminLockPost:(e,t)=>v(`/api/admin/posts/${e}/lock`,{method:"POST",body:JSON.stringify({locked:t})}),adminUpdateForumSettings:e=>v("/api/admin/settings/forum",{method:"PUT",body:JSON.stringify(e)}),adminUpdateFilterWords:e=>v("/api/admin/settings/filter-words",{method:"PUT",body:JSON.stringify({content:e})}),postRevisions:e=>v(`/api/posts/${e}/revisions`),postRevision:(e,t)=>v(`/api/posts/${e}/revisions/${t}`),adminDeletePost:e=>v(`/api/admin/posts/${e}`,{method:"DELETE"}),adminComments:(e=1)=>v(`/api/admin/comments?page=${e}`),adminDeleteComment:e=>v(`/api/admin/comments/${e}`,{method:"DELETE"}),adminUsers:(e=1)=>v(`/api/admin/users?page=${e}`),adminBanUser:(e,t)=>v(`/api/admin/users/${e}/ban`,{method:"POST",body:JSON.stringify({banned:t})}),adminBackup:()=>v("/api/admin/backup",{method:"POST"}),updateNickname:e=>{const t=new FormData;return t.append("nickname",e),v("/api/profile/nickname",{method:"POST",body:t,headers:{}})},updatePassword:(e,t)=>{const s=new FormData;return s.append("old_password",e),s.append("new_password",t),v("/api/profile/password",{method:"POST",body:s,headers:{}})},uploadAvatar:e=>{const t=new FormData;return t.append("avatar",e),v("/api/profile/avatar",{method:"POST",body:t,headers:{}})},uploadPostImage:e=>{const t=new FormData;return t.append("image",e),v("/api/uploads/image",{method:"POST",body:t,headers:{}})},createPost:e=>{const t=new FormData;return t.append("board_id",e.board_id),t.append("title",e.title),t.append("content",e.content),t.append("tags",e.tags||""),v("/api/posts",{method:"POST",body:t,headers:{}})},updatePost:(e,t)=>{const s=new FormData;return s.append("title",t.title),s.append("content",t.content),s.append("tags",t.tags||""),v(`/api/posts/${e}`,{method:"PUT",body:s,headers:{}})},login:(e,t)=>{const s=new FormData;return s.append("username",e),s.append("password",t),v("/api/login",{method:"POST",body:s,headers:{}})},register:(e,t,s)=>{const o=new FormData;return o.append("username",e),o.append("password",t),o.append("nickname",s),v("/api/register",{method:"POST",body:o,headers:{}})},logout:()=>v("/api/logout",{method:"POST"}),like:e=>v(`/api/posts/${e}/like`,{method:"POST"}),favorite:e=>v(`/api/posts/${e}/favorite`,{method:"POST"}),addComment:(e,t)=>{const s=new FormData;return s.append("content",t.content),t.replyTo&&s.append("reply_to",String(t.replyTo)),t.guestNick&&s.append("guest_nick",t.guestNick),t.guestEmail&&s.append("guest_email",t.guestEmail),t.guestUrl&&s.append("guest_url",t.guestUrl),t.isPrivate&&s.append("is_private","1"),v(`/api/posts/${e}/comments`,{method:"POST",body:s,headers:{}})},ping:()=>v("/api/ping",{method:"POST"})},Yt=b.createContext({user:null,loading:!0,refresh:async()=>{},logout:async()=>{}});function po({children:e}){const[t,s]=b.useState(null),[o,i]=b.useState(!0),l=b.useCallback(async()=>{try{const d=await he.me();s(d.user??null)}catch{s(null)}finally{i(!1)}},[]);b.useEffect(()=>{l()},[l]);const n=async()=>{await he.logout(),s(null)};return r.jsx(Yt.Provider,{value:{user:t,loading:o,refresh:l,logout:n},children:e})}const Je=()=>b.useContext(Yt),qt=b.createContext({theme:"light",toggle:()=>{}});function fo({children:e}){const[t,s]=b.useState(Wt);b.useLayoutEffect(()=>{Ht(t)},[t]);const o=()=>s(i=>i==="light"?"dark":"light");return r.jsx(qt.Provider,{value:{theme:t,toggle:o},children:e})}const Jt=()=>b.useContext(qt);function ho(e){const[t,s]=b.useState(()=>window.matchMedia(e).matches);return b.useLayoutEffect(()=>{const o=window.matchMedia(e),i=()=>s(o.matches);return o.addEventListener("change",i),()=>o.removeEventListener("change",i)},[e]),t}function ye(){return r.jsxs("div",{className:"page-loader",role:"status","aria-live":"polite",children:[r.jsx("span",{className:"page-loader__dot"}),"加载中…"]})}function Kt(e){var t,s,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(s=Kt(e[t]))&&(o&&(o+=" "),o+=s)}else for(s in e)e[s]&&(o&&(o+=" "),o+=s);return o}function Xt(){for(var e,t,s=0,o="",i=arguments.length;s<i;s++)(e=arguments[s])&&(t=Kt(e))&&(o&&(o+=" "),o+=t);return o}const go=(e,t)=>{const s=new Array(e.length+t.length);for(let o=0;o<e.length;o++)s[o]=e[o];for(let o=0;o<t.length;o++)s[e.length+o]=t[o];return s},bo=(e,t)=>({classGroupId:e,validator:t}),Qt=(e=new Map,t=null,s)=>({nextPart:e,validators:t,classGroupId:s}),We="-",bt=[],xo="arbitrary..",yo=e=>{const t=wo(e),{conflictingClassGroups:s,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:n=>{if(n.startsWith("[")&&n.endsWith("]"))return vo(n);const d=n.split(We),m=d[0]===""&&d.length>1?1:0;return Zt(d,m,t)},getConflictingClassGroupIds:(n,d)=>{if(d){const m=o[n],c=s[n];return m?c?go(c,m):m:c||bt}return s[n]||bt}}},Zt=(e,t,s)=>{if(e.length-t===0)return s.classGroupId;const i=e[t],l=s.nextPart.get(i);if(l){const c=Zt(e,t+1,l);if(c)return c}const n=s.validators;if(n===null)return;const d=t===0?e.join(We):e.slice(t).join(We),m=n.length;for(let c=0;c<m;c++){const x=n[c];if(x.validator(d))return x.classGroupId}},vo=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),s=t.indexOf(":"),o=t.slice(0,s);return o?xo+o:void 0})(),wo=e=>{const{theme:t,classGroups:s}=e;return ko(s,t)},ko=(e,t)=>{const s=Qt();for(const o in e){const i=e[o];ot(i,s,o,t)}return s},ot=(e,t,s,o)=>{const i=e.length;for(let l=0;l<i;l++){const n=e[l];jo(n,t,s,o)}},jo=(e,t,s,o)=>{if(typeof e=="string"){So(e,t,s);return}if(typeof e=="function"){No(e,t,s,o);return}Eo(e,t,s,o)},So=(e,t,s)=>{const o=e===""?t:es(t,e);o.classGroupId=s},No=(e,t,s,o)=>{if(_o(e)){ot(e(o),t,s,o);return}t.validators===null&&(t.validators=[]),t.validators.push(bo(s,e))},Eo=(e,t,s,o)=>{const i=Object.entries(e),l=i.length;for(let n=0;n<l;n++){const[d,m]=i[n];ot(m,es(t,d),s,o)}},es=(e,t)=>{let s=e;const o=t.split(We),i=o.length;for(let l=0;l<i;l++){const n=o[l];let d=s.nextPart.get(n);d||(d=Qt(),s.nextPart.set(n,d)),s=d}return s},_o=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,To=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,s=Object.create(null),o=Object.create(null);const i=(l,n)=>{s[l]=n,t++,t>e&&(t=0,o=s,s=Object.create(null))};return{get(l){let n=s[l];if(n!==void 0)return n;if((n=o[l])!==void 0)return i(l,n),n},set(l,n){l in s?s[l]=n:i(l,n)}}},et="!",xt=":",Co=[],yt=(e,t,s,o,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:s,maybePostfixModifierPosition:o,isExternal:i}),Po=e=>{const{prefix:t,experimentalParseClassName:s}=e;let o=i=>{const l=[];let n=0,d=0,m=0,c;const x=i.length;for(let L=0;L<x;L++){const O=i[L];if(n===0&&d===0){if(O===xt){l.push(i.slice(m,L)),m=L+1;continue}if(O==="/"){c=L;continue}}O==="["?n++:O==="]"?n--:O==="("?d++:O===")"&&d--}const a=l.length===0?i:i.slice(m);let E=a,T=!1;a.endsWith(et)?(E=a.slice(0,-1),T=!0):a.startsWith(et)&&(E=a.slice(1),T=!0);const R=c&&c>m?c-m:void 0;return yt(l,T,E,R)};if(t){const i=t+xt,l=o;o=n=>n.startsWith(i)?l(n.slice(i.length)):yt(Co,!1,n,void 0,!0)}if(s){const i=o;o=l=>s({className:l,parseClassName:i})}return o},Ro=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((s,o)=>{t.set(s,1e6+o)}),s=>{const o=[];let i=[];for(let l=0;l<s.length;l++){const n=s[l],d=n[0]==="[",m=t.has(n);d||m?(i.length>0&&(i.sort(),o.push(...i),i=[]),o.push(n)):i.push(n)}return i.length>0&&(i.sort(),o.push(...i)),o}},zo=e=>({cache:To(e.cacheSize),parseClassName:Po(e),sortModifiers:Ro(e),postfixLookupClassGroupIds:Ao(e),...yo(e)}),Ao=e=>{const t=Object.create(null),s=e.postfixLookupClassGroups;if(s)for(let o=0;o<s.length;o++)t[s[o]]=!0;return t},Io=/\s+/,Oo=(e,t)=>{const{parseClassName:s,getClassGroupId:o,getConflictingClassGroupIds:i,sortModifiers:l,postfixLookupClassGroupIds:n}=t,d=[],m=e.trim().split(Io);let c="";for(let x=m.length-1;x>=0;x-=1){const a=m[x],{isExternal:E,modifiers:T,hasImportantModifier:R,baseClassName:L,maybePostfixModifierPosition:O}=s(a);if(E){c=a+(c.length>0?" "+c:c);continue}let N=!!O,B;if(N){const D=L.substring(0,O);B=o(D);const p=B&&n[B]?o(L):void 0;p&&p!==B&&(B=p,N=!1)}else B=o(L);if(!B){if(!N){c=a+(c.length>0?" "+c:c);continue}if(B=o(L),!B){c=a+(c.length>0?" "+c:c);continue}N=!1}const X=T.length===0?"":T.length===1?T[0]:l(T).join(":"),te=R?X+et:X,ae=te+B;if(d.indexOf(ae)>-1)continue;d.push(ae);const $=i(B,N);for(let D=0;D<$.length;++D){const p=$[D];d.push(te+p)}c=a+(c.length>0?" "+c:c)}return c},Lo=(...e)=>{let t=0,s,o,i="";for(;t<e.length;)(s=e[t++])&&(o=ts(s))&&(i&&(i+=" "),i+=o);return i},ts=e=>{if(typeof e=="string")return e;let t,s="";for(let o=0;o<e.length;o++)e[o]&&(t=ts(e[o]))&&(s&&(s+=" "),s+=t);return s},Do=(e,...t)=>{let s,o,i,l;const n=m=>{const c=t.reduce((x,a)=>a(x),e());return s=zo(c),o=s.cache.get,i=s.cache.set,l=d,d(m)},d=m=>{const c=o(m);if(c)return c;const x=Oo(m,s);return i(m,x),x};return l=n,(...m)=>l(Lo(...m))},Mo=[],V=e=>{const t=s=>s[e]||Mo;return t.isThemeGetter=!0,t},ss=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,os=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Bo=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,$o=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Fo=/\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$/,Vo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Uo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Go=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ke=e=>Bo.test(e),j=e=>!!e&&!Number.isNaN(Number(e)),pe=e=>!!e&&Number.isInteger(Number(e)),Qe=e=>e.endsWith("%")&&j(e.slice(0,-1)),xe=e=>$o.test(e),rs=()=>!0,Wo=e=>Fo.test(e)&&!Vo.test(e),rt=()=>!1,Ho=e=>Uo.test(e),Yo=e=>Go.test(e),qo=e=>!f(e)&&!g(e),Jo=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)),Ko=e=>je(e,is,rt),f=e=>ss.test(e),_e=e=>je(e,ls,Wo),vt=e=>je(e,rr,j),Xo=e=>je(e,ds,rs),Qo=e=>je(e,cs,rt),wt=e=>je(e,as,rt),Zo=e=>je(e,ns,Yo),Ve=e=>je(e,us,Ho),g=e=>os.test(e),Oe=e=>Te(e,ls),er=e=>Te(e,cs),kt=e=>Te(e,as),tr=e=>Te(e,is),sr=e=>Te(e,ns),Ue=e=>Te(e,us,!0),or=e=>Te(e,ds,!0),je=(e,t,s)=>{const o=ss.exec(e);return o?o[1]?t(o[1]):s(o[2]):!1},Te=(e,t,s=!1)=>{const o=os.exec(e);return o?o[1]?t(o[1]):s:!1},as=e=>e==="position"||e==="percentage",ns=e=>e==="image"||e==="url",is=e=>e==="length"||e==="size"||e==="bg-size",ls=e=>e==="length",rr=e=>e==="number",cs=e=>e==="family-name",ds=e=>e==="number"||e==="weight",us=e=>e==="shadow",ar=()=>{const e=V("color"),t=V("font"),s=V("text"),o=V("font-weight"),i=V("tracking"),l=V("leading"),n=V("breakpoint"),d=V("container"),m=V("spacing"),c=V("radius"),x=V("shadow"),a=V("inset-shadow"),E=V("text-shadow"),T=V("drop-shadow"),R=V("blur"),L=V("perspective"),O=V("aspect"),N=V("ease"),B=V("animate"),X=()=>["auto","avoid","all","avoid-page","page","left","right","column"],te=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],ae=()=>[...te(),g,f],$=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto","contain","none"],p=()=>[g,f,m],M=()=>[ke,"full","auto",...p()],ue=()=>[pe,"none","subgrid",g,f],J=()=>["auto",{span:["full",pe,g,f]},pe,g,f],K=()=>[pe,"auto",g,f],W=()=>["auto","min","max","fr",g,f],me=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Q=()=>["start","end","center","stretch","center-safe","end-safe"],w=()=>["auto",...p()],C=()=>[ke,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...p()],y=()=>[ke,"screen","full","dvw","lvw","svw","min","max","fit",...p()],F=()=>[ke,"screen","full","lh","dvh","lvh","svh","min","max","fit",...p()],h=()=>[e,g,f],Y=()=>[...te(),kt,wt,{position:[g,f]}],Se=()=>["no-repeat",{repeat:["","x","y","space","round"]}],_=()=>["auto","cover","contain",tr,Ko,{size:[g,f]}],A=()=>[Qe,Oe,_e],S=()=>["","none","full",c,g,f],P=()=>["",j,Oe,_e],ie=()=>["solid","dashed","dotted","double"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],I=()=>[j,Qe,kt,wt],Ne=()=>["","none",R,g,f],ge=()=>["none",j,g,f],le=()=>["none",j,g,f],Ae=()=>[j,g,f],ve=()=>[ke,"full",...p()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[xe],breakpoint:[xe],color:[rs],container:[xe],"drop-shadow":[xe],ease:["in","out","in-out"],font:[qo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[xe],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[xe],shadow:[xe],spacing:["px",j],text:[xe],"text-shadow":[xe],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ke,f,g,O]}],container:["container"],"container-type":[{"@container":["","normal","size",g,f]}],"container-named":[Jo],columns:[{columns:[j,f,g,d]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"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:ae()}],overflow:[{overflow:$()}],"overflow-x":[{"overflow-x":$()}],"overflow-y":[{"overflow-y":$()}],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",g,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:[j,ke,"auto","initial","none",f]}],grow:[{grow:["",j,g,f]}],shrink:[{shrink:["",j,g,f]}],order:[{order:[pe,"first","last","none",g,f]}],"grid-cols":[{"grid-cols":ue()}],"col-start-end":[{col:J()}],"col-start":[{"col-start":K()}],"col-end":[{"col-end":K()}],"grid-rows":[{"grid-rows":ue()}],"row-start-end":[{row:J()}],"row-start":[{"row-start":K()}],"row-end":[{"row-end":K()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":W()}],"auto-rows":[{"auto-rows":W()}],gap:[{gap:p()}],"gap-x":[{"gap-x":p()}],"gap-y":[{"gap-y":p()}],"justify-content":[{justify:[...me(),"normal"]}],"justify-items":[{"justify-items":[...Q(),"normal"]}],"justify-self":[{"justify-self":["auto",...Q()]}],"align-content":[{content:["normal",...me()]}],"align-items":[{items:[...Q(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Q(),{baseline:["","last"]}]}],"place-content":[{"place-content":me()}],"place-items":[{"place-items":[...Q(),"baseline"]}],"place-self":[{"place-self":["auto",...Q()]}],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:w()}],mx:[{mx:w()}],my:[{my:w()}],ms:[{ms:w()}],me:[{me:w()}],mbs:[{mbs:w()}],mbe:[{mbe:w()}],mt:[{mt:w()}],mr:[{mr:w()}],mb:[{mb:w()}],ml:[{ml:w()}],"space-x":[{"space-x":p()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":p()}],"space-y-reverse":["space-y-reverse"],size:[{size:C()}],"inline-size":[{inline:["auto",...y()]}],"min-inline-size":[{"min-inline":["auto",...y()]}],"max-inline-size":[{"max-inline":["none",...y()]}],"block-size":[{block:["auto",...F()]}],"min-block-size":[{"min-block":["auto",...F()]}],"max-block-size":[{"max-block":["none",...F()]}],w:[{w:[d,"screen",...C()]}],"min-w":[{"min-w":[d,"screen","none",...C()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[n]},...C()]}],h:[{h:["screen","lh",...C()]}],"min-h":[{"min-h":["screen","lh","none",...C()]}],"max-h":[{"max-h":["screen","lh",...C()]}],"font-size":[{text:["base",s,Oe,_e]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,or,Xo]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Qe,f]}],"font-family":[{font:[er,Qo,t]}],"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:[i,g,f]}],"line-clamp":[{"line-clamp":[j,"none",g,vt]}],leading:[{leading:[l,...p()]}],"list-image":[{"list-image":["none",g,f]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",g,f]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:h()}],"text-color":[{text:h()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ie(),"wavy"]}],"text-decoration-thickness":[{decoration:[j,"from-font","auto",g,_e]}],"text-decoration-color":[{decoration:h()}],"underline-offset":[{"underline-offset":[j,"auto",g,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,g,f]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",g,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",g,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:Y()}],"bg-repeat":[{bg:Se()}],"bg-size":[{bg:_()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},pe,g,f],radial:["",g,f],conic:[pe,g,f]},sr,Zo]}],"bg-color":[{bg:h()}],"gradient-from-pos":[{from:A()}],"gradient-via-pos":[{via:A()}],"gradient-to-pos":[{to:A()}],"gradient-from":[{from:h()}],"gradient-via":[{via:h()}],"gradient-to":[{to:h()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:P()}],"border-w-x":[{"border-x":P()}],"border-w-y":[{"border-y":P()}],"border-w-s":[{"border-s":P()}],"border-w-e":[{"border-e":P()}],"border-w-bs":[{"border-bs":P()}],"border-w-be":[{"border-be":P()}],"border-w-t":[{"border-t":P()}],"border-w-r":[{"border-r":P()}],"border-w-b":[{"border-b":P()}],"border-w-l":[{"border-l":P()}],"divide-x":[{"divide-x":P()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":P()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ie(),"hidden","none"]}],"divide-style":[{divide:[...ie(),"hidden","none"]}],"border-color":[{border:h()}],"border-color-x":[{"border-x":h()}],"border-color-y":[{"border-y":h()}],"border-color-s":[{"border-s":h()}],"border-color-e":[{"border-e":h()}],"border-color-bs":[{"border-bs":h()}],"border-color-be":[{"border-be":h()}],"border-color-t":[{"border-t":h()}],"border-color-r":[{"border-r":h()}],"border-color-b":[{"border-b":h()}],"border-color-l":[{"border-l":h()}],"divide-color":[{divide:h()}],"outline-style":[{outline:[...ie(),"none","hidden"]}],"outline-offset":[{"outline-offset":[j,g,f]}],"outline-w":[{outline:["",j,Oe,_e]}],"outline-color":[{outline:h()}],shadow:[{shadow:["","none",x,Ue,Ve]}],"shadow-color":[{shadow:h()}],"inset-shadow":[{"inset-shadow":["none",a,Ue,Ve]}],"inset-shadow-color":[{"inset-shadow":h()}],"ring-w":[{ring:P()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:h()}],"ring-offset-w":[{"ring-offset":[j,_e]}],"ring-offset-color":[{"ring-offset":h()}],"inset-ring-w":[{"inset-ring":P()}],"inset-ring-color":[{"inset-ring":h()}],"text-shadow":[{"text-shadow":["none",E,Ue,Ve]}],"text-shadow-color":[{"text-shadow":h()}],opacity:[{opacity:[j,g,f]}],"mix-blend":[{"mix-blend":[...z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":z()}],"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":[j]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":h()}],"mask-image-linear-to-color":[{"mask-linear-to":h()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":h()}],"mask-image-t-to-color":[{"mask-t-to":h()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":h()}],"mask-image-r-to-color":[{"mask-r-to":h()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":h()}],"mask-image-b-to-color":[{"mask-b-to":h()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":h()}],"mask-image-l-to-color":[{"mask-l-to":h()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":h()}],"mask-image-x-to-color":[{"mask-x-to":h()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":h()}],"mask-image-y-to-color":[{"mask-y-to":h()}],"mask-image-radial":[{"mask-radial":[g,f]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":h()}],"mask-image-radial-to-color":[{"mask-radial-to":h()}],"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":te()}],"mask-image-conic-pos":[{"mask-conic":[j]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":h()}],"mask-image-conic-to-color":[{"mask-conic-to":h()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Y()}],"mask-repeat":[{mask:Se()}],"mask-size":[{mask:_()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",g,f]}],filter:[{filter:["","none",g,f]}],blur:[{blur:Ne()}],brightness:[{brightness:[j,g,f]}],contrast:[{contrast:[j,g,f]}],"drop-shadow":[{"drop-shadow":["","none",T,Ue,Ve]}],"drop-shadow-color":[{"drop-shadow":h()}],grayscale:[{grayscale:["",j,g,f]}],"hue-rotate":[{"hue-rotate":[j,g,f]}],invert:[{invert:["",j,g,f]}],saturate:[{saturate:[j,g,f]}],sepia:[{sepia:["",j,g,f]}],"backdrop-filter":[{"backdrop-filter":["","none",g,f]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[j,g,f]}],"backdrop-contrast":[{"backdrop-contrast":[j,g,f]}],"backdrop-grayscale":[{"backdrop-grayscale":["",j,g,f]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[j,g,f]}],"backdrop-invert":[{"backdrop-invert":["",j,g,f]}],"backdrop-opacity":[{"backdrop-opacity":[j,g,f]}],"backdrop-saturate":[{"backdrop-saturate":[j,g,f]}],"backdrop-sepia":[{"backdrop-sepia":["",j,g,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",g,f]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[j,"initial",g,f]}],ease:[{ease:["linear","initial",N,g,f]}],delay:[{delay:[j,g,f]}],animate:[{animate:["none",B,g,f]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[L,g,f]}],"perspective-origin":[{"perspective-origin":ae()}],rotate:[{rotate:ge()}],"rotate-x":[{"rotate-x":ge()}],"rotate-y":[{"rotate-y":ge()}],"rotate-z":[{"rotate-z":ge()}],scale:[{scale:le()}],"scale-x":[{"scale-x":le()}],"scale-y":[{"scale-y":le()}],"scale-z":[{"scale-z":le()}],"scale-3d":["scale-3d"],skew:[{skew:Ae()}],"skew-x":[{"skew-x":Ae()}],"skew-y":[{"skew-y":Ae()}],transform:[{transform:[g,f,"","none","gpu","cpu"]}],"transform-origin":[{origin:ae()}],"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,g,f]}],accent:[{accent:h()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:h()}],"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",g,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":h()}],"scrollbar-track-color":[{"scrollbar-track":h()}],"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",g,f]}],fill:[{fill:["none",...h()]}],"stroke-w":[{stroke:[j,Oe,_e,vt]}],stroke:[{stroke:["none",...h()]}],"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"]}},nr=Do(ar);function ee(...e){return nr(Xt(e))}const ir=Ws,lr=Hs,cr=b.forwardRef(({className:e,inset:t,children:s,...o},i)=>r.jsxs(At,{ref:i,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",t&&"pl-8",e),...o,children:[s,r.jsx(Fs,{className:"ml-auto"})]}));cr.displayName=At.displayName;const dr=b.forwardRef(({className:e,...t},s)=>r.jsx(It,{ref:s,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),...t}));dr.displayName=It.displayName;const ms=b.forwardRef(({className:e,sideOffset:t=4,...s},o)=>r.jsx(Vs,{children:r.jsx(Ot,{ref:o,sideOffset:t,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),...s})}));ms.displayName=Ot.displayName;const De=b.forwardRef(({className:e,inset:t,...s},o)=>r.jsx(Lt,{ref:o,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",t&&"pl-8",e),...s}));De.displayName=Lt.displayName;const ur=b.forwardRef(({className:e,children:t,checked:s,...o},i)=>r.jsxs(Dt,{ref:i,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:s,...o,children:[r.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsx(Mt,{children:r.jsx(Us,{className:"h-4 w-4"})})}),t]}));ur.displayName=Dt.displayName;const mr=b.forwardRef(({className:e,children:t,...s},o)=>r.jsxs(Bt,{ref:o,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),...s,children:[r.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsx(Mt,{children:r.jsx(Gs,{className:"h-2 w-2 fill-current"})})}),t]}));mr.displayName=Bt.displayName;const pr=b.forwardRef(({className:e,inset:t,...s},o)=>r.jsx($t,{ref:o,className:ee("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...s}));pr.displayName=$t.displayName;const tt=b.forwardRef(({className:e,...t},s)=>r.jsx(Ft,{ref:s,className:ee("-mx-1 my-1 h-px bg-muted",e),...t}));tt.displayName=Ft.displayName;const ps="j13-cache-boards",fs="j13-cache-stats";function hs(e){try{const t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function gs(e,t){try{sessionStorage.setItem(e,JSON.stringify(t))}catch{}}function jt(){return hs(ps)??[]}function St(){return hs(fs)}function fr(e){gs(ps,e)}function hr(e){gs(fs,e)}const gr=[{key:"latest",label:"最新发帖",hint:"按发布时间",icon:Ys},{key:"reply",label:"最新回复",hint:"最近有人回复",icon:qs},{key:"hot",label:"热门讨论",hint:"按互动热度",icon:Js}];function bs(e){return e==="reply"||e==="hot"?e:"latest"}function He(e,t="latest"){const s=new URLSearchParams;e&&s.set("board",String(e)),t!=="latest"&&s.set("sort",t);const o=s.toString();return o?`/?${o}`:"/"}function Sa({value:e,onChange:t,postTotal:s}){return r.jsxs("div",{className:"feed-toolbar",children:[r.jsx("div",{className:"feed-sort-bar",role:"tablist","aria-label":"帖子排序",children:gr.map(({key:o,label:i,hint:l,icon:n})=>r.jsxs("button",{type:"button",role:"tab","aria-selected":e===o,title:`${i} · ${l}`,className:ee("feed-sort-tab",e===o&&"active"),onClick:()=>t(o),children:[r.jsx(n,{"aria-hidden":!0}),r.jsx("span",{className:"feed-sort-tab__label",children:i})]},o))}),s!=null&&r.jsxs("span",{className:"feed-toolbar__count",children:["共 ",s," 条"]})]})}const xs="j13-feed-cache:";function ys(e,t,s){return`${xs}${e}:${t}:${s}`}function Na(e,t,s){try{const o=sessionStorage.getItem(ys(e,t,s));return o?JSON.parse(o):null}catch{return null}}function Ea(e,t,s,o){try{sessionStorage.setItem(ys(e,t,s),JSON.stringify(o))}catch{}}function br(){try{for(let e=sessionStorage.length-1;e>=0;e--){const t=sessionStorage.key(e);t!=null&&t.startsWith(xs)&&sessionStorage.removeItem(t)}}catch{}}const xr="feed-reset";function Me(e,t){br(),window.dispatchEvent(new Event(xr)),e(t,{state:{refreshFeed:!0}})}const yr=["/post/","/profile"];function vs(e){return yr.some(t=>e.startsWith(t))}function vr(e,t){return vs(e)?null:e.startsWith("/favorites")?"favorites":e.startsWith("/admin")?"admin":t===0?"all":String(t)}function wr({boards:e,activeBoard:t,onSelectBoard:s}){const o=qe(),i=Pt(),[l]=Rt(),n=bs(l.get("sort")),{user:d}=Je(),m=(d==null?void 0:d.role)==="admin",c=vr(i.pathname,t),x=(a,E,T,R)=>r.jsxs("button",{type:"button",className:ee("sidebar-nav-item",c!=null&&c===a&&"active"),onClick:R,children:[T,r.jsx("span",{className:"flex-1 truncate",children:E})]},a);return r.jsxs("aside",{className:"sidebar",children:[r.jsx("div",{className:"sidebar-section",children:"浏览"}),r.jsxs("nav",{className:"sidebar-nav",children:[x("all","全部帖子",r.jsx(Ks,{}),()=>{s(0),Me(o,He(0,n))}),d&&x("favorites","我的收藏",r.jsx(Xs,{}),()=>o("/favorites"))]}),e.length>0&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"sidebar-section",style:{marginTop:8},children:"板块"}),r.jsx("nav",{className:"sidebar-nav",children:e.map(a=>r.jsx("button",{type:"button",className:ee("sidebar-nav-item",c!=null&&c===String(a.id)&&"active"),onClick:()=>{s(a.id),Me(o,He(a.id,n))},children:r.jsx("span",{className:"flex-1 truncate",children:a.name})},a.id))})]}),m&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"sidebar-section",style:{marginTop:8},children:"管理"}),r.jsx("nav",{className:"sidebar-nav",children:x("admin","管理后台",r.jsx(Vt,{}),()=>o("/admin/dashboard"))})]})]})}function kr({hot:e,notifications:t,online:s,onPostClick:o}){const i=(e==null?void 0:e.slice(0,8))??[],l=(t==null?void 0:t.slice(0,6))??[],n=(s==null?void 0:s.users)??[];return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"widget-card",children:[r.jsx("div",{className:"widget-card-head",children:"🔥 热门帖子"}),r.jsx("div",{className:"widget-card-body",children:i.length===0?r.jsx("div",{style:{fontSize:13,color:"var(--color-text-3)",padding:"8px 0"},children:"暂无数据"}):i.map((d,m)=>r.jsxs("div",{className:"widget-item",onClick:()=>o(d.id),children:[r.jsx("span",{style:{color:m<3?"#e74c3c":"var(--color-text-3)",fontWeight:600,minWidth:18},children:m+1}),r.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d.title})]},d.id))})]}),r.jsxs("div",{className:"widget-card",children:[r.jsx("div",{className:"widget-card-head",children:"📢 最新动态"}),r.jsx("div",{className:"widget-card-body",children:l.length===0?r.jsx("div",{style:{fontSize:13,color:"var(--color-text-3)",padding:"8px 0"},children:"暂无动态"}):l.map(d=>r.jsxs("div",{className:"widget-item",onClick:()=>o(d.id),children:[r.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d.title}),r.jsx("span",{style:{fontSize:11,color:"var(--color-text-4)",flexShrink:0},children:d.created_at})]},d.id))})]}),r.jsxs("div",{className:"widget-card",children:[r.jsxs("div",{className:"widget-card-head",children:["👀 当前浏览 ",(s==null?void 0:s.count)??"—"," 人"]}),r.jsxs("div",{className:"widget-card-body",children:[r.jsxs("div",{style:{fontSize:12,color:"var(--color-text-3)",marginBottom:8},children:["会员 ",(s==null?void 0:s.members)??0," · 游客 ",(s==null?void 0:s.guests)??0]}),r.jsxs("div",{className:"widget-online-list",children:[n.map(d=>{var m;return r.jsx("span",{className:"widget-online-avatar",title:d.nickname,children:d.avatar?r.jsx("img",{src:d.avatar,alt:""}):((m=d.nickname)==null?void 0:m[0])||"?"},d.id)}),n.length===0&&r.jsx("span",{style:{fontSize:13,color:"var(--color-text-3)"},children:"暂无会员在线"})]})]})]}),r.jsx("div",{className:"widget-card widget-card--about",children:r.jsx("div",{className:"widget-card-body",children:r.jsxs("p",{className:"widget-about-text",children:[r.jsx("strong",{children:"姜十三论坛"}),"拾三一隅,自在交流。轻量社区,专为小圈子打造。"]})})})]})}const ws={post_title_max:128,post_tags_max:256,post_content_max:5e4,comment_max:5e3,search_keyword_min:1,search_keyword_max:50,page_size_default:30,feed_max_pages:10,feed_max_items:300,password_min_len:6,avatar_max_mb:2};let ze=null,Le=null;function jr(){return ze?Promise.resolve(ze):Le||(Le=he.forumLimits().then(e=>(ze=e,e)).catch(()=>ws).finally(()=>{Le=null}),Le)}function Sr(){const[e,t]=b.useState(ze??ws),[s,o]=b.useState(!ze);return b.useEffect(()=>{jr().then(t).finally(()=>o(!1))},[]),{limits:e,loading:s}}function _a(){ze=null}function Nr(e){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css",t.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}const Er=e=>{switch(e){case"success":return Cr;case"info":return Rr;case"warning":return Pr;case"error":return zr;default:return null}},_r=Array(12).fill(0),Tr=({visible:e,className:t})=>u.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},u.createElement("div",{className:"sonner-spinner"},_r.map((s,o)=>u.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${o}`})))),Cr=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"})),Pr=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"})),Rr=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"})),zr=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"})),Ar=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"})),Ir=()=>{const[e,t]=u.useState(document.hidden);return u.useEffect(()=>{const s=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",s),()=>window.removeEventListener("visibilitychange",s)},[]),e};let st=1;class Or{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{const s=this.subscribers.indexOf(t);this.subscribers.splice(s,1)}),this.publish=t=>{this.subscribers.forEach(s=>s(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var s;const{message:o,...i}=t,l=typeof(t==null?void 0:t.id)=="number"||((s=t.id)==null?void 0:s.length)>0?t.id:st++,n=this.toasts.find(m=>m.id===l),d=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(l)&&this.dismissedToasts.delete(l),n?this.toasts=this.toasts.map(m=>m.id===l?(this.publish({...m,...t,id:l,title:o}),{...m,...t,id:l,dismissible:d,title:o}):m):this.addToast({title:o,...i,dismissible:d,id:l}),l},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(s=>s({id:t,dismiss:!0})))):this.toasts.forEach(s=>{this.subscribers.forEach(o=>o({id:s.id,dismiss:!0}))}),t),this.message=(t,s)=>this.create({...s,message:t}),this.error=(t,s)=>this.create({...s,message:t,type:"error"}),this.success=(t,s)=>this.create({...s,type:"success",message:t}),this.info=(t,s)=>this.create({...s,type:"info",message:t}),this.warning=(t,s)=>this.create({...s,type:"warning",message:t}),this.loading=(t,s)=>this.create({...s,type:"loading",message:t}),this.promise=(t,s)=>{if(!s)return;let o;s.loading!==void 0&&(o=this.create({...s,promise:t,type:"loading",message:s.loading,description:typeof s.description!="function"?s.description:void 0}));const i=Promise.resolve(t instanceof Function?t():t);let l=o!==void 0,n;const d=i.then(async c=>{if(n=["resolve",c],u.isValidElement(c))l=!1,this.create({id:o,type:"default",message:c});else if(Dr(c)&&!c.ok){l=!1;const a=typeof s.error=="function"?await s.error(`HTTP error! status: ${c.status}`):s.error,E=typeof s.description=="function"?await s.description(`HTTP error! status: ${c.status}`):s.description,R=typeof a=="object"&&!u.isValidElement(a)?a:{message:a};this.create({id:o,type:"error",description:E,...R})}else if(c instanceof Error){l=!1;const a=typeof s.error=="function"?await s.error(c):s.error,E=typeof s.description=="function"?await s.description(c):s.description,R=typeof a=="object"&&!u.isValidElement(a)?a:{message:a};this.create({id:o,type:"error",description:E,...R})}else if(s.success!==void 0){l=!1;const a=typeof s.success=="function"?await s.success(c):s.success,E=typeof s.description=="function"?await s.description(c):s.description,R=typeof a=="object"&&!u.isValidElement(a)?a:{message:a};this.create({id:o,type:"success",description:E,...R})}}).catch(async c=>{if(n=["reject",c],s.error!==void 0){l=!1;const x=typeof s.error=="function"?await s.error(c):s.error,a=typeof s.description=="function"?await s.description(c):s.description,T=typeof x=="object"&&!u.isValidElement(x)?x:{message:x};this.create({id:o,type:"error",description:a,...T})}}).finally(()=>{l&&(this.dismiss(o),o=void 0),s.finally==null||s.finally.call(s)}),m=()=>new Promise((c,x)=>d.then(()=>n[0]==="reject"?x(n[1]):c(n[1])).catch(x));return typeof o!="string"&&typeof o!="number"?{unwrap:m}:Object.assign(o,{unwrap:m})},this.custom=(t,s)=>{const o=(s==null?void 0:s.id)||st++;return this.create({jsx:t(o),id:o,...s}),o},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Z=new Or,Lr=(e,t)=>{const s=(t==null?void 0:t.id)||st++;return Z.addToast({title:e,...t,id:s}),s},Dr=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Mr=Lr,Br=()=>Z.toasts,$r=()=>Z.getActiveToasts(),Ze=Object.assign(Mr,{success:Z.success,info:Z.info,warning:Z.warning,error:Z.error,custom:Z.custom,message:Z.message,promise:Z.promise,dismiss:Z.dismiss,loading:Z.loading},{getHistory:Br,getToasts:$r});Nr("[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 Ge(e){return e.label!==void 0}const Fr=3,Vr="24px",Ur="16px",Nt=4e3,Gr=356,Wr=14,Hr=45,Yr=200;function fe(...e){return e.filter(Boolean).join(" ")}function qr(e){const[t,s]=e.split("-"),o=[];return t&&o.push(t),s&&o.push(s),o}const Jr=e=>{var t,s,o,i,l,n,d,m,c;const{invert:x,toast:a,unstyled:E,interacting:T,setHeights:R,visibleToasts:L,heights:O,index:N,toasts:B,expanded:X,removeToast:te,defaultRichColors:ae,closeButton:$,style:D,cancelButtonStyle:p,actionButtonStyle:M,className:ue="",descriptionClassName:J="",duration:K,position:W,gap:me,expandByDefault:Q,classNames:w,icons:C,closeButtonAriaLabel:y="Close toast"}=e,[F,h]=u.useState(null),[Y,Se]=u.useState(null),[_,A]=u.useState(!1),[S,P]=u.useState(!1),[ie,z]=u.useState(!1),[I,Ne]=u.useState(!1),[ge,le]=u.useState(!1),[Ae,ve]=u.useState(0),[js,at]=u.useState(0),Ie=u.useRef(a.duration||K||Nt),nt=u.useRef(null),be=u.useRef(null),Ss=N===0,Ns=N+1<=L,se=a.type,Ce=a.dismissible!==!1,Es=a.className||"",_s=a.descriptionClassName||"",Be=u.useMemo(()=>O.findIndex(k=>k.toastId===a.id)||0,[O,a.id]),Ts=u.useMemo(()=>{var k;return(k=a.closeButton)!=null?k:$},[a.closeButton,$]),it=u.useMemo(()=>a.duration||K||Nt,[a.duration,K]),Ke=u.useRef(0),Pe=u.useRef(0),lt=u.useRef(0),Re=u.useRef(null),[Cs,Ps]=W.split("-"),ct=u.useMemo(()=>O.reduce((k,U,q)=>q>=Be?k:k+U.height,0),[O,Be]),dt=Ir(),Rs=a.invert||x,Xe=se==="loading";Pe.current=u.useMemo(()=>Be*me+ct,[Be,ct]),u.useEffect(()=>{Ie.current=it},[it]),u.useEffect(()=>{A(!0)},[]),u.useEffect(()=>{const k=be.current;if(k){const U=k.getBoundingClientRect().height;return at(U),R(q=>[{toastId:a.id,height:U,position:a.position},...q]),()=>R(q=>q.filter(oe=>oe.toastId!==a.id))}},[R,a.id]),u.useLayoutEffect(()=>{if(!_)return;const k=be.current,U=k.style.height;k.style.height="auto";const q=k.getBoundingClientRect().height;k.style.height=U,at(q),R(oe=>oe.find(H=>H.toastId===a.id)?oe.map(H=>H.toastId===a.id?{...H,height:q}:H):[{toastId:a.id,height:q,position:a.position},...oe])},[_,a.title,a.description,R,a.id,a.jsx,a.action,a.cancel]);const we=u.useCallback(()=>{P(!0),ve(Pe.current),R(k=>k.filter(U=>U.toastId!==a.id)),setTimeout(()=>{te(a)},Yr)},[a,te,R,Pe]);u.useEffect(()=>{if(a.promise&&se==="loading"||a.duration===1/0||a.type==="loading")return;let k;return X||T||dt?(()=>{if(lt.current<Ke.current){const oe=new Date().getTime()-Ke.current;Ie.current=Ie.current-oe}lt.current=new Date().getTime()})():(()=>{Ie.current!==1/0&&(Ke.current=new Date().getTime(),k=setTimeout(()=>{a.onAutoClose==null||a.onAutoClose.call(a,a),we()},Ie.current))})(),()=>clearTimeout(k)},[X,T,a,se,dt,we]),u.useEffect(()=>{a.delete&&(we(),a.onDismiss==null||a.onDismiss.call(a,a))},[we,a.delete]);function zs(){var k;if(C!=null&&C.loading){var U;return u.createElement("div",{className:fe(w==null?void 0:w.loader,a==null||(U=a.classNames)==null?void 0:U.loader,"sonner-loader"),"data-visible":se==="loading"},C.loading)}return u.createElement(Tr,{className:fe(w==null?void 0:w.loader,a==null||(k=a.classNames)==null?void 0:k.loader),visible:se==="loading"})}const As=a.icon||(C==null?void 0:C[se])||Er(se);var ut,mt;return u.createElement("li",{tabIndex:0,ref:be,className:fe(ue,Es,w==null?void 0:w.toast,a==null||(t=a.classNames)==null?void 0:t.toast,w==null?void 0:w.default,w==null?void 0:w[se],a==null||(s=a.classNames)==null?void 0:s[se]),"data-sonner-toast":"","data-rich-colors":(ut=a.richColors)!=null?ut:ae,"data-styled":!(a.jsx||a.unstyled||E),"data-mounted":_,"data-promise":!!a.promise,"data-swiped":ge,"data-removed":S,"data-visible":Ns,"data-y-position":Cs,"data-x-position":Ps,"data-index":N,"data-front":Ss,"data-swiping":ie,"data-dismissible":Ce,"data-type":se,"data-invert":Rs,"data-swipe-out":I,"data-swipe-direction":Y,"data-expanded":!!(X||Q&&_),"data-testid":a.testId,style:{"--index":N,"--toasts-before":N,"--z-index":B.length-N,"--offset":`${S?Ae:Pe.current}px`,"--initial-height":Q?"auto":`${js}px`,...D,...a.style},onDragEnd:()=>{z(!1),h(null),Re.current=null},onPointerDown:k=>{k.button!==2&&(Xe||!Ce||(nt.current=new Date,ve(Pe.current),k.target.setPointerCapture(k.pointerId),k.target.tagName!=="BUTTON"&&(z(!0),Re.current={x:k.clientX,y:k.clientY})))},onPointerUp:()=>{var k,U,q;if(I||!Ce)return;Re.current=null;const oe=Number(((k=be.current)==null?void 0:k.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),$e=Number(((U=be.current)==null?void 0:U.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),H=new Date().getTime()-((q=nt.current)==null?void 0:q.getTime()),ne=F==="x"?oe:$e,Fe=Math.abs(ne)/H;if(Math.abs(ne)>=Hr||Fe>.11){ve(Pe.current),a.onDismiss==null||a.onDismiss.call(a,a),Se(F==="x"?oe>0?"right":"left":$e>0?"down":"up"),we(),Ne(!0);return}else{var ce,de;(ce=be.current)==null||ce.style.setProperty("--swipe-amount-x","0px"),(de=be.current)==null||de.style.setProperty("--swipe-amount-y","0px")}le(!1),z(!1),h(null)},onPointerMove:k=>{var U,q,oe;if(!Re.current||!Ce||((U=window.getSelection())==null?void 0:U.toString().length)>0)return;const H=k.clientY-Re.current.y,ne=k.clientX-Re.current.x;var Fe;const ce=(Fe=e.swipeDirections)!=null?Fe:qr(W);!F&&(Math.abs(ne)>1||Math.abs(H)>1)&&h(Math.abs(ne)>Math.abs(H)?"x":"y");let de={x:0,y:0};const pt=Ee=>1/(1.5+Math.abs(Ee)/20);if(F==="y"){if(ce.includes("top")||ce.includes("bottom"))if(ce.includes("top")&&H<0||ce.includes("bottom")&&H>0)de.y=H;else{const Ee=H*pt(H);de.y=Math.abs(Ee)<Math.abs(H)?Ee:H}}else if(F==="x"&&(ce.includes("left")||ce.includes("right")))if(ce.includes("left")&&ne<0||ce.includes("right")&&ne>0)de.x=ne;else{const Ee=ne*pt(ne);de.x=Math.abs(Ee)<Math.abs(ne)?Ee:ne}(Math.abs(de.x)>0||Math.abs(de.y)>0)&&le(!0),(q=be.current)==null||q.style.setProperty("--swipe-amount-x",`${de.x}px`),(oe=be.current)==null||oe.style.setProperty("--swipe-amount-y",`${de.y}px`)}},Ts&&!a.jsx&&se!=="loading"?u.createElement("button",{"aria-label":y,"data-disabled":Xe,"data-close-button":!0,onClick:Xe||!Ce?()=>{}:()=>{we(),a.onDismiss==null||a.onDismiss.call(a,a)},className:fe(w==null?void 0:w.closeButton,a==null||(o=a.classNames)==null?void 0:o.closeButton)},(mt=C==null?void 0:C.close)!=null?mt:Ar):null,(se||a.icon||a.promise)&&a.icon!==null&&((C==null?void 0:C[se])!==null||a.icon)?u.createElement("div",{"data-icon":"",className:fe(w==null?void 0:w.icon,a==null||(i=a.classNames)==null?void 0:i.icon)},a.promise||a.type==="loading"&&!a.icon?a.icon||zs():null,a.type!=="loading"?As:null):null,u.createElement("div",{"data-content":"",className:fe(w==null?void 0:w.content,a==null||(l=a.classNames)==null?void 0:l.content)},u.createElement("div",{"data-title":"",className:fe(w==null?void 0:w.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(J,_s,w==null?void 0:w.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&&Ge(a.cancel)?u.createElement("button",{"data-button":!0,"data-cancel":!0,style:a.cancelButtonStyle||p,onClick:k=>{Ge(a.cancel)&&Ce&&(a.cancel.onClick==null||a.cancel.onClick.call(a.cancel,k),we())},className:fe(w==null?void 0:w.cancelButton,a==null||(m=a.classNames)==null?void 0:m.cancelButton)},a.cancel.label):null,u.isValidElement(a.action)?a.action:a.action&&Ge(a.action)?u.createElement("button",{"data-button":!0,"data-action":!0,style:a.actionButtonStyle||M,onClick:k=>{Ge(a.action)&&(a.action.onClick==null||a.action.onClick.call(a.action,k),!k.defaultPrevented&&we())},className:fe(w==null?void 0:w.actionButton,a==null||(c=a.classNames)==null?void 0:c.actionButton)},a.action.label):null)};function Et(){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 Kr(e,t){const s={};return[e,t].forEach((o,i)=>{const l=i===1,n=l?"--mobile-offset":"--offset",d=l?Ur:Vr;function m(c){["top","right","bottom","left"].forEach(x=>{s[`${n}-${x}`]=typeof c=="number"?`${c}px`:c})}typeof o=="number"||typeof o=="string"?m(o):typeof o=="object"?["top","right","bottom","left"].forEach(c=>{o[c]===void 0?s[`${n}-${c}`]=d:s[`${n}-${c}`]=typeof o[c]=="number"?`${o[c]}px`:o[c]}):m(d)}),s}const Xr=u.forwardRef(function(t,s){const{id:o,invert:i,position:l="bottom-right",hotkey:n=["altKey","KeyT"],expand:d,closeButton:m,className:c,offset:x,mobileOffset:a,theme:E="light",richColors:T,duration:R,style:L,visibleToasts:O=Fr,toastOptions:N,dir:B=Et(),gap:X=Wr,icons:te,containerAriaLabel:ae="Notifications"}=t,[$,D]=u.useState([]),p=u.useMemo(()=>o?$.filter(_=>_.toasterId===o):$.filter(_=>!_.toasterId),[$,o]),M=u.useMemo(()=>Array.from(new Set([l].concat(p.filter(_=>_.position).map(_=>_.position)))),[p,l]),[ue,J]=u.useState([]),[K,W]=u.useState(!1),[me,Q]=u.useState(!1),[w,C]=u.useState(E!=="system"?E:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),y=u.useRef(null),F=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),h=u.useRef(null),Y=u.useRef(!1),Se=u.useCallback(_=>{D(A=>{var S;return(S=A.find(P=>P.id===_.id))!=null&&S.delete||Z.dismiss(_.id),A.filter(({id:P})=>P!==_.id)})},[]);return u.useEffect(()=>Z.subscribe(_=>{if(_.dismiss){requestAnimationFrame(()=>{D(A=>A.map(S=>S.id===_.id?{...S,delete:!0}:S))});return}setTimeout(()=>{Ls.flushSync(()=>{D(A=>{const S=A.findIndex(P=>P.id===_.id);return S!==-1?[...A.slice(0,S),{...A[S],..._},...A.slice(S+1)]:[_,...A]})})})}),[$]),u.useEffect(()=>{if(E!=="system"){C(E);return}if(E==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?C("dark"):C("light")),typeof window>"u")return;const _=window.matchMedia("(prefers-color-scheme: dark)");try{_.addEventListener("change",({matches:A})=>{C(A?"dark":"light")})}catch{_.addListener(({matches:S})=>{try{C(S?"dark":"light")}catch(P){console.error(P)}})}},[E]),u.useEffect(()=>{$.length<=1&&W(!1)},[$]),u.useEffect(()=>{const _=A=>{var S;if(n.every(z=>A[z]||A.code===z)){var ie;W(!0),(ie=y.current)==null||ie.focus()}A.code==="Escape"&&(document.activeElement===y.current||(S=y.current)!=null&&S.contains(document.activeElement))&&W(!1)};return document.addEventListener("keydown",_),()=>document.removeEventListener("keydown",_)},[n]),u.useEffect(()=>{if(y.current)return()=>{h.current&&(h.current.focus({preventScroll:!0}),h.current=null,Y.current=!1)}},[y.current]),u.createElement("section",{ref:s,"aria-label":`${ae} ${F}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},M.map((_,A)=>{var S;const[P,ie]=_.split("-");return p.length?u.createElement("ol",{key:_,dir:B==="auto"?Et():B,tabIndex:-1,ref:y,className:c,"data-sonner-toaster":!0,"data-sonner-theme":w,"data-y-position":P,"data-x-position":ie,style:{"--front-toast-height":`${((S=ue[0])==null?void 0:S.height)||0}px`,"--width":`${Gr}px`,"--gap":`${X}px`,...L,...Kr(x,a)},onBlur:z=>{Y.current&&!z.currentTarget.contains(z.relatedTarget)&&(Y.current=!1,h.current&&(h.current.focus({preventScroll:!0}),h.current=null))},onFocus:z=>{z.target instanceof HTMLElement&&z.target.dataset.dismissible==="false"||Y.current||(Y.current=!0,h.current=z.relatedTarget)},onMouseEnter:()=>W(!0),onMouseMove:()=>W(!0),onMouseLeave:()=>{me||W(!1)},onDragEnd:()=>W(!1),onPointerDown:z=>{z.target instanceof HTMLElement&&z.target.dataset.dismissible==="false"||Q(!0)},onPointerUp:()=>Q(!1)},p.filter(z=>!z.position&&A===0||z.position===_).map((z,I)=>{var Ne,ge;return u.createElement(Jr,{key:z.id,icons:te,index:I,toast:z,defaultRichColors:T,duration:(Ne=N==null?void 0:N.duration)!=null?Ne:R,className:N==null?void 0:N.className,descriptionClassName:N==null?void 0:N.descriptionClassName,invert:i,visibleToasts:O,closeButton:(ge=N==null?void 0:N.closeButton)!=null?ge:m,interacting:me,position:_,style:N==null?void 0:N.style,unstyled:N==null?void 0:N.unstyled,classNames:N==null?void 0:N.classNames,cancelButtonStyle:N==null?void 0:N.cancelButtonStyle,actionButtonStyle:N==null?void 0:N.actionButtonStyle,closeButtonAriaLabel:N==null?void 0:N.closeButtonAriaLabel,removeToast:Se,toasts:p.filter(le=>le.position==z.position),heights:ue.filter(le=>le.position==z.position),setHeights:J,expandByDefault:d,gap:X,expanded:K,swipeDirections:t.swipeDirections})})):null}))}),Ye={success:e=>Ze.success(e),error:e=>Ze.error(e),warning:e=>Ze.warning(e)};function Qr(){var C;const{user:e,loading:t,logout:s}=Je(),{theme:o,toggle:i}=Jt(),l=ho("(max-width: 768px)"),n=qe(),d=Pt(),[m]=Rt(),c=d.pathname.startsWith("/compose")||/\/post\/\d+\/edit$/.test(d.pathname),[x,a]=b.useState(()=>jt()),[E,T]=b.useState(()=>St()),[R,L]=b.useState(()=>jt().length>0||!!St()),[O,N]=b.useState([]),[B,X]=b.useState([]),[te,ae]=b.useState(null),[$,D]=b.useState(Number(m.get("board"))||0),[p,M]=b.useState(m.get("keyword")||""),ue=bs(m.get("sort")),{limits:J}=Sr();b.useEffect(()=>{D(Number(m.get("board"))||0)},[m]),b.useEffect(()=>{M(m.get("keyword")||"")},[m]);const K=b.useCallback(()=>{Promise.all([he.boards().then(y=>{const F=y.boards??[];return a(F),fr(F),F}).catch(()=>[]),he.stats().then(y=>(T(y),hr(y),y)).catch(()=>null)]).finally(()=>L(!0))},[]),W=b.useCallback(()=>{he.online().then(y=>{ae({count:y.count??0,members:y.members??0,guests:y.guests??0,users:Array.isArray(y.users)?y.users:[]})}).catch(()=>{})},[]);b.useEffect(()=>{K(),he.hotPosts().then(Y=>N(Array.isArray(Y.posts)?Y.posts:[])).catch(()=>{}),he.notifications().then(Y=>X(Array.isArray(Y.notifications)?Y.notifications:[])).catch(()=>{}),W(),he.presence().catch(()=>{});const y=setInterval(W,3e4),F=setInterval(()=>he.presence().catch(()=>{}),6e4),h=()=>K();return window.addEventListener("boards-refresh",h),()=>{clearInterval(y),clearInterval(F),window.removeEventListener("boards-refresh",h)}},[K,W]);const me=()=>{const y=p.trim();if(!y){n("/");return}const F=[...y].length;if(J.search_keyword_min>0&&F<J.search_keyword_min){Ye.warning(`搜索关键词至少 ${J.search_keyword_min} 个字`);return}if(J.search_keyword_max>0&&F>J.search_keyword_max){Ye.warning(`搜索关键词最多 ${J.search_keyword_max} 个字`);return}n(`/?keyword=${encodeURIComponent(y)}`)},Q=((C=e==null?void 0:e.nickname)==null?void 0:C.charAt(0))||"?",w=vs(d.pathname)?-1:$;return r.jsx("div",{className:"app-shell",children:r.jsxs("div",{className:"app-frame",children:[r.jsx("header",{className:"app-header",children:r.jsxs("div",{className:"header-inner",children:[r.jsxs("button",{type:"button",className:"header-brand",onClick:()=>Me(n,"/"),children:[r.jsx("span",{className:"header-logo-mark",children:"姜"}),!l&&r.jsx("span",{className:"header-logo-text",children:"姜十三论坛"})]}),!c&&r.jsxs("div",{className:"header-search-wrap",children:[r.jsx(Qs,{className:"header-search-icon",size:16}),r.jsx("input",{className:"header-search-input",type:"search",placeholder:"搜索帖子...",value:p,onChange:y=>M(y.target.value),maxLength:J.search_keyword_max>0?J.search_keyword_max:void 0,onKeyDown:y=>y.key==="Enter"&&me()}),p&&r.jsx("button",{type:"button",className:"header-search-clear",onClick:()=>{M(""),n("/")},"aria-label":"清除搜索",children:"×"})]}),r.jsxs("div",{className:"header-actions",children:[!c&&r.jsxs("button",{type:"button",className:"header-compose-btn",onClick:()=>n(e?"/compose":"/login"),children:[r.jsx(Zs,{size:16}),!l&&r.jsx("span",{children:"发帖"})]}),r.jsxs("div",{className:"header-action-group",children:[r.jsx("button",{type:"button",className:"header-icon-btn",onClick:i,title:o==="light"?"切换暗色模式":"切换亮色模式",children:o==="light"?r.jsx(eo,{size:18}):r.jsx(to,{size:18})}),t?r.jsx("span",{className:"header-auth-slot header-auth-slot--loading","aria-hidden":!0}):e?r.jsxs(ir,{children:[r.jsx(lr,{asChild:!0,children:r.jsx("button",{type:"button",className:"header-user-btn",title:e.nickname,children:e.avatar?r.jsx("img",{src:e.avatar,alt:"",className:"header-user-avatar"}):r.jsx("span",{className:"header-user-initial",children:Q})})}),r.jsxs(ms,{align:"end",className:"w-40",onCloseAutoFocus:y=>y.preventDefault(),children:[r.jsx(De,{onClick:()=>n("/profile"),children:"个人中心"}),r.jsx(De,{onClick:()=>n("/favorites"),children:"我的收藏"}),e.role==="admin"&&r.jsxs(r.Fragment,{children:[r.jsx(tt,{}),r.jsx(De,{onClick:()=>n("/admin/dashboard"),children:"管理后台"})]}),r.jsx(tt,{}),r.jsx(De,{onClick:()=>s().then(()=>n("/login")),children:"退出登录"})]})]}):r.jsx("button",{type:"button",className:"header-login-btn",onClick:()=>n("/login"),children:"登录"})]})]})]})}),r.jsxs("div",{className:`app-body${c?" app-body--compose":""}`,children:[!c&&r.jsx(wr,{boards:x,activeBoard:$,onSelectBoard:D}),r.jsxs("div",{className:`content-workspace${c?" content-workspace--compose":""}`,children:[r.jsxs("main",{className:`main-content${c?" main-content--compose":""}`,children:[l&&!c&&r.jsxs("div",{className:"mobile-board-bar",children:[r.jsx("span",{className:`board-chip ${w===0?"active":""}`,onClick:()=>{D(0),Me(n,He(0,ue))},children:"全部"}),x.map(y=>r.jsx("span",{className:`board-chip ${w===y.id?"active":""}`,onClick:()=>{D(y.id),Me(n,He(y.id,ue))},children:y.name},y.id))]}),r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(zt,{context:{boardId:$,keyword:m.get("keyword")||"",setBoardId:D,boards:x,stats:E,layoutReady:R,refreshBoards:K,isMobile:l}})})]}),!c&&r.jsx("aside",{className:"aside-panel",children:r.jsx(kr,{hot:O,notifications:B,online:te,onPostClick:y=>n(`/post/${y}`)})})]})]})]})})}const Zr={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-8 w-8"};function ea({className:e,size:t="md"}){return r.jsx(Ut,{className:ee("animate-spin text-[var(--j13-green)]",Zr[t],e),"aria-label":"加载中"})}const ta=[{to:"/admin/dashboard",label:"仪表盘",icon:Vt},{to:"/admin/boards",label:"板块管理",icon:oo},{to:"/admin/posts",label:"帖子管理",icon:ro},{to:"/admin/comments",label:"评论管理",icon:ao},{to:"/admin/users",label:"用户管理",icon:no},{to:"/admin/settings",label:"系统设置",icon:io}];function sa(){const{user:e,loading:t}=Je(),s=qe();return b.useEffect(()=>{if(!t){if(!e){s("/login");return}e.role!=="admin"&&(Ye.warning("需要管理员权限"),s("/"))}},[e,t,s]),t?r.jsx("div",{className:"flex justify-center py-24",children:r.jsx(ea,{size:"lg"})}):!e||e.role!=="admin"?null:r.jsxs("div",{className:"admin-shell",children:[r.jsxs("header",{className:"admin-topbar",children:[r.jsxs("div",{className:"admin-topbar-brand",children:[r.jsx("div",{className:"admin-topbar-mark",children:"姜"}),r.jsxs("div",{children:[r.jsx("div",{className:"admin-topbar-title",children:"姜十三论坛"}),r.jsx("div",{className:"admin-topbar-sub",children:"管理后台"})]})]}),r.jsxs("div",{className:"admin-topbar-actions",children:[r.jsxs("button",{type:"button",className:"admin-link-btn",onClick:()=>s("/"),children:[r.jsx(so,{size:16}),"返回论坛"]}),r.jsx("span",{className:"admin-topbar-user",children:e.nickname})]})]}),r.jsxs("div",{className:"admin-body",children:[r.jsx("aside",{className:"admin-sidebar",children:ta.map(({to:o,label:i,icon:l})=>r.jsxs(Ds,{to:o,className:({isActive:n})=>ee("admin-nav-item",n&&"active"),children:[r.jsx(l,{size:16}),i]},o))}),r.jsx("main",{className:"admin-main",children:r.jsx(zt,{})})]})]})}function Ta(){const{user:e,loading:t}=Je(),s=qe();return b.useEffect(()=>{t||(e?e.role!=="admin"&&(Ye.warning("需要管理员权限"),s("/")):s("/login"))},[e,t,s]),{user:e,loading:t,ready:!t&&!!e&&e.role==="admin"}}const _t=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Tt=Xt,oa=(e,t)=>s=>{var o;if((t==null?void 0:t.variants)==null)return Tt(e,s==null?void 0:s.class,s==null?void 0:s.className);const{variants:i,defaultVariants:l}=t,n=Object.keys(i).map(c=>{const x=s==null?void 0:s[c],a=l==null?void 0:l[c];if(x===null)return null;const E=_t(x)||_t(a);return i[c][E]}),d=s&&Object.entries(s).reduce((c,x)=>{let[a,E]=x;return E===void 0||(c[a]=E),c},{}),m=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((c,x)=>{let{class:a,className:E,...T}=x;return Object.entries(T).every(R=>{let[L,O]=R;return Array.isArray(O)?O.includes({...l,...d}[L]):{...l,...d}[L]===O})?[...c,a,E]:c},[]);return Tt(e,n,m,s==null?void 0:s.class,s==null?void 0:s.className)},ra=oa("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"}}),ks=b.forwardRef(({className:e,variant:t,size:s,asChild:o=!1,loading:i,children:l,disabled:n,...d},m)=>{const c=o?lo:"button";return r.jsxs(c,{className:ee(ra({variant:t,size:s,className:e})),ref:m,disabled:n||i,...d,children:[i?r.jsx(Ut,{className:"animate-spin"}):null,l]})});ks.displayName="Button";class aa extends b.Component{constructor(){super(...arguments);ft(this,"state",{error:null})}static getDerivedStateFromError(s){return{error:s}}componentDidCatch(s,o){console.error("[Jiang13Forum]",s,o.componentStack)}render(){return this.state.error?r.jsxs("div",{style:{padding:24,textAlign:"center"},children:[r.jsx("h3",{children:"页面渲染出错"}),r.jsx("p",{style:{color:"var(--color-text-3)",fontSize:13},children:this.state.error.message}),r.jsx(ks,{size:"sm",onClick:()=>{this.setState({error:null}),window.location.reload()},children:"刷新页面"})]}):this.props.children}}function na(){const{theme:e}=Jt();return r.jsx(Xr,{theme:e,position:"top-center",richColors:!0,closeButton:!0,toastOptions:{classNames:{toast:"font-sans"}}})}const ia=b.lazy(()=>re(()=>import("./HomePage-DC4iWqJT.js"),__vite__mapDeps([0,1,2,3,4,5,6]))),la=b.lazy(()=>re(()=>import("./PostDetailPage-BjTvWYTM.js"),__vite__mapDeps([7,1,4,5,3,6,8,9]))),ca=b.lazy(()=>re(()=>import("./LoginPage-sbkZASpH.js"),__vite__mapDeps([10,1,11,5,12]))),da=b.lazy(()=>re(()=>import("./RegisterPage-D4yO0Lp-.js"),__vite__mapDeps([13,1,11,5,12]))),Ct=b.lazy(()=>re(()=>import("./ComposePage-BiusUtIm.js"),__vite__mapDeps([14,1,8,9,5,15,12]))),ua=b.lazy(()=>re(()=>import("./BoardsManagePage-DXFAZqh1.js"),__vite__mapDeps([16,1,11,5,12,17,3,15,18]))),ma=b.lazy(()=>re(()=>import("./ProfilePage-DiORLSTl.js"),__vite__mapDeps([19,1,11,5,12,3,15]))),pa=b.lazy(()=>re(()=>import("./FavoritesPage-BrE1xy6C.js"),__vite__mapDeps([20,1,6,5]))),fa=b.lazy(()=>re(()=>import("./AdminDashboardPage-Co9xzcB-.js"),__vite__mapDeps([21,1,3,5]))),ha=b.lazy(()=>re(()=>import("./AdminPostsPage--PeUmtdb.js"),__vite__mapDeps([22,1,12,3,18,5,6]))),ga=b.lazy(()=>re(()=>import("./AdminCommentsPage-CQrE8jZ9.js"),__vite__mapDeps([23,1,3,18,5]))),ba=b.lazy(()=>re(()=>import("./AdminUsersPage-YBnRhF6k.js"),__vite__mapDeps([24,1,3,5]))),xa=b.lazy(()=>re(()=>import("./AdminSettingsPage-B63MNTuF.js"),__vite__mapDeps([25,1,12,17,5])));function ya(){return r.jsx(fo,{children:r.jsx(po,{children:r.jsxs(aa,{children:[r.jsx(Ms,{children:r.jsxs(Bs,{children:[r.jsx(G,{path:"/login",element:r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(ca,{})})}),r.jsx(G,{path:"/register",element:r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(da,{})})}),r.jsx(G,{path:"/boards",element:r.jsx(ht,{to:"/admin/boards",replace:!0})}),r.jsxs(G,{path:"/admin",element:r.jsx(sa,{}),children:[r.jsx(G,{index:!0,element:r.jsx(ht,{to:"/admin/dashboard",replace:!0})}),r.jsx(G,{path:"dashboard",element:r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(fa,{})})}),r.jsx(G,{path:"boards",element:r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(ua,{})})}),r.jsx(G,{path:"posts",element:r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(ha,{})})}),r.jsx(G,{path:"comments",element:r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(ga,{})})}),r.jsx(G,{path:"users",element:r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(ba,{})})}),r.jsx(G,{path:"settings",element:r.jsx(b.Suspense,{fallback:r.jsx(ye,{}),children:r.jsx(xa,{})})})]}),r.jsxs(G,{element:r.jsx(Qr,{}),children:[r.jsx(G,{path:"/",element:r.jsx(ia,{})}),r.jsx(G,{path:"/post/:id",element:r.jsx(la,{})}),r.jsx(G,{path:"/post/:id/edit",element:r.jsx(Ct,{})}),r.jsx(G,{path:"/compose",element:r.jsx(Ct,{})}),r.jsx(G,{path:"/profile",element:r.jsx(ma,{})}),r.jsx(G,{path:"/favorites",element:r.jsx(pa,{})})]})]})}),r.jsx(na,{})]})})})}Ht(Wt());$s.createRoot(document.getElementById("root")).render(r.jsx(u.StrictMode,{children:r.jsx(ya,{})}));export{ks as B,xr as F,ea as S,he as a,Sa as b,br as c,Me as d,He as e,ee as f,Na as g,Je as h,Ta as i,oa as j,ra as k,_a as l,Ye as n,bs as p,Ea as s,Sr as u};
|