@meridianjs/admin-dashboard 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,466 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ProjectTimelinePage-BtEP9_Du.js","assets/vendor-query-DOje7EXl.js","assets/vendor-react-ChOmrACb.js","assets/vendor-dnd-DmX4J2r6.js","assets/vendor-radix-DganjVC1.js","assets/vendor-editor-D6k4FPZ2.js"])))=>i.map(i=>d[i]);
2
+ import{j as t,u as me,a as ce,b as Ne,Q as tc,c as sc}from"./vendor-query-DOje7EXl.js";import{a as nc,c as v,r as x,b as rc,u as Je,d as Jn,N as _s,e as Ve,L as hn,O as Ho,f as Uo,g as ac,h as Ae,i as Ts,B as oc}from"./vendor-react-ChOmrACb.js";import{C as Ko,R as ic,T as lc,P as dc,S as ta,a as Vo,O as ps,b as yn,c as gs,d as Zn,e as Bs,D as Ys,f as vn,g as Go,h as Qo,i as cc,j as Xo,I as Jo,k as Zo,l as ei,m as ti,L as si,n as ni,o as uc,p as mc,q as ri,r as ai,F as oi,u as Ps,t as Kt,s as fc,v as ii,w as li,x as hc,y as di,z as ci,A as xc,B as ui,V as pc,E as mi,G as fi,H as gc,J as bc,K as hi,M as yc,N as vc,Q as jc,U as xi,W as wc,X as Nc,Y as pi,Z as kc,_ as Sc,$ as gi,a0 as Cc,a1 as bi,a2 as Mc,a3 as Dc,a4 as yi,a5 as _c}from"./vendor-radix-DganjVC1.js";import{u as vi,a as ji,P as wi,D as Ni,S as sa,h as ki,b as Gn,c as na,C as ra,d as Ec,v as Oc,r as Tc,e as Pc,f as Ac}from"./vendor-dnd-DmX4J2r6.js";import{E as $c,u as Si,i as Ci,a as Mi,b as Di,c as _i,d as Rc,e as Ic}from"./vendor-editor-D6k4FPZ2.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(a){if(a.ep)return;a.ep=!0;const o=n(a);fetch(a.href,o)}})();var Ei,to=nc;Ei=to.createRoot,to.hydrateRoot;const Fc="modulepreload",zc=function(e){return"/"+e},so={},Wc=function(s,n,r){let a=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));a=Promise.allSettled(n.map(d=>{if(d=zc(d),d in so)return;so[d]=!0;const c=d.endsWith(".css"),u=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${u}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":Fc,c||(m.as="script"),m.crossOrigin="",m.href=d,l&&m.setAttribute("nonce",l),document.head.appendChild(m),c)return new Promise((f,h)=>{m.addEventListener("load",f),m.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${d}`)))})}))}function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return a.then(i=>{for(const l of i||[])l.status==="rejected"&&o(l.reason);return s().catch(o)})};var qc=function(){return null},Bc=e=>{switch(e){case"success":return Hc;case"info":return Kc;case"warning":return Uc;case"error":return Vc;default:return null}},Yc=Array(12).fill(0),Lc=({visible:e,className:s})=>v.createElement("div",{className:["sonner-loading-wrapper",s].filter(Boolean).join(" "),"data-visible":e},v.createElement("div",{className:"sonner-spinner"},Yc.map((n,r)=>v.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),Hc=v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},v.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"})),Uc=v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},v.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"})),Kc=v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},v.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"})),Vc=v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},v.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"})),Gc=v.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"},v.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),v.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Qc=()=>{let[e,s]=v.useState(document.hidden);return v.useEffect(()=>{let n=()=>{s(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},Ur=1,Xc=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let s=this.subscribers.indexOf(e);this.subscribers.splice(s,1)}),this.publish=e=>{this.subscribers.forEach(s=>s(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var s;let{message:n,...r}=e,a=typeof(e==null?void 0:e.id)=="number"||((s=e.id)==null?void 0:s.length)>0?e.id:Ur++,o=this.toasts.find(l=>l.id===a),i=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(a)&&this.dismissedToasts.delete(a),o?this.toasts=this.toasts.map(l=>l.id===a?(this.publish({...l,...e,id:a,title:n}),{...l,...e,id:a,dismissible:i,title:n}):l):this.addToast({title:n,...r,dismissible:i,id:a}),a},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(s=>{this.subscribers.forEach(n=>n({id:s.id,dismiss:!0}))}),this.subscribers.forEach(s=>s({id:e,dismiss:!0})),e),this.message=(e,s)=>this.create({...s,message:e}),this.error=(e,s)=>this.create({...s,message:e,type:"error"}),this.success=(e,s)=>this.create({...s,type:"success",message:e}),this.info=(e,s)=>this.create({...s,type:"info",message:e}),this.warning=(e,s)=>this.create({...s,type:"warning",message:e}),this.loading=(e,s)=>this.create({...s,type:"loading",message:e}),this.promise=(e,s)=>{if(!s)return;let n;s.loading!==void 0&&(n=this.create({...s,promise:e,type:"loading",message:s.loading,description:typeof s.description!="function"?s.description:void 0}));let r=e instanceof Promise?e:e(),a=n!==void 0,o,i=r.then(async d=>{if(o=["resolve",d],v.isValidElement(d))a=!1,this.create({id:n,type:"default",message:d});else if(Zc(d)&&!d.ok){a=!1;let c=typeof s.error=="function"?await s.error(`HTTP error! status: ${d.status}`):s.error,u=typeof s.description=="function"?await s.description(`HTTP error! status: ${d.status}`):s.description;this.create({id:n,type:"error",message:c,description:u})}else if(s.success!==void 0){a=!1;let c=typeof s.success=="function"?await s.success(d):s.success,u=typeof s.description=="function"?await s.description(d):s.description;this.create({id:n,type:"success",message:c,description:u})}}).catch(async d=>{if(o=["reject",d],s.error!==void 0){a=!1;let c=typeof s.error=="function"?await s.error(d):s.error,u=typeof s.description=="function"?await s.description(d):s.description;this.create({id:n,type:"error",message:c,description:u})}}).finally(()=>{var d;a&&(this.dismiss(n),n=void 0),(d=s.finally)==null||d.call(s)}),l=()=>new Promise((d,c)=>i.then(()=>o[0]==="reject"?c(o[1]):d(o[1])).catch(c));return typeof n!="string"&&typeof n!="number"?{unwrap:l}:Object.assign(n,{unwrap:l})},this.custom=(e,s)=>{let n=(s==null?void 0:s.id)||Ur++;return this.create({jsx:e(n),id:n,...s}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Qe=new Xc,Jc=(e,s)=>{let n=(s==null?void 0:s.id)||Ur++;return Qe.addToast({title:e,...s,id:n}),n},Zc=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",eu=Jc,tu=()=>Qe.toasts,su=()=>Qe.getActiveToasts(),R=Object.assign(eu,{success:Qe.success,info:Qe.info,warning:Qe.warning,error:Qe.error,custom:Qe.custom,message:Qe.message,promise:Qe.promise,dismiss:Qe.dismiss,loading:Qe.loading},{getHistory:tu,getToasts:su});function nu(e,{insertAt:s}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",s==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}nu(`:where(html[dir="ltr"]),:where([data-sonner-toaster][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%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][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%)}:where([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:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([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);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([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 #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([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)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([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;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([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);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-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([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}:where([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}:where([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, 0px)) translate(var(--swipe-amount-x, 0px));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{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{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{0%{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-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--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-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-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-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, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--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-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-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],[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],[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],[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],[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:nth-child(1){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)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{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%)}
3
+ `);function Yn(e){return e.label!==void 0}var ru=3,au="32px",ou="16px",no=4e3,iu=356,lu=14,du=20,cu=200;function lt(...e){return e.filter(Boolean).join(" ")}function uu(e){let[s,n]=e.split("-"),r=[];return s&&r.push(s),n&&r.push(n),r}var mu=e=>{var s,n,r,a,o,i,l,d,c,u,m;let{invert:f,toast:h,unstyled:g,interacting:y,setHeights:S,visibleToasts:b,heights:w,index:k,toasts:j,expanded:E,removeToast:p,defaultRichColors:C,closeButton:A,style:D,cancelButtonStyle:_,actionButtonStyle:I,className:$="",descriptionClassName:F="",duration:T,position:X,gap:q,loadingIcon:V,expandByDefault:W,classNames:z,icons:Q,closeButtonAriaLabel:ee="Close toast",pauseWhenPageIsHidden:N}=e,[M,Y]=v.useState(null),[L,ae]=v.useState(null),[P,ie]=v.useState(!1),[pe,Oe]=v.useState(!1),[qe,Pt]=v.useState(!1),[Xt,le]=v.useState(!1),[Jt,Zt]=v.useState(!1),[es,ts]=v.useState(0),[Zs,it]=v.useState(0),ht=v.useRef(h.duration||T||no),ks=v.useRef(null),Be=v.useRef(null),ss=k===0,At=k+1<=b,Ye=h.type,xt=h.dismissible!==!1,$t=h.className||"",en=h.descriptionClassName||"",kt=v.useMemo(()=>w.findIndex(B=>B.toastId===h.id)||0,[w,h.id]),tn=v.useMemo(()=>{var B;return(B=h.closeButton)!=null?B:A},[h.closeButton,A]),pt=v.useMemo(()=>h.duration||T||no,[h.duration,T]),Rt=v.useRef(0),gt=v.useRef(0),Ss=v.useRef(0),bt=v.useRef(null),[Cs,sn]=X.split("-"),re=v.useMemo(()=>w.reduce((B,fe,he)=>he>=kt?B:B+fe.height,0),[w,kt]),G=Qc(),se=h.invert||f,U=Ye==="loading";gt.current=v.useMemo(()=>kt*q+re,[kt,re]),v.useEffect(()=>{ht.current=pt},[pt]),v.useEffect(()=>{ie(!0)},[]),v.useEffect(()=>{let B=Be.current;if(B){let fe=B.getBoundingClientRect().height;return it(fe),S(he=>[{toastId:h.id,height:fe,position:h.position},...he]),()=>S(he=>he.filter(Pe=>Pe.toastId!==h.id))}},[S,h.id]),v.useLayoutEffect(()=>{if(!P)return;let B=Be.current,fe=B.style.height;B.style.height="auto";let he=B.getBoundingClientRect().height;B.style.height=fe,it(he),S(Pe=>Pe.find(Ce=>Ce.toastId===h.id)?Pe.map(Ce=>Ce.toastId===h.id?{...Ce,height:he}:Ce):[{toastId:h.id,height:he,position:h.position},...Pe])},[P,h.title,h.description,S,h.id]);let Z=v.useCallback(()=>{Oe(!0),ts(gt.current),S(B=>B.filter(fe=>fe.toastId!==h.id)),setTimeout(()=>{p(h)},cu)},[h,p,S,gt]);v.useEffect(()=>{if(h.promise&&Ye==="loading"||h.duration===1/0||h.type==="loading")return;let B;return E||y||N&&G?(()=>{if(Ss.current<Rt.current){let fe=new Date().getTime()-Rt.current;ht.current=ht.current-fe}Ss.current=new Date().getTime()})():ht.current!==1/0&&(Rt.current=new Date().getTime(),B=setTimeout(()=>{var fe;(fe=h.onAutoClose)==null||fe.call(h,h),Z()},ht.current)),()=>clearTimeout(B)},[E,y,h,Ye,N,G,Z]),v.useEffect(()=>{h.delete&&Z()},[Z,h.delete]);function ge(){var B,fe,he;return Q!=null&&Q.loading?v.createElement("div",{className:lt(z==null?void 0:z.loader,(B=h==null?void 0:h.classNames)==null?void 0:B.loader,"sonner-loader"),"data-visible":Ye==="loading"},Q.loading):V?v.createElement("div",{className:lt(z==null?void 0:z.loader,(fe=h==null?void 0:h.classNames)==null?void 0:fe.loader,"sonner-loader"),"data-visible":Ye==="loading"},V):v.createElement(Lc,{className:lt(z==null?void 0:z.loader,(he=h==null?void 0:h.classNames)==null?void 0:he.loader),visible:Ye==="loading"})}return v.createElement("li",{tabIndex:0,ref:Be,className:lt($,$t,z==null?void 0:z.toast,(s=h==null?void 0:h.classNames)==null?void 0:s.toast,z==null?void 0:z.default,z==null?void 0:z[Ye],(n=h==null?void 0:h.classNames)==null?void 0:n[Ye]),"data-sonner-toast":"","data-rich-colors":(r=h.richColors)!=null?r:C,"data-styled":!(h.jsx||h.unstyled||g),"data-mounted":P,"data-promise":!!h.promise,"data-swiped":Jt,"data-removed":pe,"data-visible":At,"data-y-position":Cs,"data-x-position":sn,"data-index":k,"data-front":ss,"data-swiping":qe,"data-dismissible":xt,"data-type":Ye,"data-invert":se,"data-swipe-out":Xt,"data-swipe-direction":L,"data-expanded":!!(E||W&&P),style:{"--index":k,"--toasts-before":k,"--z-index":j.length-k,"--offset":`${pe?es:gt.current}px`,"--initial-height":W?"auto":`${Zs}px`,...D,...h.style},onDragEnd:()=>{Pt(!1),Y(null),bt.current=null},onPointerDown:B=>{U||!xt||(ks.current=new Date,ts(gt.current),B.target.setPointerCapture(B.pointerId),B.target.tagName!=="BUTTON"&&(Pt(!0),bt.current={x:B.clientX,y:B.clientY}))},onPointerUp:()=>{var B,fe,he,Pe;if(Xt||!xt)return;bt.current=null;let Ce=Number(((B=Be.current)==null?void 0:B.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Me=Number(((fe=Be.current)==null?void 0:fe.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),st=new Date().getTime()-((he=ks.current)==null?void 0:he.getTime()),Ge=M==="x"?Ce:Me,It=Math.abs(Ge)/st;if(Math.abs(Ge)>=du||It>.11){ts(gt.current),(Pe=h.onDismiss)==null||Pe.call(h,h),ae(M==="x"?Ce>0?"right":"left":Me>0?"down":"up"),Z(),le(!0),Zt(!1);return}Pt(!1),Y(null)},onPointerMove:B=>{var fe,he,Pe,Ce;if(!bt.current||!xt||((fe=window.getSelection())==null?void 0:fe.toString().length)>0)return;let Me=B.clientY-bt.current.y,st=B.clientX-bt.current.x,Ge=(he=e.swipeDirections)!=null?he:uu(X);!M&&(Math.abs(st)>1||Math.abs(Me)>1)&&Y(Math.abs(st)>Math.abs(Me)?"x":"y");let It={x:0,y:0};M==="y"?(Ge.includes("top")||Ge.includes("bottom"))&&(Ge.includes("top")&&Me<0||Ge.includes("bottom")&&Me>0)&&(It.y=Me):M==="x"&&(Ge.includes("left")||Ge.includes("right"))&&(Ge.includes("left")&&st<0||Ge.includes("right")&&st>0)&&(It.x=st),(Math.abs(It.x)>0||Math.abs(It.y)>0)&&Zt(!0),(Pe=Be.current)==null||Pe.style.setProperty("--swipe-amount-x",`${It.x}px`),(Ce=Be.current)==null||Ce.style.setProperty("--swipe-amount-y",`${It.y}px`)}},tn&&!h.jsx?v.createElement("button",{"aria-label":ee,"data-disabled":U,"data-close-button":!0,onClick:U||!xt?()=>{}:()=>{var B;Z(),(B=h.onDismiss)==null||B.call(h,h)},className:lt(z==null?void 0:z.closeButton,(a=h==null?void 0:h.classNames)==null?void 0:a.closeButton)},(o=Q==null?void 0:Q.close)!=null?o:Gc):null,h.jsx||x.isValidElement(h.title)?h.jsx?h.jsx:typeof h.title=="function"?h.title():h.title:v.createElement(v.Fragment,null,Ye||h.icon||h.promise?v.createElement("div",{"data-icon":"",className:lt(z==null?void 0:z.icon,(i=h==null?void 0:h.classNames)==null?void 0:i.icon)},h.promise||h.type==="loading"&&!h.icon?h.icon||ge():null,h.type!=="loading"?h.icon||(Q==null?void 0:Q[Ye])||Bc(Ye):null):null,v.createElement("div",{"data-content":"",className:lt(z==null?void 0:z.content,(l=h==null?void 0:h.classNames)==null?void 0:l.content)},v.createElement("div",{"data-title":"",className:lt(z==null?void 0:z.title,(d=h==null?void 0:h.classNames)==null?void 0:d.title)},typeof h.title=="function"?h.title():h.title),h.description?v.createElement("div",{"data-description":"",className:lt(F,en,z==null?void 0:z.description,(c=h==null?void 0:h.classNames)==null?void 0:c.description)},typeof h.description=="function"?h.description():h.description):null),x.isValidElement(h.cancel)?h.cancel:h.cancel&&Yn(h.cancel)?v.createElement("button",{"data-button":!0,"data-cancel":!0,style:h.cancelButtonStyle||_,onClick:B=>{var fe,he;Yn(h.cancel)&&xt&&((he=(fe=h.cancel).onClick)==null||he.call(fe,B),Z())},className:lt(z==null?void 0:z.cancelButton,(u=h==null?void 0:h.classNames)==null?void 0:u.cancelButton)},h.cancel.label):null,x.isValidElement(h.action)?h.action:h.action&&Yn(h.action)?v.createElement("button",{"data-button":!0,"data-action":!0,style:h.actionButtonStyle||I,onClick:B=>{var fe,he;Yn(h.action)&&((he=(fe=h.action).onClick)==null||he.call(fe,B),!B.defaultPrevented&&Z())},className:lt(z==null?void 0:z.actionButton,(m=h==null?void 0:h.classNames)==null?void 0:m.actionButton)},h.action.label):null))};function ro(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function fu(e,s){let n={};return[e,s].forEach((r,a)=>{let o=a===1,i=o?"--mobile-offset":"--offset",l=o?ou:au;function d(c){["top","right","bottom","left"].forEach(u=>{n[`${i}-${u}`]=typeof c=="number"?`${c}px`:c})}typeof r=="number"||typeof r=="string"?d(r):typeof r=="object"?["top","right","bottom","left"].forEach(c=>{r[c]===void 0?n[`${i}-${c}`]=l:n[`${i}-${c}`]=typeof r[c]=="number"?`${r[c]}px`:r[c]}):d(l)}),n}var hu=x.forwardRef(function(e,s){let{invert:n,position:r="bottom-right",hotkey:a=["altKey","KeyT"],expand:o,closeButton:i,className:l,offset:d,mobileOffset:c,theme:u="light",richColors:m,duration:f,style:h,visibleToasts:g=ru,toastOptions:y,dir:S=ro(),gap:b=lu,loadingIcon:w,icons:k,containerAriaLabel:j="Notifications",pauseWhenPageIsHidden:E}=e,[p,C]=v.useState([]),A=v.useMemo(()=>Array.from(new Set([r].concat(p.filter(N=>N.position).map(N=>N.position)))),[p,r]),[D,_]=v.useState([]),[I,$]=v.useState(!1),[F,T]=v.useState(!1),[X,q]=v.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),V=v.useRef(null),W=a.join("+").replace(/Key/g,"").replace(/Digit/g,""),z=v.useRef(null),Q=v.useRef(!1),ee=v.useCallback(N=>{C(M=>{var Y;return(Y=M.find(L=>L.id===N.id))!=null&&Y.delete||Qe.dismiss(N.id),M.filter(({id:L})=>L!==N.id)})},[]);return v.useEffect(()=>Qe.subscribe(N=>{if(N.dismiss){C(M=>M.map(Y=>Y.id===N.id?{...Y,delete:!0}:Y));return}setTimeout(()=>{rc.flushSync(()=>{C(M=>{let Y=M.findIndex(L=>L.id===N.id);return Y!==-1?[...M.slice(0,Y),{...M[Y],...N},...M.slice(Y+1)]:[N,...M]})})})}),[]),v.useEffect(()=>{if(u!=="system"){q(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?q("dark"):q("light")),typeof window>"u")return;let N=window.matchMedia("(prefers-color-scheme: dark)");try{N.addEventListener("change",({matches:M})=>{q(M?"dark":"light")})}catch{N.addListener(({matches:Y})=>{try{q(Y?"dark":"light")}catch(L){console.error(L)}})}},[u]),v.useEffect(()=>{p.length<=1&&$(!1)},[p]),v.useEffect(()=>{let N=M=>{var Y,L;a.every(ae=>M[ae]||M.code===ae)&&($(!0),(Y=V.current)==null||Y.focus()),M.code==="Escape"&&(document.activeElement===V.current||(L=V.current)!=null&&L.contains(document.activeElement))&&$(!1)};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[a]),v.useEffect(()=>{if(V.current)return()=>{z.current&&(z.current.focus({preventScroll:!0}),z.current=null,Q.current=!1)}},[V.current]),v.createElement("section",{ref:s,"aria-label":`${j} ${W}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},A.map((N,M)=>{var Y;let[L,ae]=N.split("-");return p.length?v.createElement("ol",{key:N,dir:S==="auto"?ro():S,tabIndex:-1,ref:V,className:l,"data-sonner-toaster":!0,"data-theme":X,"data-y-position":L,"data-lifted":I&&p.length>1&&!o,"data-x-position":ae,style:{"--front-toast-height":`${((Y=D[0])==null?void 0:Y.height)||0}px`,"--width":`${iu}px`,"--gap":`${b}px`,...h,...fu(d,c)},onBlur:P=>{Q.current&&!P.currentTarget.contains(P.relatedTarget)&&(Q.current=!1,z.current&&(z.current.focus({preventScroll:!0}),z.current=null))},onFocus:P=>{P.target instanceof HTMLElement&&P.target.dataset.dismissible==="false"||Q.current||(Q.current=!0,z.current=P.relatedTarget)},onMouseEnter:()=>$(!0),onMouseMove:()=>$(!0),onMouseLeave:()=>{F||$(!1)},onDragEnd:()=>$(!1),onPointerDown:P=>{P.target instanceof HTMLElement&&P.target.dataset.dismissible==="false"||T(!0)},onPointerUp:()=>T(!1)},p.filter(P=>!P.position&&M===0||P.position===N).map((P,ie)=>{var pe,Oe;return v.createElement(mu,{key:P.id,icons:k,index:ie,toast:P,defaultRichColors:m,duration:(pe=y==null?void 0:y.duration)!=null?pe:f,className:y==null?void 0:y.className,descriptionClassName:y==null?void 0:y.descriptionClassName,invert:n,visibleToasts:g,closeButton:(Oe=y==null?void 0:y.closeButton)!=null?Oe:i,interacting:F,position:N,style:y==null?void 0:y.style,unstyled:y==null?void 0:y.unstyled,classNames:y==null?void 0:y.classNames,cancelButtonStyle:y==null?void 0:y.cancelButtonStyle,actionButtonStyle:y==null?void 0:y.actionButtonStyle,removeToast:ee,toasts:p.filter(qe=>qe.position==P.position),heights:D.filter(qe=>qe.position==P.position),setHeights:_,expandByDefault:o,gap:b,loadingIcon:w,expanded:I,pauseWhenPageIsHidden:E,swipeDirections:e.swipeDirections})})):null}))}),xu=(e,s,n,r,a,o,i,l)=>{let d=document.documentElement,c=["light","dark"];function u(h){(Array.isArray(e)?e:[e]).forEach(g=>{let y=g==="class",S=y&&o?a.map(b=>o[b]||b):a;y?(d.classList.remove(...S),d.classList.add(o&&o[h]?o[h]:h)):d.setAttribute(g,h)}),m(h)}function m(h){l&&c.includes(h)&&(d.style.colorScheme=h)}function f(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(r)u(r);else try{let h=localStorage.getItem(s)||n,g=i&&h==="system"?f():h;u(g)}catch{}},ao=["light","dark"],Oi="(prefers-color-scheme: dark)",pu=typeof window>"u",aa=x.createContext(void 0),gu={setTheme:e=>{},themes:[]},bu=()=>{var e;return(e=x.useContext(aa))!=null?e:gu},yu=e=>x.useContext(aa)?x.createElement(x.Fragment,null,e.children):x.createElement(ju,{...e}),vu=["light","dark"],ju=({forcedTheme:e,disableTransitionOnChange:s=!1,enableSystem:n=!0,enableColorScheme:r=!0,storageKey:a="theme",themes:o=vu,defaultTheme:i=n?"system":"light",attribute:l="data-theme",value:d,children:c,nonce:u,scriptProps:m})=>{let[f,h]=x.useState(()=>Nu(a,i)),[g,y]=x.useState(()=>f==="system"?vr():f),S=d?Object.values(d):o,b=x.useCallback(E=>{let p=E;if(!p)return;E==="system"&&n&&(p=vr());let C=d?d[p]:p,A=s?ku(u):null,D=document.documentElement,_=I=>{I==="class"?(D.classList.remove(...S),C&&D.classList.add(C)):I.startsWith("data-")&&(C?D.setAttribute(I,C):D.removeAttribute(I))};if(Array.isArray(l)?l.forEach(_):_(l),r){let I=ao.includes(i)?i:null,$=ao.includes(p)?p:I;D.style.colorScheme=$}A==null||A()},[u]),w=x.useCallback(E=>{let p=typeof E=="function"?E(f):E;h(p);try{localStorage.setItem(a,p)}catch{}},[f]),k=x.useCallback(E=>{let p=vr(E);y(p),f==="system"&&n&&!e&&b("system")},[f,e]);x.useEffect(()=>{let E=window.matchMedia(Oi);return E.addListener(k),k(E),()=>E.removeListener(k)},[k]),x.useEffect(()=>{let E=p=>{p.key===a&&(p.newValue?h(p.newValue):w(i))};return window.addEventListener("storage",E),()=>window.removeEventListener("storage",E)},[w]),x.useEffect(()=>{b(e??f)},[e,f]);let j=x.useMemo(()=>({theme:f,setTheme:w,forcedTheme:e,resolvedTheme:f==="system"?g:f,themes:n?[...o,"system"]:o,systemTheme:n?g:void 0}),[f,w,e,g,n,o]);return x.createElement(aa.Provider,{value:j},x.createElement(wu,{forcedTheme:e,storageKey:a,attribute:l,enableSystem:n,enableColorScheme:r,defaultTheme:i,value:d,themes:o,nonce:u,scriptProps:m}),c)},wu=x.memo(({forcedTheme:e,storageKey:s,attribute:n,enableSystem:r,enableColorScheme:a,defaultTheme:o,value:i,themes:l,nonce:d,scriptProps:c})=>{let u=JSON.stringify([n,s,o,e,l,i,r,a]).slice(1,-1);return x.createElement("script",{...c,suppressHydrationWarning:!0,nonce:typeof window>"u"?d:"",dangerouslySetInnerHTML:{__html:`(${xu.toString()})(${u})`}})}),Nu=(e,s)=>{if(pu)return;let n;try{n=localStorage.getItem(e)||void 0}catch{}return n||s},ku=e=>{let s=document.createElement("style");return e&&s.setAttribute("nonce",e),s.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(s),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(s)},1)}},vr=e=>(e||(e=window.matchMedia(Oi)),e.matches?"dark":"light");function Su({children:e}){return t.jsx(yu,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,children:e})}const Ti=x.createContext(null),Ln="meridian_token",jr="meridian_user",Hn="meridian_workspace";function oo(e){try{const s=e.split(".")[1],n=s.replace(/-/g,"+").replace(/_/g,"/").padEnd(s.length+(4-s.length%4)%4,"="),r=JSON.parse(atob(n));return Array.isArray(r.roles)?r.roles:[]}catch{return[]}}function Cu({children:e}){const[s,n]=x.useState(()=>{try{const u=localStorage.getItem(jr),m=localStorage.getItem(Ln);if(!u)return null;const f=JSON.parse(u);return Array.isArray(f.roles)||(f.roles=m?oo(m):[]),f}catch{return null}}),[r,a]=x.useState(()=>localStorage.getItem(Ln)),[o,i]=x.useState(()=>{try{const u=localStorage.getItem(Hn);return u?JSON.parse(u):null}catch{return null}}),l=(u,m)=>{const f=oo(m),h={...u,roles:f};n(h),a(m),localStorage.setItem(Ln,m),localStorage.setItem(jr,JSON.stringify(h))},d=()=>{n(null),a(null),i(null),localStorage.removeItem(Ln),localStorage.removeItem(jr),localStorage.removeItem(Hn)},c=u=>{i(u),u?localStorage.setItem(Hn,JSON.stringify(u)):localStorage.removeItem(Hn)};return x.useEffect(()=>{r&&!s&&d()},[]),t.jsx(Ti.Provider,{value:{user:s,token:r,workspace:o,isAuthenticated:!!r&&!!s,login:l,logout:d,setWorkspace:c},children:e})}function ke(){const e=x.useContext(Ti);if(!e)throw new Error("useAuth must be used within AuthProvider");return e}const Pi=x.createContext(null);function Mu({children:e}){const[s,n]=x.useState(!1);return x.useEffect(()=>{const r=a=>{(a.metaKey||a.ctrlKey)&&a.key==="k"&&(a.preventDefault(),n(o=>!o))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),t.jsx(Pi.Provider,{value:{open:s,setOpen:n,toggle:()=>n(r=>!r)},children:e})}function Ai(){const e=x.useContext(Pi);if(!e)throw new Error("useCommandPalette must be used within CommandPaletteProvider");return e}function $i(e){var s,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(s=0;s<a;s++)e[s]&&(n=$i(e[s]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Ri(){for(var e,s,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(s=$i(e))&&(r&&(r+=" "),r+=s);return r}const oa="-",Du=e=>{const s=Eu(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{const l=i.split(oa);return l[0]===""&&l.length!==1&&l.shift(),Ii(l,s)||_u(i)},getConflictingClassGroupIds:(i,l)=>{const d=n[i]||[];return l&&r[i]?[...d,...r[i]]:d}}},Ii=(e,s)=>{var i;if(e.length===0)return s.classGroupId;const n=e[0],r=s.nextPart.get(n),a=r?Ii(e.slice(1),r):void 0;if(a)return a;if(s.validators.length===0)return;const o=e.join(oa);return(i=s.validators.find(({validator:l})=>l(o)))==null?void 0:i.classGroupId},io=/^\[(.+)\]$/,_u=e=>{if(io.test(e)){const s=io.exec(e)[1],n=s==null?void 0:s.substring(0,s.indexOf(":"));if(n)return"arbitrary.."+n}},Eu=e=>{const{theme:s,prefix:n}=e,r={nextPart:new Map,validators:[]};return Tu(Object.entries(e.classGroups),n).forEach(([o,i])=>{Kr(i,r,o,s)}),r},Kr=(e,s,n,r)=>{e.forEach(a=>{if(typeof a=="string"){const o=a===""?s:lo(s,a);o.classGroupId=n;return}if(typeof a=="function"){if(Ou(a)){Kr(a(r),s,n,r);return}s.validators.push({validator:a,classGroupId:n});return}Object.entries(a).forEach(([o,i])=>{Kr(i,lo(s,o),n,r)})})},lo=(e,s)=>{let n=e;return s.split(oa).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},Ou=e=>e.isThemeGetter,Tu=(e,s)=>s?e.map(([n,r])=>{const a=r.map(o=>typeof o=="string"?s+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([i,l])=>[s+i,l])):o);return[n,a]}):e,Pu=e=>{if(e<1)return{get:()=>{},set:()=>{}};let s=0,n=new Map,r=new Map;const a=(o,i)=>{n.set(o,i),s++,s>e&&(s=0,r=n,n=new Map)};return{get(o){let i=n.get(o);if(i!==void 0)return i;if((i=r.get(o))!==void 0)return a(o,i),i},set(o,i){n.has(o)?n.set(o,i):a(o,i)}}},Fi="!",Au=e=>{const{separator:s,experimentalParseClassName:n}=e,r=s.length===1,a=s[0],o=s.length,i=l=>{const d=[];let c=0,u=0,m;for(let S=0;S<l.length;S++){let b=l[S];if(c===0){if(b===a&&(r||l.slice(S,S+o)===s)){d.push(l.slice(u,S)),u=S+o;continue}if(b==="/"){m=S;continue}}b==="["?c++:b==="]"&&c--}const f=d.length===0?l:l.substring(u),h=f.startsWith(Fi),g=h?f.substring(1):f,y=m&&m>u?m-u:void 0;return{modifiers:d,hasImportantModifier:h,baseClassName:g,maybePostfixModifierPosition:y}};return n?l=>n({className:l,parseClassName:i}):i},$u=e=>{if(e.length<=1)return e;const s=[];let n=[];return e.forEach(r=>{r[0]==="["?(s.push(...n.sort(),r),n=[]):n.push(r)}),s.push(...n.sort()),s},Ru=e=>({cache:Pu(e.cacheSize),parseClassName:Au(e),...Du(e)}),Iu=/\s+/,Fu=(e,s)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:a}=s,o=[],i=e.trim().split(Iu);let l="";for(let d=i.length-1;d>=0;d-=1){const c=i[d],{modifiers:u,hasImportantModifier:m,baseClassName:f,maybePostfixModifierPosition:h}=n(c);let g=!!h,y=r(g?f.substring(0,h):f);if(!y){if(!g){l=c+(l.length>0?" "+l:l);continue}if(y=r(f),!y){l=c+(l.length>0?" "+l:l);continue}g=!1}const S=$u(u).join(":"),b=m?S+Fi:S,w=b+y;if(o.includes(w))continue;o.push(w);const k=a(y,g);for(let j=0;j<k.length;++j){const E=k[j];o.push(b+E)}l=c+(l.length>0?" "+l:l)}return l};function zu(){let e=0,s,n,r="";for(;e<arguments.length;)(s=arguments[e++])&&(n=zi(s))&&(r&&(r+=" "),r+=n);return r}const zi=e=>{if(typeof e=="string")return e;let s,n="";for(let r=0;r<e.length;r++)e[r]&&(s=zi(e[r]))&&(n&&(n+=" "),n+=s);return n};function Wu(e,...s){let n,r,a,o=i;function i(d){const c=s.reduce((u,m)=>m(u),e());return n=Ru(c),r=n.cache.get,a=n.cache.set,o=l,l(d)}function l(d){const c=r(d);if(c)return c;const u=Fu(d,n);return a(d,u),u}return function(){return o(zu.apply(null,arguments))}}const Se=e=>{const s=n=>n[e]||[];return s.isThemeGetter=!0,s},Wi=/^\[(?:([a-z-]+):)?(.+)\]$/i,qu=/^\d+\/\d+$/,Bu=new Set(["px","full","screen"]),Yu=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Lu=/\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$/,Hu=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Uu=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ku=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,St=e=>As(e)||Bu.has(e)||qu.test(e),Ft=e=>Ls(e,"length",tm),As=e=>!!e&&!Number.isNaN(Number(e)),wr=e=>Ls(e,"number",As),nn=e=>!!e&&Number.isInteger(Number(e)),Vu=e=>e.endsWith("%")&&As(e.slice(0,-1)),ue=e=>Wi.test(e),zt=e=>Yu.test(e),Gu=new Set(["length","size","percentage"]),Qu=e=>Ls(e,Gu,qi),Xu=e=>Ls(e,"position",qi),Ju=new Set(["image","url"]),Zu=e=>Ls(e,Ju,nm),em=e=>Ls(e,"",sm),rn=()=>!0,Ls=(e,s,n)=>{const r=Wi.exec(e);return r?r[1]?typeof s=="string"?r[1]===s:s.has(r[1]):n(r[2]):!1},tm=e=>Lu.test(e)&&!Hu.test(e),qi=()=>!1,sm=e=>Uu.test(e),nm=e=>Ku.test(e),rm=()=>{const e=Se("colors"),s=Se("spacing"),n=Se("blur"),r=Se("brightness"),a=Se("borderColor"),o=Se("borderRadius"),i=Se("borderSpacing"),l=Se("borderWidth"),d=Se("contrast"),c=Se("grayscale"),u=Se("hueRotate"),m=Se("invert"),f=Se("gap"),h=Se("gradientColorStops"),g=Se("gradientColorStopPositions"),y=Se("inset"),S=Se("margin"),b=Se("opacity"),w=Se("padding"),k=Se("saturate"),j=Se("scale"),E=Se("sepia"),p=Se("skew"),C=Se("space"),A=Se("translate"),D=()=>["auto","contain","none"],_=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto",ue,s],$=()=>[ue,s],F=()=>["",St,Ft],T=()=>["auto",As,ue],X=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],q=()=>["solid","dashed","dotted","double","none"],V=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>["start","end","center","between","around","evenly","stretch"],z=()=>["","0",ue],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],ee=()=>[As,ue];return{cacheSize:500,separator:":",theme:{colors:[rn],spacing:[St,Ft],blur:["none","",zt,ue],brightness:ee(),borderColor:[e],borderRadius:["none","","full",zt,ue],borderSpacing:$(),borderWidth:F(),contrast:ee(),grayscale:z(),hueRotate:ee(),invert:z(),gap:$(),gradientColorStops:[e],gradientColorStopPositions:[Vu,Ft],inset:I(),margin:I(),opacity:ee(),padding:$(),saturate:ee(),scale:ee(),sepia:z(),skew:ee(),space:$(),translate:$()},classGroups:{aspect:[{aspect:["auto","square","video",ue]}],container:["container"],columns:[{columns:[zt]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],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:[...X(),ue]}],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:[y]}],"inset-x":[{"inset-x":[y]}],"inset-y":[{"inset-y":[y]}],start:[{start:[y]}],end:[{end:[y]}],top:[{top:[y]}],right:[{right:[y]}],bottom:[{bottom:[y]}],left:[{left:[y]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",nn,ue]}],basis:[{basis:I()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ue]}],grow:[{grow:z()}],shrink:[{shrink:z()}],order:[{order:["first","last","none",nn,ue]}],"grid-cols":[{"grid-cols":[rn]}],"col-start-end":[{col:["auto",{span:["full",nn,ue]},ue]}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":[rn]}],"row-start-end":[{row:["auto",{span:[nn,ue]},ue]}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ue]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ue]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:["normal",...W()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...W(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...W(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[w]}],px:[{px:[w]}],py:[{py:[w]}],ps:[{ps:[w]}],pe:[{pe:[w]}],pt:[{pt:[w]}],pr:[{pr:[w]}],pb:[{pb:[w]}],pl:[{pl:[w]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],"space-x":[{"space-x":[C]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[C]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ue,s]}],"min-w":[{"min-w":[ue,s,"min","max","fit"]}],"max-w":[{"max-w":[ue,s,"none","full","min","max","fit","prose",{screen:[zt]},zt]}],h:[{h:[ue,s,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ue,s,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ue,s,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ue,s,"auto","min","max","fit"]}],"font-size":[{text:["base",zt,Ft]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",wr]}],"font-family":[{font:[rn]}],"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:["tighter","tight","normal","wide","wider","widest",ue]}],"line-clamp":[{"line-clamp":["none",As,wr]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",St,ue]}],"list-image":[{"list-image":["none",ue]}],"list-style-type":[{list:["none","disc","decimal",ue]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[b]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[b]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...q(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",St,Ft]}],"underline-offset":[{"underline-offset":["auto",St,ue]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ue]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ue]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[b]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...X(),Xu]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Qu]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Zu]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[g]}],"gradient-via-pos":[{via:[g]}],"gradient-to-pos":[{to:[g]}],"gradient-from":[{from:[h]}],"gradient-via":[{via:[h]}],"gradient-to":[{to:[h]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[b]}],"border-style":[{border:[...q(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[b]}],"divide-style":[{divide:q()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...q()]}],"outline-offset":[{"outline-offset":[St,ue]}],"outline-w":[{outline:[St,Ft]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:F()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[b]}],"ring-offset-w":[{"ring-offset":[St,Ft]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",zt,em]}],"shadow-color":[{shadow:[rn]}],opacity:[{opacity:[b]}],"mix-blend":[{"mix-blend":[...V(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":V()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[d]}],"drop-shadow":[{"drop-shadow":["","none",zt,ue]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[m]}],saturate:[{saturate:[k]}],sepia:[{sepia:[E]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[d]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[b]}],"backdrop-saturate":[{"backdrop-saturate":[k]}],"backdrop-sepia":[{"backdrop-sepia":[E]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[i]}],"border-spacing-x":[{"border-spacing-x":[i]}],"border-spacing-y":[{"border-spacing-y":[i]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ue]}],duration:[{duration:ee()}],ease:[{ease:["linear","in","out","in-out",ue]}],delay:[{delay:ee()}],animate:[{animate:["none","spin","ping","pulse","bounce",ue]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[j]}],"scale-x":[{"scale-x":[j]}],"scale-y":[{"scale-y":[j]}],rotate:[{rotate:[nn,ue]}],"translate-x":[{"translate-x":[A]}],"translate-y":[{"translate-y":[A]}],"skew-x":[{"skew-x":[p]}],"skew-y":[{"skew-y":[p]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ue]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],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",ue]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"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",ue]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[St,Ft,wr]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}},am=Wu(rm);function O(...e){return am(Ri(e))}const ia=dc,ls=ic,ds=lc,Yt=x.forwardRef(({className:e,sideOffset:s=4,...n},r)=>t.jsx(Ko,{ref:r,sideOffset:s,className:O("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n}));Yt.displayName=Ko.displayName;var Yo;const Bi=((Yo=window.__MERIDIAN_CONFIG__)==null?void 0:Yo.apiUrl)??void 0??"";class Yi extends Error{constructor(s,n,r){super(n),this.status=s,this.data=r,this.name="ApiError"}}function Li(){return localStorage.getItem("meridian_token")}async function an(e,s={}){var o;const n=Li(),r={"Content-Type":"application/json",...s.headers};n&&(r.Authorization=`Bearer ${n}`);const a=await fetch(`${Bi}${e}`,{...s,headers:r});if(!a.ok){let i;try{i=await a.json()}catch{i=null}const l=((o=i==null?void 0:i.error)==null?void 0:o.message)??`HTTP ${a.status}`;throw new Yi(a.status,l,i)}if(a.status!==204)return a.json()}const J={get:e=>an(e,{method:"GET"}),post:(e,s)=>an(e,{method:"POST",body:JSON.stringify(s)}),put:(e,s)=>an(e,{method:"PUT",body:JSON.stringify(s)}),patch:(e,s)=>an(e,{method:"PATCH",body:JSON.stringify(s)}),delete:e=>an(e,{method:"DELETE"}),upload:async(e,s)=>{var o;const n=Li(),r={};n&&(r.Authorization=`Bearer ${n}`);const a=await fetch(`${Bi}${e}`,{method:"POST",headers:r,body:s});if(!a.ok){let i;try{i=await a.json()}catch{i=null}const l=((o=i==null?void 0:i.error)==null?void 0:o.message)??`HTTP ${a.status}`;throw new Yi(a.status,l,i)}if(a.status!==204)return a.json()}};function er(e=!0){return Ne({queryKey:["workspaces"],queryFn:()=>J.get("/admin/workspaces"),select:s=>s.workspaces,enabled:e})}function om(){const e=me();return ce({mutationFn:s=>J.post("/admin/workspaces",s),onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]})}})}function im(e){const s=me();return ce({mutationFn:n=>J.put(`/admin/workspaces/${e}`,n),onSuccess:()=>{s.invalidateQueries({queryKey:["workspaces"]})}})}const la={list:e=>["workspaces",e,"invitations"]};function lm(e){return Ne({queryKey:la.list(e),queryFn:()=>J.get(`/admin/workspaces/${e}/invitations`),select:s=>s.invitations,enabled:!!e})}function dm(e){const s=me();return ce({mutationFn:n=>J.post(`/admin/workspaces/${e}/invitations`,n),onSuccess:()=>{s.invalidateQueries({queryKey:la.list(e)})}})}function cm(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/workspaces/${e}/invitations/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:la.list(e)})}})}const da={list:e=>["workspaces",e,"members"]};function tr(e){return Ne({queryKey:da.list(e),queryFn:()=>J.get(`/admin/workspaces/${e}/members`),select:s=>s.members,enabled:!!e})}function um(e){const s=me();return ce({mutationFn:({userId:n,role:r})=>J.patch(`/admin/workspaces/${e}/members/${n}`,{role:r}),onSuccess:()=>{s.invalidateQueries({queryKey:da.list(e)})}})}function mm(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/workspaces/${e}/members/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:da.list(e)})}})}const Lt={list:e=>["workspaces",e,"teams"],members:(e,s)=>["workspaces",e,"teams",s,"members"]};function ca(e){return Ne({queryKey:Lt.list(e),queryFn:()=>J.get(`/admin/workspaces/${e}/teams`),select:s=>s.teams,enabled:!!e})}function fm(e){const s=me();return ce({mutationFn:n=>J.post(`/admin/workspaces/${e}/teams`,n),onSuccess:()=>{s.invalidateQueries({queryKey:Lt.list(e)})}})}function hm(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/workspaces/${e}/teams/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:Lt.list(e)})}})}function xm(e,s){return Ne({queryKey:Lt.members(e,s),queryFn:()=>J.get(`/admin/workspaces/${e}/teams/${s}/members`),select:n=>n.members,enabled:!!(e&&s)})}function pm(e,s){const n=me();return ce({mutationFn:r=>J.post(`/admin/workspaces/${e}/teams/${s}/members`,{user_id:r}),onSuccess:()=>{n.invalidateQueries({queryKey:Lt.members(e,s)}),n.invalidateQueries({queryKey:Lt.list(e)})}})}function gm(e,s){const n=me();return ce({mutationFn:r=>J.delete(`/admin/workspaces/${e}/teams/${s}/members/${r}`),onSuccess:()=>{n.invalidateQueries({queryKey:Lt.members(e,s)}),n.invalidateQueries({queryKey:Lt.list(e)})}})}function Hi(){return Ne({queryKey:["setup-status"],queryFn:()=>J.get("/auth/setup"),staleTime:6e4,retry:!1})}function bm(){const{login:e}=ke();return ce({mutationFn:s=>J.post("/auth/login",s),onSuccess:s=>{e(s.user,s.token)}})}function ym(){const{login:e}=ke();return ce({mutationFn:s=>J.post("/auth/register",s),onSuccess:s=>{e(s.user,s.token)}})}function vm(e){const{login:s}=ke();return ce({mutationFn:n=>J.post(`/auth/invite/${e}`,n),onSuccess:n=>{s(n.user,n.token)}})}var Lo;const jm=((Lo=window.__MERIDIAN_CONFIG__)==null?void 0:Lo.apiUrl)??void 0??"";function wm(e,s){const n=`${jm}/admin/events?token=${encodeURIComponent(e)}&workspaceId=${encodeURIComponent(s)}`;return new EventSource(n)}function Nm(){const{token:e,workspace:s}=ke(),n=me(),r=x.useRef(null);x.useEffect(()=>{if(!e||!s)return;const a=wm(e,s.id);r.current=a;const o=i=>{i.forEach(l=>n.invalidateQueries({queryKey:l}))};return a.addEventListener("issue.created",()=>{o([["issues"],["notifications"]])}),a.addEventListener("issue.status_changed",()=>{o([["issues"]])}),a.addEventListener("issue.assigned",()=>{o([["issues"],["notifications"]])}),a.addEventListener("comment.created",()=>{o([["issues"],["notifications"]])}),a.onerror=()=>{},()=>{a.close(),r.current=null}},[e,s==null?void 0:s.id,n])}const co=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,uo=Ri,jn=(e,s)=>n=>{var r;if((s==null?void 0:s.variants)==null)return uo(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:a,defaultVariants:o}=s,i=Object.keys(a).map(c=>{const u=n==null?void 0:n[c],m=o==null?void 0:o[c];if(u===null)return null;const f=co(u)||co(m);return a[c][f]}),l=n&&Object.entries(n).reduce((c,u)=>{let[m,f]=u;return f===void 0||(c[m]=f),c},{}),d=s==null||(r=s.compoundVariants)===null||r===void 0?void 0:r.reduce((c,u)=>{let{class:m,className:f,...h}=u;return Object.entries(h).every(g=>{let[y,S]=g;return Array.isArray(S)?S.includes({...o,...l}[y]):{...o,...l}[y]===S})?[...c,m,f]:c},[]);return uo(e,i,d,n==null?void 0:n.class,n==null?void 0:n.className)};/**
4
+ * @license lucide-react v0.468.0 - ISC
5
+ *
6
+ * This source code is licensed under the ISC license.
7
+ * See the LICENSE file in the root directory of this source tree.
8
+ */const km=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ui=(...e)=>e.filter((s,n,r)=>!!s&&s.trim()!==""&&r.indexOf(s)===n).join(" ").trim();/**
9
+ * @license lucide-react v0.468.0 - ISC
10
+ *
11
+ * This source code is licensed under the ISC license.
12
+ * See the LICENSE file in the root directory of this source tree.
13
+ */var Sm={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
14
+ * @license lucide-react v0.468.0 - ISC
15
+ *
16
+ * This source code is licensed under the ISC license.
17
+ * See the LICENSE file in the root directory of this source tree.
18
+ */const Cm=x.forwardRef(({color:e="currentColor",size:s=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:a="",children:o,iconNode:i,...l},d)=>x.createElement("svg",{ref:d,...Sm,width:s,height:s,stroke:e,strokeWidth:r?Number(n)*24/Number(s):n,className:Ui("lucide",a),...l},[...i.map(([c,u])=>x.createElement(c,u)),...Array.isArray(o)?o:[o]]));/**
19
+ * @license lucide-react v0.468.0 - ISC
20
+ *
21
+ * This source code is licensed under the ISC license.
22
+ * See the LICENSE file in the root directory of this source tree.
23
+ */const H=(e,s)=>{const n=x.forwardRef(({className:r,...a},o)=>x.createElement(Cm,{ref:o,iconNode:s,className:Ui(`lucide-${km(e)}`,r),...a}));return n.displayName=`${e}`,n};/**
24
+ * @license lucide-react v0.468.0 - ISC
25
+ *
26
+ * This source code is licensed under the ISC license.
27
+ * See the LICENSE file in the root directory of this source tree.
28
+ */const sr=H("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/**
29
+ * @license lucide-react v0.468.0 - ISC
30
+ *
31
+ * This source code is licensed under the ISC license.
32
+ * See the LICENSE file in the root directory of this source tree.
33
+ */const ua=H("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
34
+ * @license lucide-react v0.468.0 - ISC
35
+ *
36
+ * This source code is licensed under the ISC license.
37
+ * See the LICENSE file in the root directory of this source tree.
38
+ */const nr=H("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/**
39
+ * @license lucide-react v0.468.0 - ISC
40
+ *
41
+ * This source code is licensed under the ISC license.
42
+ * See the LICENSE file in the root directory of this source tree.
43
+ */const wn=H("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);/**
44
+ * @license lucide-react v0.468.0 - ISC
45
+ *
46
+ * This source code is licensed under the ISC license.
47
+ * See the LICENSE file in the root directory of this source tree.
48
+ */const Ki=H("Bold",[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]]);/**
49
+ * @license lucide-react v0.468.0 - ISC
50
+ *
51
+ * This source code is licensed under the ISC license.
52
+ * See the LICENSE file in the root directory of this source tree.
53
+ */const Vi=H("Bug",[["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1",key:"d7y7pr"}],["path",{d:"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6",key:"xs1cw7"}],["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M6.53 9C4.6 8.8 3 7.1 3 5",key:"32zzws"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"M3 21c0-2.1 1.7-3.9 3.8-4",key:"4p0ekp"}],["path",{d:"M20.97 5c0 2.1-1.6 3.8-3.5 4",key:"18gb23"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M17.2 17c2.1.1 3.8 1.9 3.8 4",key:"k3fwyw"}]]);/**
54
+ * @license lucide-react v0.468.0 - ISC
55
+ *
56
+ * This source code is licensed under the ISC license.
57
+ * See the LICENSE file in the root directory of this source tree.
58
+ */const Mm=H("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
59
+ * @license lucide-react v0.468.0 - ISC
60
+ *
61
+ * This source code is licensed under the ISC license.
62
+ * See the LICENSE file in the root directory of this source tree.
63
+ */const ma=H("CalendarRange",[["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M17 14h-6",key:"bkmgh3"}],["path",{d:"M13 18H7",key:"bb0bb7"}],["path",{d:"M7 14h.01",key:"1qa3f1"}],["path",{d:"M17 18h.01",key:"1bdyru"}]]);/**
64
+ * @license lucide-react v0.468.0 - ISC
65
+ *
66
+ * This source code is licensed under the ISC license.
67
+ * See the LICENSE file in the root directory of this source tree.
68
+ */const ft=H("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/**
69
+ * @license lucide-react v0.468.0 - ISC
70
+ *
71
+ * This source code is licensed under the ISC license.
72
+ * See the LICENSE file in the root directory of this source tree.
73
+ */const Dm=H("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]);/**
74
+ * @license lucide-react v0.468.0 - ISC
75
+ *
76
+ * This source code is licensed under the ISC license.
77
+ * See the LICENSE file in the root directory of this source tree.
78
+ */const ut=H("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
79
+ * @license lucide-react v0.468.0 - ISC
80
+ *
81
+ * This source code is licensed under the ISC license.
82
+ * See the LICENSE file in the root directory of this source tree.
83
+ */const Hs=H("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
84
+ * @license lucide-react v0.468.0 - ISC
85
+ *
86
+ * This source code is licensed under the ISC license.
87
+ * See the LICENSE file in the root directory of this source tree.
88
+ */const fa=H("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
89
+ * @license lucide-react v0.468.0 - ISC
90
+ *
91
+ * This source code is licensed under the ISC license.
92
+ * See the LICENSE file in the root directory of this source tree.
93
+ */const Us=H("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
94
+ * @license lucide-react v0.468.0 - ISC
95
+ *
96
+ * This source code is licensed under the ISC license.
97
+ * See the LICENSE file in the root directory of this source tree.
98
+ */const ha=H("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
99
+ * @license lucide-react v0.468.0 - ISC
100
+ *
101
+ * This source code is licensed under the ISC license.
102
+ * See the LICENSE file in the root directory of this source tree.
103
+ */const Gi=H("ChevronsUpDown",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);/**
104
+ * @license lucide-react v0.468.0 - ISC
105
+ *
106
+ * This source code is licensed under the ISC license.
107
+ * See the LICENSE file in the root directory of this source tree.
108
+ */const bs=H("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
109
+ * @license lucide-react v0.468.0 - ISC
110
+ *
111
+ * This source code is licensed under the ISC license.
112
+ * See the LICENSE file in the root directory of this source tree.
113
+ */const Qi=H("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
114
+ * @license lucide-react v0.468.0 - ISC
115
+ *
116
+ * This source code is licensed under the ISC license.
117
+ * See the LICENSE file in the root directory of this source tree.
118
+ */const Xi=H("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
119
+ * @license lucide-react v0.468.0 - ISC
120
+ *
121
+ * This source code is licensed under the ISC license.
122
+ * See the LICENSE file in the root directory of this source tree.
123
+ */const jt=H("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
124
+ * @license lucide-react v0.468.0 - ISC
125
+ *
126
+ * This source code is licensed under the ISC license.
127
+ * See the LICENSE file in the root directory of this source tree.
128
+ */const _m=H("ClipboardList",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);/**
129
+ * @license lucide-react v0.468.0 - ISC
130
+ *
131
+ * This source code is licensed under the ISC license.
132
+ * See the LICENSE file in the root directory of this source tree.
133
+ */const Vt=H("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
134
+ * @license lucide-react v0.468.0 - ISC
135
+ *
136
+ * This source code is licensed under the ISC license.
137
+ * See the LICENSE file in the root directory of this source tree.
138
+ */const Ji=H("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/**
139
+ * @license lucide-react v0.468.0 - ISC
140
+ *
141
+ * This source code is licensed under the ISC license.
142
+ * See the LICENSE file in the root directory of this source tree.
143
+ */const Zi=H("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/**
144
+ * @license lucide-react v0.468.0 - ISC
145
+ *
146
+ * This source code is licensed under the ISC license.
147
+ * See the LICENSE file in the root directory of this source tree.
148
+ */const Em=H("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/**
149
+ * @license lucide-react v0.468.0 - ISC
150
+ *
151
+ * This source code is licensed under the ISC license.
152
+ * See the LICENSE file in the root directory of this source tree.
153
+ */const el=H("CornerDownRight",[["polyline",{points:"15 10 20 15 15 20",key:"1q7qjw"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);/**
154
+ * @license lucide-react v0.468.0 - ISC
155
+ *
156
+ * This source code is licensed under the ISC license.
157
+ * See the LICENSE file in the root directory of this source tree.
158
+ */const xa=H("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
159
+ * @license lucide-react v0.468.0 - ISC
160
+ *
161
+ * This source code is licensed under the ISC license.
162
+ * See the LICENSE file in the root directory of this source tree.
163
+ */const Nn=H("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/**
164
+ * @license lucide-react v0.468.0 - ISC
165
+ *
166
+ * This source code is licensed under the ISC license.
167
+ * See the LICENSE file in the root directory of this source tree.
168
+ */const tl=H("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/**
169
+ * @license lucide-react v0.468.0 - ISC
170
+ *
171
+ * This source code is licensed under the ISC license.
172
+ * See the LICENSE file in the root directory of this source tree.
173
+ */const pa=H("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
174
+ * @license lucide-react v0.468.0 - ISC
175
+ *
176
+ * This source code is licensed under the ISC license.
177
+ * See the LICENSE file in the root directory of this source tree.
178
+ */const kn=H("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
179
+ * @license lucide-react v0.468.0 - ISC
180
+ *
181
+ * This source code is licensed under the ISC license.
182
+ * See the LICENSE file in the root directory of this source tree.
183
+ */const Om=H("FileArchive",[["path",{d:"M10 12v-1",key:"v7bkov"}],["path",{d:"M10 18v-2",key:"1cjy8d"}],["path",{d:"M10 7V6",key:"dljcrl"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01",key:"gkbcor"}],["circle",{cx:"10",cy:"20",r:"2",key:"1xzdoj"}]]);/**
184
+ * @license lucide-react v0.468.0 - ISC
185
+ *
186
+ * This source code is licensed under the ISC license.
187
+ * See the LICENSE file in the root directory of this source tree.
188
+ */const Tm=H("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);/**
189
+ * @license lucide-react v0.468.0 - ISC
190
+ *
191
+ * This source code is licensed under the ISC license.
192
+ * See the LICENSE file in the root directory of this source tree.
193
+ */const Pm=H("FileImage",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]);/**
194
+ * @license lucide-react v0.468.0 - ISC
195
+ *
196
+ * This source code is licensed under the ISC license.
197
+ * See the LICENSE file in the root directory of this source tree.
198
+ */const Am=H("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
199
+ * @license lucide-react v0.468.0 - ISC
200
+ *
201
+ * This source code is licensed under the ISC license.
202
+ * See the LICENSE file in the root directory of this source tree.
203
+ */const $m=H("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/**
204
+ * @license lucide-react v0.468.0 - ISC
205
+ *
206
+ * This source code is licensed under the ISC license.
207
+ * See the LICENSE file in the root directory of this source tree.
208
+ */const ga=H("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/**
209
+ * @license lucide-react v0.468.0 - ISC
210
+ *
211
+ * This source code is licensed under the ISC license.
212
+ * See the LICENSE file in the root directory of this source tree.
213
+ */const Sn=H("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/**
214
+ * @license lucide-react v0.468.0 - ISC
215
+ *
216
+ * This source code is licensed under the ISC license.
217
+ * See the LICENSE file in the root directory of this source tree.
218
+ */const sl=H("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/**
219
+ * @license lucide-react v0.468.0 - ISC
220
+ *
221
+ * This source code is licensed under the ISC license.
222
+ * See the LICENSE file in the root directory of this source tree.
223
+ */const Rm=H("Heading1",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"m17 12 3-2v8",key:"1hhhft"}]]);/**
224
+ * @license lucide-react v0.468.0 - ISC
225
+ *
226
+ * This source code is licensed under the ISC license.
227
+ * See the LICENSE file in the root directory of this source tree.
228
+ */const Im=H("Heading2",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1",key:"9jr5yi"}]]);/**
229
+ * @license lucide-react v0.468.0 - ISC
230
+ *
231
+ * This source code is licensed under the ISC license.
232
+ * See the LICENSE file in the root directory of this source tree.
233
+ */const Fm=H("Heading3",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2",key:"68ncm8"}],["path",{d:"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2",key:"1ejuhz"}]]);/**
234
+ * @license lucide-react v0.468.0 - ISC
235
+ *
236
+ * This source code is licensed under the ISC license.
237
+ * See the LICENSE file in the root directory of this source tree.
238
+ */const nl=H("Italic",[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]]);/**
239
+ * @license lucide-react v0.468.0 - ISC
240
+ *
241
+ * This source code is licensed under the ISC license.
242
+ * See the LICENSE file in the root directory of this source tree.
243
+ */const wt=H("Layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);/**
244
+ * @license lucide-react v0.468.0 - ISC
245
+ *
246
+ * This source code is licensed under the ISC license.
247
+ * See the LICENSE file in the root directory of this source tree.
248
+ */const Qn=H("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/**
249
+ * @license lucide-react v0.468.0 - ISC
250
+ *
251
+ * This source code is licensed under the ISC license.
252
+ * See the LICENSE file in the root directory of this source tree.
253
+ */const ba=H("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/**
254
+ * @license lucide-react v0.468.0 - ISC
255
+ *
256
+ * This source code is licensed under the ISC license.
257
+ * See the LICENSE file in the root directory of this source tree.
258
+ */const zm=H("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/**
259
+ * @license lucide-react v0.468.0 - ISC
260
+ *
261
+ * This source code is licensed under the ISC license.
262
+ * See the LICENSE file in the root directory of this source tree.
263
+ */const rl=H("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);/**
264
+ * @license lucide-react v0.468.0 - ISC
265
+ *
266
+ * This source code is licensed under the ISC license.
267
+ * See the LICENSE file in the root directory of this source tree.
268
+ */const Wm=H("ListTree",[["path",{d:"M21 12h-8",key:"1bmf0i"}],["path",{d:"M21 6H8",key:"1pqkrb"}],["path",{d:"M21 18h-8",key:"1tm79t"}],["path",{d:"M3 6v4c0 1.1.9 2 2 2h3",key:"1ywdgy"}],["path",{d:"M3 10v6c0 1.1.9 2 2 2h3",key:"2wc746"}]]);/**
269
+ * @license lucide-react v0.468.0 - ISC
270
+ *
271
+ * This source code is licensed under the ISC license.
272
+ * See the LICENSE file in the root directory of this source tree.
273
+ */const al=H("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/**
274
+ * @license lucide-react v0.468.0 - ISC
275
+ *
276
+ * This source code is licensed under the ISC license.
277
+ * See the LICENSE file in the root directory of this source tree.
278
+ */const rr=H("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
279
+ * @license lucide-react v0.468.0 - ISC
280
+ *
281
+ * This source code is licensed under the ISC license.
282
+ * See the LICENSE file in the root directory of this source tree.
283
+ */const qm=H("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
284
+ * @license lucide-react v0.468.0 - ISC
285
+ *
286
+ * This source code is licensed under the ISC license.
287
+ * See the LICENSE file in the root directory of this source tree.
288
+ */const Bm=H("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/**
289
+ * @license lucide-react v0.468.0 - ISC
290
+ *
291
+ * This source code is licensed under the ISC license.
292
+ * See the LICENSE file in the root directory of this source tree.
293
+ */const Cn=H("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/**
294
+ * @license lucide-react v0.468.0 - ISC
295
+ *
296
+ * This source code is licensed under the ISC license.
297
+ * See the LICENSE file in the root directory of this source tree.
298
+ */const Ym=H("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/**
299
+ * @license lucide-react v0.468.0 - ISC
300
+ *
301
+ * This source code is licensed under the ISC license.
302
+ * See the LICENSE file in the root directory of this source tree.
303
+ */const Lm=H("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);/**
304
+ * @license lucide-react v0.468.0 - ISC
305
+ *
306
+ * This source code is licensed under the ISC license.
307
+ * See the LICENSE file in the root directory of this source tree.
308
+ */const Hm=H("PanelRight",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);/**
309
+ * @license lucide-react v0.468.0 - ISC
310
+ *
311
+ * This source code is licensed under the ISC license.
312
+ * See the LICENSE file in the root directory of this source tree.
313
+ */const ya=H("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);/**
314
+ * @license lucide-react v0.468.0 - ISC
315
+ *
316
+ * This source code is licensed under the ISC license.
317
+ * See the LICENSE file in the root directory of this source tree.
318
+ */const ar=H("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/**
319
+ * @license lucide-react v0.468.0 - ISC
320
+ *
321
+ * This source code is licensed under the ISC license.
322
+ * See the LICENSE file in the root directory of this source tree.
323
+ */const or=H("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
324
+ * @license lucide-react v0.468.0 - ISC
325
+ *
326
+ * This source code is licensed under the ISC license.
327
+ * See the LICENSE file in the root directory of this source tree.
328
+ */const ze=H("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/**
329
+ * @license lucide-react v0.468.0 - ISC
330
+ *
331
+ * This source code is licensed under the ISC license.
332
+ * See the LICENSE file in the root directory of this source tree.
333
+ */const Um=H("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);/**
334
+ * @license lucide-react v0.468.0 - ISC
335
+ *
336
+ * This source code is licensed under the ISC license.
337
+ * See the LICENSE file in the root directory of this source tree.
338
+ */const Km=H("Redo2",[["path",{d:"m15 14 5-5-5-5",key:"12vg1m"}],["path",{d:"M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",key:"6uklza"}]]);/**
339
+ * @license lucide-react v0.468.0 - ISC
340
+ *
341
+ * This source code is licensed under the ISC license.
342
+ * See the LICENSE file in the root directory of this source tree.
343
+ */const ir=H("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
344
+ * @license lucide-react v0.468.0 - ISC
345
+ *
346
+ * This source code is licensed under the ISC license.
347
+ * See the LICENSE file in the root directory of this source tree.
348
+ */const Vm=H("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
349
+ * @license lucide-react v0.468.0 - ISC
350
+ *
351
+ * This source code is licensed under the ISC license.
352
+ * See the LICENSE file in the root directory of this source tree.
353
+ */const va=H("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
354
+ * @license lucide-react v0.468.0 - ISC
355
+ *
356
+ * This source code is licensed under the ISC license.
357
+ * See the LICENSE file in the root directory of this source tree.
358
+ */const ja=H("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
359
+ * @license lucide-react v0.468.0 - ISC
360
+ *
361
+ * This source code is licensed under the ISC license.
362
+ * See the LICENSE file in the root directory of this source tree.
363
+ */const Vr=H("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
364
+ * @license lucide-react v0.468.0 - ISC
365
+ *
366
+ * This source code is licensed under the ISC license.
367
+ * See the LICENSE file in the root directory of this source tree.
368
+ */const ol=H("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
369
+ * @license lucide-react v0.468.0 - ISC
370
+ *
371
+ * This source code is licensed under the ISC license.
372
+ * See the LICENSE file in the root directory of this source tree.
373
+ */const il=H("SquareCheckBig",[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
374
+ * @license lucide-react v0.468.0 - ISC
375
+ *
376
+ * This source code is licensed under the ISC license.
377
+ * See the LICENSE file in the root directory of this source tree.
378
+ */const Gm=H("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
379
+ * @license lucide-react v0.468.0 - ISC
380
+ *
381
+ * This source code is licensed under the ISC license.
382
+ * See the LICENSE file in the root directory of this source tree.
383
+ */const ll=H("Strikethrough",[["path",{d:"M16 4H9a3 3 0 0 0-2.83 4",key:"43sutm"}],["path",{d:"M14 12a4 4 0 0 1 0 8H6",key:"nlfj13"}],["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}]]);/**
384
+ * @license lucide-react v0.468.0 - ISC
385
+ *
386
+ * This source code is licensed under the ISC license.
387
+ * See the LICENSE file in the root directory of this source tree.
388
+ */const Qm=H("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/**
389
+ * @license lucide-react v0.468.0 - ISC
390
+ *
391
+ * This source code is licensed under the ISC license.
392
+ * See the LICENSE file in the root directory of this source tree.
393
+ */const Xm=H("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/**
394
+ * @license lucide-react v0.468.0 - ISC
395
+ *
396
+ * This source code is licensed under the ISC license.
397
+ * See the LICENSE file in the root directory of this source tree.
398
+ */const Jm=H("ThumbsUp",[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]]);/**
399
+ * @license lucide-react v0.468.0 - ISC
400
+ *
401
+ * This source code is licensed under the ISC license.
402
+ * See the LICENSE file in the root directory of this source tree.
403
+ */const Zm=H("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);/**
404
+ * @license lucide-react v0.468.0 - ISC
405
+ *
406
+ * This source code is licensed under the ISC license.
407
+ * See the LICENSE file in the root directory of this source tree.
408
+ */const Gt=H("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
409
+ * @license lucide-react v0.468.0 - ISC
410
+ *
411
+ * This source code is licensed under the ISC license.
412
+ * See the LICENSE file in the root directory of this source tree.
413
+ */const ef=H("Underline",[["path",{d:"M6 4v6a6 6 0 0 0 12 0V4",key:"9kb039"}],["line",{x1:"4",x2:"20",y1:"20",y2:"20",key:"nun2al"}]]);/**
414
+ * @license lucide-react v0.468.0 - ISC
415
+ *
416
+ * This source code is licensed under the ISC license.
417
+ * See the LICENSE file in the root directory of this source tree.
418
+ */const tf=H("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);/**
419
+ * @license lucide-react v0.468.0 - ISC
420
+ *
421
+ * This source code is licensed under the ISC license.
422
+ * See the LICENSE file in the root directory of this source tree.
423
+ */const sf=H("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/**
424
+ * @license lucide-react v0.468.0 - ISC
425
+ *
426
+ * This source code is licensed under the ISC license.
427
+ * See the LICENSE file in the root directory of this source tree.
428
+ */const nf=H("UserMinus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);/**
429
+ * @license lucide-react v0.468.0 - ISC
430
+ *
431
+ * This source code is licensed under the ISC license.
432
+ * See the LICENSE file in the root directory of this source tree.
433
+ */const Mn=H("UserPlus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);/**
434
+ * @license lucide-react v0.468.0 - ISC
435
+ *
436
+ * This source code is licensed under the ISC license.
437
+ * See the LICENSE file in the root directory of this source tree.
438
+ */const dl=H("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);/**
439
+ * @license lucide-react v0.468.0 - ISC
440
+ *
441
+ * This source code is licensed under the ISC license.
442
+ * See the LICENSE file in the root directory of this source tree.
443
+ */const ms=H("UsersRound",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]);/**
444
+ * @license lucide-react v0.468.0 - ISC
445
+ *
446
+ * This source code is licensed under the ISC license.
447
+ * See the LICENSE file in the root directory of this source tree.
448
+ */const rf=H("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
449
+ * @license lucide-react v0.468.0 - ISC
450
+ *
451
+ * This source code is licensed under the ISC license.
452
+ * See the LICENSE file in the root directory of this source tree.
453
+ */const Re=H("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
454
+ * @license lucide-react v0.468.0 - ISC
455
+ *
456
+ * This source code is licensed under the ISC license.
457
+ * See the LICENSE file in the root directory of this source tree.
458
+ */const Dn=H("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Nr=768;function af(){const[e,s]=x.useState(void 0);return x.useEffect(()=>{const n=window.matchMedia(`(max-width: ${Nr-1}px)`),r=()=>{s(window.innerWidth<Nr)};return n.addEventListener("change",r),s(window.innerWidth<Nr),()=>n.removeEventListener("change",r)},[]),!!e}const $s=jn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_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",indigo:"bg-indigo text-indigo-foreground hover:opacity-90"},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","icon-sm":"h-7 w-7"}},defaultVariants:{variant:"default",size:"default"}}),K=x.forwardRef(({className:e,variant:s,size:n,asChild:r=!1,...a},o)=>{const i=r?ta:"button";return t.jsx(i,{className:O($s({variant:s,size:n,className:e})),ref:o,...a})});K.displayName="Button";const xe=x.forwardRef(({className:e,type:s,...n},r)=>t.jsx("input",{type:s,className:O("flex h-9 w-full rounded-lg border border-input bg-transparent px-3 py-1 text-sm shadow-none transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[#9ca3af] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));xe.displayName="Input";const wa=x.forwardRef(({className:e,orientation:s="horizontal",decorative:n=!0,...r},a)=>t.jsx(Vo,{ref:a,decorative:n,orientation:s,className:O("shrink-0 bg-border",s==="horizontal"?"h-px w-full":"h-full w-px",e),...r}));wa.displayName=Vo.displayName;const of=vn,lf=yn,cl=x.forwardRef(({className:e,...s},n)=>t.jsx(ps,{className:O("fixed inset-0 z-50 bg-black/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...s,ref:n}));cl.displayName=ps.displayName;const df=jn("fixed z-50 gap-4 bg-background border-border transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-200 data-[state=open]:duration-300",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-xl"}},defaultVariants:{side:"right"}}),ul=x.forwardRef(({side:e="right",className:s,children:n,...r},a)=>t.jsxs(lf,{children:[t.jsx(cl,{}),t.jsxs(gs,{ref:a,className:O(df({side:e}),s),...r,children:[n,t.jsxs(Zn,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[t.jsx(Re,{className:"h-4 w-4"}),t.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ul.displayName=gs.displayName;const ml=({className:e,...s})=>t.jsx("div",{className:O("flex flex-col space-y-1.5 px-6 pt-6 pb-4 border-b border-border",e),...s});ml.displayName="SheetHeader";const fl=x.forwardRef(({className:e,...s},n)=>t.jsx(Bs,{ref:n,className:O("text-base font-semibold text-foreground",e),...s}));fl.displayName=Bs.displayName;const hl=x.forwardRef(({className:e,...s},n)=>t.jsx(Ys,{ref:n,className:O("text-sm text-muted-foreground",e),...s}));hl.displayName=Ys.displayName;function te({className:e,...s}){return t.jsx("div",{className:O("animate-pulse rounded-md bg-muted",e),...s})}const cf="sidebar_state",uf=60*60*24*7,mf="16rem",ff="18rem",hf="3rem",xf="b",xl=x.createContext(null);function Na(){const e=x.useContext(xl);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function pf({defaultOpen:e=!0,open:s,onOpenChange:n,className:r,style:a,children:o,...i}){const l=af(),[d,c]=x.useState(!1),[u,m]=x.useState(e),f=s??u,h=x.useCallback(b=>{const w=typeof b=="function"?b(f):b;n?n(w):m(w),document.cookie=`${cf}=${w}; path=/; max-age=${uf}`},[n,f]),g=x.useCallback(()=>l?c(b=>!b):h(b=>!b),[l,h,c]);x.useEffect(()=>{const b=w=>{w.key===xf&&(w.metaKey||w.ctrlKey)&&(w.preventDefault(),g())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[g]);const y=f?"expanded":"collapsed",S=x.useMemo(()=>({state:y,open:f,setOpen:h,isMobile:l,openMobile:d,setOpenMobile:c,toggleSidebar:g}),[y,f,h,l,d,c,g]);return t.jsx(xl.Provider,{value:S,children:t.jsx(ia,{delayDuration:0,children:t.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":mf,"--sidebar-width-icon":hf,...a},className:O("group/sidebar-wrapper has-[[data-variant=inset]]:bg-sidebar flex h-svh w-full",r),...i,children:o})})})}function gf({side:e="left",variant:s="sidebar",collapsible:n="offcanvas",className:r,children:a,...o}){const{isMobile:i,state:l,openMobile:d,setOpenMobile:c}=Na();return n==="none"?t.jsx("div",{"data-slot":"sidebar",className:O("bg-sidebar text-sidebar-foreground flex h-full w-[var(--sidebar-width)] flex-col",r),...o,children:a}):i?t.jsx(of,{open:d,onOpenChange:c,...o,children:t.jsxs(ul,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-[var(--sidebar-width)] p-0 [&>button]:hidden",style:{"--sidebar-width":ff},side:e,children:[t.jsxs(ml,{className:"sr-only",children:[t.jsx(fl,{children:"Sidebar"}),t.jsx(hl,{children:"Displays the mobile sidebar."})]}),t.jsx("div",{className:"flex h-full w-full flex-col",children:a})]})}):t.jsxs("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":l,"data-collapsible":l==="collapsed"?n:"","data-variant":s,"data-side":e,"data-slot":"sidebar",children:[t.jsx("div",{"data-slot":"sidebar-gap",className:O("relative w-[var(--sidebar-width)] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",s==="floating"||s==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+1rem)]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]")}),t.jsx("div",{"data-slot":"sidebar-container",className:O("fixed inset-y-0 z-10 hidden h-svh w-[var(--sidebar-width)] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",s==="floating"||s==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+1rem+2px)]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...o,children:t.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:a})})]})}function bf({className:e,onClick:s,...n}){const{toggleSidebar:r}=Na();return t.jsxs(K,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:O("size-7",e),onClick:a=>{s==null||s(a),r()},...n,children:[t.jsx(Lm,{}),t.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function yf({className:e,...s}){return t.jsx("main",{"data-slot":"sidebar-inset",className:O("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...s})}function vf({className:e,...s}){return t.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:O("flex flex-col gap-2 p-2",e),...s})}function jf({className:e,...s}){return t.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:O("flex flex-col gap-2 p-2",e),...s})}function wf({className:e,...s}){return t.jsx(wa,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:O("bg-sidebar-border mx-2 w-auto",e),...s})}function Nf({className:e,...s}){return t.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:O("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...s})}function kr({className:e,...s}){return t.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:O("relative flex w-full min-w-0 flex-col p-2",e),...s})}function kf({className:e,asChild:s=!1,...n}){const r=s?ta:"div";return t.jsx(r,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:O("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...n})}function Sr({className:e,...s}){return t.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:O("w-full text-sm",e),...s})}function fn({className:e,...s}){return t.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:O("flex w-full min-w-0 flex-col gap-1",e),...s})}function Bt({className:e,...s}){return t.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:O("group/menu-item relative",e),...s})}const Sf=jn("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}}),Mt=x.forwardRef(function({asChild:s=!1,isActive:n=!1,variant:r="default",size:a="default",tooltip:o,className:i,...l},d){const c=s?ta:"button",{isMobile:u,state:m}=Na(),f=t.jsx(c,{ref:d,"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":a,"data-active":n,className:O(Sf({variant:r,size:a}),i),...l});return o?(typeof o=="string"&&(o={children:o}),t.jsxs(ls,{children:[t.jsx(ds,{asChild:!0,children:f}),t.jsx(Yt,{side:"right",align:"center",hidden:m!=="collapsed"||u,...o})]})):f});Mt.displayName="SidebarMenuButton";const Cf=250,Mf=300,cs={all:["projects"],list:()=>[...cs.all,"list"],detail:e=>[...cs.all,e],byKey:e=>[...cs.all,"key",e]};function lr(){const{workspace:e}=ke();return Ne({queryKey:[...cs.list(),e==null?void 0:e.id],queryFn:()=>{const s=e!=null&&e.id?`?workspace_id=${e.id}`:"";return J.get(`/admin/projects${s}`)},select:s=>s.projects,enabled:!!(e!=null&&e.id)})}function ys(e){return Ne({queryKey:cs.byKey(e),queryFn:()=>J.get(`/admin/projects/by-identifier/${encodeURIComponent(e)}`),select:s=>s.project,enabled:!!e})}function Df(e,s={}){const[n,r]=x.useState(e),a=s.enabled!==!1;return x.useEffect(()=>{if(!a)return;const l=setTimeout(()=>r(e),Cf);return()=>clearTimeout(l)},[e,a]),{...Ne({queryKey:["projects","suggest-identifier",n],queryFn:()=>J.get(`/admin/projects/suggest-identifier?name=${encodeURIComponent(n)}`),select:l=>l.identifier,enabled:a&&n.trim().length>0}),flush:()=>r(e)}}function _f(e,s={}){const n=e.toUpperCase().replace(/[^A-Z0-9]/g,""),[r,a]=x.useState(n),o=s.enabled!==!1&&n.length>=3;x.useEffect(()=>{if(!n){a("");return}const l=setTimeout(()=>a(n),Mf);return()=>clearTimeout(l)},[n]);const i=Ne({queryKey:["projects","check-identifier",r],queryFn:()=>J.get(`/admin/projects/check-identifier/${encodeURIComponent(r)}`),select:l=>l.available,enabled:o&&r.length>=3});return{available:i.data,isLoading:i.isLoading,isFetching:i.isFetching}}function Ef(){const e=me();return ce({mutationFn:s=>J.post("/admin/projects",s),onSuccess:()=>{e.invalidateQueries({queryKey:cs.list()})}})}function Of(){const e=me();return ce({mutationFn:s=>J.delete(`/admin/projects/${s}`),onSuccess:()=>{e.invalidateQueries({queryKey:cs.list()})}})}const vs=uc,js=mc,Tf=x.forwardRef(({className:e,inset:s,children:n,...r},a)=>t.jsxs(Go,{ref:a,className:O("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",s&&"pl-8",e),...r,children:[n,t.jsx(Us,{className:"ml-auto"})]}));Tf.displayName=Go.displayName;const Pf=x.forwardRef(({className:e,...s},n)=>t.jsx(Qo,{ref:n,className:O("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}));Pf.displayName=Qo.displayName;const Qt=x.forwardRef(({className:e,sideOffset:s=4,...n},r)=>t.jsx(cc,{children:t.jsx(Xo,{ref:r,sideOffset:s,className:O("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),...n})}));Qt.displayName=Xo.displayName;const Xe=x.forwardRef(({className:e,inset:s,...n},r)=>t.jsx(Jo,{ref:r,className:O("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]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",s&&"pl-8",e),...n}));Xe.displayName=Jo.displayName;const Af=x.forwardRef(({className:e,children:s,checked:n,...r},a)=>t.jsxs(Zo,{ref:a,className:O("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:n,...r,children:[t.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:t.jsx(ei,{children:t.jsx(ut,{className:"h-4 w-4"})})}),s]}));Af.displayName=Zo.displayName;const $f=x.forwardRef(({className:e,children:s,...n},r)=>t.jsxs(ti,{ref:r,className:O("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),...n,children:[t.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:t.jsx(ei,{children:t.jsx(jt,{className:"h-2 w-2 fill-current"})})}),s]}));$f.displayName=ti.displayName;const ka=x.forwardRef(({className:e,inset:s,...n},r)=>t.jsx(si,{ref:r,className:O("px-2 py-1.5 text-xs font-medium text-muted-foreground",s&&"pl-8",e),...n}));ka.displayName=si.displayName;const _n=x.forwardRef(({className:e,...s},n)=>t.jsx(ni,{ref:n,className:O("-mx-1 my-1 h-px bg-border",e),...s}));_n.displayName=ni.displayName;const rt=x.forwardRef(({className:e,...s},n)=>t.jsx(ri,{ref:n,className:O("relative flex h-8 w-8 shrink-0 overflow-hidden rounded-full",e),...s}));rt.displayName=ri.displayName;const Rf=x.forwardRef(({className:e,...s},n)=>t.jsx(ai,{ref:n,className:O("aspect-square h-full w-full",e),...s}));Rf.displayName=ai.displayName;const at=x.forwardRef(({className:e,...s},n)=>t.jsx(oi,{ref:n,className:O("flex h-full w-full items-center justify-center rounded-full bg-muted text-xs font-medium text-muted-foreground",e),...s}));at.displayName=oi.displayName;function If(){var a;const{workspace:e,setWorkspace:s}=ke(),{data:n}=er(),r=Ve();return t.jsx(fn,{children:t.jsx(Bt,{children:t.jsxs(vs,{children:[t.jsx(js,{asChild:!0,children:t.jsxs(Mt,{size:"lg",className:"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",children:[t.jsx("div",{className:"flex aspect-square size-8 items-center justify-center rounded-lg bg-foreground text-background shrink-0",children:t.jsx("span",{className:"text-[13px] font-bold",children:(((a=e==null?void 0:e.name)==null?void 0:a[0])??"M").toUpperCase()})}),t.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[t.jsx("span",{className:"truncate font-semibold",children:(e==null?void 0:e.name)??"Meridian"}),t.jsx("span",{className:"truncate text-xs text-sidebar-foreground/60",children:(e==null?void 0:e.slug)??""})]}),t.jsx(Gi,{className:"ml-auto size-4 shrink-0"})]})}),t.jsxs(Qt,{className:"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",side:"bottom",align:"start",sideOffset:4,children:[t.jsx(ka,{className:"text-xs text-muted-foreground font-normal",children:"Workspaces"}),n==null?void 0:n.map(o=>t.jsxs(Xe,{className:"cursor-pointer gap-2 p-2",onClick:()=>{s({id:o.id,name:o.name,slug:o.slug}),r(`/${o.slug}/projects`)},children:[t.jsx("div",{className:"flex size-6 items-center justify-center rounded-sm bg-foreground text-background shrink-0",children:t.jsx("span",{className:"text-[10px] font-bold",children:o.name[0].toUpperCase()})}),t.jsx("span",{className:"flex-1 truncate",children:o.name}),o.id===(e==null?void 0:e.id)&&t.jsx(ut,{className:"size-3.5 text-muted-foreground shrink-0"})]},o.id)),t.jsx(_n,{}),t.jsxs(Xe,{className:"cursor-pointer gap-2 p-2 text-muted-foreground",onClick:()=>r("/setup"),children:[t.jsx("div",{className:"flex size-6 items-center justify-center rounded-md border bg-background",children:t.jsx("span",{className:"text-xs font-semibold",children:"+"})}),t.jsx("span",{children:"Create workspace"})]})]})]})})})}function Ff(){var a,o;const{user:e,logout:s}=ke(),n=e?`${((a=e.first_name)==null?void 0:a[0])??""}${((o=e.last_name)==null?void 0:o[0])??""}`.toUpperCase()||e.email[0].toUpperCase():"?",r=e?[e.first_name,e.last_name].filter(Boolean).join(" ")||e.email:"User";return t.jsx(fn,{children:t.jsx(Bt,{children:t.jsxs(vs,{children:[t.jsx(js,{asChild:!0,children:t.jsxs(Mt,{size:"lg",className:"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",children:[t.jsx(rt,{className:"h-8 w-8 rounded-lg shrink-0",children:t.jsx(at,{className:"rounded-lg bg-foreground text-background text-xs font-medium",children:n})}),t.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[t.jsx("span",{className:"truncate font-semibold",children:r}),t.jsx("span",{className:"truncate text-xs text-sidebar-foreground/60",children:(e==null?void 0:e.email)??""})]}),t.jsx(Gi,{className:"ml-auto size-4 shrink-0"})]})}),t.jsxs(Qt,{className:"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",side:"top",align:"end",sideOffset:4,children:[t.jsx(ka,{className:"p-0 font-normal",children:t.jsxs("div",{className:"flex items-center gap-2 px-1 py-1.5 text-left text-sm",children:[t.jsx(rt,{className:"h-8 w-8 rounded-lg",children:t.jsx(at,{className:"rounded-lg bg-foreground text-background text-xs font-medium",children:n})}),t.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[t.jsx("span",{className:"truncate font-semibold",children:r}),t.jsx("span",{className:"truncate text-xs text-muted-foreground",children:(e==null?void 0:e.email)??""})]})]})}),t.jsx(_n,{}),t.jsxs(Xe,{className:"text-destructive focus:text-destructive cursor-pointer",onClick:s,children:[t.jsx(qm,{className:"size-4"}),"Sign out"]})]})]})})})}function zf({...e}){var h;const{workspace:s,projectKey:n}=Je(),{data:r}=lr(),{toggle:a}=Ai(),{user:o}=ke(),i=Jn(),l=s??"",d=i.pathname===`/${l}/projects`,c=i.pathname.includes("/notifications"),u=i.pathname.includes("/settings"),m=i.pathname.includes("/roles"),f=((h=o==null?void 0:o.roles)==null?void 0:h.includes("super-admin"))??!1;return t.jsxs(gf,{collapsible:"offcanvas",...e,children:[t.jsx(vf,{children:t.jsx(If,{})}),t.jsxs(Nf,{children:[t.jsx(kr,{children:t.jsx(Sr,{children:t.jsxs(fn,{children:[t.jsx(Bt,{children:t.jsxs(Mt,{onClick:a,tooltip:"Search",children:[t.jsx(ir,{}),t.jsx("span",{children:"Search"}),t.jsx("kbd",{className:"ml-auto hidden text-[10px] text-sidebar-foreground/40 font-mono sm:inline-flex",children:"⌘K"})]})}),t.jsx(Bt,{children:t.jsx(Mt,{asChild:!0,isActive:d,tooltip:"Projects",children:t.jsxs(_s,{to:`/${l}/projects`,end:!0,children:[t.jsx(wt,{}),t.jsx("span",{children:"Projects"})]})})}),t.jsx(Bt,{children:t.jsx(Mt,{asChild:!0,isActive:c,tooltip:"Notifications",children:t.jsxs(_s,{to:`/${l}/notifications`,children:[t.jsx(wn,{}),t.jsx("span",{children:"Notifications"})]})})})]})})}),r&&r.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(wf,{}),t.jsxs(kr,{children:[t.jsx(kf,{children:"Recent"}),t.jsx(Sr,{children:t.jsx(fn,{children:r.slice(0,5).map(g=>t.jsx(Bt,{children:t.jsx(Mt,{asChild:!0,isActive:g.identifier===n,tooltip:g.name,children:t.jsxs(_s,{to:`/${l}/projects/${g.identifier}/board`,children:[t.jsx("span",{className:"font-mono text-[11px] text-sidebar-foreground/50 shrink-0",children:g.identifier}),t.jsx("span",{className:"truncate",children:g.name})]})})},g.id))})})]})]}),t.jsx(kr,{className:"mt-auto",children:t.jsx(Sr,{children:t.jsxs(fn,{children:[f&&t.jsx(Bt,{children:t.jsx(Mt,{asChild:!0,isActive:m,tooltip:"Roles & Permissions",children:t.jsxs(_s,{to:`/${l}/roles`,children:[t.jsx(Vr,{}),t.jsx("span",{children:"Roles"})]})})}),t.jsx(Bt,{children:t.jsx(Mt,{asChild:!0,isActive:u,tooltip:"Settings",children:t.jsxs(_s,{to:`/${l}/settings`,children:[t.jsx(va,{}),t.jsx("span",{children:"Settings"})]})})})]})})})]}),t.jsx(jf,{children:t.jsx(Ff,{})})]})}function Wf(){const{theme:e,setTheme:s}=bu();return t.jsxs(ls,{children:[t.jsx(ds,{asChild:!0,children:t.jsxs(K,{variant:"ghost",size:"icon-sm",onClick:()=>s(e==="dark"?"light":"dark"),className:"text-muted-foreground hover:text-foreground",children:[t.jsx(Qm,{className:"h-4 w-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),t.jsx(Ym,{className:"absolute h-4 w-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),t.jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),t.jsx(Yt,{children:"Toggle theme"})]})}const En={all:["notifications"],list:()=>[...En.all,"list"]};function qf(){return Ne({queryKey:En.list(),queryFn:()=>J.get("/admin/notifications"),select:e=>e.notifications})}function Bf(){return Ne({queryKey:[...En.list(),"unread"],queryFn:()=>J.get("/admin/notifications?read=false"),select:e=>e.count})}function Yf(){const e=me();return ce({mutationFn:s=>J.post(`/admin/notifications/${s}/read`),onSuccess:()=>{e.invalidateQueries({queryKey:En.list()})}})}function Lf(){const e=me();return ce({mutationFn:()=>J.post("/admin/notifications/read-all"),onSuccess:()=>{e.invalidateQueries({queryKey:En.list()})}})}function Hf(){const e=Jn(),{projectKey:s}=Je(),{data:n}=lr(),r=n==null?void 0:n.find(o=>o.identifier===s),a=e.pathname;return a.includes("/board")?{icon:wt,label:r?`${r.name} / Board`:"Board"}:a.includes("/issues")?{icon:Sn,label:r?`${r.name} / Issues`:"Issues"}:a.endsWith("/projects")?{icon:Qn,label:"Projects"}:a.includes("/notifications")?{icon:wn,label:"Notifications"}:a.includes("/settings")?{icon:va,label:"Settings"}:{icon:Qn,label:"Meridian"}}function Uf(){const{data:e=0}=Bf(),{icon:s,label:n}=Hf(),{workspace:r}=ke(),a=(r==null?void 0:r.slug)??"";return t.jsx("header",{className:"flex h-14 shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear w-full",children:t.jsxs("div",{className:"flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6",children:[t.jsx(bf,{className:"-ml-1"}),t.jsx(wa,{orientation:"vertical",className:"mx-2 data-[orientation=vertical]:h-4"}),t.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[t.jsx(s,{className:"h-4 w-4 text-muted-foreground",strokeWidth:1.5}),t.jsx("span",{className:"font-medium",children:n})]}),t.jsxs("div",{className:"ml-auto flex items-center gap-1",children:[t.jsx(Wf,{}),t.jsx(K,{variant:"ghost",size:"icon",asChild:!0,className:"relative size-8 text-muted-foreground hover:text-foreground",children:t.jsxs(hn,{to:`/${a}/notifications`,children:[t.jsx(wn,{className:"h-4 w-4",strokeWidth:1.5}),e>0&&t.jsx("span",{className:"absolute -top-0.5 -right-0.5 h-3.5 w-3.5 rounded-full bg-indigo text-[9px] font-bold text-white flex items-center justify-center leading-none",children:e>9?"9+":e})]})})]})]})})}function Kf(){return t.jsxs(pf,{children:[t.jsx(zf,{variant:"inset"}),t.jsxs(yf,{className:"flex flex-col min-w-0",children:[t.jsx(Uf,{}),t.jsx("div",{className:"flex flex-1 flex-col min-h-0 overflow-y-auto overflow-x-hidden",children:t.jsx(Ho,{})})]})]})}const mo=["board","issues","sprints","timeline","access"];function Vf(){const{projectKey:e,workspace:s}=Je(),{data:n}=ys(e??""),r=Ve(),a=Jn(),[o]=Uo();x.useEffect(()=>{const d=o.get("tab");if(!d||!mo.includes(d))return;mo.every(u=>!a.pathname.endsWith(`/${u}`))&&r(`/${s}/projects/${e}/${d}`,{replace:!0})},[]);const i=`/${s}/projects/${e}`,l=[{to:`${i}/board`,label:"Board",icon:Qn,end:!0},{to:`${i}/issues`,label:"Issues",icon:Sn,end:!1},{to:`${i}/sprints`,label:"Sprints",icon:Dn,end:!0},{to:`${i}/timeline`,label:"Timeline",icon:ma,end:!0},{to:`${i}/access`,label:"Access",icon:rr,end:!0}];return t.jsxs("div",{className:"flex flex-col h-full",children:[t.jsxs("div",{className:"px-6 pt-5 border-b border-border bg-white dark:bg-card shrink-0",children:[t.jsxs("div",{className:"flex items-center gap-2.5 mb-4",children:[n&&t.jsx("span",{className:"text-xs font-mono text-muted-foreground bg-muted border border-border px-2 py-0.5 rounded",children:n.identifier}),t.jsx("h1",{className:"text-sm font-semibold",children:(n==null?void 0:n.name)??""})]}),t.jsx("div",{className:"flex -mb-px",children:l.map(({to:d,label:c,icon:u,end:m})=>t.jsxs(_s,{to:d,end:m,className:({isActive:f})=>`flex items-center gap-1.5 px-3 py-2 text-sm border-b-2 transition-colors ${f?"border-foreground text-foreground font-medium":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[t.jsx(u,{className:"h-3.5 w-3.5",strokeWidth:1.5}),c]},d))})]}),t.jsx("div",{className:"flex flex-col flex-1 min-h-0",children:t.jsx(Ho,{})})]})}var fo=1,Gf=.9,Qf=.8,Xf=.17,Cr=.1,Mr=.999,Jf=.9999,Zf=.99,eh=/[\\\/_+.#"@\[\(\{&]/,th=/[\\\/_+.#"@\[\(\{&]/g,sh=/[\s-]/,pl=/[\s-]/g;function Gr(e,s,n,r,a,o,i){if(o===s.length)return a===e.length?fo:Zf;var l=`${a},${o}`;if(i[l]!==void 0)return i[l];for(var d=r.charAt(o),c=n.indexOf(d,a),u=0,m,f,h,g;c>=0;)m=Gr(e,s,n,r,c+1,o+1,i),m>u&&(c===a?m*=fo:eh.test(e.charAt(c-1))?(m*=Qf,h=e.slice(a,c-1).match(th),h&&a>0&&(m*=Math.pow(Mr,h.length))):sh.test(e.charAt(c-1))?(m*=Gf,g=e.slice(a,c-1).match(pl),g&&a>0&&(m*=Math.pow(Mr,g.length))):(m*=Xf,a>0&&(m*=Math.pow(Mr,c-a))),e.charAt(c)!==s.charAt(o)&&(m*=Jf)),(m<Cr&&n.charAt(c-1)===r.charAt(o+1)||r.charAt(o+1)===r.charAt(o)&&n.charAt(c-1)!==r.charAt(o))&&(f=Gr(e,s,n,r,c+1,o+2,i),f*Cr>m&&(m=f*Cr)),m>u&&(u=m),c=n.indexOf(d,c+1);return i[l]=u,u}function ho(e){return e.toLowerCase().replace(pl," ")}function nh(e,s,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,Gr(e,s,ho(e),ho(s),0,0,{})}var on='[cmdk-group=""]',Dr='[cmdk-group-items=""]',rh='[cmdk-group-heading=""]',Sa='[cmdk-item=""]',xo=`${Sa}:not([aria-disabled="true"])`,Qr="cmdk-item-select",os="data-value",ah=(e,s,n)=>nh(e,s,n),gl=x.createContext(void 0),On=()=>x.useContext(gl),bl=x.createContext(void 0),Ca=()=>x.useContext(bl),yl=x.createContext(void 0),vl=x.forwardRef((e,s)=>{let n=Es(()=>{var N,M;return{search:"",value:(M=(N=e.value)!=null?N:e.defaultValue)!=null?M:"",filtered:{count:0,items:new Map,groups:new Set}}}),r=Es(()=>new Set),a=Es(()=>new Map),o=Es(()=>new Map),i=Es(()=>new Set),l=jl(e),{label:d,children:c,value:u,onValueChange:m,filter:f,shouldFilter:h,loop:g,disablePointerSelection:y=!1,vimBindings:S=!0,...b}=e,w=Ps(),k=Ps(),j=Ps(),E=x.useRef(null),p=ph();fs(()=>{if(u!==void 0){let N=u.trim();n.current.value=N,C.emit()}},[u]),fs(()=>{p(6,F)},[]);let C=x.useMemo(()=>({subscribe:N=>(i.current.add(N),()=>i.current.delete(N)),snapshot:()=>n.current,setState:(N,M,Y)=>{var L,ae,P;if(!Object.is(n.current[N],M)){if(n.current[N]=M,N==="search")$(),_(),p(1,I);else if(N==="value"&&(Y||p(5,F),((L=l.current)==null?void 0:L.value)!==void 0)){let ie=M??"";(P=(ae=l.current).onValueChange)==null||P.call(ae,ie);return}C.emit()}},emit:()=>{i.current.forEach(N=>N())}}),[]),A=x.useMemo(()=>({value:(N,M,Y)=>{var L;M!==((L=o.current.get(N))==null?void 0:L.value)&&(o.current.set(N,{value:M,keywords:Y}),n.current.filtered.items.set(N,D(M,Y)),p(2,()=>{_(),C.emit()}))},item:(N,M)=>(r.current.add(N),M&&(a.current.has(M)?a.current.get(M).add(N):a.current.set(M,new Set([N]))),p(3,()=>{$(),_(),n.current.value||I(),C.emit()}),()=>{o.current.delete(N),r.current.delete(N),n.current.filtered.items.delete(N);let Y=T();p(4,()=>{$(),(Y==null?void 0:Y.getAttribute("id"))===N&&I(),C.emit()})}),group:N=>(a.current.has(N)||a.current.set(N,new Set),()=>{o.current.delete(N),a.current.delete(N)}),filter:()=>l.current.shouldFilter,label:d||e["aria-label"],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:w,inputId:j,labelId:k,listInnerRef:E}),[]);function D(N,M){var Y,L;let ae=(L=(Y=l.current)==null?void 0:Y.filter)!=null?L:ah;return N?ae(N,n.current.search,M):0}function _(){if(!n.current.search||l.current.shouldFilter===!1)return;let N=n.current.filtered.items,M=[];n.current.filtered.groups.forEach(L=>{let ae=a.current.get(L),P=0;ae.forEach(ie=>{let pe=N.get(ie);P=Math.max(pe,P)}),M.push([L,P])});let Y=E.current;X().sort((L,ae)=>{var P,ie;let pe=L.getAttribute("id"),Oe=ae.getAttribute("id");return((P=N.get(Oe))!=null?P:0)-((ie=N.get(pe))!=null?ie:0)}).forEach(L=>{let ae=L.closest(Dr);ae?ae.appendChild(L.parentElement===ae?L:L.closest(`${Dr} > *`)):Y.appendChild(L.parentElement===Y?L:L.closest(`${Dr} > *`))}),M.sort((L,ae)=>ae[1]-L[1]).forEach(L=>{var ae;let P=(ae=E.current)==null?void 0:ae.querySelector(`${on}[${os}="${encodeURIComponent(L[0])}"]`);P==null||P.parentElement.appendChild(P)})}function I(){let N=X().find(Y=>Y.getAttribute("aria-disabled")!=="true"),M=N==null?void 0:N.getAttribute(os);C.setState("value",M||void 0)}function $(){var N,M,Y,L;if(!n.current.search||l.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let ae=0;for(let P of r.current){let ie=(M=(N=o.current.get(P))==null?void 0:N.value)!=null?M:"",pe=(L=(Y=o.current.get(P))==null?void 0:Y.keywords)!=null?L:[],Oe=D(ie,pe);n.current.filtered.items.set(P,Oe),Oe>0&&ae++}for(let[P,ie]of a.current)for(let pe of ie)if(n.current.filtered.items.get(pe)>0){n.current.filtered.groups.add(P);break}n.current.filtered.count=ae}function F(){var N,M,Y;let L=T();L&&(((N=L.parentElement)==null?void 0:N.firstChild)===L&&((Y=(M=L.closest(on))==null?void 0:M.querySelector(rh))==null||Y.scrollIntoView({block:"nearest"})),L.scrollIntoView({block:"nearest"}))}function T(){var N;return(N=E.current)==null?void 0:N.querySelector(`${Sa}[aria-selected="true"]`)}function X(){var N;return Array.from(((N=E.current)==null?void 0:N.querySelectorAll(xo))||[])}function q(N){let M=X()[N];M&&C.setState("value",M.getAttribute(os))}function V(N){var M;let Y=T(),L=X(),ae=L.findIndex(ie=>ie===Y),P=L[ae+N];(M=l.current)!=null&&M.loop&&(P=ae+N<0?L[L.length-1]:ae+N===L.length?L[0]:L[ae+N]),P&&C.setState("value",P.getAttribute(os))}function W(N){let M=T(),Y=M==null?void 0:M.closest(on),L;for(;Y&&!L;)Y=N>0?hh(Y,on):xh(Y,on),L=Y==null?void 0:Y.querySelector(xo);L?C.setState("value",L.getAttribute(os)):V(N)}let z=()=>q(X().length-1),Q=N=>{N.preventDefault(),N.metaKey?z():N.altKey?W(1):V(1)},ee=N=>{N.preventDefault(),N.metaKey?q(0):N.altKey?W(-1):V(-1)};return x.createElement(Kt.div,{ref:s,tabIndex:-1,...b,"cmdk-root":"",onKeyDown:N=>{var M;if((M=b.onKeyDown)==null||M.call(b,N),!N.defaultPrevented)switch(N.key){case"n":case"j":{S&&N.ctrlKey&&Q(N);break}case"ArrowDown":{Q(N);break}case"p":case"k":{S&&N.ctrlKey&&ee(N);break}case"ArrowUp":{ee(N);break}case"Home":{N.preventDefault(),q(0);break}case"End":{N.preventDefault(),z();break}case"Enter":if(!N.nativeEvent.isComposing&&N.keyCode!==229){N.preventDefault();let Y=T();if(Y){let L=new Event(Qr);Y.dispatchEvent(L)}}}}},x.createElement("label",{"cmdk-label":"",htmlFor:A.inputId,id:A.labelId,style:bh},d),dr(e,N=>x.createElement(bl.Provider,{value:C},x.createElement(gl.Provider,{value:A},N))))}),oh=x.forwardRef((e,s)=>{var n,r;let a=Ps(),o=x.useRef(null),i=x.useContext(yl),l=On(),d=jl(e),c=(r=(n=d.current)==null?void 0:n.forceMount)!=null?r:i==null?void 0:i.forceMount;fs(()=>{if(!c)return l.item(a,i==null?void 0:i.id)},[c]);let u=wl(a,o,[e.value,e.children,o],e.keywords),m=Ca(),f=hs(p=>p.value&&p.value===u.current),h=hs(p=>c||l.filter()===!1?!0:p.search?p.filtered.items.get(a)>0:!0);x.useEffect(()=>{let p=o.current;if(!(!p||e.disabled))return p.addEventListener(Qr,g),()=>p.removeEventListener(Qr,g)},[h,e.onSelect,e.disabled]);function g(){var p,C;y(),(C=(p=d.current).onSelect)==null||C.call(p,u.current)}function y(){m.setState("value",u.current,!0)}if(!h)return null;let{disabled:S,value:b,onSelect:w,forceMount:k,keywords:j,...E}=e;return x.createElement(Kt.div,{ref:xn([o,s]),...E,id:a,"cmdk-item":"",role:"option","aria-disabled":!!S,"aria-selected":!!f,"data-disabled":!!S,"data-selected":!!f,onPointerMove:S||l.getDisablePointerSelection()?void 0:y,onClick:S?void 0:g},e.children)}),ih=x.forwardRef((e,s)=>{let{heading:n,children:r,forceMount:a,...o}=e,i=Ps(),l=x.useRef(null),d=x.useRef(null),c=Ps(),u=On(),m=hs(h=>a||u.filter()===!1?!0:h.search?h.filtered.groups.has(i):!0);fs(()=>u.group(i),[]),wl(i,l,[e.value,e.heading,d]);let f=x.useMemo(()=>({id:i,forceMount:a}),[a]);return x.createElement(Kt.div,{ref:xn([l,s]),...o,"cmdk-group":"",role:"presentation",hidden:m?void 0:!0},n&&x.createElement("div",{ref:d,"cmdk-group-heading":"","aria-hidden":!0,id:c},n),dr(e,h=>x.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?c:void 0},x.createElement(yl.Provider,{value:f},h))))}),lh=x.forwardRef((e,s)=>{let{alwaysRender:n,...r}=e,a=x.useRef(null),o=hs(i=>!i.search);return!n&&!o?null:x.createElement(Kt.div,{ref:xn([a,s]),...r,"cmdk-separator":"",role:"separator"})}),dh=x.forwardRef((e,s)=>{let{onValueChange:n,...r}=e,a=e.value!=null,o=Ca(),i=hs(u=>u.search),l=hs(u=>u.value),d=On(),c=x.useMemo(()=>{var u;let m=(u=d.listInnerRef.current)==null?void 0:u.querySelector(`${Sa}[${os}="${encodeURIComponent(l)}"]`);return m==null?void 0:m.getAttribute("id")},[]);return x.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),x.createElement(Kt.input,{ref:s,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":d.listId,"aria-labelledby":d.labelId,"aria-activedescendant":c,id:d.inputId,type:"text",value:a?e.value:i,onChange:u=>{a||o.setState("search",u.target.value),n==null||n(u.target.value)}})}),ch=x.forwardRef((e,s)=>{let{children:n,label:r="Suggestions",...a}=e,o=x.useRef(null),i=x.useRef(null),l=On();return x.useEffect(()=>{if(i.current&&o.current){let d=i.current,c=o.current,u,m=new ResizeObserver(()=>{u=requestAnimationFrame(()=>{let f=d.offsetHeight;c.style.setProperty("--cmdk-list-height",f.toFixed(1)+"px")})});return m.observe(d),()=>{cancelAnimationFrame(u),m.unobserve(d)}}},[]),x.createElement(Kt.div,{ref:xn([o,s]),...a,"cmdk-list":"",role:"listbox","aria-label":r,id:l.listId},dr(e,d=>x.createElement("div",{ref:xn([i,l.listInnerRef]),"cmdk-list-sizer":""},d)))}),uh=x.forwardRef((e,s)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:o,container:i,...l}=e;return x.createElement(vn,{open:n,onOpenChange:r},x.createElement(yn,{container:i},x.createElement(ps,{"cmdk-overlay":"",className:a}),x.createElement(gs,{"aria-label":e.label,"cmdk-dialog":"",className:o},x.createElement(vl,{ref:s,...l}))))}),mh=x.forwardRef((e,s)=>hs(n=>n.filtered.count===0)?x.createElement(Kt.div,{ref:s,...e,"cmdk-empty":"",role:"presentation"}):null),fh=x.forwardRef((e,s)=>{let{progress:n,children:r,label:a="Loading...",...o}=e;return x.createElement(Kt.div,{ref:s,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},dr(e,i=>x.createElement("div",{"aria-hidden":!0},i)))}),Ze=Object.assign(vl,{List:ch,Item:oh,Input:dh,Group:ih,Separator:lh,Dialog:uh,Empty:mh,Loading:fh});function hh(e,s){let n=e.nextElementSibling;for(;n;){if(n.matches(s))return n;n=n.nextElementSibling}}function xh(e,s){let n=e.previousElementSibling;for(;n;){if(n.matches(s))return n;n=n.previousElementSibling}}function jl(e){let s=x.useRef(e);return fs(()=>{s.current=e}),s}var fs=typeof window>"u"?x.useEffect:x.useLayoutEffect;function Es(e){let s=x.useRef();return s.current===void 0&&(s.current=e()),s}function xn(e){return s=>{e.forEach(n=>{typeof n=="function"?n(s):n!=null&&(n.current=s)})}}function hs(e){let s=Ca(),n=()=>e(s.snapshot());return fc.useSyncExternalStore(s.subscribe,n,n)}function wl(e,s,n,r=[]){let a=x.useRef(),o=On();return fs(()=>{var i;let l=(()=>{var c;for(let u of n){if(typeof u=="string")return u.trim();if(typeof u=="object"&&"current"in u)return u.current?(c=u.current.textContent)==null?void 0:c.trim():a.current}})(),d=r.map(c=>c.trim());o.value(e,l,d),(i=s.current)==null||i.setAttribute(os,l),a.current=l}),a}var ph=()=>{let[e,s]=x.useState(),n=Es(()=>new Map);return fs(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),s({})}};function gh(e){let s=e.type;return typeof s=="function"?s(e.props):"render"in s?s.render(e.props):e}function dr({asChild:e,children:s},n){return e&&x.isValidElement(s)?x.cloneElement(gh(s),{ref:s.ref},n(s.props.children)):n(s)}var bh={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const cr=vn,yh=yn,Nl=x.forwardRef(({className:e,...s},n)=>t.jsx(ps,{ref:n,className:O("fixed inset-0 z-50 bg-black/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...s}));Nl.displayName=ps.displayName;const Tn=x.forwardRef(({className:e,children:s,...n},r)=>t.jsxs(yh,{children:[t.jsx(Nl,{}),t.jsxs(gs,{ref:r,className:O("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-background border border-border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",e),...n,children:[s,t.jsxs(Zn,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[t.jsx(Re,{className:"h-4 w-4"}),t.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Tn.displayName=gs.displayName;const ur=({className:e,...s})=>t.jsx("div",{className:O("flex flex-col space-y-1.5",e),...s});ur.displayName="DialogHeader";const mr=x.forwardRef(({className:e,...s},n)=>t.jsx(Bs,{ref:n,className:O("text-base font-semibold leading-none tracking-tight",e),...s}));mr.displayName=Bs.displayName;const kl=x.forwardRef(({className:e,...s},n)=>t.jsx(Ys,{ref:n,className:O("text-sm text-muted-foreground",e),...s}));kl.displayName=Ys.displayName;const Rs=x.forwardRef(({className:e,...s},n)=>t.jsx(Ze,{ref:n,className:O("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...s}));Rs.displayName=Ze.displayName;const vh=({children:e,open:s,onOpenChange:n})=>t.jsx(cr,{open:s,onOpenChange:n,children:t.jsx(Tn,{className:"overflow-hidden p-0 shadow-lg max-w-[560px]",children:t.jsx(Rs,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),Ma=x.forwardRef(({className:e,...s},n)=>t.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[t.jsx(ir,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),t.jsx(Ze.Input,{ref:n,className:O("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...s})]}));Ma.displayName=Ze.Input.displayName;const Is=x.forwardRef(({className:e,...s},n)=>t.jsx(Ze.List,{ref:n,className:O("max-h-[320px] overflow-y-auto overflow-x-hidden",e),...s}));Is.displayName=Ze.List.displayName;const Da=x.forwardRef((e,s)=>t.jsx(Ze.Empty,{ref:s,className:"py-6 text-center text-sm text-muted-foreground",...e}));Da.displayName=Ze.Empty.displayName;const us=x.forwardRef(({className:e,...s},n)=>t.jsx(Ze.Group,{ref:n,className:O("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...s}));us.displayName=Ze.Group.displayName;const Sl=x.forwardRef(({className:e,...s},n)=>t.jsx(Ze.Separator,{ref:n,className:O("-mx-1 h-px bg-border",e),...s}));Sl.displayName=Ze.Separator.displayName;const ct=x.forwardRef(({className:e,...s},n)=>t.jsx(Ze.Item,{ref:n,className:O("relative flex cursor-pointer select-none items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50","[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...s}));ct.displayName=Ze.Item.displayName;function jh(){const{open:e,setOpen:s}=Ai(),n=Ve(),{data:r}=lr(),{workspace:a}=ke(),o=(a==null?void 0:a.slug)??"",i=l=>{s(!1),l()};return t.jsxs(vh,{open:e,onOpenChange:s,children:[t.jsx(Ma,{placeholder:"Search or jump to..."}),t.jsxs(Is,{children:[t.jsx(Da,{children:"No results found."}),t.jsxs(us,{heading:"Navigation",children:[t.jsxs(ct,{onSelect:()=>i(()=>n(`/${o}/projects`)),children:[t.jsx(Qn,{className:"text-muted-foreground"}),t.jsx("span",{children:"Projects"})]}),t.jsxs(ct,{onSelect:()=>i(()=>n(`/${o}/notifications`)),children:[t.jsx(wn,{className:"text-muted-foreground"}),t.jsx("span",{children:"Notifications"})]}),t.jsxs(ct,{onSelect:()=>i(()=>n(`/${o}/settings`)),children:[t.jsx(va,{className:"text-muted-foreground"}),t.jsx("span",{children:"Settings"})]})]}),r&&r.length>0&&t.jsxs(t.Fragment,{children:[t.jsx(Sl,{}),t.jsxs(us,{heading:"Projects",children:[r.map(l=>t.jsxs(ct,{value:`${l.name} board`,onSelect:()=>i(()=>n(`/${o}/projects/${l.identifier}/board`)),children:[t.jsx(wt,{className:"text-muted-foreground"}),t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[t.jsx("span",{className:"font-mono text-[11px] text-muted-foreground shrink-0",children:l.identifier}),t.jsx("span",{className:"truncate",children:l.name}),t.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:"Board"})]})]},`${l.id}-board`)),r.map(l=>t.jsxs(ct,{value:`${l.name} issues`,onSelect:()=>i(()=>n(`/${o}/projects/${l.identifier}/issues`)),children:[t.jsx(Sn,{className:"text-muted-foreground"}),t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[t.jsx("span",{className:"font-mono text-[11px] text-muted-foreground shrink-0",children:l.identifier}),t.jsx("span",{className:"truncate",children:l.name}),t.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:"Issues"})]})]},`${l.id}-issues`))]})]})]})]})}function wh(){const[e,s]=x.useState(""),[n,r]=x.useState(""),[a,o]=x.useState(!1),i=Ve(),l=bm(),d=c=>{c.preventDefault(),l.mutate({email:e,password:n},{onSuccess:()=>i("/"),onError:u=>R.error(u.message??"Invalid email or password")})};return t.jsx("div",{className:"min-h-screen bg-[hsl(60_5%_96%)] dark:bg-background flex items-center justify-center p-4",children:t.jsxs("div",{className:"w-full max-w-[360px]",children:[t.jsxs("div",{className:"flex flex-col items-center gap-4 mb-8",children:[t.jsx("div",{className:"relative h-16 w-16 rounded-2xl bg-white dark:bg-card border border-border shadow-sm flex items-center justify-center",children:t.jsx("div",{className:"h-10 w-10 rounded-full bg-foreground flex items-center justify-center",children:t.jsx("div",{className:"h-5 w-5 rounded-full bg-background/20 flex items-center justify-center",children:t.jsx("div",{className:"h-2 w-2 rounded-full bg-background/60"})})})}),t.jsxs("div",{className:"text-center",children:[t.jsx("h1",{className:"text-lg font-semibold text-foreground",children:"Welcome to Meridian"}),t.jsx("p",{className:"text-sm text-muted-foreground mt-0.5",children:"Sign in to access the admin area"})]})]}),t.jsxs("form",{onSubmit:d,className:"space-y-2",children:[t.jsx(xe,{type:"email",placeholder:"Email",value:e,onChange:c=>s(c.target.value),autoComplete:"email",required:!0,className:"bg-white dark:bg-card h-10"}),t.jsxs("div",{className:"relative",children:[t.jsx(xe,{type:a?"text":"password",placeholder:"Password",value:n,onChange:c=>r(c.target.value),autoComplete:"current-password",required:!0,className:"bg-white dark:bg-card h-10 pr-10"}),t.jsx("button",{type:"button",onClick:()=>o(!a),className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",tabIndex:-1,children:a?t.jsx(pa,{className:"h-4 w-4"}):t.jsx(kn,{className:"h-4 w-4"})})]}),t.jsx("div",{className:"pt-1",children:t.jsx(K,{type:"submit",className:"w-full h-10 font-medium",disabled:l.isPending,children:l.isPending?"Signing in...":"Continue with Email"})})]}),t.jsxs("p",{className:"text-sm text-center text-muted-foreground mt-6",children:["Don't have an account?"," ",t.jsx(hn,{to:"/register",className:"text-indigo hover:opacity-80 transition-opacity",children:"Create one"})]})]})})}function Nh(){const[e,s]=x.useState(""),[n,r]=x.useState(""),[a,o]=x.useState(""),[i,l]=x.useState(""),[d,c]=x.useState(!1),u=Ve(),m=ym(),{data:f}=Hi(),h=(f==null?void 0:f.needsSetup)===!0,g=y=>{y.preventDefault(),m.mutate({email:a,password:i,first_name:e,last_name:n},{onSuccess:()=>u("/"),onError:S=>R.error(S.message??"Registration failed")})};return t.jsx("div",{className:"min-h-screen bg-[hsl(60_5%_96%)] dark:bg-background flex items-center justify-center p-4",children:t.jsxs("div",{className:"w-full max-w-[360px]",children:[t.jsxs("div",{className:"flex flex-col items-center gap-4 mb-8",children:[t.jsx("div",{className:"relative h-16 w-16 rounded-2xl bg-white dark:bg-card border border-border shadow-sm flex items-center justify-center",children:t.jsx("div",{className:"h-10 w-10 rounded-full bg-foreground flex items-center justify-center",children:t.jsx("div",{className:"h-5 w-5 rounded-full bg-background/20 flex items-center justify-center",children:t.jsx("div",{className:"h-2 w-2 rounded-full bg-background/60"})})})}),t.jsxs("div",{className:"text-center",children:[t.jsx("h1",{className:"text-lg font-semibold text-foreground",children:h?"Set up your account":"Create your account"}),t.jsx("p",{className:"text-sm text-muted-foreground mt-0.5",children:h?"You're the first user — you'll be the super admin.":"Get started with Meridian"})]})]}),t.jsxs("form",{onSubmit:g,className:"space-y-2",children:[t.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[t.jsx(xe,{placeholder:"First name",value:e,onChange:y=>s(y.target.value),required:!0,className:"bg-white dark:bg-card h-10"}),t.jsx(xe,{placeholder:"Last name",value:n,onChange:y=>r(y.target.value),required:!0,className:"bg-white dark:bg-card h-10"})]}),t.jsx(xe,{type:"email",placeholder:"Email",value:a,onChange:y=>o(y.target.value),autoComplete:"email",required:!0,className:"bg-white dark:bg-card h-10"}),t.jsxs("div",{className:"relative",children:[t.jsx(xe,{type:d?"text":"password",placeholder:"Password",value:i,onChange:y=>l(y.target.value),autoComplete:"new-password",required:!0,className:"bg-white dark:bg-card h-10 pr-10"}),t.jsx("button",{type:"button",onClick:()=>c(!d),className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",tabIndex:-1,children:d?t.jsx(pa,{className:"h-4 w-4"}):t.jsx(kn,{className:"h-4 w-4"})})]}),t.jsx("div",{className:"pt-1",children:t.jsx(K,{type:"submit",className:"w-full h-10 font-medium",disabled:m.isPending,children:m.isPending?"Creating account...":"Create Account"})})]}),t.jsxs("p",{className:"text-sm text-center text-muted-foreground mt-6",children:["Already have an account?"," ",t.jsx(hn,{to:"/login",className:"text-indigo hover:opacity-80 transition-opacity",children:"Sign in"})]})]})})}function kh(){const[e,s]=x.useState(""),n=Ve(),{setWorkspace:r}=ke(),a=om(),o=i=>{i.preventDefault(),e.trim()&&a.mutate({name:e.trim()},{onSuccess:l=>{const d={id:l.workspace.id,name:l.workspace.name,slug:l.workspace.slug};r(d),n(`/${d.slug}/projects`,{replace:!0})},onError:l=>R.error(l.message??"Failed to create workspace")})};return t.jsx("div",{className:"min-h-screen bg-[hsl(60_5%_96%)] dark:bg-background flex items-center justify-center p-4",children:t.jsxs("div",{className:"w-full max-w-[380px]",children:[t.jsxs("div",{className:"flex flex-col items-center gap-4 mb-8",children:[t.jsx("div",{className:"relative h-16 w-16 rounded-2xl bg-white dark:bg-card border border-border shadow-sm flex items-center justify-center",children:t.jsx("div",{className:"h-10 w-10 rounded-full bg-foreground flex items-center justify-center",children:t.jsx("div",{className:"h-5 w-5 rounded-full bg-background/20 flex items-center justify-center",children:t.jsx("div",{className:"h-2 w-2 rounded-full bg-background/60"})})})}),t.jsxs("div",{className:"text-center",children:[t.jsx("h1",{className:"text-lg font-semibold text-foreground",children:"Create your workspace"}),t.jsx("p",{className:"text-sm text-muted-foreground mt-0.5",children:"A workspace is where your team's projects and issues live."})]})]}),t.jsxs("form",{onSubmit:o,className:"space-y-3",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsx(xe,{placeholder:"Workspace name (e.g. Acme Corp)",value:e,onChange:i=>s(i.target.value),autoFocus:!0,required:!0,className:"bg-white dark:bg-card h-10"}),t.jsx("p",{className:"text-xs text-muted-foreground px-0.5",children:"You can rename it later from settings."})]}),t.jsx(K,{type:"submit",className:"w-full h-10 font-medium",disabled:!e.trim()||a.isPending,children:a.isPending?"Creating workspace...":"Create workspace"})]})]})})}function Sh(e){if(typeof document>"u")return;let s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}const Cl=v.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),Pn=()=>{const e=v.useContext(Cl);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};Sh(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
459
+ [data-state=closed]
460
+ ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function Ch(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function Mh(){return _a(/^Mac/)}function Dh(){return _a(/^iPhone/)}function po(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function _h(){return _a(/^iPad/)||Mh()&&navigator.maxTouchPoints>1}function Ml(){return Dh()||_h()}function _a(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}const Eh=24,Oh=typeof window<"u"?x.useLayoutEffect:x.useEffect;function go(...e){return(...s)=>{for(let n of e)typeof n=="function"&&n(...s)}}const _r=typeof document<"u"&&window.visualViewport;function bo(e){let s=window.getComputedStyle(e);return/(auto|scroll)/.test(s.overflow+s.overflowX+s.overflowY)}function Dl(e){for(bo(e)&&(e=e.parentElement);e&&!bo(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}const Th=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Un=0,Er;function Ph(e={}){let{isDisabled:s}=e;Oh(()=>{if(!s)return Un++,Un===1&&Ml()&&(Er=Ah()),()=>{Un--,Un===0&&(Er==null||Er())}},[s])}function Ah(){let e,s=0,n=m=>{e=Dl(m.target),!(e===document.documentElement&&e===document.body)&&(s=m.changedTouches[0].pageY)},r=m=>{if(!e||e===document.documentElement||e===document.body){m.preventDefault();return}let f=m.changedTouches[0].pageY,h=e.scrollTop,g=e.scrollHeight-e.clientHeight;g!==0&&((h<=0&&f>s||h>=g&&f<s)&&m.preventDefault(),s=f)},a=m=>{let f=m.target;Xr(f)&&f!==document.activeElement&&(m.preventDefault(),f.style.transform="translateY(-2000px)",f.focus(),requestAnimationFrame(()=>{f.style.transform=""}))},o=m=>{let f=m.target;Xr(f)&&(f.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{f.style.transform="",_r&&(_r.height<window.innerHeight?requestAnimationFrame(()=>{yo(f)}):_r.addEventListener("resize",()=>yo(f),{once:!0}))}))},i=()=>{window.scrollTo(0,0)},l=window.pageXOffset,d=window.pageYOffset,c=go($h(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let u=go(ln(document,"touchstart",n,{passive:!1,capture:!0}),ln(document,"touchmove",r,{passive:!1,capture:!0}),ln(document,"touchend",a,{passive:!1,capture:!0}),ln(document,"focus",o,!0),ln(window,"scroll",i));return()=>{c(),u(),window.scrollTo(l,d)}}function $h(e,s,n){let r=e.style[s];return e.style[s]=n,()=>{e.style[s]=r}}function ln(e,s,n,r){return e.addEventListener(s,n,r),()=>{e.removeEventListener(s,n,r)}}function yo(e){let s=document.scrollingElement||document.documentElement;for(;e&&e!==s;){let n=Dl(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let r=n.getBoundingClientRect().top,a=e.getBoundingClientRect().top,o=e.getBoundingClientRect().bottom;const i=n.getBoundingClientRect().bottom+Eh;o>i&&(n.scrollTop+=a-r)}e=n.parentElement}}function Xr(e){return e instanceof HTMLInputElement&&!Th.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function Rh(e,s){typeof e=="function"?e(s):e!=null&&(e.current=s)}function Ih(...e){return s=>e.forEach(n=>Rh(n,s))}function _l(...e){return x.useCallback(Ih(...e),e)}const El=new WeakMap;function Fe(e,s,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(s).forEach(([a,o])=>{if(a.startsWith("--")){e.style.setProperty(a,o);return}r[a]=e.style[a],e.style[a]=o}),!n&&El.set(e,r)}function Fh(e,s){if(!e||!(e instanceof HTMLElement))return;let n=El.get(e);n&&(e.style[s]=n[s])}const $e=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function Kn(e,s){if(!e)return null;const n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform;let a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[$e(s)?13:12]):(a=r.match(/^matrix\((.+)\)$/),a?parseFloat(a[1].split(", ")[$e(s)?5:4]):null)}function zh(e){return 8*(Math.log(e+1)-2)}function Or(e,s){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,s),()=>{e.style.cssText=n}}function Wh(...e){return(...s)=>{for(const n of e)typeof n=="function"&&n(...s)}}const De={DURATION:.5,EASE:[.32,.72,0,1]},Ol=.4,qh=.25,Bh=100,Tl=8,ns=16,Jr=26,Tr="vaul-dragging";function Pl(e){const s=v.useRef(e);return v.useEffect(()=>{s.current=e}),v.useMemo(()=>(...n)=>s.current==null?void 0:s.current.call(s,...n),[])}function Yh({defaultProp:e,onChange:s}){const n=v.useState(e),[r]=n,a=v.useRef(r),o=Pl(s);return v.useEffect(()=>{a.current!==r&&(o(r),a.current=r)},[r,a,o]),n}function Al({prop:e,defaultProp:s,onChange:n=()=>{}}){const[r,a]=Yh({defaultProp:s,onChange:n}),o=e!==void 0,i=o?e:r,l=Pl(n),d=v.useCallback(c=>{if(o){const m=typeof c=="function"?c(e):c;m!==e&&l(m)}else a(c)},[o,e,a,l]);return[i,d]}function Lh({activeSnapPointProp:e,setActiveSnapPointProp:s,snapPoints:n,drawerRef:r,overlayRef:a,fadeFromIndex:o,onSnapPointChange:i,direction:l="bottom",container:d,snapToSequentialPoint:c}){const[u,m]=Al({prop:e,defaultProp:n==null?void 0:n[0],onChange:s}),[f,h]=v.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);v.useEffect(()=>{function C(){h({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",C),()=>window.removeEventListener("resize",C)},[]);const g=v.useMemo(()=>u===(n==null?void 0:n[n.length-1])||null,[n,u]),y=v.useMemo(()=>{var C;return(C=n==null?void 0:n.findIndex(A=>A===u))!=null?C:null},[n,u]),S=n&&n.length>0&&(o||o===0)&&!Number.isNaN(o)&&n[o]===u||!n,b=v.useMemo(()=>{const C=d?{width:d.getBoundingClientRect().width,height:d.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var A;return(A=n==null?void 0:n.map(D=>{const _=typeof D=="string";let I=0;if(_&&(I=parseInt(D,10)),$e(l)){const F=_?I:f?D*C.height:0;return f?l==="bottom"?C.height-F:-C.height+F:F}const $=_?I:f?D*C.width:0;return f?l==="right"?C.width-$:-C.width+$:$}))!=null?A:[]},[n,f,d]),w=v.useMemo(()=>y!==null?b==null?void 0:b[y]:null,[b,y]),k=v.useCallback(C=>{var A;const D=(A=b==null?void 0:b.findIndex(_=>_===C))!=null?A:null;i(D),Fe(r.current,{transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,transform:$e(l)?`translate3d(0, ${C}px, 0)`:`translate3d(${C}px, 0, 0)`}),b&&D!==b.length-1&&o!==void 0&&D!==o&&D<o?Fe(a.current,{transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,opacity:"0"}):Fe(a.current,{transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,opacity:"1"}),m(n==null?void 0:n[Math.max(D,0)])},[r.current,n,b,o,a,m]);v.useEffect(()=>{if(u||e){var C;const A=(C=n==null?void 0:n.findIndex(D=>D===e||D===u))!=null?C:-1;b&&A!==-1&&typeof b[A]=="number"&&k(b[A])}},[u,e,n,b,k]);function j({draggedDistance:C,closeDrawer:A,velocity:D,dismissible:_}){if(o===void 0)return;const I=l==="bottom"||l==="right"?(w??0)-C:(w??0)+C,$=y===o-1,F=y===0,T=C>0;if($&&Fe(a.current,{transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`}),!c&&D>2&&!T){_?A():k(b[0]);return}if(!c&&D>2&&T&&b&&n){k(b[n.length-1]);return}const X=b==null?void 0:b.reduce((V,W)=>typeof V!="number"||typeof W!="number"?V:Math.abs(W-I)<Math.abs(V-I)?W:V),q=$e(l)?window.innerHeight:window.innerWidth;if(D>Ol&&Math.abs(C)<q*.4){const V=T?1:-1;if(V>0&&g&&n){k(b[n.length-1]);return}if(F&&V<0&&_&&A(),y===null)return;k(b[y+V]);return}k(X)}function E({draggedDistance:C}){if(w===null)return;const A=l==="bottom"||l==="right"?w-C:w+C;(l==="bottom"||l==="right")&&A<b[b.length-1]||(l==="top"||l==="left")&&A>b[b.length-1]||Fe(r.current,{transform:$e(l)?`translate3d(0, ${A}px, 0)`:`translate3d(${A}px, 0, 0)`})}function p(C,A){if(!n||typeof y!="number"||!b||o===void 0)return null;const D=y===o-1;if(y>=o&&A)return 0;if(D&&!A)return 1;if(!S&&!D)return null;const I=D?y+1:y-1,$=D?b[I]-b[I-1]:b[I+1]-b[I],F=C/Math.abs($);return D?1-F:F}return{isLastSnapPoint:g,activeSnapPoint:u,shouldFade:S,getPercentageDragged:p,setActiveSnapPoint:m,activeSnapPointIndex:y,onRelease:j,onDrag:E,snapPointsOffset:b}}const Hh=()=>()=>{};function Uh(){const{direction:e,isOpen:s,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:a}=Pn(),o=v.useRef(null),i=x.useMemo(()=>document.body.style.backgroundColor,[]);function l(){return(window.innerWidth-Jr)/window.innerWidth}v.useEffect(()=>{if(s&&n){o.current&&clearTimeout(o.current);const d=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!d)return;Wh(r&&!a?Or(document.body,{background:"black"}):Hh,Or(d,{transformOrigin:$e(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${De.DURATION}s`,transitionTimingFunction:`cubic-bezier(${De.EASE.join(",")})`}));const c=Or(d,{borderRadius:`${Tl}px`,overflow:"hidden",...$e(e)?{transform:`scale(${l()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${l()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{c(),o.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},De.DURATION*1e3)}}},[s,n,i])}let dn=null;function Kh({isOpen:e,modal:s,nested:n,hasBeenOpened:r,preventScrollRestoration:a,noBodyStyles:o}){const[i,l]=v.useState(()=>typeof window<"u"?window.location.href:""),d=v.useRef(0),c=v.useCallback(()=>{if(po()&&dn===null&&e&&!o){dn={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:m,innerHeight:f}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-d.current}px`,left:`${-m}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const h=f-window.innerHeight;h&&d.current>=f&&(document.body.style.top=`${-(d.current+h)}px`)}),300)}},[e]),u=v.useCallback(()=>{if(po()&&dn!==null&&!o){const m=-parseInt(document.body.style.top,10),f=-parseInt(document.body.style.left,10);Object.assign(document.body.style,dn),window.requestAnimationFrame(()=>{if(a&&i!==window.location.href){l(window.location.href);return}window.scrollTo(f,m)}),dn=null}},[i]);return v.useEffect(()=>{function m(){d.current=window.scrollY}return m(),window.addEventListener("scroll",m),()=>{window.removeEventListener("scroll",m)}},[]),v.useEffect(()=>{if(s)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||u()}},[s,u]),v.useEffect(()=>{n||!r||(e?(!window.matchMedia("(display-mode: standalone)").matches&&c(),s||window.setTimeout(()=>{u()},500)):u())},[e,r,i,s,n,c,u]),{restorePositionSetting:u}}function Vh({open:e,onOpenChange:s,children:n,onDrag:r,onRelease:a,snapPoints:o,shouldScaleBackground:i=!1,setBackgroundColorOnScale:l=!0,closeThreshold:d=qh,scrollLockTimeout:c=Bh,dismissible:u=!0,handleOnly:m=!1,fadeFromIndex:f=o&&o.length-1,activeSnapPoint:h,setActiveSnapPoint:g,fixed:y,modal:S=!0,onClose:b,nested:w,noBodyStyles:k=!1,direction:j="bottom",defaultOpen:E=!1,disablePreventScroll:p=!0,snapToSequentialPoint:C=!1,preventScrollRestoration:A=!1,repositionInputs:D=!0,onAnimationEnd:_,container:I,autoFocus:$=!1}){var F,T;const[X=!1,q]=Al({defaultProp:E,prop:e,onChange:re=>{s==null||s(re),!re&&!w&&xt(),setTimeout(()=>{_==null||_(re)},De.DURATION*1e3),re&&!S&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),re||(document.body.style.pointerEvents="auto")}}),[V,W]=v.useState(!1),[z,Q]=v.useState(!1),[ee,N]=v.useState(!1),M=v.useRef(null),Y=v.useRef(null),L=v.useRef(null),ae=v.useRef(null),P=v.useRef(null),ie=v.useRef(!1),pe=v.useRef(null),Oe=v.useRef(0),qe=v.useRef(!1),Pt=v.useRef(!E),Xt=v.useRef(0),le=v.useRef(null),Jt=v.useRef(((F=le.current)==null?void 0:F.getBoundingClientRect().height)||0),Zt=v.useRef(((T=le.current)==null?void 0:T.getBoundingClientRect().width)||0),es=v.useRef(0),ts=v.useCallback(re=>{o&&re===Be.length-1&&(Y.current=new Date)},[]),{activeSnapPoint:Zs,activeSnapPointIndex:it,setActiveSnapPoint:ht,onRelease:ks,snapPointsOffset:Be,onDrag:ss,shouldFade:At,getPercentageDragged:Ye}=Lh({snapPoints:o,activeSnapPointProp:h,setActiveSnapPointProp:g,drawerRef:le,fadeFromIndex:f,overlayRef:M,onSnapPointChange:ts,direction:j,container:I,snapToSequentialPoint:C});Ph({isDisabled:!X||z||!S||ee||!V||!D||!p});const{restorePositionSetting:xt}=Kh({isOpen:X,modal:S,nested:w??!1,hasBeenOpened:V,preventScrollRestoration:A,noBodyStyles:k});function $t(){return(window.innerWidth-Jr)/window.innerWidth}function en(re){var G,se;!u&&!o||le.current&&!le.current.contains(re.target)||(Jt.current=((G=le.current)==null?void 0:G.getBoundingClientRect().height)||0,Zt.current=((se=le.current)==null?void 0:se.getBoundingClientRect().width)||0,Q(!0),L.current=new Date,Ml()&&window.addEventListener("touchend",()=>ie.current=!1,{once:!0}),re.target.setPointerCapture(re.pointerId),Oe.current=$e(j)?re.pageY:re.pageX)}function kt(re,G){var se;let U=re;const Z=(se=window.getSelection())==null?void 0:se.toString(),ge=le.current?Kn(le.current,j):null,B=new Date;if(U.tagName==="SELECT"||U.hasAttribute("data-vaul-no-drag")||U.closest("[data-vaul-no-drag]"))return!1;if(j==="right"||j==="left")return!0;if(Y.current&&B.getTime()-Y.current.getTime()<500)return!1;if(ge!==null&&(j==="bottom"?ge>0:ge<0))return!0;if(Z&&Z.length>0)return!1;if(P.current&&B.getTime()-P.current.getTime()<c&&ge===0||G)return P.current=B,!1;for(;U;){if(U.scrollHeight>U.clientHeight){if(U.scrollTop!==0)return P.current=new Date,!1;if(U.getAttribute("role")==="dialog")return!0}U=U.parentNode}return!0}function tn(re){if(le.current&&z){const G=j==="bottom"||j==="right"?1:-1,se=(Oe.current-($e(j)?re.pageY:re.pageX))*G,U=se>0,Z=o&&!u&&!U;if(Z&&it===0)return;const ge=Math.abs(se),B=document.querySelector("[data-vaul-drawer-wrapper]"),fe=j==="bottom"||j==="top"?Jt.current:Zt.current;let he=ge/fe;const Pe=Ye(ge,U);if(Pe!==null&&(he=Pe),Z&&he>=1||!ie.current&&!kt(re.target,U))return;if(le.current.classList.add(Tr),ie.current=!0,Fe(le.current,{transition:"none"}),Fe(M.current,{transition:"none"}),o&&ss({draggedDistance:se}),U&&!o){const Me=zh(se),st=Math.min(Me*-1,0)*G;Fe(le.current,{transform:$e(j)?`translate3d(0, ${st}px, 0)`:`translate3d(${st}px, 0, 0)`});return}const Ce=1-he;if((At||f&&it===f-1)&&(r==null||r(re,he),Fe(M.current,{opacity:`${Ce}`,transition:"none"},!0)),B&&M.current&&i){const Me=Math.min($t()+he*(1-$t()),1),st=8-he*8,Ge=Math.max(0,14-he*14);Fe(B,{borderRadius:`${st}px`,transform:$e(j)?`scale(${Me}) translate3d(0, ${Ge}px, 0)`:`scale(${Me}) translate3d(${Ge}px, 0, 0)`,transition:"none"},!0)}if(!o){const Me=ge*G;Fe(le.current,{transform:$e(j)?`translate3d(0, ${Me}px, 0)`:`translate3d(${Me}px, 0, 0)`})}}}v.useEffect(()=>{window.requestAnimationFrame(()=>{Pt.current=!0})},[]),v.useEffect(()=>{var re;function G(){if(!le.current||!D)return;const se=document.activeElement;if(Xr(se)||qe.current){var U;const Z=((U=window.visualViewport)==null?void 0:U.height)||0,ge=window.innerHeight;let B=ge-Z;const fe=le.current.getBoundingClientRect().height||0,he=fe>ge*.8;es.current||(es.current=fe);const Pe=le.current.getBoundingClientRect().top;if(Math.abs(Xt.current-B)>60&&(qe.current=!qe.current),o&&o.length>0&&Be&&it){const Ce=Be[it]||0;B+=Ce}if(Xt.current=B,fe>Z||qe.current){const Ce=le.current.getBoundingClientRect().height;let Me=Ce;Ce>Z&&(Me=Z-(he?Pe:Jr)),y?le.current.style.height=`${Ce-Math.max(B,0)}px`:le.current.style.height=`${Math.max(Me,Z-Pe)}px`}else Ch()||(le.current.style.height=`${es.current}px`);o&&o.length>0&&!qe.current?le.current.style.bottom="0px":le.current.style.bottom=`${Math.max(B,0)}px`}}return(re=window.visualViewport)==null||re.addEventListener("resize",G),()=>{var se;return(se=window.visualViewport)==null?void 0:se.removeEventListener("resize",G)}},[it,o,Be]);function pt(re){gt(),b==null||b(),re||q(!1),setTimeout(()=>{o&&ht(o[0])},De.DURATION*1e3)}function Rt(){if(!le.current)return;const re=document.querySelector("[data-vaul-drawer-wrapper]"),G=Kn(le.current,j);Fe(le.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`}),Fe(M.current,{transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,opacity:"1"}),i&&G&&G>0&&X&&Fe(re,{borderRadius:`${Tl}px`,overflow:"hidden",...$e(j)?{transform:`scale(${$t()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${$t()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${De.DURATION}s`,transitionTimingFunction:`cubic-bezier(${De.EASE.join(",")})`},!0)}function gt(){!z||!le.current||(le.current.classList.remove(Tr),ie.current=!1,Q(!1),ae.current=new Date)}function Ss(re){if(!z||!le.current)return;le.current.classList.remove(Tr),ie.current=!1,Q(!1),ae.current=new Date;const G=Kn(le.current,j);if(!re||!kt(re.target,!1)||!G||Number.isNaN(G)||L.current===null)return;const se=ae.current.getTime()-L.current.getTime(),U=Oe.current-($e(j)?re.pageY:re.pageX),Z=Math.abs(U)/se;if(Z>.05&&(N(!0),setTimeout(()=>{N(!1)},200)),o){ks({draggedDistance:U*(j==="bottom"||j==="right"?1:-1),closeDrawer:pt,velocity:Z,dismissible:u}),a==null||a(re,!0);return}if(j==="bottom"||j==="right"?U>0:U<0){Rt(),a==null||a(re,!0);return}if(Z>Ol){pt(),a==null||a(re,!1);return}var ge;const B=Math.min((ge=le.current.getBoundingClientRect().height)!=null?ge:0,window.innerHeight);var fe;const he=Math.min((fe=le.current.getBoundingClientRect().width)!=null?fe:0,window.innerWidth),Pe=j==="left"||j==="right";if(Math.abs(G)>=(Pe?he:B)*d){pt(),a==null||a(re,!1);return}a==null||a(re,!0),Rt()}v.useEffect(()=>(X&&(Fe(document.documentElement,{scrollBehavior:"auto"}),Y.current=new Date),()=>{Fh(document.documentElement,"scrollBehavior")}),[X]);function bt(re){const G=re?(window.innerWidth-ns)/window.innerWidth:1,se=re?-ns:0;pe.current&&window.clearTimeout(pe.current),Fe(le.current,{transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,transform:$e(j)?`scale(${G}) translate3d(0, ${se}px, 0)`:`scale(${G}) translate3d(${se}px, 0, 0)`}),!re&&le.current&&(pe.current=setTimeout(()=>{const U=Kn(le.current,j);Fe(le.current,{transition:"none",transform:$e(j)?`translate3d(0, ${U}px, 0)`:`translate3d(${U}px, 0, 0)`})},500))}function Cs(re,G){if(G<0)return;const se=(window.innerWidth-ns)/window.innerWidth,U=se+G*(1-se),Z=-ns+G*ns;Fe(le.current,{transform:$e(j)?`scale(${U}) translate3d(0, ${Z}px, 0)`:`scale(${U}) translate3d(${Z}px, 0, 0)`,transition:"none"})}function sn(re,G){const se=$e(j)?window.innerHeight:window.innerWidth,U=G?(se-ns)/se:1,Z=G?-ns:0;G&&Fe(le.current,{transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,transform:$e(j)?`scale(${U}) translate3d(0, ${Z}px, 0)`:`scale(${U}) translate3d(${Z}px, 0, 0)`})}return v.useEffect(()=>{S||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[S]),v.createElement(vn,{defaultOpen:E,onOpenChange:re=>{!u&&!re||(re?W(!0):pt(!0),q(re))},open:X},v.createElement(Cl.Provider,{value:{activeSnapPoint:Zs,snapPoints:o,setActiveSnapPoint:ht,drawerRef:le,overlayRef:M,onOpenChange:s,onPress:en,onRelease:Ss,onDrag:tn,dismissible:u,shouldAnimate:Pt,handleOnly:m,isOpen:X,isDragging:z,shouldFade:At,closeDrawer:pt,onNestedDrag:Cs,onNestedOpenChange:bt,onNestedRelease:sn,keyboardIsOpen:qe,modal:S,snapPointsOffset:Be,activeSnapPointIndex:it,direction:j,shouldScaleBackground:i,setBackgroundColorOnScale:l,noBodyStyles:k,container:I,autoFocus:$}},n))}const $l=v.forwardRef(function({...e},s){const{overlayRef:n,snapPoints:r,onRelease:a,shouldFade:o,isOpen:i,modal:l,shouldAnimate:d}=Pn(),c=_l(s,n),u=r&&r.length>0;if(!l)return null;const m=v.useCallback(f=>a(f),[a]);return v.createElement(ps,{onMouseUp:m,ref:c,"data-vaul-overlay":"","data-vaul-snap-points":i&&u?"true":"false","data-vaul-snap-points-overlay":i&&o?"true":"false","data-vaul-animate":d!=null&&d.current?"true":"false",...e})});$l.displayName="Drawer.Overlay";const Rl=v.forwardRef(function({onPointerDownOutside:e,style:s,onOpenAutoFocus:n,...r},a){const{drawerRef:o,onPress:i,onRelease:l,onDrag:d,keyboardIsOpen:c,snapPointsOffset:u,activeSnapPointIndex:m,modal:f,isOpen:h,direction:g,snapPoints:y,container:S,handleOnly:b,shouldAnimate:w,autoFocus:k}=Pn(),[j,E]=v.useState(!1),p=_l(a,o),C=v.useRef(null),A=v.useRef(null),D=v.useRef(!1),_=y&&y.length>0;Uh();const I=(F,T,X=0)=>{if(D.current)return!0;const q=Math.abs(F.y),V=Math.abs(F.x),W=V>q,z=["bottom","right"].includes(T)?1:-1;if(T==="left"||T==="right"){if(!(F.x*z<0)&&V>=0&&V<=X)return W}else if(!(F.y*z<0)&&q>=0&&q<=X)return!W;return D.current=!0,!0};v.useEffect(()=>{_&&window.requestAnimationFrame(()=>{E(!0)})},[]);function $(F){C.current=null,D.current=!1,l(F)}return v.createElement(gs,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":j?"true":"false","data-vaul-snap-points":h&&_?"true":"false","data-vaul-custom-container":S?"true":"false","data-vaul-animate":w!=null&&w.current?"true":"false",...r,ref:p,style:u&&u.length>0?{"--snap-point-height":`${u[m??0]}px`,...s}:s,onPointerDown:F=>{b||(r.onPointerDown==null||r.onPointerDown.call(r,F),C.current={x:F.pageX,y:F.pageY},i(F))},onOpenAutoFocus:F=>{n==null||n(F),k||F.preventDefault()},onPointerDownOutside:F=>{if(e==null||e(F),!f||F.defaultPrevented){F.preventDefault();return}c.current&&(c.current=!1)},onFocusOutside:F=>{if(!f){F.preventDefault();return}},onPointerMove:F=>{if(A.current=F,b||(r.onPointerMove==null||r.onPointerMove.call(r,F),!C.current))return;const T=F.pageY-C.current.y,X=F.pageX-C.current.x,q=F.pointerType==="touch"?10:2;I({x:X,y:T},g,q)?d(F):(Math.abs(X)>q||Math.abs(T)>q)&&(C.current=null)},onPointerUp:F=>{r.onPointerUp==null||r.onPointerUp.call(r,F),C.current=null,D.current=!1,l(F)},onPointerOut:F=>{r.onPointerOut==null||r.onPointerOut.call(r,F),$(A.current)},onContextMenu:F=>{r.onContextMenu==null||r.onContextMenu.call(r,F),A.current&&$(A.current)}})});Rl.displayName="Drawer.Content";const Gh=250,Qh=120,Xh=v.forwardRef(function({preventCycle:e=!1,children:s,...n},r){const{closeDrawer:a,isDragging:o,snapPoints:i,activeSnapPoint:l,setActiveSnapPoint:d,dismissible:c,handleOnly:u,isOpen:m,onPress:f,onDrag:h}=Pn(),g=v.useRef(null),y=v.useRef(!1);function S(){if(y.current){k();return}window.setTimeout(()=>{b()},Qh)}function b(){if(o||e||y.current){k();return}if(k(),!i||i.length===0){c||a();return}if(l===i[i.length-1]&&c){a();return}const E=i.findIndex(C=>C===l);if(E===-1)return;const p=i[E+1];d(p)}function w(){g.current=window.setTimeout(()=>{y.current=!0},Gh)}function k(){g.current&&window.clearTimeout(g.current),y.current=!1}return v.createElement("div",{onClick:S,onPointerCancel:k,onPointerDown:j=>{u&&f(j),w()},onPointerMove:j=>{u&&h(j)},ref:r,"data-vaul-drawer-visible":m?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},v.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},s))});Xh.displayName="Drawer.Handle";function Jh(e){const s=Pn(),{container:n=s.container,...r}=e;return v.createElement(yn,{container:n,...r})}const Ot={Root:Vh,Content:Rl,Overlay:$l,Portal:Jh,Title:Bs,Description:Ys},ws=({shouldScaleBackground:e=!1,direction:s="right",...n})=>t.jsx(Ot.Root,{shouldScaleBackground:e,direction:s,...n});ws.displayName="Drawer";const Zh=Ot.Portal,Il=x.forwardRef(({className:e,...s},n)=>t.jsx(Ot.Overlay,{ref:n,className:O("fixed inset-0 z-50 bg-black/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...s}));Il.displayName=Ot.Overlay.displayName;const Ns=x.forwardRef(({className:e,children:s,...n},r)=>t.jsxs(Zh,{children:[t.jsx(Il,{}),t.jsx(Ot.Content,{ref:r,className:O("fixed inset-y-0 right-0 z-50 flex h-full flex-col border-l border-border bg-background shadow-xl","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right","w-full max-w-lg",e),...n,children:s})]}));Ns.displayName="DrawerContent";const Ks=({className:e,...s})=>t.jsx("div",{className:O("flex flex-col space-y-1.5 px-6 pt-6 pb-4 border-b border-border shrink-0",e),...s});Ks.displayName="DrawerHeader";const Vs=({className:e,...s})=>t.jsx("div",{className:O("flex-1 overflow-y-auto px-6 py-4",e),...s});Vs.displayName="DrawerBody";const An=({className:e,...s})=>t.jsx("div",{className:O("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 px-6 py-4 border-t border-border shrink-0",e),...s});An.displayName="DrawerFooter";const Gs=x.forwardRef(({className:e,...s},n)=>t.jsx(Ot.Title,{ref:n,className:O("text-base font-semibold text-foreground",e),...s}));Gs.displayName=Ot.Title.displayName;const ex=x.forwardRef(({className:e,...s},n)=>t.jsx(Ot.Description,{ref:n,className:O("text-sm text-muted-foreground",e),...s}));ex.displayName=Ot.Description.displayName;const tx=jn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),We=x.forwardRef(({className:e,...s},n)=>t.jsx(ii,{ref:n,className:O(tx(),e),...s}));We.displayName=ii.displayName;const fr=x.forwardRef(({className:e,...s},n)=>t.jsx("textarea",{className:O("flex min-h-[80px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-none placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 resize-none",e),ref:n,...s}));fr.displayName="Textarea";const vo=[{name:"Backlog",key:"backlog",color:"#94a3b8",category:"backlog",position:0},{name:"Todo",key:"todo",color:"#64748b",category:"unstarted",position:1},{name:"In Progress",key:"in_progress",color:"#6366f1",category:"started",position:2},{name:"In Review",key:"in_review",color:"#f59e0b",category:"started",position:3},{name:"Done",key:"done",color:"#10b981",category:"completed",position:4},{name:"Cancelled",key:"cancelled",color:"#9ca3af",category:"cancelled",position:5}],Pr=["#94a3b8","#64748b","#6366f1","#f59e0b","#10b981","#ef4444","#3b82f6","#8b5cf6"];function sx(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function nx({chip:e,onRemove:s}){const{attributes:n,listeners:r,setNodeRef:a,transform:o,transition:i,isDragging:l}=na({id:e.key});return t.jsxs("div",{ref:a,style:{transform:ra.Transform.toString(o),transition:i},className:O("flex items-center gap-1 pl-1 pr-1.5 py-0.5 rounded-full border text-xs font-medium transition-opacity",l?"opacity-50":"opacity-100"),children:[t.jsx("span",{...n,...r,className:"text-muted-foreground/50 hover:text-muted-foreground cursor-grab touch-none",children:t.jsx(sl,{className:"h-3 w-3"})}),t.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{backgroundColor:e.color}}),t.jsx("span",{className:"text-[11px]",children:e.name}),t.jsx("button",{type:"button",onClick:s,className:"ml-0.5 text-muted-foreground/50 hover:text-muted-foreground transition-colors",children:t.jsx(Re,{className:"h-3 w-3"})})]})}const rx=3;function ax({open:e,onClose:s}){var X;const[n,r]=x.useState(""),[a,o]=x.useState(""),[i,l]=x.useState(""),[d,c]=x.useState(!1),[u,m]=x.useState(!1),[f,h]=x.useState(vo),[g,y]=x.useState(""),[S,b]=x.useState(Pr[2]),{workspace:w}=ke(),k=Ef(),j=Df(n,{enabled:e}),E=_f(a,{enabled:e});x.useEffect(()=>{e&&j.data&&!d&&o(j.data)},[e,j.data,d]);const p=E.available===!1||k.isError&&((X=k.error)==null?void 0:X.status)===409,C=a.trim().length>=rx&&/^[A-Z0-9]+$/i.test(a.trim()),A=vi(ji(wi,{activationConstraint:{distance:5}})),D=q=>{r(q)},_=()=>{n.trim()&&!d&&j.flush()},I=()=>{r(""),o(""),l(""),c(!1),m(!1),h(vo),y(""),b(Pr[2]),k.reset(),s()},$=()=>{if(!g.trim())return;const q=sx(g.trim());if(f.some(V=>V.key===q)){R.error("A status with this name already exists");return}h(V=>[...V,{name:g.trim(),key:q,color:S,category:"started",position:V.length}]),y("")},F=q=>{const{active:V,over:W}=q;!W||V.id===W.id||h(z=>{const Q=z.findIndex(N=>N.key===V.id),ee=z.findIndex(N=>N.key===W.id);return Gn(z,Q,ee).map((N,M)=>({...N,position:M}))})},T=q=>{q.preventDefault(),!(!n.trim()||!a.trim()||!C||p)&&k.mutate({name:n.trim(),identifier:a.trim().toUpperCase(),description:i.trim()||void 0,workspace_id:w.id,initial_statuses:f},{onSuccess:()=>{R.success("Project created"),I()},onError:V=>{(V==null?void 0:V.status)===409?R.error("This project key is already in use."):R.error(V.message??"Failed to create project")}})};return t.jsx(ws,{open:e,onOpenChange:q=>!q&&I(),children:t.jsxs(Ns,{className:"max-w-md",children:[t.jsx(Ks,{children:t.jsx(Gs,{children:"New project"})}),t.jsxs("form",{onSubmit:T,className:"flex flex-col flex-1 overflow-hidden",children:[t.jsxs(Vs,{className:"space-y-4",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsx(We,{htmlFor:"project-name",children:"Name"}),t.jsx(xe,{id:"project-name",placeholder:"My Project",value:n,onChange:q=>D(q.target.value),onBlur:_,autoFocus:!0}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Project key below will auto-fill when you finish typing; you can change it."})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{htmlFor:"project-id",children:["Identifier",t.jsx("span",{className:"ml-1.5 text-xs text-muted-foreground font-normal",children:"Used as issue prefix (e.g. PROJ-1)"})]}),t.jsx(xe,{id:"project-id",placeholder:"PROJ",value:a,onChange:q=>{o(q.target.value.toUpperCase().replace(/[^A-Z0-9]/g,"")),c(!0)},maxLength:5,className:O("font-mono",p&&"border-destructive"),"aria-invalid":p}),p&&t.jsx("p",{className:"text-xs text-destructive",children:"This project key is already in use."})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{htmlFor:"project-desc",children:["Description",t.jsx("span",{className:"ml-1.5 text-xs text-muted-foreground font-normal",children:"Optional"})]}),t.jsx(fr,{id:"project-desc",placeholder:"What is this project about?",value:i,onChange:q=>l(q.target.value),className:"min-h-[80px]"})]}),t.jsxs("div",{className:"border border-border rounded-lg overflow-hidden",children:[t.jsx("button",{type:"button",onClick:()=>m(!u),className:"w-full flex items-center justify-between px-3 py-2.5 text-xs font-medium hover:bg-muted/40 transition-colors",children:t.jsxs("span",{className:"flex items-center gap-1.5",children:[u?t.jsx(Hs,{className:"h-3.5 w-3.5"}):t.jsx(Us,{className:"h-3.5 w-3.5"}),"Statuses",t.jsxs("span",{className:"text-muted-foreground font-normal",children:["(",f.length,")"]})]})}),u&&t.jsxs("div",{className:"px-3 pb-3 border-t border-border space-y-3 pt-3",children:[t.jsx(Ni,{sensors:A,onDragEnd:F,children:t.jsx(sa,{items:f.map(q=>q.key),strategy:ki,children:t.jsx("div",{className:"flex flex-wrap gap-1.5",children:f.map(q=>t.jsx(nx,{chip:q,onRemove:()=>h(V=>V.filter(W=>W.key!==q.key).map((W,z)=>({...W,position:z})))},q.key))})})}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"flex items-center gap-1.5 shrink-0",children:Pr.map(q=>t.jsx("button",{type:"button",onClick:()=>b(q),className:O("h-4 w-4 rounded-full border-2 transition-transform hover:scale-110",S===q?"border-foreground scale-110":"border-transparent"),style:{backgroundColor:q}},q))}),t.jsxs("div",{className:"flex items-center gap-1.5 flex-1",children:[t.jsx(xe,{placeholder:"Status name…",value:g,onChange:q=>y(q.target.value),onKeyDown:q=>{q.key==="Enter"&&(q.preventDefault(),$())},className:"h-7 text-xs flex-1"}),t.jsx(K,{type:"button",size:"icon",variant:"ghost",className:"h-7 w-7 shrink-0",onClick:$,disabled:!g.trim(),children:t.jsx(ze,{className:"h-3.5 w-3.5"})})]})]})]})]})]}),t.jsxs(An,{children:[t.jsx(K,{type:"button",variant:"ghost",onClick:I,children:"Cancel"}),t.jsx(K,{type:"submit",disabled:!n.trim()||!a.trim()||!C||p||k.isPending,children:k.isPending?"Creating...":"Create project"})]})]})]})})}const we=yc,Ee=vc,ye=x.forwardRef(({className:e,children:s,...n},r)=>t.jsxs(li,{ref:r,className:O("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-none ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[s,t.jsx(hc,{asChild:!0,children:t.jsx(Hs,{className:"h-4 w-4 opacity-50"})})]}));ye.displayName=li.displayName;const Fl=x.forwardRef(({className:e,...s},n)=>t.jsx(di,{ref:n,className:O("flex cursor-default items-center justify-center py-1",e),...s,children:t.jsx(ha,{className:"h-4 w-4"})}));Fl.displayName=di.displayName;const zl=x.forwardRef(({className:e,...s},n)=>t.jsx(ci,{ref:n,className:O("flex cursor-default items-center justify-center py-1",e),...s,children:t.jsx(Hs,{className:"h-4 w-4"})}));zl.displayName=ci.displayName;const ve=x.forwardRef(({className:e,children:s,position:n="popper",...r},a)=>t.jsx(xc,{children:t.jsxs(ui,{ref:a,className:O("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[t.jsx(Fl,{}),t.jsx(pc,{className:O("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:s}),t.jsx(zl,{})]})}));ve.displayName=ui.displayName;const ox=x.forwardRef(({className:e,...s},n)=>t.jsx(mi,{ref:n,className:O("px-2 py-1.5 text-xs font-medium text-muted-foreground",e),...s}));ox.displayName=mi.displayName;const de=x.forwardRef(({className:e,children:s,...n},r)=>t.jsxs(fi,{ref:r,className:O("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[t.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:t.jsx(gc,{children:t.jsx(ut,{className:"h-4 w-4"})})}),t.jsx(bc,{children:s})]}));de.displayName=fi.displayName;const ix=x.forwardRef(({className:e,...s},n)=>t.jsx(hi,{ref:n,className:O("-mx-1 my-1 h-px bg-border",e),...s}));ix.displayName=hi.displayName;const $n={project:e=>["projects",e,"access"]};function Wl(e){return Ne({queryKey:$n.project(e),queryFn:()=>J.get(`/admin/projects/${e}/access`),enabled:!!e})}function ql(e){const s=me();return ce({mutationFn:({userId:n,role:r})=>J.post(`/admin/projects/${e}/members`,{user_id:n,role:r}),onSuccess:()=>{s.invalidateQueries({queryKey:$n.project(e)})}})}function Bl(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/projects/${e}/members/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:$n.project(e)})}})}function Yl(e){const s=me();return ce({mutationFn:n=>J.post(`/admin/projects/${e}/teams`,{team_id:n}),onSuccess:()=>{s.invalidateQueries({queryKey:$n.project(e)})}})}function Ll(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/projects/${e}/teams/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:$n.project(e)})}})}function lx({open:e,onClose:s,projectId:n,projectName:r}){const{workspace:a}=ke(),o=(a==null?void 0:a.id)??"",{data:i,isLoading:l}=Wl(n),{data:d}=tr(o),{data:c}=ca(o),u=ql(n),m=Bl(n),f=Yl(n),h=Ll(n),[g,y]=x.useState(""),[S,b]=x.useState(""),w=new Set((i==null?void 0:i.members.map(p=>p.user_id))??[]),k=new Set((i==null?void 0:i.teams.map(p=>p.team_id))??[]),j=(d??[]).filter(p=>!w.has(p.user_id)),E=(c??[]).filter(p=>!k.has(p.id));return t.jsx(cr,{open:e,onOpenChange:p=>!p&&s(),children:t.jsxs(Tn,{className:"sm:max-w-[480px]",children:[t.jsx(ur,{children:t.jsxs(mr,{children:["Access — ",r]})}),t.jsxs("div",{className:"space-y-5 pt-1",children:[t.jsxs("div",{children:[t.jsx("div",{className:"flex items-center justify-between mb-2",children:t.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"People"})}),l?t.jsx("div",{className:"space-y-2",children:[1,2].map(p=>t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(te,{className:"h-7 w-7 rounded-full"}),t.jsx(te,{className:"h-3.5 w-32"})]},p))}):(i==null?void 0:i.members.length)===0?t.jsx("p",{className:"text-sm text-muted-foreground",children:"No individual members."}):t.jsx("div",{className:"space-y-1",children:i==null?void 0:i.members.map(p=>{var $;const C=p.user,A=(C==null?void 0:C.first_name)??"",D=(C==null?void 0:C.last_name)??"",_=`${A} ${D}`.trim()||(C==null?void 0:C.email)||"Unknown",I=(A[0]??D[0]??(($=C==null?void 0:C.email)==null?void 0:$[0])??"U").toUpperCase();return t.jsxs("div",{className:"flex items-center gap-2.5 py-1 group",children:[t.jsx(rt,{className:"h-7 w-7 shrink-0",children:t.jsx(at,{className:"text-[11px] font-medium",children:I})}),t.jsx("span",{className:"flex-1 text-sm truncate",children:_}),t.jsx("span",{className:O("text-[11px] px-1.5 py-0.5 rounded font-medium shrink-0",p.role==="manager"?"bg-indigo/10 text-indigo":"bg-muted text-muted-foreground"),children:p.role}),t.jsx("button",{onClick:()=>m.mutate(p.user_id,{onSuccess:()=>R.success("Access removed"),onError:()=>R.error("Failed to remove")}),className:"opacity-0 group-hover:opacity-100 transition-opacity text-muted-foreground hover:text-destructive",children:t.jsx(Re,{className:"h-3.5 w-3.5"})})]},p.id)})}),j.length>0&&t.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[t.jsx(Mn,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsxs(we,{value:g,onValueChange:y,children:[t.jsx(ye,{className:"h-8 text-xs flex-1",children:t.jsx(Ee,{placeholder:"Add person…"})}),t.jsx(ve,{children:j.map(p=>{const C=p.user,A=(C==null?void 0:C.first_name)??"",D=(C==null?void 0:C.last_name)??"",_=`${A} ${D}`.trim()||(C==null?void 0:C.email)||"Unknown";return t.jsx(de,{value:p.user_id,children:_},p.user_id)})})]}),g&&t.jsx(K,{size:"sm",className:"h-8 px-3 text-xs shrink-0",disabled:u.isPending,onClick:()=>u.mutate({userId:g},{onSuccess:()=>{R.success("Access granted"),y("")},onError:()=>R.error("Failed to grant access")}),children:"Add"})]})]}),t.jsxs("div",{children:[t.jsx("div",{className:"flex items-center justify-between mb-2",children:t.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Teams"})}),l?t.jsx("div",{className:"space-y-2",children:[1].map(p=>t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(te,{className:"h-7 w-7 rounded-lg"}),t.jsx(te,{className:"h-3.5 w-28"})]},p))}):(i==null?void 0:i.teams.length)===0?t.jsx("p",{className:"text-sm text-muted-foreground",children:"No teams have access."}):t.jsx("div",{className:"space-y-1",children:i==null?void 0:i.teams.map(p=>{const C=p.team;return t.jsxs("div",{className:"flex items-center gap-2.5 py-1 group",children:[t.jsx("div",{className:"h-7 w-7 rounded-lg bg-muted flex items-center justify-center shrink-0",children:t.jsx(ms,{className:"h-3.5 w-3.5 text-muted-foreground"})}),t.jsx("span",{className:"flex-1 text-sm truncate",children:(C==null?void 0:C.name)??"Unknown team"}),C&&t.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[C.member_count," ",C.member_count===1?"member":"members"]}),t.jsx("button",{onClick:()=>h.mutate(p.team_id,{onSuccess:()=>R.success("Team access removed"),onError:()=>R.error("Failed to remove team")}),className:"opacity-0 group-hover:opacity-100 transition-opacity text-muted-foreground hover:text-destructive",children:t.jsx(Re,{className:"h-3.5 w-3.5"})})]},p.id)})}),E.length>0&&t.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[t.jsx(ms,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsxs(we,{value:S,onValueChange:b,children:[t.jsx(ye,{className:"h-8 text-xs flex-1",children:t.jsx(Ee,{placeholder:"Add team…"})}),t.jsx(ve,{children:E.map(p=>t.jsx(de,{value:p.id,children:p.name},p.id))})]}),S&&t.jsx(K,{size:"sm",className:"h-8 px-3 text-xs shrink-0",disabled:f.isPending,onClick:()=>f.mutate(S,{onSuccess:()=>{R.success("Team access granted"),b("")},onError:()=>R.error("Failed to add team")}),children:"Add"})]})]}),t.jsx("div",{className:"flex justify-end pt-1",children:t.jsx(K,{variant:"outline",size:"sm",onClick:s,children:"Close"})})]})]})})}const Hl=6048e5,dx=864e5,ey=36e5,ty=43200,sy=1440,jo=Symbol.for("constructDateFrom");function Ie(e,s){return typeof e=="function"?e(s):e&&typeof e=="object"&&jo in e?e[jo](s):e instanceof Date?new e.constructor(s):new Date(s)}function je(e,s){return Ie(s||e,e)}function Ul(e,s,n){const r=je(e,n==null?void 0:n.in);return isNaN(s)?Ie((n==null?void 0:n.in)||e,NaN):(s&&r.setDate(r.getDate()+s),r)}function Kl(e,s,n){const r=je(e,n==null?void 0:n.in);if(isNaN(s))return Ie((n==null?void 0:n.in)||e,NaN);if(!s)return r;const a=r.getDate(),o=Ie((n==null?void 0:n.in)||e,r.getTime());o.setMonth(r.getMonth()+s+1,0);const i=o.getDate();return a>=i?o:(r.setFullYear(o.getFullYear(),o.getMonth(),a),r)}let cx={};function Rn(){return cx}function zs(e,s){var l,d,c,u;const n=Rn(),r=(s==null?void 0:s.weekStartsOn)??((d=(l=s==null?void 0:s.locale)==null?void 0:l.options)==null?void 0:d.weekStartsOn)??n.weekStartsOn??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.weekStartsOn)??0,a=je(e,s==null?void 0:s.in),o=a.getDay(),i=(o<r?7:0)+o-r;return a.setDate(a.getDate()-i),a.setHours(0,0,0,0),a}function pn(e,s){return zs(e,{...s,weekStartsOn:1})}function Vl(e,s){const n=je(e,s==null?void 0:s.in),r=n.getFullYear(),a=Ie(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const o=pn(a),i=Ie(n,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const l=pn(i);return n.getTime()>=o.getTime()?r+1:n.getTime()>=l.getTime()?r:r-1}function wo(e){const s=je(e),n=new Date(Date.UTC(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours(),s.getMinutes(),s.getSeconds(),s.getMilliseconds()));return n.setUTCFullYear(s.getFullYear()),+e-+n}function Qs(e,...s){const n=Ie.bind(null,e||s.find(r=>typeof r=="object"));return s.map(n)}function gn(e,s){const n=je(e,s==null?void 0:s.in);return n.setHours(0,0,0,0),n}function Ea(e,s,n){const[r,a]=Qs(n==null?void 0:n.in,e,s),o=gn(r),i=gn(a),l=+o-wo(o),d=+i-wo(i);return Math.round((l-d)/dx)}function ux(e,s){const n=Vl(e,s),r=Ie(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),pn(r)}function mx(e,s,n){return Ul(e,s*7,n)}function fx(e,s,n){return Kl(e,s*12,n)}function hx(e,s){let n,r=s==null?void 0:s.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=Ie.bind(null,a));const o=je(a,r);(!n||n<o||isNaN(+o))&&(n=o)}),Ie(r,n||NaN)}function xx(e,s){let n,r=s==null?void 0:s.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=Ie.bind(null,a));const o=je(a,r);(!n||n>o||isNaN(+o))&&(n=o)}),Ie(r,n||NaN)}function px(e,s,n){const[r,a]=Qs(n==null?void 0:n.in,e,s);return+gn(r)==+gn(a)}function Gl(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function gx(e){return!(!Gl(e)&&typeof e!="number"||isNaN(+je(e)))}function Ql(e,s,n){const[r,a]=Qs(n==null?void 0:n.in,e,s),o=r.getFullYear()-a.getFullYear(),i=r.getMonth()-a.getMonth();return o*12+i}function bx(e,s){const n=je(e,s==null?void 0:s.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function Xl(e,s){const[n,r]=Qs(e,s.start,s.end);return{start:n,end:r}}function yx(e,s){const{start:n,end:r}=Xl(s==null?void 0:s.in,e);let a=+n>+r;const o=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0),i.setDate(1);let l=1;const d=[];for(;+i<=o;)d.push(Ie(n,i)),i.setMonth(i.getMonth()+l);return a?d.reverse():d}function vx(e,s){const n=je(e,s==null?void 0:s.in);return n.setDate(1),n.setHours(0,0,0,0),n}function jx(e,s){const n=je(e,s==null?void 0:s.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function Jl(e,s){const n=je(e,s==null?void 0:s.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function wx(e,s){const{start:n,end:r}=Xl(s==null?void 0:s.in,e);let a=+n>+r;const o=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0),i.setMonth(0,1);let l=1;const d=[];for(;+i<=o;)d.push(Ie(n,i)),i.setFullYear(i.getFullYear()+l);return a?d.reverse():d}function Zl(e,s){var l,d,c,u;const n=Rn(),r=(s==null?void 0:s.weekStartsOn)??((d=(l=s==null?void 0:s.locale)==null?void 0:l.options)==null?void 0:d.weekStartsOn)??n.weekStartsOn??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.weekStartsOn)??0,a=je(e,s==null?void 0:s.in),o=a.getDay(),i=(o<r?-7:0)+6-(o-r);return a.setDate(a.getDate()+i),a.setHours(23,59,59,999),a}function Nx(e,s){return Zl(e,{...s,weekStartsOn:1})}const kx={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Sx=(e,s,n)=>{let r;const a=kx[e];return typeof a=="string"?r=a:s===1?r=a.one:r=a.other.replace("{{count}}",s.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function Ar(e){return(s={})=>{const n=s.width?String(s.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Cx={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Mx={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Dx={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},_x={date:Ar({formats:Cx,defaultWidth:"full"}),time:Ar({formats:Mx,defaultWidth:"full"}),dateTime:Ar({formats:Dx,defaultWidth:"full"})},Ex={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Ox=(e,s,n,r)=>Ex[e];function cn(e){return(s,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,l=n!=null&&n.width?String(n.width):i;a=e.formattingValues[l]||e.formattingValues[i]}else{const i=e.defaultWidth,l=n!=null&&n.width?String(n.width):e.defaultWidth;a=e.values[l]||e.values[i]}const o=e.argumentCallback?e.argumentCallback(s):s;return a[o]}}const Tx={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Px={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Ax={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},$x={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Rx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Ix={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Fx=(e,s)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},zx={ordinalNumber:Fx,era:cn({values:Tx,defaultWidth:"wide"}),quarter:cn({values:Px,defaultWidth:"wide",argumentCallback:e=>e-1}),month:cn({values:Ax,defaultWidth:"wide"}),day:cn({values:$x,defaultWidth:"wide"}),dayPeriod:cn({values:Rx,defaultWidth:"wide",formattingValues:Ix,defaultFormattingWidth:"wide"})};function un(e){return(s,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=s.match(a);if(!o)return null;const i=o[0],l=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(l)?qx(l,m=>m.test(i)):Wx(l,m=>m.test(i));let c;c=e.valueCallback?e.valueCallback(d):d,c=n.valueCallback?n.valueCallback(c):c;const u=s.slice(i.length);return{value:c,rest:u}}}function Wx(e,s){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&s(e[n]))return n}function qx(e,s){for(let n=0;n<e.length;n++)if(s(e[n]))return n}function Bx(e){return(s,n={})=>{const r=s.match(e.matchPattern);if(!r)return null;const a=r[0],o=s.match(e.parsePattern);if(!o)return null;let i=e.valueCallback?e.valueCallback(o[0]):o[0];i=n.valueCallback?n.valueCallback(i):i;const l=s.slice(a.length);return{value:i,rest:l}}}const Yx=/^(\d+)(th|st|nd|rd)?/i,Lx=/\d+/i,Hx={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ux={any:[/^b/i,/^(a|c)/i]},Kx={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Vx={any:[/1/i,/2/i,/3/i,/4/i]},Gx={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Qx={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Xx={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Jx={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Zx={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},ep={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},tp={ordinalNumber:Bx({matchPattern:Yx,parsePattern:Lx,valueCallback:e=>parseInt(e,10)}),era:un({matchPatterns:Hx,defaultMatchWidth:"wide",parsePatterns:Ux,defaultParseWidth:"any"}),quarter:un({matchPatterns:Kx,defaultMatchWidth:"wide",parsePatterns:Vx,defaultParseWidth:"any",valueCallback:e=>e+1}),month:un({matchPatterns:Gx,defaultMatchWidth:"wide",parsePatterns:Qx,defaultParseWidth:"any"}),day:un({matchPatterns:Xx,defaultMatchWidth:"wide",parsePatterns:Jx,defaultParseWidth:"any"}),dayPeriod:un({matchPatterns:Zx,defaultMatchWidth:"any",parsePatterns:ep,defaultParseWidth:"any"})},Os={code:"en-US",formatDistance:Sx,formatLong:_x,formatRelative:Ox,localize:zx,match:tp,options:{weekStartsOn:0,firstWeekContainsDate:1}};function sp(e,s){const n=je(e,s==null?void 0:s.in);return Ea(n,Jl(n))+1}function Oa(e,s){const n=je(e,s==null?void 0:s.in),r=+pn(n)-+ux(n);return Math.round(r/Hl)+1}function ed(e,s){var u,m,f,h;const n=je(e,s==null?void 0:s.in),r=n.getFullYear(),a=Rn(),o=(s==null?void 0:s.firstWeekContainsDate)??((m=(u=s==null?void 0:s.locale)==null?void 0:u.options)==null?void 0:m.firstWeekContainsDate)??a.firstWeekContainsDate??((h=(f=a.locale)==null?void 0:f.options)==null?void 0:h.firstWeekContainsDate)??1,i=Ie((s==null?void 0:s.in)||e,0);i.setFullYear(r+1,0,o),i.setHours(0,0,0,0);const l=zs(i,s),d=Ie((s==null?void 0:s.in)||e,0);d.setFullYear(r,0,o),d.setHours(0,0,0,0);const c=zs(d,s);return+n>=+l?r+1:+n>=+c?r:r-1}function np(e,s){var l,d,c,u;const n=Rn(),r=(s==null?void 0:s.firstWeekContainsDate)??((d=(l=s==null?void 0:s.locale)==null?void 0:l.options)==null?void 0:d.firstWeekContainsDate)??n.firstWeekContainsDate??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.firstWeekContainsDate)??1,a=ed(e,s),o=Ie((s==null?void 0:s.in)||e,0);return o.setFullYear(a,0,r),o.setHours(0,0,0,0),zs(o,s)}function Ta(e,s){const n=je(e,s==null?void 0:s.in),r=+zs(n,s)-+np(n,s);return Math.round(r/Hl)+1}function be(e,s){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(s,"0");return n+r}const Wt={y(e,s){const n=e.getFullYear(),r=n>0?n:1-n;return be(s==="yy"?r%100:r,s.length)},M(e,s){const n=e.getMonth();return s==="M"?String(n+1):be(n+1,2)},d(e,s){return be(e.getDate(),s.length)},a(e,s){const n=e.getHours()/12>=1?"pm":"am";switch(s){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,s){return be(e.getHours()%12||12,s.length)},H(e,s){return be(e.getHours(),s.length)},m(e,s){return be(e.getMinutes(),s.length)},s(e,s){return be(e.getSeconds(),s.length)},S(e,s){const n=s.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return be(a,s.length)}},Ms={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},No={G:function(e,s,n){const r=e.getFullYear()>0?1:0;switch(s){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,s,n){if(s==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return Wt.y(e,s)},Y:function(e,s,n,r){const a=ed(e,r),o=a>0?a:1-a;if(s==="YY"){const i=o%100;return be(i,2)}return s==="Yo"?n.ordinalNumber(o,{unit:"year"}):be(o,s.length)},R:function(e,s){const n=Vl(e);return be(n,s.length)},u:function(e,s){const n=e.getFullYear();return be(n,s.length)},Q:function(e,s,n){const r=Math.ceil((e.getMonth()+1)/3);switch(s){case"Q":return String(r);case"QQ":return be(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,s,n){const r=Math.ceil((e.getMonth()+1)/3);switch(s){case"q":return String(r);case"qq":return be(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,s,n){const r=e.getMonth();switch(s){case"M":case"MM":return Wt.M(e,s);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,s,n){const r=e.getMonth();switch(s){case"L":return String(r+1);case"LL":return be(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,s,n,r){const a=Ta(e,r);return s==="wo"?n.ordinalNumber(a,{unit:"week"}):be(a,s.length)},I:function(e,s,n){const r=Oa(e);return s==="Io"?n.ordinalNumber(r,{unit:"week"}):be(r,s.length)},d:function(e,s,n){return s==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Wt.d(e,s)},D:function(e,s,n){const r=sp(e);return s==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):be(r,s.length)},E:function(e,s,n){const r=e.getDay();switch(s){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,s,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(s){case"e":return String(o);case"ee":return be(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,s,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(s){case"c":return String(o);case"cc":return be(o,s.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,s,n){const r=e.getDay(),a=r===0?7:r;switch(s){case"i":return String(a);case"ii":return be(a,s.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,s,n){const a=e.getHours()/12>=1?"pm":"am";switch(s){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,s,n){const r=e.getHours();let a;switch(r===12?a=Ms.noon:r===0?a=Ms.midnight:a=r/12>=1?"pm":"am",s){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,s,n){const r=e.getHours();let a;switch(r>=17?a=Ms.evening:r>=12?a=Ms.afternoon:r>=4?a=Ms.morning:a=Ms.night,s){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,s,n){if(s==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Wt.h(e,s)},H:function(e,s,n){return s==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Wt.H(e,s)},K:function(e,s,n){const r=e.getHours()%12;return s==="Ko"?n.ordinalNumber(r,{unit:"hour"}):be(r,s.length)},k:function(e,s,n){let r=e.getHours();return r===0&&(r=24),s==="ko"?n.ordinalNumber(r,{unit:"hour"}):be(r,s.length)},m:function(e,s,n){return s==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Wt.m(e,s)},s:function(e,s,n){return s==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Wt.s(e,s)},S:function(e,s){return Wt.S(e,s)},X:function(e,s,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(s){case"X":return So(r);case"XXXX":case"XX":return as(r);case"XXXXX":case"XXX":default:return as(r,":")}},x:function(e,s,n){const r=e.getTimezoneOffset();switch(s){case"x":return So(r);case"xxxx":case"xx":return as(r);case"xxxxx":case"xxx":default:return as(r,":")}},O:function(e,s,n){const r=e.getTimezoneOffset();switch(s){case"O":case"OO":case"OOO":return"GMT"+ko(r,":");case"OOOO":default:return"GMT"+as(r,":")}},z:function(e,s,n){const r=e.getTimezoneOffset();switch(s){case"z":case"zz":case"zzz":return"GMT"+ko(r,":");case"zzzz":default:return"GMT"+as(r,":")}},t:function(e,s,n){const r=Math.trunc(+e/1e3);return be(r,s.length)},T:function(e,s,n){return be(+e,s.length)}};function ko(e,s=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),o=r%60;return o===0?n+String(a):n+String(a)+s+be(o,2)}function So(e,s){return e%60===0?(e>0?"-":"+")+be(Math.abs(e)/60,2):as(e,s)}function as(e,s=""){const n=e>0?"-":"+",r=Math.abs(e),a=be(Math.trunc(r/60),2),o=be(r%60,2);return n+a+s+o}const Co=(e,s)=>{switch(e){case"P":return s.date({width:"short"});case"PP":return s.date({width:"medium"});case"PPP":return s.date({width:"long"});case"PPPP":default:return s.date({width:"full"})}},td=(e,s)=>{switch(e){case"p":return s.time({width:"short"});case"pp":return s.time({width:"medium"});case"ppp":return s.time({width:"long"});case"pppp":default:return s.time({width:"full"})}},rp=(e,s)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return Co(e,s);let o;switch(r){case"P":o=s.dateTime({width:"short"});break;case"PP":o=s.dateTime({width:"medium"});break;case"PPP":o=s.dateTime({width:"long"});break;case"PPPP":default:o=s.dateTime({width:"full"});break}return o.replace("{{date}}",Co(r,s)).replace("{{time}}",td(a,s))},ap={p:td,P:rp},op=/^D+$/,ip=/^Y+$/,lp=["D","DD","YY","YYYY"];function dp(e){return op.test(e)}function cp(e){return ip.test(e)}function up(e,s,n){const r=mp(e,s,n);if(console.warn(r),lp.includes(e))throw new RangeError(r)}function mp(e,s,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${s}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const fp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,hp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,xp=/^'([^]*?)'?$/,pp=/''/g,gp=/[a-zA-Z]/;function oe(e,s,n){var u,m,f,h,g,y,S,b;const r=Rn(),a=(n==null?void 0:n.locale)??r.locale??Os,o=(n==null?void 0:n.firstWeekContainsDate)??((m=(u=n==null?void 0:n.locale)==null?void 0:u.options)==null?void 0:m.firstWeekContainsDate)??r.firstWeekContainsDate??((h=(f=r.locale)==null?void 0:f.options)==null?void 0:h.firstWeekContainsDate)??1,i=(n==null?void 0:n.weekStartsOn)??((y=(g=n==null?void 0:n.locale)==null?void 0:g.options)==null?void 0:y.weekStartsOn)??r.weekStartsOn??((b=(S=r.locale)==null?void 0:S.options)==null?void 0:b.weekStartsOn)??0,l=je(e,n==null?void 0:n.in);if(!gx(l))throw new RangeError("Invalid time value");let d=s.match(hp).map(w=>{const k=w[0];if(k==="p"||k==="P"){const j=ap[k];return j(w,a.formatLong)}return w}).join("").match(fp).map(w=>{if(w==="''")return{isToken:!1,value:"'"};const k=w[0];if(k==="'")return{isToken:!1,value:bp(w)};if(No[k])return{isToken:!0,value:w};if(k.match(gp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+k+"`");return{isToken:!1,value:w}});a.localize.preprocessor&&(d=a.localize.preprocessor(l,d));const c={firstWeekContainsDate:o,weekStartsOn:i,locale:a};return d.map(w=>{if(!w.isToken)return w.value;const k=w.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&cp(k)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&dp(k))&&up(k,s,String(e));const j=No[k[0]];return j(l,k,a.localize,c)}).join("")}function bp(e){const s=e.match(xp);return s?s[1].replace(pp,"'"):e}function yp(e,s){const n=je(e,s==null?void 0:s.in),r=n.getFullYear(),a=n.getMonth(),o=Ie(n,0);return o.setFullYear(r,a+1,0),o.setHours(0,0,0,0),o.getDate()}function vp(e,s){return je(e,s==null?void 0:s.in).getMonth()}function jp(e,s){return je(e,s==null?void 0:s.in).getFullYear()}function wp(e,s){return+je(e)>+je(s)}function Np(e,s){return+je(e)<+je(s)}function kp(e,s,n){const[r,a]=Qs(n==null?void 0:n.in,e,s);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function Sp(e,s,n){const[r,a]=Qs(n==null?void 0:n.in,e,s);return r.getFullYear()===a.getFullYear()}function Cp(e,s,n){const r=je(e,n==null?void 0:n.in),a=r.getFullYear(),o=r.getDate(),i=Ie(e,0);i.setFullYear(a,s,15),i.setHours(0,0,0,0);const l=yp(i);return r.setMonth(s,Math.min(o,l)),r}function Mp(e,s,n){const r=je(e,n==null?void 0:n.in);return isNaN(+r)?Ie(e,NaN):(r.setFullYear(s),r)}function Dp(){const[e,s]=x.useState(!1),[n,r]=x.useState(null),[a,o]=x.useState(""),{workspace:i}=Je(),{data:l,isLoading:d}=lr(),c=Of(),u=Ve(),m=(l??[]).filter(f=>!a||f.name.toLowerCase().includes(a.toLowerCase())||f.identifier.toLowerCase().includes(a.toLowerCase()));return t.jsxs("div",{className:"p-2",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden",children:[t.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[t.jsx("h1",{className:"text-base font-semibold",children:"Projects"}),t.jsxs(K,{size:"sm",onClick:()=>s(!0),children:[t.jsx(ze,{className:"h-4 w-4"}),"Create"]})]}),t.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[t.jsx("div",{className:"flex items-center gap-2",children:t.jsx(K,{variant:"outline",size:"sm",className:"text-xs h-8",children:"Add filter"})}),t.jsxs("div",{className:"relative",children:[t.jsx(ir,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),t.jsx(xe,{placeholder:"Search...",value:a,onChange:f=>o(f.target.value),className:"pl-8 h-8 w-[200px] text-xs bg-transparent"})]})]}),t.jsxs("div",{className:"grid grid-cols-[2fr_1fr_1fr_1fr_40px] items-center px-6 py-2.5 border-b border-border",children:[t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Project"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Identifier"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Status"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Created"}),t.jsx("span",{})]}),d?t.jsx("div",{className:"divide-y divide-border",children:[1,2,3].map(f=>t.jsxs("div",{className:"grid grid-cols-[2fr_1fr_1fr_1fr_40px] items-center px-6 py-3",children:[t.jsx(te,{className:"h-4 w-48"}),t.jsx(te,{className:"h-4 w-12"}),t.jsx(te,{className:"h-5 w-16 rounded-full"}),t.jsx(te,{className:"h-4 w-24"}),t.jsx("div",{})]},f))}):m.length===0?t.jsxs("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[t.jsx("div",{className:"h-10 w-10 rounded-full bg-muted flex items-center justify-center mb-3",children:t.jsx(wt,{className:"h-5 w-5 text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium mb-1",children:a?"No projects match":"No projects yet"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:a?"Try a different search term.":"Create your first project to get started."}),!a&&t.jsxs(K,{size:"sm",onClick:()=>s(!0),children:[t.jsx(ze,{className:"h-4 w-4"}),"Create project"]})]}):t.jsx("div",{className:"divide-y divide-border",children:m.map(f=>t.jsxs("div",{className:"grid grid-cols-[2fr_1fr_1fr_1fr_40px] items-center px-6 py-3 hover:bg-[#f9fafb] dark:hover:bg-muted/30 cursor-pointer transition-colors group",onClick:()=>u(`/${i}/projects/${f.identifier}/board`),children:[t.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[t.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:f.name}),f.description&&t.jsx("span",{className:"text-xs text-muted-foreground truncate hidden xl:block",children:f.description})]}),t.jsx("span",{className:"text-sm text-muted-foreground font-mono",children:f.identifier}),t.jsx("div",{children:t.jsxs("span",{className:O("inline-flex items-center gap-1.5 text-xs",f.status==="active"&&"text-emerald-600",f.status==="paused"&&"text-amber-600",f.status==="archived"&&"text-muted-foreground"),children:[t.jsx("span",{className:O("h-1.5 w-1.5 rounded-full shrink-0",f.status==="active"&&"bg-emerald-500",f.status==="paused"&&"bg-amber-500",f.status==="archived"&&"bg-zinc-400")}),f.status.charAt(0).toUpperCase()+f.status.slice(1)]})}),t.jsx("span",{className:"text-sm text-muted-foreground",children:oe(new Date(f.created_at),"MMM d, yyyy")}),t.jsx("div",{className:"flex justify-end",onClick:h=>h.stopPropagation(),children:t.jsxs(vs,{children:[t.jsx(js,{asChild:!0,children:t.jsx(K,{variant:"ghost",size:"icon-sm",className:"h-7 w-7 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity",children:t.jsx(Nn,{className:"h-4 w-4"})})}),t.jsxs(Qt,{align:"end",children:[t.jsxs(Xe,{onClick:()=>u(`/${i}/projects/${f.identifier}/board`),children:[t.jsx(wt,{className:"h-4 w-4"}),"Open board"]}),t.jsxs(Xe,{onClick:()=>u(`/${i}/projects/${f.identifier}/issues`),children:[t.jsx(Sn,{className:"h-4 w-4"}),"View issues"]}),t.jsxs(Xe,{onClick:()=>r({id:f.id,name:f.name}),children:[t.jsx(rr,{className:"h-4 w-4"}),"Manage access"]}),t.jsx(_n,{}),t.jsxs(Xe,{className:"text-destructive focus:text-destructive",onClick:()=>{confirm(`Delete "${f.name}"? This cannot be undone.`)&&c.mutate(f.id,{onSuccess:()=>R.success("Project deleted"),onError:()=>R.error("Failed to delete project")})},children:[t.jsx(Gt,{className:"h-4 w-4"}),"Delete"]})]})]})})]},f.id))}),!d&&m.length>0&&t.jsxs("div",{className:"flex items-center justify-between px-6 py-3 border-t border-border",children:[t.jsxs("span",{className:"text-xs text-muted-foreground",children:["1 — ",m.length," of ",m.length," result",m.length!==1?"s":""]}),t.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[t.jsx("span",{children:"1 of 1 pages"}),t.jsx(K,{variant:"ghost",size:"sm",className:"h-7 text-xs",disabled:!0,children:"Prev"}),t.jsx(K,{variant:"ghost",size:"sm",className:"h-7 text-xs",disabled:!0,children:"Next"})]})]})]}),t.jsx(ax,{open:e,onClose:()=>s(!1)}),n&&t.jsx(lx,{open:!!n,onClose:()=>r(null),projectId:n.id,projectName:n.name})]})}const Te={all:["issues"],byProject:e=>[...Te.all,"project",e],detail:e=>[...Te.all,e],comments:e=>[...Te.all,e,"comments"],activities:e=>[...Te.all,e,"activities"]};function In(e){return Ne({queryKey:e?Te.byProject(e):Te.all,queryFn:()=>{const s=e?`/admin/issues?project_id=${e}`:"/admin/issues";return J.get(s)},select:s=>s.issues})}function sd(e){return Ne({queryKey:Te.detail(e),queryFn:()=>J.get(`/admin/issues/${e}`),select:s=>s.issue,enabled:!!e})}function _p(e){return Ne({queryKey:Te.comments(e),queryFn:()=>J.get(`/admin/issues/${e}/comments`),select:s=>s.comments,enabled:!!e})}function nd(){const e=me();return ce({mutationFn:s=>J.post("/admin/issues",s),onSuccess:(s,n)=>{e.invalidateQueries({queryKey:Te.byProject(n.project_id)})}})}function Pa(e,s){const n=me();return ce({mutationFn:r=>J.put(`/admin/issues/${e}`,r),onMutate:async r=>{await n.cancelQueries({queryKey:Te.byProject(s)});const a=n.getQueryData(Te.byProject(s));return n.setQueryData(Te.byProject(s),o=>o&&{...o,issues:o.issues.map(i=>i.id===e?{...i,...r}:i)}),{previous:a}},onError:(r,a,o)=>{o!=null&&o.previous&&n.setQueryData(Te.byProject(s),o.previous)},onSettled:()=>{n.invalidateQueries({queryKey:Te.byProject(s)}),n.invalidateQueries({queryKey:Te.detail(e)})}})}function Ep(e){return Ne({queryKey:Te.activities(e),queryFn:()=>J.get(`/admin/issues/${e}/activities`),select:s=>s.activities,enabled:!!e})}function Op(e){const s=me();return ce({mutationFn:n=>J.post(`/admin/issues/${e}/comments`,{body:n}),onSuccess:()=>{s.invalidateQueries({queryKey:Te.comments(e)})}})}const Aa={byProject:e=>["projects",e,"statuses"]};function Xs(e){return Ne({queryKey:Aa.byProject(e??""),queryFn:()=>J.get(`/admin/projects/${e}/statuses`),select:s=>s.statuses,enabled:!!e})}function Tp(e){const s=me();return ce({mutationFn:n=>J.post(`/admin/projects/${e}/statuses`,n),onSuccess:()=>{s.invalidateQueries({queryKey:Aa.byProject(e)})}})}function Pp(e){const s=me();return ce({mutationFn:n=>J.post(`/admin/projects/${e}/statuses/reorder`,{orderedIds:n}),onSuccess:()=>{s.invalidateQueries({queryKey:Aa.byProject(e)})}})}const $a={all:["users"],list:()=>[...$a.all,"list"]};function Ap(){return Ne({queryKey:$a.list(),queryFn:()=>J.get("/admin/users"),select:e=>e.users,staleTime:1e3*60*5})}function rd(){return Ne({queryKey:[...$a.list(),"map"],queryFn:()=>J.get("/admin/users"),select:e=>new Map(e.users.map(s=>{var i;const n=s.first_name??"",r=s.last_name??"",a=`${n} ${r}`.trim()||s.email,o=(n[0]??r[0]??((i=s.email)==null?void 0:i[0])??"U").toUpperCase();return[s.id,{name:a,initials:o}]})),staleTime:1e3*60*5})}const xs={backlog:"Backlog",todo:"Todo",in_progress:"In Progress",in_review:"In Review",done:"Done",cancelled:"Cancelled"},Et={urgent:"Urgent",high:"High",medium:"Medium",low:"Low",none:"None"},ad={urgent:"text-red-500",high:"text-orange-500",medium:"text-yellow-500",low:"text-blue-400",none:"text-zinc-400"},Ht={task:"Task",bug:"Bug",feature:"Feature",improvement:"Improvement",epic:"Epic"},$p=({priority:e})=>{const s=O("h-3 w-3 shrink-0",ad[e]);switch(e){case"urgent":return t.jsx(Dn,{className:s});case"high":return t.jsx(nr,{className:s});case"medium":return t.jsx(Cn,{className:s});case"low":return t.jsx(sr,{className:s});default:return t.jsx(jt,{className:"h-3 w-3 shrink-0 text-zinc-300"})}};function od({issue:e,onClick:s}){var u,m;const{data:n}=rd(),{attributes:r,listeners:a,setNodeRef:o,transform:i,transition:l,isDragging:d}=na({id:e.id}),c={transform:ra.Transform.toString(i),transition:l};return t.jsxs("div",{ref:o,style:c,...r,...a,onClick:s,className:O("bg-white dark:bg-card border border-border rounded-lg px-3 py-2.5 cursor-pointer select-none","hover:border-zinc-300 dark:hover:border-zinc-600 transition-colors",d&&"opacity-40 shadow-lg ring-2 ring-indigo/30"),children:[t.jsx("p",{className:"text-[13px] text-foreground leading-snug line-clamp-2 mb-2",children:e.title}),t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[t.jsx("span",{className:"text-[11px] font-mono text-muted-foreground",children:e.identifier}),t.jsxs("div",{className:"flex items-center gap-1.5",children:[(e.assignee_ids??[]).length>0&&t.jsxs("div",{className:"flex -space-x-1",children:[(e.assignee_ids??[]).slice(0,2).map(f=>{const h=n==null?void 0:n.get(f);return t.jsx(rt,{className:"h-4 w-4 border border-background",children:t.jsx(at,{className:"text-[8px] bg-indigo-100 text-indigo-700 dark:bg-indigo-900/50 dark:text-indigo-300",children:(h==null?void 0:h.initials)??"?"})},f)}),(((u=e.assignee_ids)==null?void 0:u.length)??0)>2&&t.jsxs("span",{className:"text-[9px] text-muted-foreground ml-1.5 self-center",children:["+",(((m=e.assignee_ids)==null?void 0:m.length)??0)-2]})]}),t.jsx($p,{priority:e.priority})]})]})]})}function $r(e,s){const n=e.replace("#",""),r=parseInt(n.substring(0,2),16),a=parseInt(n.substring(2,4),16),o=parseInt(n.substring(4,6),16);return isNaN(r)||isNaN(a)||isNaN(o)?`rgba(148,163,184,${s})`:`rgba(${r},${a},${o},${s})`}const Rp=({category:e,color:s})=>{const n="h-3.5 w-3.5 shrink-0",r={color:s};switch(e){case"completed":return t.jsx(bs,{className:n,style:r});case"started":return t.jsx(Vt,{className:n,style:r});default:return t.jsx(jt,{className:n,style:r})}};function Ip({id:e,label:s,color:n,category:r,issues:a,sortable:o,onIssueClick:i}){const{setNodeRef:l,isOver:d}=Ec({id:e}),{attributes:c,listeners:u,setNodeRef:m,transform:f,transition:h,isDragging:g}=na({id:e,disabled:!o}),y=o?{transform:ra.Transform.toString(f),transition:h}:void 0,S=$r(n,.08),b=$r(n,.16),w=$r(n,.35);return t.jsxs("div",{ref:m,style:y,className:O("flex flex-col min-w-[260px] max-w-[280px] w-full",g&&"opacity-50"),children:[t.jsxs("div",{className:O("flex items-center gap-2 mb-2 px-1",o&&"cursor-grab"),children:[o&&t.jsx("span",{...c,...u,className:"text-muted-foreground/40 hover:text-muted-foreground touch-none",children:t.jsx(sl,{className:"h-3.5 w-3.5"})}),t.jsx(Rp,{category:r,color:n}),t.jsx("span",{className:"text-xs font-medium text-foreground",children:s}),t.jsx("span",{className:"ml-1 text-[11px] text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 tabular-nums min-w-[18px] text-center",children:a.length})]}),t.jsxs("div",{ref:l,className:O("flex-1 flex flex-col gap-2 min-h-[200px] p-2 rounded-xl transition-colors"),style:{backgroundColor:d?b:S,boxShadow:d?`inset 0 0 0 1px ${w}`:void 0},children:[t.jsx(sa,{items:a.map(k=>k.id),strategy:Oc,children:a.map(k=>t.jsx(od,{issue:k,onClick:()=>i==null?void 0:i(k)},k.id))}),a.length===0&&t.jsx("div",{className:"flex-1 flex items-center justify-center min-h-[120px]",children:t.jsx("p",{className:"text-xs text-muted-foreground/40",children:"Drop here"})})]})]})}const Rr=["#94a3b8","#64748b","#6366f1","#f59e0b","#10b981","#ef4444","#3b82f6","#8b5cf6"],Fp=[{value:"backlog",label:"Backlog"},{value:"unstarted",label:"Not Started"},{value:"started",label:"In Progress"},{value:"completed",label:"Done"},{value:"cancelled",label:"Cancelled"}];function zp({open:e,onClose:s,projectId:n}){const[r,a]=x.useState(""),[o,i]=x.useState(Rr[0]),[l,d]=x.useState(""),[c,u]=x.useState("started"),m=Tp(n),f=l||o,h=()=>{r.trim()&&m.mutate({name:r.trim(),color:f,category:c},{onSuccess:()=>{R.success("Status created"),a(""),i(Rr[0]),d(""),u("started"),s()},onError:()=>R.error("Failed to create status")})};return t.jsx(ws,{open:e,onOpenChange:g=>!g&&s(),children:t.jsxs(Ns,{className:"sm:max-w-sm",children:[t.jsx(Ks,{children:t.jsx(Gs,{className:"text-sm font-medium",children:"New Status"})}),t.jsx(Vs,{children:t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Name"}),t.jsx(xe,{placeholder:"e.g. In Review",value:r,onChange:g=>a(g.target.value),onKeyDown:g=>g.key==="Enter"&&h(),autoFocus:!0,className:"h-8 text-sm"})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Color"}),t.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[Rr.map(g=>t.jsx("button",{onClick:()=>{i(g),d("")},className:O("h-6 w-6 rounded-full border-2 transition-transform hover:scale-110",o===g&&!l?"border-foreground scale-110":"border-transparent"),style:{backgroundColor:g}},g)),t.jsxs("div",{className:"flex items-center gap-1.5 ml-1",children:[t.jsx("div",{className:"h-6 w-6 rounded-full border border-border shrink-0",style:{backgroundColor:l||"#e5e7eb"}}),t.jsx(xe,{placeholder:"#hex",value:l,onChange:g=>d(g.target.value),className:"h-6 w-20 text-xs px-1.5"})]})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Category"}),t.jsxs(we,{value:c,onValueChange:g=>u(g),children:[t.jsx(ye,{className:"h-8 text-xs",children:t.jsx(Ee,{})}),t.jsx(ve,{children:Fp.map(g=>t.jsx(de,{value:g.value,className:"text-xs",children:g.label},g.value))})]})]})]})}),t.jsxs(An,{className:"mt-2",children:[t.jsx(K,{variant:"ghost",size:"sm",onClick:s,className:"text-xs",children:"Cancel"}),t.jsx(K,{size:"sm",onClick:h,disabled:!r.trim()||m.isPending,className:"text-xs",children:"Create"})]})]})})}function Wp({projectId:e}){const[s,n]=x.useState(!1);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"flex flex-col min-w-[260px] max-w-[280px] w-full",children:t.jsxs("button",{onClick:()=>n(!0),className:"flex items-center gap-2 px-3 py-2 rounded-xl border border-dashed border-border text-muted-foreground hover:text-foreground hover:border-foreground/30 hover:bg-muted/30 transition-colors text-xs font-medium h-9",children:[t.jsx(ze,{className:"h-3.5 w-3.5"}),"Add status"]})}),t.jsx(zp,{open:s,onClose:()=>n(!1),projectId:e})]})}function Ir(e,s){var r;const n={};for(const a of s)n[a.key]=[];for(const a of e)if(n[a.status]!==void 0)n[a.status].push(a);else{const o=((r=s[0])==null?void 0:r.key)??"backlog";n[o]=[...n[o]??[],a]}return n}function qp(e,s,n){var o;const r=new Map(s.map(i=>[i.id,i])),a={};for(const i of n)a[i.key]=[];for(const i of n)for(const l of e[i.key]??[]){const d=r.get(l.id);d&&d.status===i.key&&(a[i.key].push(d),r.delete(l.id))}for(const i of r.values()){const l=a[i.status];if(l)l.push(i);else{const d=(o=n[0])==null?void 0:o.key;d&&a[d].push(i)}}return a}function Bp({issues:e,projectId:s,statuses:n,onIssueClick:r,onColumnsReorder:a}){const[o,i]=x.useState(()=>n.map(D=>D.id)),[l,d]=x.useState(()=>Ir(e,n)),[c,u]=x.useState(null),[m,f]=x.useState(null),h=x.useRef(null),g=x.useRef(!1),y=me();x.useEffect(()=>{g.current||d(D=>qp(D,e,n))},[e,n]);const S=[...n].sort((D,_)=>{const I=o.indexOf(D.id),$=o.indexOf(_.id);return I===-1&&$===-1?D.position-_.position:I===-1?1:$===-1?-1:I-$}),b=vi(ji(wi,{activationConstraint:{distance:5}})),w=x.useCallback(D=>{if(m){const _=D.droppableContainers.filter(I=>o.includes(I.id));return Tc({...D,droppableContainers:_})}return Pc(D)},[m,o]),k=x.useCallback(D=>{for(const[_,I]of Object.entries(l))if(I.some($=>$.id===D))return _;return null},[l]),j=x.useCallback(D=>n.some(_=>_.id===D),[n]),E=D=>{const _=D.active.id;if(g.current=!0,j(_)){f(_);return}for(const[I,$]of Object.entries(l)){const F=$.find(T=>T.id===_);if(F){u(F),h.current=I;return}}},p=D=>{const{active:_,over:I}=D;if(!I||m)return;const $=_.id,F=I.id;if(j($))return;const T=k($),X=n.find(V=>V.key===F||V.id===F),q=(X==null?void 0:X.key)??k(F);!T||!q||T===q||d(V=>{const W=[...V[T]??[]],z=[...V[q]??[]],Q=W.findIndex(M=>M.id===$);if(Q===-1)return V;const[ee]=W.splice(Q,1),N={...ee,status:q};if(X)z.push(N);else{const M=z.findIndex(Y=>Y.id===F);if(M===-1)z.push(N);else{const Y=_.rect.current.translated!=null&&_.rect.current.translated.top>I.rect.top+I.rect.height/2;z.splice(Y?M+1:M,0,N)}}return{...V,[T]:W,[q]:z}})},C=D=>{var V;const{active:_,over:I}=D;if(u(null),g.current=!1,m){if(f(null),!I||_.id===I.id)return;const W=o.indexOf(_.id),z=o.indexOf(I.id);if(W===-1||z===-1||W===z)return;const Q=Gn(o,W,z);i(Q),a==null||a(Q);return}if(!I){const W=h.current;h.current=null,W&&d(Ir(e,n));return}const $=_.id,F=I.id,T=h.current;h.current=null;const X=n.find(W=>W.key===F||W.id===F),q=(X==null?void 0:X.key)??k(F);if(!(!T||!q))if(T===q)d(W=>{const z=W[T]??[],Q=z.findIndex(N=>N.id===$),ee=z.findIndex(N=>N.id===F);return Q===-1||ee===-1||Q===ee?W:{...W,[T]:Gn(z,Q,ee)}});else{if(!n.find(Q=>Q.key===F||Q.id===F))d(Q=>{const ee=[...Q[q]??[]],N=ee.findIndex(P=>P.id===$);if(N===-1)return Q;const M=D.active.rect.current.translated!=null&&D.active.rect.current.translated.top>D.over.rect.top+D.over.rect.height/2,[Y]=ee.splice(N,1),L=ee.findIndex(P=>P.id===F);if(L===-1)return ee.splice(N,0,Y),Q;const ae=M?L+1:L;return ee.splice(ae,0,Y),{...Q,[q]:ee}});else{const Q=((V=D.active.rect.current.translated)==null?void 0:V.top)??1/0,ee=D.over.rect.top+D.over.rect.height/2;Q<ee&&d(N=>{const M=N[q]??[],Y=M.findIndex(L=>L.id===$);return Y<=0?N:{...N,[q]:Gn(M,Y,0)}})}const z=y.getQueryData(Te.byProject(s));y.setQueryData(Te.byProject(s),Q=>Q&&{...Q,issues:Q.issues.map(ee=>ee.id===$?{...ee,status:q}:ee)}),J.put(`/admin/issues/${$}`,{status:q}).then(()=>{y.invalidateQueries({queryKey:Te.byProject(s)})}).catch(()=>{z&&y.setQueryData(Te.byProject(s),z),d(Ir((z==null?void 0:z.issues)??e,n)),R.error("Failed to update issue status")})}},A=m?n.find(D=>D.id===m):null;return t.jsxs(Ni,{sensors:b,collisionDetection:w,onDragStart:E,onDragOver:p,onDragEnd:C,children:[t.jsxs("div",{className:"flex gap-4 h-full overflow-x-auto px-6 py-4 pb-6",children:[t.jsx(sa,{items:o,strategy:ki,children:S.map(D=>t.jsx(Ip,{id:D.id,label:D.name,color:D.color,category:D.category,issues:l[D.key]??[],sortable:!0,onIssueClick:r},D.id))}),t.jsx(Wp,{projectId:s})]}),t.jsxs(Ac,{children:[c&&t.jsx(od,{issue:c}),A&&t.jsx("div",{className:"opacity-80 min-w-[260px] max-w-[280px]",children:t.jsxs("div",{className:"h-9 flex items-center gap-2 px-3 rounded-xl border border-border bg-background text-xs font-medium text-foreground",children:[t.jsx("div",{className:"h-3 w-3 rounded-full shrink-0",style:{backgroundColor:A.color}}),A.name]})})]})]})}const Ws={all:["sprints"],byProject:e=>["sprints","project",e],detail:e=>["sprints",e]};function Js(e){return Ne({queryKey:e?Ws.byProject(e):Ws.all,queryFn:()=>{const s=e?`/admin/sprints?project_id=${e}`:"/admin/sprints";return J.get(s)},select:s=>s.sprints,enabled:!!e})}function Yp(e){const s=me();return ce({mutationFn:n=>J.post("/admin/sprints",{...n,project_id:e}),onSuccess:()=>{s.invalidateQueries({queryKey:Ws.byProject(e)})}})}function Lp(e,s){const n=me();return ce({mutationFn:r=>J.put(`/admin/sprints/${e}`,r),onSuccess:()=>{n.invalidateQueries({queryKey:Ws.byProject(s)}),n.invalidateQueries({queryKey:Ws.detail(e)})}})}function Hp(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/sprints/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:Ws.byProject(e)})}})}const hr={byProject:e=>["task-lists","project",e]};function Fn(e){return Ne({queryKey:e?hr.byProject(e):["task-lists"],queryFn:()=>J.get(`/admin/projects/${e}/task-lists`),select:s=>s.task_lists,enabled:!!e})}function Up(e){const s=me();return ce({mutationFn:n=>J.post(`/admin/projects/${e}/task-lists`,n),onSuccess:()=>{s.invalidateQueries({queryKey:hr.byProject(e)})}})}function Kp(e){const s=me();return ce({mutationFn:({id:n,...r})=>J.put(`/admin/task-lists/${n}`,r),onSuccess:()=>{s.invalidateQueries({queryKey:hr.byProject(e)})}})}function Vp(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/task-lists/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:hr.byProject(e)}),s.invalidateQueries({queryKey:Te.byProject(e)})}})}const Ue=wc,Ke=Nc,He=x.forwardRef(({className:e,align:s="center",sideOffset:n=4,...r},a)=>t.jsx(jc,{children:t.jsx(xi,{ref:a,align:s,sideOffset:n,className:O("z-50 w-72 rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));He.displayName=xi.displayName;function Mo(e,s,n){const r=(e==null?void 0:e[0])??"",a=(s==null?void 0:s[0])??"";return(r+a).toUpperCase()||((n==null?void 0:n[0])??"U").toUpperCase()}function Do(e,s,n){return`${e??""} ${s??""}`.trim()||n}function zn({value:e,onChange:s,disabled:n}){const[r,a]=x.useState(!1),[o,i]=x.useState(e),{data:l}=Ap(),d=e.slice().sort().join(",");x.useEffect(()=>{i(e)},[d]);const c=m=>{const f=o.includes(m)?o.filter(h=>h!==m):[...o,m];i(f),s(f)},u=(l??[]).filter(m=>o.includes(m.id));return t.jsxs(Ue,{open:r,onOpenChange:a,children:[t.jsx(Ke,{asChild:!0,disabled:n,children:t.jsx("button",{type:"button",className:O("flex items-center gap-1 min-h-[28px] rounded-md px-1.5 py-1","hover:bg-accent transition-colors text-left","focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",n&&"pointer-events-none opacity-50"),children:u.length===0?t.jsxs("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[t.jsx(Mn,{className:"h-3.5 w-3.5"}),"Assign"]}):t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx("div",{className:"flex -space-x-1.5",children:u.slice(0,3).map(m=>t.jsx(rt,{className:"h-5 w-5 border border-background ring-0",children:t.jsx(at,{className:"text-[9px] bg-indigo-100 text-indigo-700 dark:bg-indigo-900/50 dark:text-indigo-300",children:Mo(m.first_name,m.last_name,m.email)})},m.id))}),u.length>3&&t.jsxs("span",{className:"text-[10px] text-muted-foreground ml-1",children:["+",u.length-3]}),t.jsx("span",{className:"text-xs text-foreground ml-1 hidden sm:inline",children:u.length===1?Do(u[0].first_name,u[0].last_name,u[0].email):`${u.length} assignees`})]})})}),t.jsx(He,{className:"w-60 p-0",align:"start",children:t.jsxs(Rs,{children:[t.jsx(Ma,{placeholder:"Search users...",className:"h-8 text-xs"}),t.jsxs(Is,{children:[t.jsx(Da,{className:"text-xs py-4",children:"No users found."}),t.jsx(us,{children:(l??[]).map(m=>{const f=o.includes(m.id),h=Do(m.first_name,m.last_name,m.email),g=Mo(m.first_name,m.last_name,m.email);return t.jsxs(ct,{value:h,onSelect:()=>c(m.id),className:"gap-2 py-1.5",children:[t.jsx(rt,{className:"h-5 w-5 shrink-0",children:t.jsx(at,{className:"text-[9px] bg-muted text-muted-foreground",children:g})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-xs font-medium truncate",children:h}),t.jsx("p",{className:"text-[10px] text-muted-foreground truncate",children:m.email})]}),t.jsx(ut,{className:O("h-3.5 w-3.5 shrink-0",f?"opacity-100 text-indigo-500":"opacity-0")})]},m.id)})})]})]})})]})}function Gp(e,s,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(s).split(/\s/g).slice(2).join(" ")}const Fr={},mn={};function is(e,s){try{const r=(Fr[e]||(Fr[e]=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format))(s).split("GMT")[1];return r in mn?mn[r]:_o(r,r.split(":"))}catch{if(e in mn)return mn[e];const n=e==null?void 0:e.match(Qp);return n?_o(e,n.slice(1)):NaN}}const Qp=/([+-]\d\d):?(\d\d)?/;function _o(e,s){const n=+(s[0]||0),r=+(s[1]||0),a=+(s[2]||0)/60;return mn[e]=n*60+r>0?n*60+r+a:n*60-r-a}class vt extends Date{constructor(...s){super(),s.length>1&&typeof s[s.length-1]=="string"&&(this.timeZone=s.pop()),this.internal=new Date,isNaN(is(this.timeZone,this))?this.setTime(NaN):s.length?typeof s[0]=="number"&&(s.length===1||s.length===2&&typeof s[1]!="number")?this.setTime(s[0]):typeof s[0]=="string"?this.setTime(+new Date(s[0])):s[0]instanceof Date?this.setTime(+s[0]):(this.setTime(+new Date(...s)),id(this),Zr(this)):this.setTime(Date.now())}static tz(s,...n){return n.length?new vt(...n,s):new vt(Date.now(),s)}withTimeZone(s){return new vt(+this,s)}getTimezoneOffset(){const s=-is(this.timeZone,this);return s>0?Math.floor(s):Math.ceil(s)}setTime(s){return Date.prototype.setTime.apply(this,arguments),Zr(this),+this}[Symbol.for("constructDateFrom")](s){return new vt(+new Date(s),this.timeZone)}}const Eo=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Eo.test(e))return;const s=e.replace(Eo,"$1UTC");vt.prototype[s]&&(e.startsWith("get")?vt.prototype[e]=function(){return this.internal[s]()}:(vt.prototype[e]=function(){return Date.prototype[s].apply(this.internal,arguments),Xp(this),+this},vt.prototype[s]=function(){return Date.prototype[s].apply(this,arguments),Zr(this),+this}))});function Zr(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-is(e.timeZone,e)*60))}function Xp(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),id(e)}function id(e){const s=is(e.timeZone,e),n=s>0?Math.floor(s):Math.ceil(s),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),o=-new Date(+r).getTimezoneOffset(),i=a-o,l=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();i&&l&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+i);const d=a-n;d&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+d);const c=new Date(+e);c.setUTCSeconds(0);const u=a>0?c.getSeconds():(c.getSeconds()-60)%60,m=Math.round(-(is(e.timeZone,e)*60))%60;(m||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+m),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+m+u));const f=is(e.timeZone,e),h=f>0?Math.floor(f):Math.ceil(f),y=-new Date(+e).getTimezoneOffset()-h,S=h!==n,b=y-d;if(S&&b){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+b);const w=is(e.timeZone,e),k=w>0?Math.floor(w):Math.ceil(w),j=h-k;j&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+j),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+j))}}class Le extends vt{static tz(s,...n){return n.length?new Le(...n,s):new Le(Date.now(),s)}toISOString(){const[s,n,r]=this.tzComponents(),a=`${s}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[s,n,r,a]=this.internal.toUTCString().split(" ");return`${s==null?void 0:s.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const s=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${s} GMT${n}${r}${a} (${Gp(this.timeZone,this)})`}toLocaleString(s,n){return Date.prototype.toLocaleString.call(this,s,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}toLocaleDateString(s,n){return Date.prototype.toLocaleDateString.call(this,s,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}toLocaleTimeString(s,n){return Date.prototype.toLocaleTimeString.call(this,s,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}tzComponents(){const s=this.getTimezoneOffset(),n=s>0?"-":"+",r=String(Math.floor(Math.abs(s)/60)).padStart(2,"0"),a=String(Math.abs(s)%60).padStart(2,"0");return[n,r,a]}withTimeZone(s){return new Le(+this,s)}[Symbol.for("constructDateFrom")](s){return new Le(+new Date(s),this.timeZone)}}const Oo=5,Jp=4;function Zp(e,s){const n=s.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=s.addDays(e,-r+1),o=s.addDays(a,Oo*7-1);return s.getMonth(e)===s.getMonth(o)?Oo:Jp}function ld(e,s){const n=s.startOfMonth(e),r=n.getDay();return r===1?n:r===0?s.addDays(n,-1*6):s.addDays(n,-1*(r-1))}function eg(e,s){const n=ld(e,s),r=Zp(e,s);return s.addDays(n,r*7-1)}const dd={...Os,labels:{labelDayButton:(e,s,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,l)=>oe(i,l,{locale:Os,...n});let o=a(e,"PPPP");return s.today&&(o=`Today, ${o}`),s.selected&&(o=`${o}, selected`),o},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,s,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>oe(a,o,{locale:Os,...s}),r(e,"LLLL yyyy")},labelGridcell:(e,s,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,l)=>oe(i,l,{locale:Os,...n});let o=a(e,"PPPP");return s!=null&&s.today&&(o=`Today, ${o}`),o},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,s,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>oe(a,o,{locale:Os,...s}),r(e,"cccc")}}};class tt{constructor(s,n){this.Date=Date,this.today=()=>{var r;return(r=this.overrides)!=null&&r.today?this.overrides.today():this.options.timeZone?Le.tz(this.options.timeZone):new this.Date},this.newDate=(r,a,o)=>{var i;return(i=this.overrides)!=null&&i.newDate?this.overrides.newDate(r,a,o):this.options.timeZone?new Le(r,a,o,this.options.timeZone):new Date(r,a,o)},this.addDays=(r,a)=>{var o;return(o=this.overrides)!=null&&o.addDays?this.overrides.addDays(r,a):Ul(r,a)},this.addMonths=(r,a)=>{var o;return(o=this.overrides)!=null&&o.addMonths?this.overrides.addMonths(r,a):Kl(r,a)},this.addWeeks=(r,a)=>{var o;return(o=this.overrides)!=null&&o.addWeeks?this.overrides.addWeeks(r,a):mx(r,a)},this.addYears=(r,a)=>{var o;return(o=this.overrides)!=null&&o.addYears?this.overrides.addYears(r,a):fx(r,a)},this.differenceInCalendarDays=(r,a)=>{var o;return(o=this.overrides)!=null&&o.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):Ea(r,a)},this.differenceInCalendarMonths=(r,a)=>{var o;return(o=this.overrides)!=null&&o.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):Ql(r,a)},this.eachMonthOfInterval=r=>{var a;return(a=this.overrides)!=null&&a.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):yx(r)},this.eachYearOfInterval=r=>{var l;const a=(l=this.overrides)!=null&&l.eachYearOfInterval?this.overrides.eachYearOfInterval(r):wx(r),o=new Set(a.map(d=>this.getYear(d)));if(o.size===a.length)return a;const i=[];return o.forEach(d=>{i.push(new Date(d,0,1))}),i},this.endOfBroadcastWeek=r=>{var a;return(a=this.overrides)!=null&&a.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):eg(r,this)},this.endOfISOWeek=r=>{var a;return(a=this.overrides)!=null&&a.endOfISOWeek?this.overrides.endOfISOWeek(r):Nx(r)},this.endOfMonth=r=>{var a;return(a=this.overrides)!=null&&a.endOfMonth?this.overrides.endOfMonth(r):bx(r)},this.endOfWeek=(r,a)=>{var o;return(o=this.overrides)!=null&&o.endOfWeek?this.overrides.endOfWeek(r,a):Zl(r,this.options)},this.endOfYear=r=>{var a;return(a=this.overrides)!=null&&a.endOfYear?this.overrides.endOfYear(r):jx(r)},this.format=(r,a,o)=>{var l;const i=(l=this.overrides)!=null&&l.format?this.overrides.format(r,a,this.options):oe(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(i):i},this.getISOWeek=r=>{var a;return(a=this.overrides)!=null&&a.getISOWeek?this.overrides.getISOWeek(r):Oa(r)},this.getMonth=(r,a)=>{var o;return(o=this.overrides)!=null&&o.getMonth?this.overrides.getMonth(r,this.options):vp(r,this.options)},this.getYear=(r,a)=>{var o;return(o=this.overrides)!=null&&o.getYear?this.overrides.getYear(r,this.options):jp(r,this.options)},this.getWeek=(r,a)=>{var o;return(o=this.overrides)!=null&&o.getWeek?this.overrides.getWeek(r,this.options):Ta(r,this.options)},this.isAfter=(r,a)=>{var o;return(o=this.overrides)!=null&&o.isAfter?this.overrides.isAfter(r,a):wp(r,a)},this.isBefore=(r,a)=>{var o;return(o=this.overrides)!=null&&o.isBefore?this.overrides.isBefore(r,a):Np(r,a)},this.isDate=r=>{var a;return(a=this.overrides)!=null&&a.isDate?this.overrides.isDate(r):Gl(r)},this.isSameDay=(r,a)=>{var o;return(o=this.overrides)!=null&&o.isSameDay?this.overrides.isSameDay(r,a):px(r,a)},this.isSameMonth=(r,a)=>{var o;return(o=this.overrides)!=null&&o.isSameMonth?this.overrides.isSameMonth(r,a):kp(r,a)},this.isSameYear=(r,a)=>{var o;return(o=this.overrides)!=null&&o.isSameYear?this.overrides.isSameYear(r,a):Sp(r,a)},this.max=r=>{var a;return(a=this.overrides)!=null&&a.max?this.overrides.max(r):hx(r)},this.min=r=>{var a;return(a=this.overrides)!=null&&a.min?this.overrides.min(r):xx(r)},this.setMonth=(r,a)=>{var o;return(o=this.overrides)!=null&&o.setMonth?this.overrides.setMonth(r,a):Cp(r,a)},this.setYear=(r,a)=>{var o;return(o=this.overrides)!=null&&o.setYear?this.overrides.setYear(r,a):Mp(r,a)},this.startOfBroadcastWeek=(r,a)=>{var o;return(o=this.overrides)!=null&&o.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):ld(r,this)},this.startOfDay=r=>{var a;return(a=this.overrides)!=null&&a.startOfDay?this.overrides.startOfDay(r):gn(r)},this.startOfISOWeek=r=>{var a;return(a=this.overrides)!=null&&a.startOfISOWeek?this.overrides.startOfISOWeek(r):pn(r)},this.startOfMonth=r=>{var a;return(a=this.overrides)!=null&&a.startOfMonth?this.overrides.startOfMonth(r):vx(r)},this.startOfWeek=(r,a)=>{var o;return(o=this.overrides)!=null&&o.startOfWeek?this.overrides.startOfWeek(r,this.options):zs(r,this.options)},this.startOfYear=r=>{var a;return(a=this.overrides)!=null&&a.startOfYear?this.overrides.startOfYear(r):Jl(r)},this.options={locale:dd,...s},this.overrides=n}getDigitMap(){const{numerals:s="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:s}),r={};for(let a=0;a<10;a++)r[a.toString()]=n.format(a);return r}replaceDigits(s){const n=this.getDigitMap();return s.replace(/\d/g,r=>n[r]||r)}formatNumber(s){return this.replaceDigits(s.toString())}getMonthYearOrder(){var n;const s=(n=this.options.locale)==null?void 0:n.code;return s&&tt.yearFirstLocales.has(s)?"year-first":"month-first"}formatMonthYear(s){const{locale:n,timeZone:r,numerals:a}=this.options,o=n==null?void 0:n.code;if(o&&tt.yearFirstLocales.has(o))try{return new Intl.DateTimeFormat(o,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(s)}catch{}const i=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(s,i)}}tt.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Nt=new tt;class cd{constructor(s,n,r=Nt){this.date=s,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(s,n)),this.dateLib=r,this.isoDate=r.format(s,"yyyy-MM-dd"),this.displayMonthId=r.format(n,"yyyy-MM"),this.dateMonthId=r.format(s,"yyyy-MM")}isEqualTo(s){return this.dateLib.isSameDay(s.date,this.date)&&this.dateLib.isSameMonth(s.displayMonth,this.displayMonth)}}class tg{constructor(s,n){this.date=s,this.weeks=n}}class sg{constructor(s,n){this.days=n,this.weekNumber=s}}function ng(e){return v.createElement("button",{...e})}function rg(e){return v.createElement("span",{...e})}function ag(e){const{size:s=24,orientation:n="left",className:r}=e;return v.createElement("svg",{className:r,width:s,height:s,viewBox:"0 0 24 24"},n==="up"&&v.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&v.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&v.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&v.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function og(e){const{day:s,modifiers:n,...r}=e;return v.createElement("td",{...r})}function ig(e){const{day:s,modifiers:n,...r}=e,a=v.useRef(null);return v.useEffect(()=>{var o;n.focused&&((o=a.current)==null||o.focus())},[n.focused]),v.createElement("button",{ref:a,...r})}var ne;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(ne||(ne={}));var _e;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(_e||(_e={}));var mt;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(mt||(mt={}));var et;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(et||(et={}));function lg(e){const{options:s,className:n,components:r,classNames:a,...o}=e,i=[a[ne.Dropdown],n].join(" "),l=s==null?void 0:s.find(({value:d})=>d===o.value);return v.createElement("span",{"data-disabled":o.disabled,className:a[ne.DropdownRoot]},v.createElement(r.Select,{className:i,...o},s==null?void 0:s.map(({value:d,label:c,disabled:u})=>v.createElement(r.Option,{key:d,value:d,disabled:u},c))),v.createElement("span",{className:a[ne.CaptionLabel],"aria-hidden":!0},l==null?void 0:l.label,v.createElement(r.Chevron,{orientation:"down",size:18,className:a[ne.Chevron]})))}function dg(e){return v.createElement("div",{...e})}function cg(e){return v.createElement("div",{...e})}function ug(e){const{calendarMonth:s,displayIndex:n,...r}=e;return v.createElement("div",{...r},e.children)}function mg(e){const{calendarMonth:s,displayIndex:n,...r}=e;return v.createElement("div",{...r})}function fg(e){return v.createElement("table",{...e})}function hg(e){return v.createElement("div",{...e})}const ud=x.createContext(void 0);function Wn(){const e=x.useContext(ud);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function xg(e){const{components:s}=Wn();return v.createElement(s.Dropdown,{...e})}function pg(e){const{onPreviousClick:s,onNextClick:n,previousMonth:r,nextMonth:a,...o}=e,{components:i,classNames:l,labels:{labelPrevious:d,labelNext:c}}=Wn(),u=x.useCallback(f=>{a&&(n==null||n(f))},[a,n]),m=x.useCallback(f=>{r&&(s==null||s(f))},[r,s]);return v.createElement("nav",{...o},v.createElement(i.PreviousMonthButton,{type:"button",className:l[ne.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:m},v.createElement(i.Chevron,{disabled:r?void 0:!0,className:l[ne.Chevron],orientation:"left"})),v.createElement(i.NextMonthButton,{type:"button",className:l[ne.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":c(a),onClick:u},v.createElement(i.Chevron,{disabled:a?void 0:!0,orientation:"right",className:l[ne.Chevron]})))}function gg(e){const{components:s}=Wn();return v.createElement(s.Button,{...e})}function bg(e){return v.createElement("option",{...e})}function yg(e){const{components:s}=Wn();return v.createElement(s.Button,{...e})}function vg(e){const{rootRef:s,...n}=e;return v.createElement("div",{...n,ref:s})}function jg(e){return v.createElement("select",{...e})}function wg(e){const{week:s,...n}=e;return v.createElement("tr",{...n})}function Ng(e){return v.createElement("th",{...e})}function kg(e){return v.createElement("thead",{"aria-hidden":!0},v.createElement("tr",{...e}))}function Sg(e){const{week:s,...n}=e;return v.createElement("th",{...n})}function Cg(e){return v.createElement("th",{...e})}function Mg(e){return v.createElement("tbody",{...e})}function Dg(e){const{components:s}=Wn();return v.createElement(s.Dropdown,{...e})}const _g=Object.freeze(Object.defineProperty({__proto__:null,Button:ng,CaptionLabel:rg,Chevron:ag,Day:og,DayButton:ig,Dropdown:lg,DropdownNav:dg,Footer:cg,Month:ug,MonthCaption:mg,MonthGrid:fg,Months:hg,MonthsDropdown:xg,Nav:pg,NextMonthButton:gg,Option:bg,PreviousMonthButton:yg,Root:vg,Select:jg,Week:wg,WeekNumber:Sg,WeekNumberHeader:Cg,Weekday:Ng,Weekdays:kg,Weeks:Mg,YearsDropdown:Dg},Symbol.toStringTag,{value:"Module"}));function Dt(e,s,n=!1,r=Nt){let{from:a,to:o}=e;const{differenceInCalendarDays:i,isSameDay:l}=r;return a&&o?(i(o,a)<0&&([a,o]=[o,a]),i(s,a)>=(n?1:0)&&i(o,s)>=(n?1:0)):!n&&o?l(o,s):!n&&a?l(a,s):!1}function Ra(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function xr(e){return!!(e&&typeof e=="object"&&"from"in e)}function Ia(e){return!!(e&&typeof e=="object"&&"after"in e)}function Fa(e){return!!(e&&typeof e=="object"&&"before"in e)}function md(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function fd(e,s){return Array.isArray(e)&&e.every(s.isDate)}function _t(e,s,n=Nt){const r=Array.isArray(s)?s:[s],{isSameDay:a,differenceInCalendarDays:o,isAfter:i}=n;return r.some(l=>{if(typeof l=="boolean")return l;if(n.isDate(l))return a(e,l);if(fd(l,n))return l.some(d=>a(e,d));if(xr(l))return Dt(l,e,!1,n);if(md(l))return Array.isArray(l.dayOfWeek)?l.dayOfWeek.includes(e.getDay()):l.dayOfWeek===e.getDay();if(Ra(l)){const d=o(l.before,e),c=o(l.after,e),u=d>0,m=c<0;return i(l.before,l.after)?m&&u:u||m}return Ia(l)?o(e,l.after)>0:Fa(l)?o(l.before,e)>0:typeof l=="function"?l(e):!1})}function Eg(e,s,n,r,a){const{disabled:o,hidden:i,modifiers:l,showOutsideDays:d,broadcastCalendar:c,today:u=a.today()}=s,{isSameDay:m,isSameMonth:f,startOfMonth:h,isBefore:g,endOfMonth:y,isAfter:S}=a,b=n&&h(n),w=r&&y(r),k={[_e.focused]:[],[_e.outside]:[],[_e.disabled]:[],[_e.hidden]:[],[_e.today]:[]},j={};for(const E of e){const{date:p,displayMonth:C}=E,A=!!(C&&!f(p,C)),D=!!(b&&g(p,b)),_=!!(w&&S(p,w)),I=!!(o&&_t(p,o,a)),$=!!(i&&_t(p,i,a))||D||_||!c&&!d&&A||c&&d===!1&&A,F=m(p,u);A&&k.outside.push(E),I&&k.disabled.push(E),$&&k.hidden.push(E),F&&k.today.push(E),l&&Object.keys(l).forEach(T=>{const X=l==null?void 0:l[T];X&&_t(p,X,a)&&(j[T]?j[T].push(E):j[T]=[E])})}return E=>{const p={[_e.focused]:!1,[_e.disabled]:!1,[_e.hidden]:!1,[_e.outside]:!1,[_e.today]:!1},C={};for(const A in k){const D=k[A];p[A]=D.some(_=>_===E)}for(const A in j)C[A]=j[A].some(D=>D===E);return{...p,...C}}}function Og(e,s,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[o])=>(n[o]?a.push(n[o]):s[_e[o]]?a.push(s[_e[o]]):s[mt[o]]&&a.push(s[mt[o]]),a),[s[ne.Day]])}function Tg(e){return{..._g,...e}}function Pg(e){const s={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(s[n]=r)}),s}function Ag(){const e={};for(const s in ne)e[ne[s]]=`rdp-${ne[s]}`;for(const s in _e)e[_e[s]]=`rdp-${_e[s]}`;for(const s in mt)e[mt[s]]=`rdp-${mt[s]}`;for(const s in et)e[et[s]]=`rdp-${et[s]}`;return e}function hd(e,s,n){return(n??new tt(s)).formatMonthYear(e)}const $g=hd;function Rg(e,s,n){return(n??new tt(s)).format(e,"d")}function Ig(e,s=Nt){return s.format(e,"LLLL")}function Fg(e,s,n){return(n??new tt(s)).format(e,"cccccc")}function zg(e,s=Nt){return e<10?s.formatNumber(`0${e.toLocaleString()}`):s.formatNumber(`${e.toLocaleString()}`)}function Wg(){return""}function xd(e,s=Nt){return s.format(e,"yyyy")}const qg=xd,Bg=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:hd,formatDay:Rg,formatMonthCaption:$g,formatMonthDropdown:Ig,formatWeekNumber:zg,formatWeekNumberHeader:Wg,formatWeekdayName:Fg,formatYearCaption:qg,formatYearDropdown:xd},Symbol.toStringTag,{value:"Module"}));function Yg(e){return e!=null&&e.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e!=null&&e.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Bg,...e}}function za(e,s,n,r){let a=(r??new tt(n)).format(e,"PPPP");return s.today&&(a=`Today, ${a}`),s.selected&&(a=`${a}, selected`),a}const Lg=za;function Wa(e,s,n){return(n??new tt(s)).formatMonthYear(e)}const Hg=Wa;function pd(e,s,n,r){let a=(r??new tt(n)).format(e,"PPPP");return s!=null&&s.today&&(a=`Today, ${a}`),a}function gd(e){return"Choose the Month"}function bd(){return""}const Ug="Go to the Next Month";function yd(e,s){return Ug}function vd(e){return"Go to the Previous Month"}function jd(e,s,n){return(n??new tt(s)).format(e,"cccc")}function wd(e,s){return`Week ${e}`}function Nd(e){return"Week Number"}function kd(e){return"Choose the Year"}const Kg=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Hg,labelDay:Lg,labelDayButton:za,labelGrid:Wa,labelGridcell:pd,labelMonthDropdown:gd,labelNav:bd,labelNext:yd,labelPrevious:vd,labelWeekNumber:wd,labelWeekNumberHeader:Nd,labelWeekday:jd,labelYearDropdown:kd},Symbol.toStringTag,{value:"Module"})),dt=(e,s,n)=>s||(n?typeof n=="function"?n:(...r)=>n:e);function Vg(e,s){var r;const n=((r=s.locale)==null?void 0:r.labels)??{};return{...Kg,...e??{},labelDayButton:dt(za,e==null?void 0:e.labelDayButton,n.labelDayButton),labelMonthDropdown:dt(gd,e==null?void 0:e.labelMonthDropdown,n.labelMonthDropdown),labelNext:dt(yd,e==null?void 0:e.labelNext,n.labelNext),labelPrevious:dt(vd,e==null?void 0:e.labelPrevious,n.labelPrevious),labelWeekNumber:dt(wd,e==null?void 0:e.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:dt(kd,e==null?void 0:e.labelYearDropdown,n.labelYearDropdown),labelGrid:dt(Wa,e==null?void 0:e.labelGrid,n.labelGrid),labelGridcell:dt(pd,e==null?void 0:e.labelGridcell,n.labelGridcell),labelNav:dt(bd,e==null?void 0:e.labelNav,n.labelNav),labelWeekNumberHeader:dt(Nd,e==null?void 0:e.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:dt(jd,e==null?void 0:e.labelWeekday,n.labelWeekday)}}function Gg(e,s,n,r,a){const{startOfMonth:o,startOfYear:i,endOfYear:l,eachMonthOfInterval:d,getMonth:c}=a;return d({start:i(e),end:l(e)}).map(f=>{const h=r.formatMonthDropdown(f,a),g=c(f),y=s&&f<o(s)||n&&f>o(n)||!1;return{value:g,label:h,disabled:y}})}function Qg(e,s={},n={}){let r={...s==null?void 0:s[ne.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n==null?void 0:n[a]}}),r}function Xg(e,s,n,r){const a=r??e.today(),o=n?e.startOfBroadcastWeek(a,e):s?e.startOfISOWeek(a):e.startOfWeek(a),i=[];for(let l=0;l<7;l++){const d=e.addDays(o,l);i.push(d)}return i}function Jg(e,s,n,r,a=!1){if(!e||!s)return;const{startOfYear:o,endOfYear:i,eachYearOfInterval:l,getYear:d}=r,c=o(e),u=i(s),m=l({start:c,end:u});return a&&m.reverse(),m.map(f=>{const h=n.formatYearDropdown(f,r);return{value:d(f),label:h,disabled:!1}})}function Zg(e,s={}){var l;const{weekStartsOn:n,locale:r}=s,a=n??((l=r==null?void 0:r.options)==null?void 0:l.weekStartsOn)??0,o=d=>{const c=typeof d=="number"||typeof d=="string"?new Date(d):d;return new Le(c.getFullYear(),c.getMonth(),c.getDate(),12,0,0,e)},i=d=>{const c=o(d);return new Date(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0,0)};return{today:()=>o(Le.tz(e)),newDate:(d,c,u)=>new Le(d,c,u,12,0,0,e),startOfDay:d=>o(d),startOfWeek:(d,c)=>{const u=o(d),m=(c==null?void 0:c.weekStartsOn)??a,f=(u.getDay()-m+7)%7;return u.setDate(u.getDate()-f),u},startOfISOWeek:d=>{const c=o(d),u=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-u),c},startOfMonth:d=>{const c=o(d);return c.setDate(1),c},startOfYear:d=>{const c=o(d);return c.setMonth(0,1),c},endOfWeek:(d,c)=>{const u=o(d),h=((((c==null?void 0:c.weekStartsOn)??a)+6)%7-u.getDay()+7)%7;return u.setDate(u.getDate()+h),u},endOfISOWeek:d=>{const c=o(d),u=(7-c.getDay())%7;return c.setDate(c.getDate()+u),c},endOfMonth:d=>{const c=o(d);return c.setMonth(c.getMonth()+1,0),c},endOfYear:d=>{const c=o(d);return c.setMonth(11,31),c},eachMonthOfInterval:d=>{const c=o(d.start),u=o(d.end),m=[],f=new Le(c.getFullYear(),c.getMonth(),1,12,0,0,e),h=u.getFullYear()*12+u.getMonth();for(;f.getFullYear()*12+f.getMonth()<=h;)m.push(new Le(f,e)),f.setMonth(f.getMonth()+1,1);return m},addDays:(d,c)=>{const u=o(d);return u.setDate(u.getDate()+c),u},addWeeks:(d,c)=>{const u=o(d);return u.setDate(u.getDate()+c*7),u},addMonths:(d,c)=>{const u=o(d);return u.setMonth(u.getMonth()+c),u},addYears:(d,c)=>{const u=o(d);return u.setFullYear(u.getFullYear()+c),u},eachYearOfInterval:d=>{const c=o(d.start),u=o(d.end),m=[],f=new Le(c.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=u.getFullYear();)m.push(new Le(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return m},getWeek:(d,c)=>{var m;const u=i(d);return Ta(u,{weekStartsOn:(c==null?void 0:c.weekStartsOn)??a,firstWeekContainsDate:(c==null?void 0:c.firstWeekContainsDate)??((m=r==null?void 0:r.options)==null?void 0:m.firstWeekContainsDate)??1})},getISOWeek:d=>{const c=i(d);return Oa(c)},differenceInCalendarDays:(d,c)=>{const u=i(d),m=i(c);return Ea(u,m)},differenceInCalendarMonths:(d,c)=>{const u=i(d),m=i(c);return Ql(u,m)}}}const qn=e=>e instanceof HTMLElement?e:null,zr=e=>[...e.querySelectorAll("[data-animated-month]")??[]],eb=e=>qn(e.querySelector("[data-animated-month]")),Wr=e=>qn(e.querySelector("[data-animated-caption]")),qr=e=>qn(e.querySelector("[data-animated-weeks]")),tb=e=>qn(e.querySelector("[data-animated-nav]")),sb=e=>qn(e.querySelector("[data-animated-weekdays]"));function nb(e,s,{classNames:n,months:r,focused:a,dateLib:o}){const i=x.useRef(null),l=x.useRef(r),d=x.useRef(!1);x.useLayoutEffect(()=>{const c=l.current;if(l.current=r,!s||!e.current||!(e.current instanceof HTMLElement)||r.length===0||c.length===0||r.length!==c.length)return;const u=o.isSameMonth(r[0].date,c[0].date),m=o.isAfter(r[0].date,c[0].date),f=m?n[et.caption_after_enter]:n[et.caption_before_enter],h=m?n[et.weeks_after_enter]:n[et.weeks_before_enter],g=i.current,y=e.current.cloneNode(!0);if(y instanceof HTMLElement?(zr(y).forEach(k=>{if(!(k instanceof HTMLElement))return;const j=eb(k);j&&k.contains(j)&&k.removeChild(j);const E=Wr(k);E&&E.classList.remove(f);const p=qr(k);p&&p.classList.remove(h)}),i.current=y):i.current=null,d.current||u||a)return;const S=g instanceof HTMLElement?zr(g):[],b=zr(e.current);if(b!=null&&b.every(w=>w instanceof HTMLElement)&&S&&S.every(w=>w instanceof HTMLElement)){d.current=!0,e.current.style.isolation="isolate";const w=tb(e.current);w&&(w.style.zIndex="1"),b.forEach((k,j)=>{const E=S[j];if(!E)return;k.style.position="relative",k.style.overflow="hidden";const p=Wr(k);p&&p.classList.add(f);const C=qr(k);C&&C.classList.add(h);const A=()=>{d.current=!1,e.current&&(e.current.style.isolation=""),w&&(w.style.zIndex=""),p&&p.classList.remove(f),C&&C.classList.remove(h),k.style.position="",k.style.overflow="",k.contains(E)&&k.removeChild(E)};E.style.pointerEvents="none",E.style.position="absolute",E.style.overflow="hidden",E.setAttribute("aria-hidden","true");const D=sb(E);D&&(D.style.opacity="0");const _=Wr(E);_&&(_.classList.add(m?n[et.caption_before_exit]:n[et.caption_after_exit]),_.addEventListener("animationend",A));const I=qr(E);I&&I.classList.add(m?n[et.weeks_before_exit]:n[et.weeks_after_exit]),k.insertBefore(E,k.firstChild)})}})}function rb(e,s,n,r){const a=e[0],o=e[e.length-1],{ISOWeek:i,fixedWeeks:l,broadcastCalendar:d}=n??{},{addDays:c,differenceInCalendarDays:u,differenceInCalendarMonths:m,endOfBroadcastWeek:f,endOfISOWeek:h,endOfMonth:g,endOfWeek:y,isAfter:S,startOfBroadcastWeek:b,startOfISOWeek:w,startOfWeek:k}=r,j=d?b(a,r):i?w(a):k(a),E=d?f(o):i?h(g(o)):y(g(o)),p=s&&(d?f(s):i?h(s):y(s)),C=p&&S(E,p)?p:E,A=u(C,j),D=m(o,a)+1,_=[];for(let F=0;F<=A;F++){const T=c(j,F);_.push(T)}const $=(d?35:42)*D;if(l&&_.length<$){const F=$-_.length;for(let T=0;T<F;T++){const X=c(_[_.length-1],1);_.push(X)}}return _}function ab(e){const s=[];return e.reduce((n,r)=>{const a=r.weeks.reduce((o,i)=>o.concat(i.days.slice()),s.slice());return n.concat(a.slice())},s.slice())}function ob(e,s,n,r){const{numberOfMonths:a=1}=n,o=[];for(let i=0;i<a;i++){const l=r.addMonths(e,i);if(s&&l>s)break;o.push(l)}return o}function To(e,s,n,r){const{month:a,defaultMonth:o,today:i=r.today(),numberOfMonths:l=1}=e;let d=a||o||i;const{differenceInCalendarMonths:c,addMonths:u,startOfMonth:m}=r;if(n&&c(n,d)<l-1){const f=-1*(l-1);d=u(n,f)}return s&&c(d,s)<0&&(d=s),m(d)}function ib(e,s,n,r){const{addDays:a,endOfBroadcastWeek:o,endOfISOWeek:i,endOfMonth:l,endOfWeek:d,getISOWeek:c,getWeek:u,startOfBroadcastWeek:m,startOfISOWeek:f,startOfWeek:h}=r,g=e.reduce((y,S)=>{const b=n.broadcastCalendar?m(S,r):n.ISOWeek?f(S):h(S),w=n.broadcastCalendar?o(S):n.ISOWeek?i(l(S)):d(l(S)),k=s.filter(C=>C>=b&&C<=w),j=n.broadcastCalendar?35:42;if(n.fixedWeeks&&k.length<j){const C=s.filter(A=>{const D=j-k.length;return A>w&&A<=a(w,D)});k.push(...C)}const E=k.reduce((C,A)=>{const D=n.ISOWeek?c(A):u(A),_=C.find($=>$.weekNumber===D),I=new cd(A,S,r);return _?_.days.push(I):C.push(new sg(D,[I])),C},[]),p=new tg(S,E);return y.push(p),y},[]);return n.reverseMonths?g.reverse():g}function lb(e,s){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:o,startOfMonth:i,endOfMonth:l,addYears:d,endOfYear:c,newDate:u,today:m}=s,{fromYear:f,toYear:h,fromMonth:g,toMonth:y}=e;!n&&g&&(n=g),!n&&f&&(n=s.newDate(f,0,1)),!r&&y&&(r=y),!r&&h&&(r=u(h,11,31));const S=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=i(n):f?n=u(f,0,1):!n&&S&&(n=a(d(e.today??m(),-100))),r?r=l(r):h?r=u(h,11,31):!r&&S&&(r=c(e.today??m())),[n&&o(n),r&&o(r)]}function db(e,s,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o=1}=n,{startOfMonth:i,addMonths:l,differenceInCalendarMonths:d}=r,c=a?o:1,u=i(e);if(!s)return l(u,c);if(!(d(s,e)<o))return l(u,c)}function cb(e,s,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o}=n,{startOfMonth:i,addMonths:l,differenceInCalendarMonths:d}=r,c=a?o??1:1,u=i(e);if(!s)return l(u,-c);if(!(d(u,s)<=0))return l(u,-c)}function ub(e){const s=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),s.slice())}function pr(e,s){const[n,r]=x.useState(e);return[s===void 0?n:s,r]}function mb(e,s){var j;const[n,r]=lb(e,s),{startOfMonth:a,endOfMonth:o}=s,i=To(e,n,r,s),[l,d]=pr(i,e.month?i:void 0);x.useEffect(()=>{const E=To(e,n,r,s);d(E)},[e.timeZone]);const{months:c,weeks:u,days:m,previousMonth:f,nextMonth:h}=x.useMemo(()=>{const E=ob(l,r,{numberOfMonths:e.numberOfMonths},s),p=rb(E,e.endMonth?o(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},s),C=ib(E,p,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},s),A=ub(C),D=ab(C),_=cb(l,n,e,s),I=db(l,r,e,s);return{months:C,weeks:A,days:D,previousMonth:_,nextMonth:I}},[s,l.getTime(),r==null?void 0:r.getTime(),n==null?void 0:n.getTime(),e.disableNavigation,e.broadcastCalendar,(j=e.endMonth)==null?void 0:j.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:g,onMonthChange:y}=e,S=E=>u.some(p=>p.days.some(C=>C.isEqualTo(E))),b=E=>{if(g)return;let p=a(E);n&&p<a(n)&&(p=a(n)),r&&p>a(r)&&(p=a(r)),d(p),y==null||y(p)};return{months:c,weeks:u,days:m,navStart:n,navEnd:r,previousMonth:f,nextMonth:h,goToMonth:b,goToDay:E=>{S(E)||b(E.date)}}}var yt;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(yt||(yt={}));function Po(e){return!e[_e.disabled]&&!e[_e.hidden]&&!e[_e.outside]}function fb(e,s,n,r){let a,o=-1;for(const i of e){const l=s(i);Po(l)&&(l[_e.focused]&&o<yt.FocusedModifier?(a=i,o=yt.FocusedModifier):r!=null&&r.isEqualTo(i)&&o<yt.LastFocused?(a=i,o=yt.LastFocused):n(i.date)&&o<yt.Selected?(a=i,o=yt.Selected):l[_e.today]&&o<yt.Today&&(a=i,o=yt.Today))}return a||(a=e.find(i=>Po(s(i)))),a}function hb(e,s,n,r,a,o,i){const{ISOWeek:l,broadcastCalendar:d}=o,{addDays:c,addMonths:u,addWeeks:m,addYears:f,endOfBroadcastWeek:h,endOfISOWeek:g,endOfWeek:y,max:S,min:b,startOfBroadcastWeek:w,startOfISOWeek:k,startOfWeek:j}=i;let p={day:c,week:m,month:u,year:f,startOfWeek:C=>d?w(C,i):l?k(C):j(C),endOfWeek:C=>d?h(C):l?g(C):y(C)}[e](n,s==="after"?1:-1);return s==="before"&&r?p=S([r,p]):s==="after"&&a&&(p=b([a,p])),p}function Sd(e,s,n,r,a,o,i,l=0){if(l>365)return;const d=hb(e,s,n.date,r,a,o,i),c=!!(o.disabled&&_t(d,o.disabled,i)),u=!!(o.hidden&&_t(d,o.hidden,i)),m=d,f=new cd(d,m,i);return!c&&!u?f:Sd(e,s,f,r,a,o,i,l+1)}function xb(e,s,n,r,a){const{autoFocus:o}=e,[i,l]=x.useState(),d=fb(s.days,n,r||(()=>!1),i),[c,u]=x.useState(o?d:void 0);return{isFocusTarget:y=>!!(d!=null&&d.isEqualTo(y)),setFocused:u,focused:c,blur:()=>{l(c),u(void 0)},moveFocus:(y,S)=>{if(!c)return;const b=Sd(y,S,c,s.navStart,s.navEnd,e,a);b&&(e.disableNavigation&&!s.days.some(k=>k.isEqualTo(b))||(s.goToDay(b),u(b)))}}}function pb(e,s){const{selected:n,required:r,onSelect:a}=e,[o,i]=pr(n,a?n:void 0),l=a?n:o,{isSameDay:d}=s,c=h=>(l==null?void 0:l.some(g=>d(g,h)))??!1,{min:u,max:m}=e;return{selected:l,select:(h,g,y)=>{let S=[...l??[]];if(c(h)){if((l==null?void 0:l.length)===u||r&&(l==null?void 0:l.length)===1)return;S=l==null?void 0:l.filter(b=>!d(b,h))}else(l==null?void 0:l.length)===m?S=[h]:S=[...S,h];return a||i(S),a==null||a(S,h,g,y),S},isSelected:c}}function gb(e,s,n=0,r=0,a=!1,o=Nt){const{from:i,to:l}=s||{},{isSameDay:d,isAfter:c,isBefore:u}=o;let m;if(!i&&!l)m={from:e,to:n>0?void 0:e};else if(i&&!l)d(i,e)?n===0?m={from:i,to:e}:a?m={from:i,to:void 0}:m=void 0:u(e,i)?m={from:e,to:i}:m={from:i,to:e};else if(i&&l)if(d(i,e)&&d(l,e))a?m={from:i,to:l}:m=void 0;else if(d(i,e))m={from:i,to:n>0?void 0:e};else if(d(l,e))m={from:e,to:n>0?void 0:e};else if(u(e,i))m={from:e,to:l};else if(c(e,i))m={from:i,to:e};else if(c(e,l))m={from:i,to:e};else throw new Error("Invalid range");if(m!=null&&m.from&&(m!=null&&m.to)){const f=o.differenceInCalendarDays(m.to,m.from);r>0&&f>r?m={from:e,to:void 0}:n>1&&f<n&&(m={from:e,to:void 0})}return m}function bb(e,s,n=Nt){const r=Array.isArray(s)?s:[s];let a=e.from;const o=n.differenceInCalendarDays(e.to,e.from),i=Math.min(o,6);for(let l=0;l<=i;l++){if(r.includes(a.getDay()))return!0;a=n.addDays(a,1)}return!1}function Ao(e,s,n=Nt){return Dt(e,s.from,!1,n)||Dt(e,s.to,!1,n)||Dt(s,e.from,!1,n)||Dt(s,e.to,!1,n)}function yb(e,s,n=Nt){const r=Array.isArray(s)?s:[s];if(r.filter(l=>typeof l!="function").some(l=>typeof l=="boolean"?l:n.isDate(l)?Dt(e,l,!1,n):fd(l,n)?l.some(d=>Dt(e,d,!1,n)):xr(l)?l.from&&l.to?Ao(e,{from:l.from,to:l.to},n):!1:md(l)?bb(e,l.dayOfWeek,n):Ra(l)?n.isAfter(l.before,l.after)?Ao(e,{from:n.addDays(l.after,1),to:n.addDays(l.before,-1)},n):_t(e.from,l,n)||_t(e.to,l,n):Ia(l)||Fa(l)?_t(e.from,l,n)||_t(e.to,l,n):!1))return!0;const i=r.filter(l=>typeof l=="function");if(i.length){let l=e.from;const d=n.differenceInCalendarDays(e.to,e.from);for(let c=0;c<=d;c++){if(i.some(u=>u(l)))return!0;l=n.addDays(l,1)}}return!1}function vb(e,s){const{disabled:n,excludeDisabled:r,selected:a,required:o,onSelect:i}=e,[l,d]=pr(a,i?a:void 0),c=i?a:l;return{selected:c,select:(f,h,g)=>{const{min:y,max:S}=e,b=f?gb(f,c,y,S,o,s):void 0;return r&&n&&(b!=null&&b.from)&&b.to&&yb({from:b.from,to:b.to},n,s)&&(b.from=f,b.to=void 0),i||d(b),i==null||i(b,f,h,g),b},isSelected:f=>c&&Dt(c,f,!1,s)}}function jb(e,s){const{selected:n,required:r,onSelect:a}=e,[o,i]=pr(n,a?n:void 0),l=a?n:o,{isSameDay:d}=s;return{selected:l,select:(m,f,h)=>{let g=m;return!r&&l&&l&&d(m,l)&&(g=void 0),a||i(g),a==null||a(g,m,f,h),g},isSelected:m=>l?d(l,m):!1}}function wb(e,s){const n=jb(e,s),r=pb(e,s),a=vb(e,s);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function nt(e,s){return e instanceof Le&&e.timeZone===s?e:new Le(e,s)}function Ds(e,s,n){return nt(e,s)}function $o(e,s,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Ds(e,s):Array.isArray(e)?e.map(r=>r instanceof Date?Ds(r,s):r):xr(e)?{...e,from:e.from?nt(e.from,s):e.from,to:e.to?nt(e.to,s):e.to}:Ra(e)?{before:Ds(e.before,s),after:Ds(e.after,s)}:Ia(e)?{after:Ds(e.after,s)}:Fa(e)?{before:Ds(e.before,s)}:e}function Br(e,s,n){return e&&(Array.isArray(e)?e.map(r=>$o(r,s)):$o(e,s))}function Nb(e){var re;let s=e;const n=s.timeZone;if(n&&(s={...e,timeZone:n},s.today&&(s.today=nt(s.today,n)),s.month&&(s.month=nt(s.month,n)),s.defaultMonth&&(s.defaultMonth=nt(s.defaultMonth,n)),s.startMonth&&(s.startMonth=nt(s.startMonth,n)),s.endMonth&&(s.endMonth=nt(s.endMonth,n)),s.mode==="single"&&s.selected?s.selected=nt(s.selected,n):s.mode==="multiple"&&s.selected?s.selected=(re=s.selected)==null?void 0:re.map(G=>nt(G,n)):s.mode==="range"&&s.selected&&(s.selected={from:s.selected.from?nt(s.selected.from,n):s.selected.from,to:s.selected.to?nt(s.selected.to,n):s.selected.to}),s.disabled!==void 0&&(s.disabled=Br(s.disabled,n)),s.hidden!==void 0&&(s.hidden=Br(s.hidden,n)),s.modifiers)){const G={};Object.keys(s.modifiers).forEach(se=>{var U;G[se]=Br((U=s.modifiers)==null?void 0:U[se],n)}),s.modifiers=G}const{components:r,formatters:a,labels:o,dateLib:i,locale:l,classNames:d}=x.useMemo(()=>{const G={...dd,...s.locale},se=s.broadcastCalendar?1:s.weekStartsOn,U=s.noonSafe&&s.timeZone?Zg(s.timeZone,{weekStartsOn:se,locale:G}):void 0,Z=s.dateLib&&U?{...U,...s.dateLib}:s.dateLib??U,ge=new tt({locale:G,weekStartsOn:se,firstWeekContainsDate:s.firstWeekContainsDate,useAdditionalWeekYearTokens:s.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:s.useAdditionalDayOfYearTokens,timeZone:s.timeZone,numerals:s.numerals},Z);return{dateLib:ge,components:Tg(s.components),formatters:Yg(s.formatters),labels:Vg(s.labels,ge.options),locale:G,classNames:{...Ag(),...s.classNames}}},[s.locale,s.broadcastCalendar,s.weekStartsOn,s.firstWeekContainsDate,s.useAdditionalWeekYearTokens,s.useAdditionalDayOfYearTokens,s.timeZone,s.numerals,s.dateLib,s.noonSafe,s.components,s.formatters,s.labels,s.classNames]);s.today||(s={...s,today:i.today()});const{captionLayout:c,mode:u,navLayout:m,numberOfMonths:f=1,onDayBlur:h,onDayClick:g,onDayFocus:y,onDayKeyDown:S,onDayMouseEnter:b,onDayMouseLeave:w,onNextClick:k,onPrevClick:j,showWeekNumber:E,styles:p}=s,{formatCaption:C,formatDay:A,formatMonthDropdown:D,formatWeekNumber:_,formatWeekNumberHeader:I,formatWeekdayName:$,formatYearDropdown:F}=a,T=mb(s,i),{days:X,months:q,navStart:V,navEnd:W,previousMonth:z,nextMonth:Q,goToMonth:ee}=T,N=Eg(X,s,V,W,i),{isSelected:M,select:Y,selected:L}=wb(s,i)??{},{blur:ae,focused:P,isFocusTarget:ie,moveFocus:pe,setFocused:Oe}=xb(s,T,N,M??(()=>!1),i),{labelDayButton:qe,labelGridcell:Pt,labelGrid:Xt,labelMonthDropdown:le,labelNav:Jt,labelPrevious:Zt,labelNext:es,labelWeekday:ts,labelWeekNumber:Zs,labelWeekNumberHeader:it,labelYearDropdown:ht}=o,ks=x.useMemo(()=>Xg(i,s.ISOWeek,s.broadcastCalendar,s.today),[i,s.ISOWeek,s.broadcastCalendar,s.today]),Be=u!==void 0||g!==void 0,ss=x.useCallback(()=>{z&&(ee(z),j==null||j(z))},[z,ee,j]),At=x.useCallback(()=>{Q&&(ee(Q),k==null||k(Q))},[ee,Q,k]),Ye=x.useCallback((G,se)=>U=>{U.preventDefault(),U.stopPropagation(),Oe(G),!se.disabled&&(Y==null||Y(G.date,se,U),g==null||g(G.date,se,U))},[Y,g,Oe]),xt=x.useCallback((G,se)=>U=>{Oe(G),y==null||y(G.date,se,U)},[y,Oe]),$t=x.useCallback((G,se)=>U=>{ae(),h==null||h(G.date,se,U)},[ae,h]),en=x.useCallback((G,se)=>U=>{const Z={ArrowLeft:[U.shiftKey?"month":"day",s.dir==="rtl"?"after":"before"],ArrowRight:[U.shiftKey?"month":"day",s.dir==="rtl"?"before":"after"],ArrowDown:[U.shiftKey?"year":"week","after"],ArrowUp:[U.shiftKey?"year":"week","before"],PageUp:[U.shiftKey?"year":"month","before"],PageDown:[U.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(Z[U.key]){U.preventDefault(),U.stopPropagation();const[ge,B]=Z[U.key];pe(ge,B)}S==null||S(G.date,se,U)},[pe,S,s.dir]),kt=x.useCallback((G,se)=>U=>{b==null||b(G.date,se,U)},[b]),tn=x.useCallback((G,se)=>U=>{w==null||w(G.date,se,U)},[w]),pt=x.useCallback(G=>se=>{const U=Number(se.target.value),Z=i.setMonth(i.startOfMonth(G),U);ee(Z)},[i,ee]),Rt=x.useCallback(G=>se=>{const U=Number(se.target.value),Z=i.setYear(i.startOfMonth(G),U);ee(Z)},[i,ee]),{className:gt,style:Ss}=x.useMemo(()=>({className:[d[ne.Root],s.className].filter(Boolean).join(" "),style:{...p==null?void 0:p[ne.Root],...s.style}}),[d,s.className,s.style,p]),bt=Pg(s),Cs=x.useRef(null);nb(Cs,!!s.animate,{classNames:d,months:q,focused:P,dateLib:i});const sn={dayPickerProps:s,selected:L,select:Y,isSelected:M,months:q,nextMonth:Q,previousMonth:z,goToMonth:ee,getModifiers:N,components:r,classNames:d,styles:p,labels:o,formatters:a};return v.createElement(ud.Provider,{value:sn},v.createElement(r.Root,{rootRef:s.animate?Cs:void 0,className:gt,style:Ss,dir:s.dir,id:s.id,lang:s.lang,nonce:s.nonce,title:s.title,role:s.role,"aria-label":s["aria-label"],"aria-labelledby":s["aria-labelledby"],...bt},v.createElement(r.Months,{className:d[ne.Months],style:p==null?void 0:p[ne.Months]},!s.hideNavigation&&!m&&v.createElement(r.Nav,{"data-animated-nav":s.animate?"true":void 0,className:d[ne.Nav],style:p==null?void 0:p[ne.Nav],"aria-label":Jt(),onPreviousClick:ss,onNextClick:At,previousMonth:z,nextMonth:Q}),q.map((G,se)=>v.createElement(r.Month,{"data-animated-month":s.animate?"true":void 0,className:d[ne.Month],style:p==null?void 0:p[ne.Month],key:se,displayIndex:se,calendarMonth:G},m==="around"&&!s.hideNavigation&&se===0&&v.createElement(r.PreviousMonthButton,{type:"button",className:d[ne.PreviousMonthButton],tabIndex:z?void 0:-1,"aria-disabled":z?void 0:!0,"aria-label":Zt(z),onClick:ss,"data-animated-button":s.animate?"true":void 0},v.createElement(r.Chevron,{disabled:z?void 0:!0,className:d[ne.Chevron],orientation:s.dir==="rtl"?"right":"left"})),v.createElement(r.MonthCaption,{"data-animated-caption":s.animate?"true":void 0,className:d[ne.MonthCaption],style:p==null?void 0:p[ne.MonthCaption],calendarMonth:G,displayIndex:se},c!=null&&c.startsWith("dropdown")?v.createElement(r.DropdownNav,{className:d[ne.Dropdowns],style:p==null?void 0:p[ne.Dropdowns]},(()=>{const U=c==="dropdown"||c==="dropdown-months"?v.createElement(r.MonthsDropdown,{key:"month",className:d[ne.MonthsDropdown],"aria-label":le(),classNames:d,components:r,disabled:!!s.disableNavigation,onChange:pt(G.date),options:Gg(G.date,V,W,a,i),style:p==null?void 0:p[ne.Dropdown],value:i.getMonth(G.date)}):v.createElement("span",{key:"month"},D(G.date,i)),Z=c==="dropdown"||c==="dropdown-years"?v.createElement(r.YearsDropdown,{key:"year",className:d[ne.YearsDropdown],"aria-label":ht(i.options),classNames:d,components:r,disabled:!!s.disableNavigation,onChange:Rt(G.date),options:Jg(V,W,a,i,!!s.reverseYears),style:p==null?void 0:p[ne.Dropdown],value:i.getYear(G.date)}):v.createElement("span",{key:"year"},F(G.date,i));return i.getMonthYearOrder()==="year-first"?[Z,U]:[U,Z]})(),v.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},C(G.date,i.options,i))):v.createElement(r.CaptionLabel,{className:d[ne.CaptionLabel],role:"status","aria-live":"polite"},C(G.date,i.options,i))),m==="around"&&!s.hideNavigation&&se===f-1&&v.createElement(r.NextMonthButton,{type:"button",className:d[ne.NextMonthButton],tabIndex:Q?void 0:-1,"aria-disabled":Q?void 0:!0,"aria-label":es(Q),onClick:At,"data-animated-button":s.animate?"true":void 0},v.createElement(r.Chevron,{disabled:Q?void 0:!0,className:d[ne.Chevron],orientation:s.dir==="rtl"?"left":"right"})),se===f-1&&m==="after"&&!s.hideNavigation&&v.createElement(r.Nav,{"data-animated-nav":s.animate?"true":void 0,className:d[ne.Nav],style:p==null?void 0:p[ne.Nav],"aria-label":Jt(),onPreviousClick:ss,onNextClick:At,previousMonth:z,nextMonth:Q}),v.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":Xt(G.date,i.options,i)||void 0,className:d[ne.MonthGrid],style:p==null?void 0:p[ne.MonthGrid]},!s.hideWeekdays&&v.createElement(r.Weekdays,{"data-animated-weekdays":s.animate?"true":void 0,className:d[ne.Weekdays],style:p==null?void 0:p[ne.Weekdays]},E&&v.createElement(r.WeekNumberHeader,{"aria-label":it(i.options),className:d[ne.WeekNumberHeader],style:p==null?void 0:p[ne.WeekNumberHeader],scope:"col"},I()),ks.map(U=>v.createElement(r.Weekday,{"aria-label":ts(U,i.options,i),className:d[ne.Weekday],key:String(U),style:p==null?void 0:p[ne.Weekday],scope:"col"},$(U,i.options,i)))),v.createElement(r.Weeks,{"data-animated-weeks":s.animate?"true":void 0,className:d[ne.Weeks],style:p==null?void 0:p[ne.Weeks]},G.weeks.map(U=>v.createElement(r.Week,{className:d[ne.Week],key:U.weekNumber,style:p==null?void 0:p[ne.Week],week:U},E&&v.createElement(r.WeekNumber,{week:U,style:p==null?void 0:p[ne.WeekNumber],"aria-label":Zs(U.weekNumber,{locale:l}),className:d[ne.WeekNumber],scope:"row",role:"rowheader"},_(U.weekNumber,i)),U.days.map(Z=>{const{date:ge}=Z,B=N(Z);if(B[_e.focused]=!B.hidden&&!!(P!=null&&P.isEqualTo(Z)),B[mt.selected]=(M==null?void 0:M(ge))||B.selected,xr(L)){const{from:Ce,to:Me}=L;B[mt.range_start]=!!(Ce&&Me&&i.isSameDay(ge,Ce)),B[mt.range_end]=!!(Ce&&Me&&i.isSameDay(ge,Me)),B[mt.range_middle]=Dt(L,ge,!0,i)}const fe=Qg(B,p,s.modifiersStyles),he=Og(B,d,s.modifiersClassNames),Pe=!Be&&!B.hidden?Pt(ge,B,i.options,i):void 0;return v.createElement(r.Day,{key:`${Z.isoDate}_${Z.displayMonthId}`,day:Z,modifiers:B,className:he.join(" "),style:fe,role:"gridcell","aria-selected":B.selected||void 0,"aria-label":Pe,"data-day":Z.isoDate,"data-month":Z.outside?Z.dateMonthId:void 0,"data-selected":B.selected||void 0,"data-disabled":B.disabled||void 0,"data-hidden":B.hidden||void 0,"data-outside":Z.outside||void 0,"data-focused":B.focused||void 0,"data-today":B.today||void 0},!B.hidden&&Be?v.createElement(r.DayButton,{className:d[ne.DayButton],style:p==null?void 0:p[ne.DayButton],type:"button",day:Z,modifiers:B,disabled:!B.focused&&B.disabled||void 0,"aria-disabled":B.focused&&B.disabled||void 0,tabIndex:ie(Z)?0:-1,"aria-label":qe(ge,B,i.options,i),onClick:Ye(Z,B),onBlur:$t(Z,B),onFocus:xt(Z,B),onKeyDown:en(Z,B),onMouseEnter:kt(Z,B),onMouseLeave:tn(Z,B)},A(ge,i.options,i)):!B.hidden&&A(Z.date,i.options,i))})))))))),s.footer&&v.createElement(r.Footer,{className:d[ne.Footer],style:p==null?void 0:p[ne.Footer],role:"status","aria-live":"polite"},s.footer)))}function ot({className:e,classNames:s,showOutsideDays:n=!0,...r}){return t.jsx(Nb,{showOutsideDays:n,className:O("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",month_caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",button_previous:O($s({variant:"outline"}),"absolute left-1 top-0 h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),button_next:O($s({variant:"outline"}),"absolute right-1 top-0 h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),month_grid:"w-full border-collapse",weekdays:"flex",weekday:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem] text-center",week:"flex w-full mt-2",day:"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 rounded-md",day_button:O($s({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),selected:"[&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground [&>button]:focus:bg-primary [&>button]:focus:text-primary-foreground",today:"[&>button]:bg-accent [&>button]:text-accent-foreground",outside:"day-outside text-muted-foreground [&>button]:text-muted-foreground aria-selected:text-muted-foreground",disabled:"text-muted-foreground opacity-50",hidden:"invisible",...s},components:{Chevron:({orientation:a})=>a==="left"?t.jsx(fa,{className:"h-4 w-4"}):t.jsx(Us,{className:"h-4 w-4"})},...r})}ot.displayName="Calendar";function kb(e){if(!e.start_date&&!e.end_date)return null;const s=e.start_date?oe(new Date(e.start_date),"MMM d"):"—",n=e.end_date?oe(new Date(e.end_date),"MMM d"):"—";return`${s} – ${n}`}function gr({open:e,onClose:s,projectId:n,defaultStatus:r="backlog",defaultTaskListId:a,defaultParentId:o}){const i=Ve(),{workspace:l,projectKey:d}=Je(),{workspace:c}=ke(),[u,m]=x.useState(""),[f,h]=x.useState(""),[g,y]=x.useState(r),[S,b]=x.useState("medium"),[w,k]=x.useState("task"),[j,E]=x.useState([]),[p,C]=x.useState(""),[A,D]=x.useState(a??""),[_,I]=x.useState(void 0),[$,F]=x.useState(void 0),T=nd(),{data:X}=Xs(n),{data:q}=Js(n||void 0),{data:V}=Fn(n||void 0),W=(q??[]).filter(N=>N.status!=="completed"),z=X&&X.length>0?Object.fromEntries(X.map(N=>[N.key,N.name])):xs,Q=()=>{m(""),h(""),y(r),b("medium"),k("task"),E([]),C(""),D(a??""),I(void 0),F(void 0),s()},ee=N=>{N.preventDefault(),u.trim()&&T.mutate({title:u.trim(),description:f.trim()||void 0,status:g,priority:S,type:w,project_id:n,workspace_id:c.id,assignee_ids:j.length>0?j:void 0,sprint_id:p||null,task_list_id:A||null,parent_id:o||null,start_date:_?oe(_,"yyyy-MM-dd"):null,due_date:$?oe($,"yyyy-MM-dd"):null},{onSuccess:()=>{R.success("Issue created"),Q()},onError:M=>R.error(M.message??"Failed to create issue")})};return t.jsx(ws,{open:e,onOpenChange:N=>!N&&Q(),children:t.jsxs(Ns,{className:"max-w-md",children:[t.jsx(Ks,{children:t.jsx(Gs,{children:"New issue"})}),t.jsxs("form",{onSubmit:ee,className:"flex flex-col flex-1 overflow-hidden",children:[t.jsxs(Vs,{className:"space-y-4",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsx(We,{htmlFor:"issue-title",children:"Title"}),t.jsx(xe,{id:"issue-title",placeholder:"Issue title",value:u,onChange:N=>m(N.target.value),autoFocus:!0})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{htmlFor:"issue-desc",children:["Description ",t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Optional"})]}),t.jsx(fr,{id:"issue-desc",placeholder:"Add more context...",value:f,onChange:N=>h(N.target.value)})]}),t.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsx(We,{children:"Status"}),t.jsxs(we,{value:g,onValueChange:y,children:[t.jsx(ye,{className:"h-8 text-xs",children:t.jsx(Ee,{})}),t.jsx(ve,{children:Object.entries(z).map(([N,M])=>t.jsx(de,{value:N,className:"text-xs",children:M},N))})]})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsx(We,{children:"Priority"}),t.jsxs(we,{value:S,onValueChange:b,children:[t.jsx(ye,{className:"h-8 text-xs",children:t.jsx(Ee,{})}),t.jsx(ve,{children:Object.entries(Et).map(([N,M])=>t.jsx(de,{value:N,className:"text-xs",children:M},N))})]})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsx(We,{children:"Type"}),t.jsxs(we,{value:w,onValueChange:k,children:[t.jsx(ye,{className:"h-8 text-xs",children:t.jsx(Ee,{})}),t.jsx(ve,{children:Object.entries(Ht).map(([N,M])=>t.jsx(de,{value:N,className:"text-xs",children:M},N))})]})]})]}),o&&t.jsx("div",{className:"rounded-md bg-muted/50 border border-border px-3 py-2 text-xs text-muted-foreground",children:"Will be created as a child issue"}),(V??[]).length>0&&!o&&t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{children:["List ",t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Optional"})]}),t.jsxs(we,{value:A||"none",onValueChange:N=>D(N==="none"?"":N),children:[t.jsx(ye,{className:"h-8 text-xs",children:t.jsx(Ee,{placeholder:"No list"})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",className:"text-xs",children:t.jsx("span",{className:"text-muted-foreground",children:"No list"})}),(V??[]).map(N=>t.jsx(de,{value:N.id,className:"text-xs",children:N.name},N.id))]})]})]}),W.length>0&&t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{children:["Sprint ",t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Optional"})]}),t.jsxs(we,{value:p||"none",onValueChange:N=>C(N==="none"?"":N),children:[t.jsx(ye,{className:"h-8 text-xs",children:t.jsx(Ee,{placeholder:"No sprint"})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",className:"text-xs",children:t.jsx("span",{className:"text-muted-foreground",children:"No sprint"})}),W.map(N=>{const M=kb(N);return t.jsx(de,{value:N.id,className:"text-xs",children:t.jsxs("div",{children:[t.jsx("span",{children:N.name}),M&&t.jsx("span",{className:"block text-[10px] text-muted-foreground leading-tight",children:M})]})},N.id)})]})]})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{children:["Assignees ",t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Optional"})]}),t.jsx(zn,{value:j,onChange:E})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{children:["Start Date ",t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Optional"})]}),t.jsxs(Ue,{children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{type:"button",className:"flex items-center gap-2 h-9 w-full rounded-md border border-input px-3 text-sm bg-transparent hover:bg-accent transition-colors text-left",children:[t.jsx(ft,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),t.jsx("span",{className:_?"text-foreground":"text-muted-foreground",children:_?oe(_,"MMM d, yyyy"):"No start date"}),_&&t.jsx("button",{type:"button",onClick:N=>{N.stopPropagation(),I(void 0)},className:"ml-auto text-muted-foreground hover:text-foreground transition-colors",children:t.jsx(Re,{className:"h-3.5 w-3.5"})})]})}),t.jsx(He,{className:"w-auto p-0",align:"start",children:t.jsx(ot,{mode:"single",selected:_,onSelect:I,initialFocus:!0})})]})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{children:["Due Date ",t.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:"Optional"})]}),t.jsxs(Ue,{children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{type:"button",className:"flex items-center gap-2 h-9 w-full rounded-md border border-input px-3 text-sm bg-transparent hover:bg-accent transition-colors text-left",children:[t.jsx(ft,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),t.jsx("span",{className:$?"text-foreground":"text-muted-foreground",children:$?oe($,"MMM d, yyyy"):"No due date"}),$&&t.jsx("button",{type:"button",onClick:N=>{N.stopPropagation(),F(void 0)},className:"ml-auto text-muted-foreground hover:text-foreground transition-colors",children:t.jsx(Re,{className:"h-3.5 w-3.5"})})]})}),t.jsx(He,{className:"w-auto p-0",align:"start",children:t.jsx(ot,{mode:"single",selected:$,onSelect:F,initialFocus:!0})})]})]})]}),t.jsxs(An,{className:"flex-col-reverse sm:flex-row sm:items-center sm:justify-between gap-2",children:[t.jsxs(K,{type:"button",variant:"ghost",size:"sm",className:"text-muted-foreground gap-1.5 justify-start sm:justify-center",onClick:()=>{Q(),i(`/${l}/projects/${d}/issues/new`)},children:[t.jsx(tl,{className:"h-3.5 w-3.5"}),"Open full form"]}),t.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[t.jsx(K,{type:"button",variant:"ghost",onClick:Q,children:"Cancel"}),t.jsx(K,{type:"submit",disabled:!u.trim()||T.isPending,children:T.isPending?"Creating...":"Create issue"})]})]})]})]})})}const qa={byIssue:e=>["attachments",e]};function Cd(e){return Ne({queryKey:qa.byIssue(e),queryFn:()=>J.get(`/admin/issues/${e}/attachments`),select:s=>s.attachments,enabled:!!e})}function Md(e){const s=me();return ce({mutationFn:({file:n,commentId:r})=>{const a=new FormData;return a.append("file",n),r&&a.append("comment_id",r),J.upload(`/admin/issues/${e}/attachments`,a)},onSuccess:()=>{s.invalidateQueries({queryKey:qa.byIssue(e)})}})}function Sb(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/issues/${e}/attachments/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:qa.byIssue(e)})}})}function bn(e){return e.startsWith("image/")}function br(e){return e.startsWith("video/")}function yr(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Ba(e,s){const n=document.createElement("a");n.href=e,n.download=s,n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}function Ya({mimeType:e,className:s}){return bn(e)?t.jsx(Pm,{className:s}):br(e)?t.jsx(or,{className:s}):e.startsWith("text/")||e.includes("json")?t.jsx(Tm,{className:s}):e.includes("zip")||e.includes("tar")||e.includes("gz")?t.jsx(Om,{className:s}):e.includes("pdf")||e.includes("word")||e.includes("document")?t.jsx(Am,{className:s}):t.jsx($m,{className:s})}function Dd({attachment:e,onClose:s}){return e?t.jsx(ws,{open:!0,onOpenChange:n=>!n&&s(),children:t.jsxs(Ns,{className:"max-w-2xl w-full p-0 overflow-hidden",children:[t.jsxs(Ks,{className:"flex-row items-center justify-between px-4 py-3 border-b border-border shrink-0 pr-10",children:[t.jsx(Gs,{className:"text-sm font-medium truncate",children:e.original_name}),t.jsxs(K,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1.5 shrink-0",onClick:()=>Ba(e.url,e.original_name),children:[t.jsx(xa,{className:"h-3.5 w-3.5"}),"Download"]})]}),t.jsxs(Vs,{className:"flex items-center justify-center bg-black/5 dark:bg-black/30 min-h-[320px] max-h-[75vh] overflow-auto p-0",children:[bn(e.mime_type)&&t.jsx("img",{src:e.url,alt:e.original_name,className:"max-w-full max-h-[75vh] object-contain"}),br(e.mime_type)&&t.jsx("video",{src:e.url,controls:!0,className:"max-w-full max-h-[75vh]"})]}),t.jsxs("div",{className:"px-4 py-2 border-t border-border text-[11px] text-muted-foreground flex items-center gap-3 shrink-0",children:[t.jsx("span",{children:yr(e.size)}),t.jsx("span",{children:"·"}),t.jsx("span",{children:e.mime_type}),t.jsx("span",{children:"·"}),t.jsxs("span",{children:["Uploaded ",oe(new Date(e.created_at),"MMM d, yyyy")]})]})]})}):null}function Cb({attachment:e}){const[s,n]=x.useState(null),r=bn(e.mime_type)||br(e.mime_type),a=()=>{r?n(e):Ba(e.url,e.original_name)};return t.jsxs(t.Fragment,{children:[bn(e.mime_type)?t.jsx("button",{type:"button",onClick:a,className:"block rounded-md overflow-hidden border border-border hover:opacity-90 transition-opacity",title:e.original_name,children:t.jsx("img",{src:e.url,alt:e.original_name,className:"max-h-48 max-w-xs object-cover"})}):t.jsxs("button",{type:"button",onClick:a,className:"flex items-center gap-2 px-2.5 py-1.5 rounded-lg border border-border bg-muted/40 hover:bg-muted transition-colors text-left max-w-xs",title:r?"View":"Download",children:[t.jsx(Ya,{mimeType:e.mime_type,className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),t.jsx("span",{className:"text-xs text-foreground truncate",children:e.original_name}),t.jsx("span",{className:"text-[10px] text-muted-foreground shrink-0",children:yr(e.size)}),!r&&t.jsx(xa,{className:"h-3 w-3 shrink-0 text-muted-foreground"})]}),s&&t.jsx(Dd,{attachment:s,onClose:()=>n(null)})]})}function Mb({attachment:e,onOpen:s,onDelete:n,isDeleting:r}){const a=bn(e.mime_type)||br(e.mime_type),o=()=>{a?s(e):Ba(e.url,e.original_name)};return t.jsxs("div",{className:"flex items-center gap-3 py-2.5 px-3 rounded-lg hover:bg-muted/50 group transition-colors",children:[t.jsx("button",{type:"button",onClick:o,className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground hover:bg-primary/10 hover:text-primary transition-colors",title:a?"View":"Download",children:t.jsx(Ya,{mimeType:e.mime_type,className:"h-4 w-4"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("button",{type:"button",onClick:o,className:"text-xs font-medium text-foreground truncate block text-left w-full hover:underline",children:e.original_name}),t.jsxs("p",{className:"text-[11px] text-muted-foreground mt-0.5 flex items-center gap-1.5",children:[t.jsx("span",{children:yr(e.size)}),t.jsx("span",{children:"·"}),t.jsx("span",{children:oe(new Date(e.created_at),"MMM d, yyyy")}),e.comment_id&&t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"·"}),t.jsx("span",{className:"italic",children:"from comment"})]}),!a&&t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"·"}),t.jsxs("span",{className:"flex items-center gap-0.5",children:[t.jsx(xa,{className:"h-2.5 w-2.5"}),"Click to download"]})]})]})]}),t.jsx(K,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-destructive transition-all",onClick:()=>n(e.id),disabled:r,children:t.jsx(Gt,{className:"h-3.5 w-3.5"})})]})}function Db({onFiles:e,isUploading:s}){const[n,r]=x.useState(!1),a=x.useRef(null),o=x.useCallback(i=>{i.preventDefault(),r(!1);const l=Array.from(i.dataTransfer.files);l.length>0&&e(l)},[e]);return t.jsxs("div",{onDragOver:i=>{i.preventDefault(),r(!0)},onDragLeave:()=>r(!1),onDrop:o,onClick:()=>{var i;return!s&&((i=a.current)==null?void 0:i.click())},className:O("flex flex-col items-center justify-center gap-1.5 rounded-xl border-2 border-dashed px-4 py-6","cursor-pointer transition-colors",n?"border-primary/60 bg-primary/5":"border-border hover:border-muted-foreground/40 hover:bg-muted/30",s&&"opacity-60 cursor-wait"),children:[t.jsx("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-muted",children:t.jsx(sf,{className:"h-4 w-4 text-muted-foreground"})}),t.jsx("p",{className:"text-xs font-medium text-foreground",children:s?"Uploading…":"Drop files or click to browse"}),t.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Up to 50 MB per file"}),t.jsx("input",{ref:a,type:"file",multiple:!0,className:"hidden",onChange:i=>{const l=Array.from(i.target.files??[]);l.length>0&&e(l),i.target.value=""}})]})}function _b({issueId:e,className:s}){const[n,r]=x.useState(null),{data:a,isLoading:o}=Cd(e),i=Md(e),l=Sb(e),d=u=>{u.forEach(m=>{i.mutate({file:m},{onSuccess:()=>R.success(`${m.name} uploaded`),onError:()=>R.error(`Failed to upload ${m.name}`)})})},c=u=>{l.mutate(u,{onSuccess:()=>R.success("Attachment removed"),onError:()=>R.error("Failed to remove attachment")})};return t.jsxs("div",{className:O("px-6 py-4 space-y-4",s),children:[t.jsx(Db,{onFiles:d,isUploading:i.isPending}),o?t.jsx("div",{className:"space-y-2",children:[1,2].map(u=>t.jsxs("div",{className:"flex items-center gap-3 px-3",children:[t.jsx(te,{className:"h-8 w-8 rounded-md shrink-0"}),t.jsxs("div",{className:"flex-1 space-y-1.5",children:[t.jsx(te,{className:"h-3 w-2/3"}),t.jsx(te,{className:"h-2.5 w-1/3"})]})]},u))}):a&&a.length>0?t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[t.jsx(ya,{className:"h-3 w-3 text-muted-foreground"}),t.jsxs("span",{className:"text-[11px] font-medium text-muted-foreground uppercase tracking-wider",children:[a.length," ",a.length===1?"file":"files"]})]}),t.jsx("div",{children:a.map(u=>t.jsx(Mb,{attachment:u,onOpen:r,onDelete:c,isDeleting:l.isPending},u.id))})]}):t.jsx("p",{className:"text-sm text-muted-foreground/50 text-center py-1",children:"No attachments yet."}),t.jsx(Dd,{attachment:n,onClose:()=>r(null)})]})}const Ut={byIssue:e=>["time-logs",e],activeTimer:e=>["time-logs",e,"active-timer"]};function Eb(e){return Ne({queryKey:Ut.byIssue(e),queryFn:()=>J.get(`/admin/issues/${e}/time-logs`),enabled:!!e})}function Ob(e){return Ne({queryKey:Ut.activeTimer(e),queryFn:()=>J.get(`/admin/issues/${e}/time-logs/timer`),select:s=>s.active_timer,enabled:!!e,refetchInterval:1e4})}function Tb(e){const s=me();return ce({mutationFn:n=>J.post(`/admin/issues/${e}/time-logs`,n),onSuccess:()=>{s.invalidateQueries({queryKey:Ut.byIssue(e)})}})}function Pb(e){const s=me();return ce({mutationFn:()=>J.post(`/admin/issues/${e}/time-logs/timer`,{action:"start"}),onSuccess:()=>{s.invalidateQueries({queryKey:Ut.activeTimer(e)}),s.invalidateQueries({queryKey:Ut.byIssue(e)})}})}function Ab(e){const s=me();return ce({mutationFn:()=>J.post(`/admin/issues/${e}/time-logs/timer`,{action:"stop"}),onSuccess:()=>{s.invalidateQueries({queryKey:Ut.activeTimer(e)}),s.invalidateQueries({queryKey:Ut.byIssue(e)})}})}function $b(e){const s=me();return ce({mutationFn:n=>J.delete(`/admin/issues/${e}/time-logs/${n}`),onSuccess:()=>{s.invalidateQueries({queryKey:Ut.byIssue(e)})}})}const Rb=jn("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground",muted:"border-transparent bg-muted text-muted-foreground"}},defaultVariants:{variant:"default"}});function Bn({className:e,variant:s,...n}){return t.jsx("div",{className:O(Rb({variant:s}),e),...n})}function ea(e){const s=Math.floor(e/60),n=e%60;return s===0?`${n}m`:n===0?`${s}h`:`${s}h ${n}m`}function Ro(e){const s=Date.now()-new Date(e).getTime(),n=Math.floor(s/1e3),r=Math.floor(n/3600),a=Math.floor(n%3600/60),o=n%60,i=String(a).padStart(2,"0"),l=String(o).padStart(2,"0");return r>0?`${r}:${i}:${l}`:`${i}:${l}`}function Ib({startedAt:e}){const[s,n]=x.useState(()=>Ro(e));return x.useEffect(()=>{const r=setInterval(()=>n(Ro(e)),1e3);return()=>clearInterval(r)},[e]),t.jsx("span",{className:"font-mono tabular-nums text-sm font-semibold text-foreground",children:s})}function Fb({onSubmit:e,isPending:s,onCancel:n}){const[r,a]=x.useState(""),[o,i]=x.useState(""),[l,d]=x.useState(""),[c,u]=x.useState(new Date().toISOString().split("T")[0]),m=f=>{f.preventDefault();const h=parseInt(r||"0",10),g=parseInt(o||"0",10),y=h*60+g;if(y<=0){R.error("Please enter a duration greater than 0.");return}e({duration_minutes:y,description:l.trim()||void 0,logged_date:c||void 0})};return t.jsxs("form",{onSubmit:m,className:"rounded-xl border border-border bg-card p-4 space-y-3",children:[t.jsx("p",{className:"text-xs font-medium text-foreground",children:"Log time manually"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsxs("div",{className:"flex-1",children:[t.jsx("label",{className:"text-[11px] text-muted-foreground mb-1 block",children:"Hours"}),t.jsx(xe,{type:"number",min:"0",max:"999",placeholder:"0",value:r,onChange:f=>a(f.target.value),className:"h-8 text-sm"})]}),t.jsxs("div",{className:"flex-1",children:[t.jsx("label",{className:"text-[11px] text-muted-foreground mb-1 block",children:"Minutes"}),t.jsx(xe,{type:"number",min:"0",max:"59",placeholder:"0",value:o,onChange:f=>i(f.target.value),className:"h-8 text-sm"})]}),t.jsxs("div",{className:"flex-1",children:[t.jsx("label",{className:"text-[11px] text-muted-foreground mb-1 block",children:"Date"}),t.jsx(xe,{type:"date",value:c,onChange:f=>u(f.target.value),className:"h-8 text-sm"})]})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"text-[11px] text-muted-foreground mb-1 block",children:["Description ",t.jsx("span",{className:"text-muted-foreground/60",children:"(optional)"})]}),t.jsx(xe,{placeholder:"What did you work on?",value:l,onChange:f=>d(f.target.value),className:"h-8 text-sm"})]}),t.jsxs("div",{className:"flex justify-end gap-2 pt-1",children:[t.jsx(K,{type:"button",variant:"ghost",size:"sm",onClick:n,className:"h-7 text-xs",children:"Cancel"}),t.jsx(K,{type:"submit",size:"sm",disabled:s,className:"h-7 text-xs",children:s?"Saving…":"Log time"})]})]})}function zb({entry:e,onDelete:s,isDeleting:n}){const r=e.started_at!=null&&e.stopped_at==null;return t.jsxs("div",{className:"flex items-start gap-3 py-2.5 px-3 rounded-lg hover:bg-muted/50 group transition-colors",children:[t.jsx("div",{className:O("flex h-7 w-7 shrink-0 items-center justify-center rounded-full mt-0.5",r?"bg-emerald-50 dark:bg-emerald-950/40":"bg-muted"),children:r?t.jsx(Zm,{className:"h-3.5 w-3.5 text-emerald-600"}):e.source==="timer"?t.jsx(Vt,{className:"h-3.5 w-3.5 text-muted-foreground"}):t.jsx(_m,{className:"h-3.5 w-3.5 text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[r?t.jsx(Ib,{startedAt:e.started_at}):t.jsx("span",{className:"text-sm font-semibold text-foreground tabular-nums",children:ea(e.duration_minutes??0)}),t.jsx(Bn,{variant:"muted",className:O("text-[10px] px-1.5 py-0",r?"bg-emerald-100 text-emerald-700 dark:bg-emerald-950 dark:text-emerald-400":""),children:r?"Running":e.source==="timer"?"Timer":"Manual"})]}),e.description&&t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:e.description}),e.logged_date&&!r&&t.jsx("p",{className:"text-[11px] text-muted-foreground/60 mt-0.5",children:oe(new Date(e.logged_date),"MMM d, yyyy")})]}),!r&&t.jsx(K,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-destructive transition-all mt-0.5",onClick:()=>s(e.id),disabled:n,children:t.jsx(Gt,{className:"h-3.5 w-3.5"})})]})}function Wb({issueId:e,className:s}){const[n,r]=x.useState(!1),{data:a,isLoading:o}=Eb(e),{data:i}=Ob(e),l=Tb(e),d=Pb(e),c=Ab(e),u=$b(e),m=(a==null?void 0:a.time_logs)??[],f=(a==null?void 0:a.total_minutes)??0,h=i!=null,g=w=>{l.mutate(w,{onSuccess:()=>{r(!1),R.success("Time logged")},onError:()=>R.error("Failed to log time")})},y=()=>{d.mutate(void 0,{onSuccess:()=>R.success("Timer started"),onError:w=>R.error(w.message??"Failed to start timer")})},S=()=>{c.mutate(void 0,{onSuccess:w=>{const k=w.time_log.duration_minutes??0;R.success(`Timer stopped — ${ea(k)} logged`)},onError:()=>R.error("Failed to stop timer")})},b=w=>{u.mutate(w,{onSuccess:()=>R.success("Time entry removed"),onError:()=>R.error("Failed to remove entry")})};return t.jsxs("div",{className:O("px-6 py-4 space-y-4",s),children:[t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-[11px] text-muted-foreground uppercase tracking-wider font-medium mb-0.5",children:"Total logged"}),t.jsx("p",{className:"text-xl font-bold text-foreground tabular-nums",children:f>0?ea(f):"—"})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[!n&&t.jsxs(K,{variant:"outline",size:"sm",className:"h-8 text-xs gap-1.5",onClick:()=>r(!0),children:[t.jsx(ze,{className:"h-3.5 w-3.5"}),"Log time"]}),h?t.jsxs(K,{size:"sm",variant:"destructive",className:"h-8 text-xs gap-1.5",onClick:S,disabled:c.isPending,children:[t.jsx(Gm,{className:"h-3.5 w-3.5 fill-current"}),"Stop"]}):t.jsxs(K,{size:"sm",className:"h-8 text-xs gap-1.5 bg-emerald-600 hover:bg-emerald-700 text-white",onClick:y,disabled:d.isPending,children:[t.jsx(or,{className:"h-3.5 w-3.5 fill-current"}),"Start"]})]})]}),n&&t.jsx(Fb,{onSubmit:g,isPending:l.isPending,onCancel:()=>r(!1)}),o?t.jsx("div",{className:"space-y-2",children:[1,2].map(w=>t.jsxs("div",{className:"flex items-center gap-3 px-3",children:[t.jsx(te,{className:"h-7 w-7 rounded-full shrink-0"}),t.jsxs("div",{className:"flex-1 space-y-1.5",children:[t.jsx(te,{className:"h-3 w-1/3"}),t.jsx(te,{className:"h-2.5 w-1/4"})]})]},w))}):m.length>0?t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[t.jsx(Vt,{className:"h-3 w-3 text-muted-foreground"}),t.jsxs("span",{className:"text-[11px] font-medium text-muted-foreground uppercase tracking-wider",children:[m.length," ",m.length===1?"entry":"entries"]})]}),t.jsx("div",{children:m.map(w=>t.jsx(zb,{entry:w,onDelete:b,isDeleting:u.isPending},w.id))})]}):t.jsx("p",{className:"text-sm text-muted-foreground/50 text-center py-1",children:"No time logged yet."})]})}function rs({onClick:e,active:s,title:n,children:r}){return t.jsx("button",{type:"button",title:n,onMouseDown:a=>{a.preventDefault(),e()},className:O("flex h-6 w-6 items-center justify-center rounded transition-colors shrink-0","text-muted-foreground hover:text-foreground hover:bg-muted",s&&"bg-muted text-foreground"),children:r})}function Io(){return t.jsx("span",{className:"mx-0.5 h-3.5 w-px shrink-0 bg-border"})}function _d({issueId:e,compact:s,className:n,onSuccess:r}){var C,A;const[a,o]=x.useState(!0),[i,l]=x.useState([]),[d,c]=x.useState(!1),u=x.useRef(null),m=x.useRef(async()=>{}),{user:f}=ke(),h=Op(e),g=Md(e),y=f&&`${((C=f.first_name)==null?void 0:C[0])??""}${((A=f.last_name)==null?void 0:A[0])??""}`.toUpperCase()||"?",S=x.useMemo(()=>$c.create({name:"submitShortcut",addKeyboardShortcuts(){return{"Mod-Enter":()=>(m.current(),!0)}}}),[]),b=Si({extensions:[Ci,Mi,Di.configure({placeholder:"Leave a comment…"}),S],editorProps:{attributes:{class:"meridian-editor"}},onUpdate({editor:D}){o(D.isEmpty)}}),w=!a||i.length>0,k=D=>{l(_=>{const I=new Set(_.map($=>`${$.name}-${$.size}`));return[..._,...D.filter($=>!I.has(`${$.name}-${$.size}`))]})},j=D=>{l(_=>_.filter((I,$)=>$!==D))},E=async()=>{if(!(!w||d)){c(!0);try{const D=b!=null&&b.isEmpty?"":(b==null?void 0:b.getHTML())??"",I=(await h.mutateAsync(D||" ")).comment.id;for(const $ of i)await g.mutateAsync({file:$,commentId:I});b==null||b.commands.clearContent(),o(!0),l([]),R.success("Comment added"),r==null||r()}catch{R.error("Failed to add comment")}finally{c(!1)}}};m.current=E;const p="h-3 w-3";return t.jsxs("div",{className:O("flex gap-3 items-start",n),children:[t.jsx(rt,{className:"h-7 w-7 shrink-0 mt-1",children:t.jsx(at,{className:"text-[11px] bg-muted text-muted-foreground",children:y})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:O("rounded-md border border-input overflow-hidden transition-shadow","focus-within:ring-1 focus-within:ring-ring",d&&"opacity-60 pointer-events-none"),children:[b&&t.jsxs("div",{className:"flex items-center gap-0.5 px-2 py-1 border-b border-border/70 bg-muted/30",children:[t.jsx(rs,{title:"Bold (⌘B)",active:b.isActive("bold"),onClick:()=>b.chain().focus().toggleBold().run(),children:t.jsx(Ki,{className:p})}),t.jsx(rs,{title:"Italic (⌘I)",active:b.isActive("italic"),onClick:()=>b.chain().focus().toggleItalic().run(),children:t.jsx(nl,{className:p})}),t.jsx(rs,{title:"Strikethrough",active:b.isActive("strike"),onClick:()=>b.chain().focus().toggleStrike().run(),children:t.jsx(ll,{className:p})}),t.jsx(rs,{title:"Inline code",active:b.isActive("code"),onClick:()=>b.chain().focus().toggleCode().run(),children:t.jsx(Zi,{className:p})}),t.jsx(Io,{}),t.jsx(rs,{title:"Bullet list",active:b.isActive("bulletList"),onClick:()=>b.chain().focus().toggleBulletList().run(),children:t.jsx(al,{className:p})}),t.jsx(rs,{title:"Ordered list",active:b.isActive("orderedList"),onClick:()=>b.chain().focus().toggleOrderedList().run(),children:t.jsx(rl,{className:p})}),t.jsx(Io,{}),t.jsx(rs,{title:"Code block",active:b.isActive("codeBlock"),onClick:()=>b.chain().focus().toggleCodeBlock().run(),children:t.jsx(Ji,{className:p})})]}),t.jsx(_i,{editor:b,className:O("px-3 py-2.5 text-sm",s?"min-h-[68px]":"min-h-[80px]")})]}),i.length>0&&t.jsx("div",{className:"flex flex-wrap gap-1.5 mt-2",children:i.map((D,_)=>t.jsxs("span",{className:"inline-flex items-center gap-1 pl-1.5 pr-1 py-0.5 rounded-md bg-muted border border-border text-[11px] text-foreground max-w-[180px]",children:[t.jsx(Ya,{mimeType:D.type,className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:"truncate",children:D.name}),t.jsxs("span",{className:"text-muted-foreground shrink-0",children:["(",yr(D.size),")"]}),t.jsx("button",{type:"button",onClick:()=>j(_),className:"ml-0.5 rounded hover:text-destructive transition-colors shrink-0",children:t.jsx(Re,{className:"h-3 w-3"})})]},_))}),t.jsxs("div",{className:"flex items-center justify-between mt-2",children:[t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx(K,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:()=>{var D;return(D=u.current)==null?void 0:D.click()},disabled:d,title:"Attach files",children:t.jsx(ya,{className:"h-3.5 w-3.5"})}),t.jsxs("span",{className:"text-[11px] text-muted-foreground/50 hidden sm:block",children:[t.jsx("kbd",{className:"px-1 py-0.5 rounded border border-border bg-muted font-mono text-[10px]",children:"⌘ Enter"})," to submit"]})]}),t.jsx(K,{size:"icon",className:"h-8 w-8",onClick:E,disabled:!w||d,children:t.jsx(Vm,{className:"h-3.5 w-3.5"})})]}),t.jsx("input",{ref:u,type:"file",multiple:!0,className:"hidden",onChange:D=>{const _=Array.from(D.target.files??[]);_.length>0&&k(_),D.target.value=""}})]})]})}function qb({onClick:e,active:s,disabled:n,title:r,children:a}){return t.jsx("button",{type:"button",title:r,disabled:n,onMouseDown:o=>{o.preventDefault(),e()},className:O("flex h-[26px] w-[26px] items-center justify-center rounded transition-colors shrink-0","text-muted-foreground hover:text-foreground hover:bg-muted","disabled:opacity-30 disabled:cursor-not-allowed",s&&"bg-muted text-foreground"),children:a})}function Vn(){return t.jsx("span",{className:"mx-0.5 h-4 w-px shrink-0 bg-border"})}function La({content:e="",onChange:s,placeholder:n="Add a description…",className:r,toolbarClassName:a,editorClassName:o}){const i=Si({extensions:[Ci.configure({heading:{levels:[1,2,3]}}),Mi,Rc,Ic.configure({nested:!0}),Di.configure({placeholder:n})],content:e||"",editorProps:{attributes:{class:"meridian-editor"}},onUpdate({editor:c}){s&&s(c.isEmpty?"":c.getHTML())}});if(!i)return null;const l=(c,u,m,f,h)=>t.jsx(qb,{title:c,onClick:m,active:f,disabled:h,children:u},c),d="h-3.5 w-3.5";return t.jsxs("div",{className:O("flex flex-col overflow-hidden",r),children:[t.jsxs("div",{className:O("flex flex-wrap items-center gap-0.5 px-3 py-1.5 border-b border-border bg-muted/30",a),children:[l("Undo",t.jsx(tf,{className:d}),()=>i.chain().focus().undo().run(),!1,!i.can().undo()),l("Redo",t.jsx(Km,{className:d}),()=>i.chain().focus().redo().run(),!1,!i.can().redo()),t.jsx(Vn,{}),l("Bold (⌘B)",t.jsx(Ki,{className:d}),()=>i.chain().focus().toggleBold().run(),i.isActive("bold")),l("Italic (⌘I)",t.jsx(nl,{className:d}),()=>i.chain().focus().toggleItalic().run(),i.isActive("italic")),l("Underline (⌘U)",t.jsx(ef,{className:d}),()=>i.chain().focus().toggleUnderline().run(),i.isActive("underline")),l("Strikethrough",t.jsx(ll,{className:d}),()=>i.chain().focus().toggleStrike().run(),i.isActive("strike")),l("Inline code",t.jsx(Zi,{className:d}),()=>i.chain().focus().toggleCode().run(),i.isActive("code")),t.jsx(Vn,{}),l("Heading 1",t.jsx(Rm,{className:d}),()=>i.chain().focus().toggleHeading({level:1}).run(),i.isActive("heading",{level:1})),l("Heading 2",t.jsx(Im,{className:d}),()=>i.chain().focus().toggleHeading({level:2}).run(),i.isActive("heading",{level:2})),l("Heading 3",t.jsx(Fm,{className:d}),()=>i.chain().focus().toggleHeading({level:3}).run(),i.isActive("heading",{level:3})),t.jsx(Vn,{}),l("Bullet list",t.jsx(al,{className:d}),()=>i.chain().focus().toggleBulletList().run(),i.isActive("bulletList")),l("Ordered list",t.jsx(rl,{className:d}),()=>i.chain().focus().toggleOrderedList().run(),i.isActive("orderedList")),l("Task list",t.jsx(zm,{className:d}),()=>i.chain().focus().toggleTaskList().run(),i.isActive("taskList")),t.jsx(Vn,{}),l("Blockquote",t.jsx(Um,{className:d}),()=>i.chain().focus().toggleBlockquote().run(),i.isActive("blockquote")),l("Code block",t.jsx(Ji,{className:d}),()=>i.chain().focus().toggleCodeBlock().run(),i.isActive("codeBlock")),l("Divider line",t.jsx(Cn,{className:d}),()=>i.chain().focus().setHorizontalRule().run())]}),t.jsx(_i,{editor:i,className:O("flex-1 px-5 py-4",o)})]})}function Ha({html:e,className:s}){return e?t.jsx("div",{className:O("meridian-editor",s),dangerouslySetInnerHTML:{__html:e}}):null}function Bb({body:e}){const s=e.trim();return s?/^<[a-z][\s\S]*>/i.test(s)?t.jsx(Ha,{html:s,className:"text-xs"}):t.jsx("p",{className:"text-xs text-foreground leading-relaxed whitespace-pre-wrap",children:s}):null}const Fo={created:{icon:ze,color:"text-emerald-600",bg:"bg-emerald-50 dark:bg-emerald-950/40"},status_changed:{icon:ua,color:"text-indigo-500",bg:"bg-indigo-50 dark:bg-indigo-950/40"},assigned:{icon:Mn,color:"text-blue-500",bg:"bg-blue-50 dark:bg-blue-950/40"},unassigned:{icon:nf,color:"text-zinc-500",bg:"bg-zinc-100 dark:bg-zinc-800"},updated:{icon:ar,color:"text-amber-500",bg:"bg-amber-50 dark:bg-amber-950/40"}};function Yb(e,s){var a,o,i,l;const{action:n,changes:r}=e;if(n==="created")return"created this issue";if(n==="status_changed"){const d=(a=r==null?void 0:r.status)==null?void 0:a.from,c=(o=r==null?void 0:r.status)==null?void 0:o.to;return t.jsxs(t.Fragment,{children:["changed status",d&&t.jsxs(t.Fragment,{children:[" from ",t.jsx("strong",{className:"font-medium text-foreground",children:xs[d]??d})]}),c&&t.jsxs(t.Fragment,{children:[" to ",t.jsx("strong",{className:"font-medium text-foreground",children:xs[c]??c})]})]})}if(n==="assigned"||n==="unassigned"){const d=((i=r==null?void 0:r.assignee_ids)==null?void 0:i.to)??[],c=((l=r==null?void 0:r.assignee_ids)==null?void 0:l.from)??[],u=d.filter(h=>!c.includes(h)),m=c.filter(h=>!d.includes(h)),f=h=>{var g;return((g=s==null?void 0:s.get(h))==null?void 0:g.name)??h.slice(0,8)+"…"};return u.length>0&&m.length>0?t.jsx(t.Fragment,{children:"updated assignees"}):u.length>0?t.jsxs(t.Fragment,{children:["assigned ",t.jsx("strong",{className:"font-medium text-foreground",children:u.map(f).join(", ")})]}):m.length>0?t.jsxs(t.Fragment,{children:["unassigned ",t.jsx("strong",{className:"font-medium text-foreground",children:m.map(f).join(", ")})]}):"updated assignees"}if(n==="updated"&&r){const d=[];for(const[c,u]of Object.entries(r)){const{from:m,to:f}=u;c==="title"||c==="description"?d.push(t.jsxs("span",{children:["updated ",t.jsx("strong",{className:"font-medium text-foreground",children:c})]},c)):c==="priority"?d.push(t.jsxs("span",{children:["changed ",t.jsx("strong",{className:"font-medium text-foreground",children:"priority"}),m!=null&&t.jsxs(t.Fragment,{children:[" from ",t.jsx("strong",{className:"font-medium text-foreground",children:Et[m]??String(m)})]}),f!=null&&t.jsxs(t.Fragment,{children:[" to ",t.jsx("strong",{className:"font-medium text-foreground",children:Et[f]??String(f)})]})]},c)):c==="type"?d.push(t.jsxs("span",{children:["changed ",t.jsx("strong",{className:"font-medium text-foreground",children:"type"}),m!=null&&t.jsxs(t.Fragment,{children:[" from ",t.jsx("strong",{className:"font-medium text-foreground",children:Ht[m]??String(m)})]}),f!=null&&t.jsxs(t.Fragment,{children:[" to ",t.jsx("strong",{className:"font-medium text-foreground",children:Ht[f]??String(f)})]})]},c)):d.push(t.jsxs("span",{children:["updated ",t.jsx("strong",{className:"font-medium text-foreground",children:c.replace(/_/g," ")})]},c))}return d.length===0?"made changes":t.jsx(t.Fragment,{children:d.reduce((c,u,m)=>m===0?[u]:[...c,t.jsx("span",{children:" and "},`sep-${m}`),u],[])})}return n.replace(/_/g," ")}function Ed({issueId:e,className:s,compact:n,onViewMore:r,onTabChange:a,hideCommentInput:o}){const[i,l]=x.useState("comments"),d=b=>{l(b),a==null||a(b)},{user:c}=ke(),{data:u}=rd(),{data:m,isLoading:f}=_p(e),{data:h,isLoading:g}=Ep(e),{data:y}=Cd(e),S=b=>{var w;if(c&&b===c.id){const k=c.first_name??"",j=c.last_name??"",E=`${k} ${j}`.trim()||c.email,p=(k[0]??j[0]??((w=c.email)==null?void 0:w[0])??"U").toUpperCase();return{name:E,initials:p}}return(u==null?void 0:u.get(b))??{name:"Unknown",initials:"?"}};return t.jsxs("div",{className:s,children:[t.jsx("div",{className:"flex items-center gap-0.5 px-6 pt-4 pb-2 flex-wrap",children:["comments","activity","attachments","time"].map(b=>{const w=b==="comments"?(m==null?void 0:m.length)??0:b==="activity"?(h==null?void 0:h.length)??0:void 0,k=b==="comments"?"Comments":b==="activity"?"Activity":b==="attachments"?"Attachments":"Time";return t.jsxs("button",{onClick:()=>d(b),className:O("px-3 py-1.5 text-xs font-medium rounded-md transition-colors",i===b?"bg-foreground/5 text-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted/50"),children:[k,w!=null&&w>0&&t.jsx("span",{className:"ml-1.5 text-[10px] tabular-nums text-muted-foreground",children:w})]},b)})}),i==="comments"&&t.jsxs("div",{className:"px-6 pb-5",children:[t.jsx("div",{className:"space-y-5 mb-5",children:f?t.jsxs("div",{className:"flex gap-3",children:[t.jsx(te,{className:"h-7 w-7 rounded-full shrink-0"}),t.jsx(te,{className:"h-16 flex-1"})]}):m&&m.length>0?(n?m.slice(-5):m).map(b=>{const w=S(b.author_id),k=(y??[]).filter(j=>j.comment_id===b.id);return t.jsxs("div",{className:"flex gap-3",children:[t.jsx(rt,{className:"h-7 w-7 mt-0.5 shrink-0",children:t.jsx(at,{className:"text-[11px] bg-muted text-muted-foreground",children:w.initials})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-baseline gap-2 mb-1",children:[t.jsx("span",{className:"text-xs font-medium text-foreground",children:w.name}),t.jsx("span",{className:"text-[11px] text-muted-foreground",children:oe(new Date(b.created_at),"MMM d, h:mm a")})]}),t.jsx(Bb,{body:b.body}),k.length>0&&t.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:k.map(j=>t.jsx(Cb,{attachment:j},j.id))})]})]},b.id)}):t.jsx("p",{className:"text-sm text-muted-foreground/50 py-2",children:"No comments yet."})}),n&&m&&m.length>5&&r&&t.jsxs("button",{onClick:r,className:"text-xs text-muted-foreground hover:text-foreground mb-4 underline underline-offset-2",children:["View all ",m.length," comments"]}),!o&&t.jsx(_d,{issueId:e})]}),i==="activity"&&t.jsx("div",{className:"px-6 pb-6",children:g?t.jsx("div",{className:"space-y-4 pt-1",children:[1,2,3].map(b=>t.jsxs("div",{className:"flex gap-3",children:[t.jsx(te,{className:"h-6 w-6 rounded-full shrink-0 mt-0.5"}),t.jsx(te,{className:"h-4 flex-1 mt-1"})]},b))}):h&&h.length>0?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute left-[11px] top-2 bottom-2 w-px bg-border"}),t.jsx("div",{className:"space-y-0",children:(n?h.slice(-5):h).map((b,w,k)=>{var A;const j=Fo[b.action]??Fo.updated,E=j.icon,p=((A=u==null?void 0:u.get(b.actor_id))==null?void 0:A.name)??"System",C=w===k.length-1;return t.jsxs("div",{className:O("relative flex gap-3",C?"pb-0":"pb-4"),children:[t.jsx("div",{className:O("relative z-10 flex h-6 w-6 shrink-0 items-center justify-center rounded-full mt-0.5",j.bg),children:t.jsx(E,{className:O("h-3 w-3",j.color)})}),t.jsxs("div",{className:"flex-1 min-w-0 pt-0.5",children:[t.jsxs("p",{className:"text-xs text-foreground leading-relaxed",children:[t.jsx("span",{className:"font-medium",children:p})," ",t.jsx("span",{className:"text-muted-foreground",children:Yb(b,u)})]}),t.jsx("p",{className:"text-[11px] text-muted-foreground/60 mt-0.5",children:oe(new Date(b.created_at),"MMM d, yyyy · h:mm a")})]})]},b.id)})})]}),n&&h.length>5&&r&&t.jsxs("button",{onClick:r,className:"text-xs text-muted-foreground hover:text-foreground mt-3 underline underline-offset-2",children:["View all ",h.length," events"]})]}):t.jsx("p",{className:"text-sm text-muted-foreground/50 py-2",children:"No activity yet."})}),i==="attachments"&&t.jsx(_b,{issueId:e}),i==="time"&&t.jsx(Wb,{issueId:e})]})}const Od=x.forwardRef(({className:e,children:s,...n},r)=>t.jsxs(pi,{ref:r,className:O("relative overflow-hidden",e),...n,children:[t.jsx(kc,{className:"h-full w-full rounded-[inherit]",children:s}),t.jsx(Td,{}),t.jsx(Sc,{})]}));Od.displayName=pi.displayName;const Td=x.forwardRef(({className:e,orientation:s="vertical",...n},r)=>t.jsx(gi,{ref:r,orientation:s,className:O("flex touch-none select-none transition-colors",s==="vertical"&&"h-full w-1.5 border-l border-l-transparent p-[1px]",s==="horizontal"&&"h-1.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:t.jsx(Cc,{className:"relative flex-1 rounded-full bg-border"})}));Td.displayName=gi.displayName;function Lb(e){if(!e.start_date&&!e.end_date)return null;const s=e.start_date?oe(new Date(e.start_date),"MMM d"):"—",n=e.end_date?oe(new Date(e.end_date),"MMM d"):"—";return`${s} – ${n}`}function Pd({issue:e,projectId:s,open:n,onClose:r}){const a=Ve(),{workspace:o,projectKey:i}=Je(),{data:l}=sd((e==null?void 0:e.id)??""),d=l??e,[c,u]=x.useState(!1),[m,f]=x.useState(""),[h,g]=x.useState(""),[y,S]=x.useState("comments"),[b,w]=x.useState(!1),k=Pa((d==null?void 0:d.id)??"",s),{data:j}=Xs(s),{data:E}=Js(s||void 0),{data:p}=Fn(s||void 0),{data:C}=In(s||void 0),A=(E??[]).filter(M=>M.status!=="completed"),D=d!=null&&d.parent_id?C==null?void 0:C.find(M=>M.id===d.parent_id):null,_=(C==null?void 0:C.filter(M=>M.parent_id===(d==null?void 0:d.id)))??[],I=d!=null&&d.task_list_id?p==null?void 0:p.find(M=>M.id===d.task_list_id):null,$=j&&j.length>0?Object.fromEntries(j.map(M=>[M.key,M.name])):xs;if(x.useEffect(()=>{d&&(f(d.title),g(d.description??"")),u(!1)},[d==null?void 0:d.id]),!d)return null;const F=()=>{m.trim()&&k.mutate({title:m.trim(),description:h.trim()||void 0},{onSuccess:()=>{u(!1),R.success("Issue updated")},onError:()=>R.error("Failed to update issue")})},T=()=>{f(d.title),g(d.description??""),u(!1)},X=M=>{k.mutate({status:M},{onSuccess:()=>R.success("Status updated"),onError:()=>R.error("Failed to update status")})},q=M=>{k.mutate({priority:M},{onSuccess:()=>R.success("Priority updated"),onError:()=>R.error("Failed to update priority")})},V=M=>{k.mutate({type:M},{onSuccess:()=>R.success("Type updated"),onError:()=>R.error("Failed to update type")})},W=M=>{k.mutate({assignee_ids:M},{onSuccess:()=>R.success("Assignees updated"),onError:()=>R.error("Failed to update assignees")})},z=M=>{k.mutate({sprint_id:M},{onSuccess:()=>R.success(M?"Sprint assigned":"Removed from sprint"),onError:()=>R.error("Failed to update sprint")})},Q=M=>{k.mutate({task_list_id:M},{onSuccess:()=>R.success(M?"Moved to list":"Removed from list"),onError:()=>R.error("Failed to update list")})},ee=M=>{k.mutate({start_date:M?oe(M,"yyyy-MM-dd"):null},{onSuccess:()=>R.success(M?"Start date set":"Start date cleared"),onError:()=>R.error("Failed to update start date")})},N=M=>{k.mutate({due_date:M?oe(M,"yyyy-MM-dd"):null},{onSuccess:()=>R.success(M?"Due date set":"Due date cleared"),onError:()=>R.error("Failed to update due date")})};return t.jsxs(t.Fragment,{children:[t.jsx(ws,{open:n,onOpenChange:M=>!M&&r(),children:t.jsxs(Ns,{className:"flex flex-col p-0 w-full max-w-2xl overflow-hidden",children:[(()=>{const M=j==null?void 0:j.find(ae=>ae.category==="completed"),Y=!!M&&d.status===M.key,L=(ae,P,ie)=>{const pe=ae;return t.jsx("button",{title:P,onClick:ie,className:"h-8 w-8 flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-accent transition-colors",children:t.jsx(pe,{className:"h-4 w-4"})},P)};return t.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border shrink-0",children:[t.jsxs("button",{onClick:()=>{var ae;M&&X(Y?((ae=j==null?void 0:j.find(P=>P.category==="unstarted"||P.category==="backlog"))==null?void 0:ae.key)??d.status:M.key)},className:O("flex items-center gap-1.5 px-3 py-1.5 rounded-md border text-xs font-medium transition-colors",Y?"border-emerald-500/40 text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-950/30":"border-border text-muted-foreground hover:text-foreground hover:border-foreground/40"),children:[t.jsx(ut,{className:"h-3.5 w-3.5"}),Y?"Completed":"Mark complete"]}),t.jsxs("div",{className:"flex items-center",children:[L(Jm,"Upvote"),L(ya,"Attachments"),L(Sn,"Add sub-issue",()=>w(!0)),L(ba,"Copy link",()=>{navigator.clipboard.writeText(`${window.location.origin}/${o}/projects/${i}/issues/${d.id}`),R.success("Link copied")}),L(Bm,"Open full page",()=>{r(),a(`/${o}/projects/${i}/issues/${d.id}`)}),c?t.jsxs("div",{className:"flex items-center gap-1 ml-1",children:[t.jsx(K,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:T,children:"Cancel"}),t.jsxs(K,{size:"sm",className:"h-7 text-xs",onClick:F,disabled:!m.trim()||k.isPending,children:[t.jsx(ut,{className:"h-3.5 w-3.5 mr-1"}),"Save"]})]}):t.jsxs(vs,{children:[t.jsx(js,{asChild:!0,children:L(Nn,"More options")}),t.jsx(Qt,{align:"end",className:"w-40",children:t.jsxs(Xe,{onClick:()=>u(!0),children:[t.jsx(ar,{className:"h-3.5 w-3.5 mr-2"}),"Edit"]})})]}),L(Hm,"Open in full page",()=>{r(),a(`/${o}/projects/${i}/issues/${d.id}`)})]})]})})(),t.jsxs("div",{className:"px-6 pt-4 pb-2 shrink-0",children:[c?t.jsx(xe,{value:m,onChange:M=>f(M.target.value),className:"text-sm font-medium h-8",autoFocus:!0}):t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:d.identifier}),t.jsx(Bn,{variant:"muted",className:"text-[10px] shrink-0",children:Ht[d.type]??d.type})]}),!c&&t.jsx("h2",{className:"text-base font-medium leading-snug",children:d.title})]}),t.jsxs(Od,{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"px-6 py-4 space-y-5 min-w-0",children:[t.jsxs("div",{className:"grid grid-cols-3 gap-3 mb-1",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Status"}),t.jsxs(we,{value:d.status,onValueChange:X,children:[t.jsx(ye,{className:"h-8 text-xs bg-transparent min-w-0",children:t.jsx(Ee,{})}),t.jsx(ve,{children:Object.entries($).map(([M,Y])=>t.jsx(de,{value:M,className:"text-xs",children:Y},M))})]})]}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Priority"}),t.jsxs(we,{value:d.priority,onValueChange:q,children:[t.jsx(ye,{className:"h-8 text-xs bg-transparent min-w-0",children:t.jsx(Ee,{})}),t.jsx(ve,{children:Object.entries(Et).map(([M,Y])=>t.jsx(de,{value:M,className:"text-xs",children:Y},M))})]})]}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Type"}),t.jsxs(we,{value:d.type,onValueChange:V,children:[t.jsx(ye,{className:"h-8 text-xs bg-transparent min-w-0",children:t.jsx(Ee,{})}),t.jsx(ve,{children:Object.entries(Ht).map(([M,Y])=>t.jsx(de,{value:M,className:"text-xs",children:Y},M))})]})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Assignees"}),t.jsx(zn,{value:d.assignee_ids??[],onChange:W,disabled:k.isPending})]}),t.jsxs("div",{className:"flex gap-3 items-start min-w-0",children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Sprint"}),t.jsxs(we,{value:d.sprint_id??"none",onValueChange:M=>z(M==="none"?null:M),children:[t.jsx(ye,{className:"h-8 text-xs bg-transparent min-w-0",children:t.jsxs("div",{className:"flex items-center gap-1 min-w-0 overflow-hidden",children:[t.jsx(wt,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx(Ee,{placeholder:"No sprint"})]})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",className:"text-xs text-muted-foreground",children:"No sprint"}),A.map(M=>{const Y=Lb(M);return t.jsx(de,{value:M.id,className:"text-xs",children:t.jsxs("div",{className:"flex items-baseline gap-1.5",children:[t.jsx("span",{children:M.name}),Y&&t.jsx("span",{className:"text-[10px] text-muted-foreground font-normal",children:Y})]})},M.id)})]})]})]}),(p??[]).length>0&&t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"List"}),t.jsxs(we,{value:d.task_list_id??"none",onValueChange:M=>Q(M==="none"?null:M),children:[t.jsx(ye,{className:"h-8 text-xs bg-transparent min-w-0",children:t.jsxs("div",{className:"flex items-center gap-1 min-w-0 overflow-hidden",children:[t.jsx(ga,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx(Ee,{placeholder:"No list",children:I?I.name:"No list"})]})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",className:"text-xs text-muted-foreground",children:"No list"}),(p??[]).map(M=>t.jsx(de,{value:M.id,className:"text-xs",children:M.name},M.id))]})]})]}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Start Date"}),t.jsxs(Ue,{children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{className:"flex items-center gap-1 h-8 w-full min-w-0 px-2 rounded border border-input text-xs bg-transparent hover:bg-accent transition-colors overflow-hidden",children:[t.jsx(ft,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:`truncate ${d.start_date?"text-foreground":"text-muted-foreground"}`,children:d.start_date?oe(new Date(d.start_date),"MMM d, yyyy"):"No date"})]})}),t.jsxs(He,{className:"w-auto p-0",align:"start",children:[t.jsx(ot,{mode:"single",selected:d.start_date?new Date(d.start_date):void 0,onSelect:ee,initialFocus:!0}),d.start_date&&t.jsx("div",{className:"border-t px-3 py-2",children:t.jsxs("button",{onClick:()=>ee(void 0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-destructive transition-colors",children:[t.jsx(Re,{className:"h-3 w-3"}),"Clear date"]})})]})]})]}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Due Date"}),t.jsxs(Ue,{children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{className:"flex items-center gap-1 h-8 w-full min-w-0 px-2 rounded border border-input text-xs bg-transparent hover:bg-accent transition-colors overflow-hidden",children:[t.jsx(ft,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:`truncate ${d.due_date?"text-foreground":"text-muted-foreground"}`,children:d.due_date?oe(new Date(d.due_date),"MMM d, yyyy"):"No date"})]})}),t.jsxs(He,{className:"w-auto p-0",align:"start",children:[t.jsx(ot,{mode:"single",selected:d.due_date?new Date(d.due_date):void 0,onSelect:N,initialFocus:!0}),d.due_date&&t.jsx("div",{className:"border-t px-3 py-2",children:t.jsxs("button",{onClick:()=>N(void 0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-destructive transition-colors",children:[t.jsx(Re,{className:"h-3 w-3"}),"Clear date"]})})]})]})]})]}),!d.parent_id&&t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("p",{className:"text-xs text-muted-foreground",children:"Child Issues"}),t.jsxs("button",{onClick:()=>w(!0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[t.jsx(ze,{className:"h-3 w-3"}),"Add"]})]}),D&&t.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[t.jsx(ha,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsx("span",{className:"text-muted-foreground shrink-0",children:"Parent:"}),t.jsx("button",{onClick:()=>a(`/${o}/projects/${i}/issues/${D.id}`),className:"font-mono text-muted-foreground hover:text-foreground transition-colors shrink-0",children:D.identifier}),t.jsx("span",{className:"text-foreground truncate",children:D.title})]}),_.length===0&&!D?t.jsx("p",{className:"text-xs text-muted-foreground/40 italic",children:"No child issues yet"}):t.jsx("div",{className:"space-y-1",children:_.map(M=>t.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[t.jsx(el,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsx("button",{onClick:()=>{r(),a(`/${o}/projects/${i}/issues/${M.id}`)},className:"font-mono text-muted-foreground hover:text-foreground transition-colors shrink-0",children:M.identifier}),t.jsx("button",{onClick:()=>{r(),a(`/${o}/projects/${i}/issues/${M.id}`)},className:"text-muted-foreground truncate hover:text-foreground transition-colors text-left",children:M.title})]},M.id))})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Description"}),c?t.jsx(La,{content:h,onChange:g,placeholder:"Add a description…",className:"min-h-[160px] rounded-md border border-input"},`${d.id}-edit`):d.description?t.jsx(Ha,{html:d.description,className:"text-sm"}):t.jsx("p",{className:"text-sm text-muted-foreground/50 italic",children:"No description"})]})]}),t.jsx(Ed,{issueId:d.id,className:"border-t border-border",compact:!0,hideCommentInput:!0,onTabChange:S,onViewMore:()=>{r(),a(`/${o}/projects/${i}/issues/${d.id}`)}})]}),y==="comments"&&t.jsx("div",{className:"border-t border-border px-6 py-3 shrink-0",children:t.jsx(_d,{issueId:d.id,compact:!0})})]})}),t.jsx(gr,{open:b,onClose:()=>w(!1),projectId:s,defaultParentId:d.id,defaultTaskListId:d.task_list_id})]})}function Hb(){const{projectKey:e}=Je(),[s,n]=x.useState(null),[r,a]=x.useState(!1),{data:o}=ys(e??""),i=(o==null?void 0:o.id)??"",{data:l,isLoading:d}=In(i||void 0),{data:c,isLoading:u}=Xs(i||void 0),m=Pp(i);if(!e)return null;const f=d||u||!o,h=g=>{m.mutate(g)};return t.jsxs("div",{className:"flex flex-col h-full gap-0",children:[t.jsxs("div",{className:"flex flex-col flex-1 min-h-0 bg-white dark:bg-card",children:[t.jsx("div",{className:"flex items-center justify-end px-6 py-3 border-b border-border shrink-0",children:t.jsxs(K,{size:"sm",onClick:()=>a(!0),children:[t.jsx(ze,{className:"h-4 w-4"}),"Create"]})}),t.jsx("div",{className:"flex-1 min-h-0",children:f?t.jsx("div",{className:"flex gap-4 px-6 py-6",children:[1,2,3,4].map(g=>t.jsxs("div",{className:"min-w-[260px]",children:[t.jsx(te,{className:"h-5 w-24 mb-3 rounded"}),t.jsxs("div",{className:"space-y-2",children:[t.jsx(te,{className:"h-[82px] w-full rounded-lg"}),t.jsx(te,{className:"h-[82px] w-full rounded-lg"})]})]},g))}):t.jsx(Bp,{issues:l??[],projectId:i,statuses:c??[],onIssueClick:n,onColumnsReorder:h})})]}),t.jsx(Pd,{issue:s,projectId:i,open:!!s,onClose:()=>n(null)}),t.jsx(gr,{open:r,onClose:()=>a(!1),projectId:i})]})}const zo=({priority:e,className:s})=>{const n=O("h-3.5 w-3.5 shrink-0",ad[e],s);switch(e){case"urgent":return t.jsx(Dn,{className:n});case"high":return t.jsx(nr,{className:n});case"medium":return t.jsx(Cn,{className:n});case"low":return t.jsx(sr,{className:n});default:return t.jsx(jt,{className:O("h-3.5 w-3.5 shrink-0 text-zinc-300",s)})}};function Ad({issue:e,projectId:s,statuses:n,statusLabels:r,statusColorMap:a,sprints:o,workspace:i,projectKey:l,onOpen:d,isChild:c=!1,children:u=[],onAddChild:m}){const f=Ve(),[h,g]=x.useState(null),[y,S]=x.useState(!1),b=Pa(e.id,s);function w(p){b.mutate(p),g(null)}const k=(a==null?void 0:a[e.status])??"#94a3b8",j=o.find(p=>p.id===e.sprint_id),E=u.length>0;return t.jsxs(t.Fragment,{children:[t.jsxs("div",{onClick:()=>d(e),className:O("group grid grid-cols-[70px_1fr_150px_120px_130px_140px_130px_32px] items-center px-6 py-3","hover:bg-[#f9fafb] dark:hover:bg-muted/30 cursor-pointer transition-colors",c&&"pl-14 bg-muted/10",b.isPending&&"opacity-70"),children:[t.jsx("span",{className:O("text-xs font-mono text-muted-foreground truncate",c&&"text-muted-foreground/60"),children:e.identifier}),t.jsxs("div",{className:"flex items-center gap-1 min-w-0 pr-3",children:[!c&&E&&t.jsxs(ls,{children:[t.jsx(ds,{asChild:!0,children:t.jsx("button",{onClick:p=>{p.stopPropagation(),S(!y)},className:"shrink-0 text-muted-foreground hover:text-foreground transition-colors p-0.5 rounded",children:y?t.jsx(Hs,{className:"h-3.5 w-3.5"}):t.jsx(Us,{className:"h-3.5 w-3.5"})})}),t.jsx(Yt,{side:"top",children:y?"Collapse":"Expand"})]}),!c&&!E&&t.jsx("span",{className:"w-4 shrink-0"}),c&&t.jsx("span",{className:"text-muted-foreground/40 shrink-0 text-xs",children:"↳"}),t.jsx("span",{className:O("text-sm text-foreground truncate",c&&"text-muted-foreground"),children:e.title}),!c&&E&&t.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60 ml-1 font-mono",children:u.length})]}),t.jsx("div",{onClick:p=>p.stopPropagation(),children:t.jsxs(Ue,{open:h==="status",onOpenChange:p=>g(p?"status":null),children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{type:"button",className:"flex items-center gap-1.5 max-w-full px-1.5 py-1 rounded hover:bg-accent transition-colors focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:[t.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{backgroundColor:k}}),t.jsx("span",{className:"text-xs text-muted-foreground truncate",children:r[e.status]??e.status})]})}),t.jsx(He,{className:"w-52 p-1",align:"start",onClick:p=>p.stopPropagation(),children:t.jsx(Rs,{children:t.jsx(Is,{children:t.jsx(us,{children:n.map(p=>t.jsxs(ct,{value:p.name,onSelect:()=>w({status:p.key}),className:"flex items-center gap-2 py-1.5 px-2 cursor-pointer",children:[t.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{backgroundColor:p.color}}),t.jsx("span",{className:"text-xs flex-1",children:p.name}),e.status===p.key&&t.jsx(ut,{className:"h-3.5 w-3.5 text-indigo-500"})]},p.key))})})})})]})}),t.jsx("div",{onClick:p=>p.stopPropagation(),children:t.jsxs(Ue,{open:h==="priority",onOpenChange:p=>g(p?"priority":null),children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{type:"button",className:"flex items-center gap-1.5 px-1.5 py-1 rounded hover:bg-accent transition-colors focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:[t.jsx(zo,{priority:e.priority}),t.jsx("span",{className:"text-xs text-muted-foreground",children:Et[e.priority]??e.priority})]})}),t.jsx(He,{className:"w-44 p-1",align:"start",onClick:p=>p.stopPropagation(),children:t.jsx(Rs,{children:t.jsx(Is,{children:t.jsx(us,{children:Object.entries(Et).map(([p,C])=>t.jsxs(ct,{value:C,onSelect:()=>w({priority:p}),className:"flex items-center gap-2 py-1.5 px-2 cursor-pointer",children:[t.jsx(zo,{priority:p}),t.jsx("span",{className:"text-xs flex-1",children:C}),e.priority===p&&t.jsx(ut,{className:"h-3.5 w-3.5 text-indigo-500"})]},p))})})})})]})}),t.jsx("div",{onClick:p=>p.stopPropagation(),children:t.jsxs(Ue,{open:h==="sprint",onOpenChange:p=>g(p?"sprint":null),children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{type:"button",className:"flex items-center gap-1.5 px-1.5 py-1 rounded hover:bg-accent transition-colors focus:outline-none focus-visible:ring-1 focus-visible:ring-ring max-w-full",children:[t.jsx(wt,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsx("span",{className:O("text-xs truncate",j?"text-foreground":"text-muted-foreground"),children:(j==null?void 0:j.name)??"No sprint"})]})}),t.jsx(He,{className:"w-56 p-1",align:"start",onClick:p=>p.stopPropagation(),children:t.jsx(Rs,{children:t.jsx(Is,{children:t.jsxs(us,{children:[t.jsxs(ct,{value:"no-sprint",onSelect:()=>w({sprint_id:null}),className:"flex items-center gap-2 py-1.5 px-2 cursor-pointer",children:[t.jsx(Re,{className:"h-3.5 w-3.5 text-muted-foreground"}),t.jsx("span",{className:"text-xs flex-1 text-muted-foreground",children:"No sprint"}),!e.sprint_id&&t.jsx(ut,{className:"h-3.5 w-3.5 text-indigo-500"})]}),o.filter(p=>p.status!=="completed").map(p=>t.jsxs(ct,{value:p.name,onSelect:()=>w({sprint_id:p.id}),className:"flex items-center gap-2 py-1.5 px-2 cursor-pointer",children:[t.jsx(wt,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-xs truncate",children:p.name}),(p.start_date||p.end_date)&&t.jsxs("p",{className:"text-[10px] text-muted-foreground",children:[p.start_date?oe(new Date(p.start_date),"MMM d"):"—"," → ",p.end_date?oe(new Date(p.end_date),"MMM d"):"—"]})]}),e.sprint_id===p.id&&t.jsx(ut,{className:"h-3.5 w-3.5 text-indigo-500 shrink-0"})]},p.id))]})})})})]})}),t.jsx("div",{onClick:p=>p.stopPropagation(),children:t.jsxs(Ue,{open:h==="due",onOpenChange:p=>g(p?"due":null),children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{type:"button",className:"flex items-center gap-1.5 px-1.5 py-1 rounded hover:bg-accent transition-colors focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:[t.jsx(ft,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsx("span",{className:O("text-xs",e.due_date?"text-foreground":"text-muted-foreground"),children:e.due_date?oe(new Date(e.due_date),"MMM d, yyyy"):"No due date"})]})}),t.jsxs(He,{className:"w-auto p-0",align:"start",onClick:p=>p.stopPropagation(),children:[t.jsx(ot,{mode:"single",selected:e.due_date?new Date(e.due_date):void 0,onSelect:p=>w({due_date:p?oe(p,"yyyy-MM-dd"):null}),initialFocus:!0}),e.due_date&&t.jsx("div",{className:"border-t px-3 py-2",children:t.jsxs("button",{onClick:()=>w({due_date:null}),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-destructive transition-colors",children:[t.jsx(Re,{className:"h-3 w-3"}),"Clear date"]})})]})]})}),t.jsx("div",{onClick:p=>p.stopPropagation(),children:t.jsx(zn,{value:e.assignee_ids??[],onChange:p=>b.mutate({assignee_ids:p})})}),t.jsxs("div",{className:"flex items-center gap-1",onClick:p=>p.stopPropagation(),children:[!c&&m&&t.jsxs(ls,{children:[t.jsx(ds,{asChild:!0,children:t.jsx("button",{onClick:()=>m(e.id),className:"p-1 rounded hover:bg-border text-muted-foreground hover:text-foreground",children:t.jsx(Wm,{className:"h-3.5 w-3.5"})})}),t.jsx(Yt,{side:"top",children:"Add child issue"})]}),t.jsxs(ls,{children:[t.jsx(ds,{asChild:!0,children:t.jsx("button",{onClick:()=>f(`/${i}/projects/${l}/issues/${e.id}`),className:"p-1 rounded hover:bg-border text-muted-foreground hover:text-foreground",children:t.jsx(tl,{className:"h-3.5 w-3.5"})})}),t.jsx(Yt,{side:"top",children:"Open full page"})]})]})]}),!c&&y&&u.map(p=>t.jsx(Ad,{issue:p,projectId:s,statuses:n,statusLabels:r,statusColorMap:a,sprints:o,workspace:i,projectKey:l,onOpen:d,isChild:!0},p.id))]})}function Wo({taskList:e,issues:s,childrenMap:n,projectId:r,statuses:a,statusLabels:o,statusColorMap:i,sprints:l,workspace:d,projectKey:c,onOpen:u,onAddIssue:m,onAddChild:f,onRenameList:h,onDeleteList:g}){const[y,S]=x.useState(!1),[b,w]=x.useState(!1),[k,j]=x.useState((e==null?void 0:e.name)??""),E=s.reduce((A,D)=>{var _;return A+(((_=n[D.id])==null?void 0:_.length)??0)},0),p=s.length+E,C=()=>{e&&k.trim()&&h&&h(e.id,k.trim()),w(!1)};return t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center gap-2 px-6 py-2 bg-muted/20 border-b border-border group/header",children:[t.jsxs(ls,{children:[t.jsx(ds,{asChild:!0,children:t.jsx("button",{onClick:()=>S(!y),className:"text-muted-foreground hover:text-foreground transition-colors",children:y?t.jsx(Us,{className:"h-3.5 w-3.5"}):t.jsx(Hs,{className:"h-3.5 w-3.5"})})}),t.jsx(Yt,{side:"right",children:y?"Expand":"Collapse"})]}),e?b?t.jsx("input",{autoFocus:!0,value:k,onChange:A=>j(A.target.value),onBlur:C,onKeyDown:A=>{A.key==="Enter"&&C(),A.key==="Escape"&&(w(!1),j(e.name))},className:"text-xs font-semibold text-foreground bg-transparent border-b border-indigo-400 outline-none px-0.5"}):t.jsx("span",{className:"text-xs font-semibold text-foreground",children:e.name}):t.jsx("span",{className:"text-xs font-semibold text-muted-foreground",children:"No List"}),t.jsx("span",{className:"text-[11px] text-muted-foreground/60 font-mono",children:p}),t.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[t.jsxs("button",{onClick:()=>m((e==null?void 0:e.id)??null),className:"flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground transition-colors px-1.5 py-0.5 rounded hover:bg-muted",children:[t.jsx(ze,{className:"h-3 w-3"}),"Add issue"]}),e&&t.jsxs(vs,{children:[t.jsxs(ls,{children:[t.jsx(ds,{asChild:!0,children:t.jsx(js,{asChild:!0,children:t.jsx("button",{className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors",children:t.jsx(Nn,{className:"h-3.5 w-3.5"})})})}),t.jsx(Yt,{side:"top",children:"More options"})]}),t.jsxs(Qt,{align:"end",className:"w-36",children:[t.jsxs(Xe,{className:"text-xs gap-2 cursor-pointer",onClick:()=>{w(!0),j(e.name)},children:[t.jsx(ar,{className:"h-3.5 w-3.5"}),"Rename"]}),t.jsxs(Xe,{className:"text-xs gap-2 cursor-pointer text-destructive focus:text-destructive",onClick:()=>g==null?void 0:g(e.id),children:[t.jsx(Gt,{className:"h-3.5 w-3.5"}),"Delete list"]})]})]})]})]}),!y&&t.jsx("div",{className:"divide-y divide-border/60",children:s.length===0?t.jsx("div",{className:"px-14 py-3 text-xs text-muted-foreground/50 italic",children:"No issues in this list"}):s.map(A=>t.jsx(Ad,{issue:A,projectId:r,statuses:a,statusLabels:o,statusColorMap:i,sprints:l,workspace:d,projectKey:c,onOpen:u,children:n[A.id]??[],onAddChild:f},A.id))})]})}function Ub(){var ae;const{workspace:e,projectKey:s}=Je(),[n,r]=x.useState(null),[a,o]=x.useState({open:!1}),[i,l]=x.useState(""),[d,c]=x.useState(!1),[u,m]=x.useState(""),[f,h]=x.useState("all"),[g,y]=x.useState("all"),[S,b]=x.useState("all"),{data:w}=ys(s??""),k=(w==null?void 0:w.id)??"",{data:j,isLoading:E}=In(k||void 0),{data:p}=Xs(k||void 0),{data:C}=Js(k||void 0),{data:A}=Fn(k||void 0),D=Up(k),_=Kp(k),I=Vp(k),$=p&&p.length>0?p:Object.entries(xs).map(([P,ie],pe)=>({id:P,project_id:k,key:P,name:ie,color:{backlog:"#94a3b8",todo:"#64748b",in_progress:"#6366f1",in_review:"#f59e0b",done:"#10b981",cancelled:"#9ca3af"}[P]??"#94a3b8",category:{backlog:"backlog",todo:"unstarted",in_progress:"started",in_review:"started",done:"completed",cancelled:"cancelled"}[P]??"backlog",position:pe})),F=Object.fromEntries($.map(P=>[P.key,P.name])),T=Object.fromEntries($.map(P=>[P.key,P.color])),X=C??[];if(!s||!e)return null;const q=(j??[]).filter(P=>{const ie=!u||P.title.toLowerCase().includes(u.toLowerCase())||P.identifier.toLowerCase().includes(u.toLowerCase()),pe=f==="all"||P.status===f,Oe=g==="all"||P.priority===g,qe=S==="all"||(S==="none"?!P.sprint_id:P.sprint_id===S);return ie&&pe&&Oe&&qe}).sort((P,ie)=>{const pe=parseInt(P.identifier.split("-")[1]??"0",10),Oe=parseInt(ie.identifier.split("-")[1]??"0",10);return pe-Oe}),V={};for(const P of j??[])P.parent_id&&(V[P.parent_id]||(V[P.parent_id]=[]),V[P.parent_id].push(P));const W=q.filter(P=>!P.parent_id),z=q.length,Q=new Set((A??[]).map(P=>P.id)),ee={__none__:[]};for(const P of A??[])ee[P.id]=[];for(const P of W){const ie=P.task_list_id&&Q.has(P.task_list_id)?P.task_list_id:"__none__";ee[ie].push(P)}function N(){i.trim()&&D.mutate({name:i.trim()},{onSuccess:()=>{l(""),c(!1),R.success("List created")},onError:()=>R.error("Failed to create list")})}function M(P,ie){_.mutate({id:P,name:ie},{onError:()=>R.error("Failed to rename list")})}function Y(P){const ie=A==null?void 0:A.find(pe=>pe.id===P);confirm(`Delete list "${ie==null?void 0:ie.name}"? Issues in this list will be moved to No List.`)&&I.mutate(P,{onSuccess:()=>R.success("List deleted"),onError:()=>R.error("Failed to delete list")})}const L="grid-cols-[70px_1fr_150px_120px_130px_140px_130px_32px]";return t.jsxs("div",{className:"p-2",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden",children:[t.jsx("div",{className:"flex items-center justify-end px-6 py-3 border-b border-border",children:t.jsxs("div",{className:"flex items-center gap-2",children:[d?t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx(xe,{autoFocus:!0,placeholder:"List name...",value:i,onChange:P=>l(P.target.value),onKeyDown:P=>{P.key==="Enter"&&N(),P.key==="Escape"&&(c(!1),l(""))},className:"h-8 text-xs w-36"}),t.jsx(K,{size:"sm",variant:"outline",className:"h-8 text-xs",onClick:N,disabled:!i.trim()||D.isPending,children:"Add"}),t.jsx(K,{size:"sm",variant:"ghost",className:"h-8 text-xs",onClick:()=>{c(!1),l("")},children:"Cancel"})]}):t.jsxs(K,{size:"sm",variant:"outline",onClick:()=>c(!0),children:[t.jsx(ze,{className:"h-4 w-4"}),"New List"]}),t.jsxs(K,{size:"sm",onClick:()=>o({open:!0}),children:[t.jsx(ze,{className:"h-4 w-4"}),"Create"]})]})}),t.jsxs("div",{className:"flex items-center justify-between px-6 py-3 border-b border-border gap-3 flex-wrap",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs(we,{value:S,onValueChange:b,children:[t.jsx(ye,{className:"h-8 text-xs w-[140px] bg-transparent",children:t.jsx(Ee,{placeholder:"Sprint"})}),t.jsxs(ve,{children:[t.jsx(de,{value:"all",className:"text-xs",children:"All sprints"}),t.jsx(de,{value:"none",className:"text-xs text-muted-foreground",children:"No sprint"}),X.map(P=>t.jsx(de,{value:P.id,className:"text-xs",children:P.name},P.id))]})]}),t.jsxs(we,{value:f,onValueChange:h,children:[t.jsx(ye,{className:"h-8 text-xs w-[130px] bg-transparent",children:t.jsx(Ee,{placeholder:"Status"})}),t.jsxs(ve,{children:[t.jsx(de,{value:"all",className:"text-xs",children:"All statuses"}),$.map(({key:P,name:ie})=>t.jsx(de,{value:P,className:"text-xs",children:ie},P))]})]}),t.jsxs(we,{value:g,onValueChange:y,children:[t.jsx(ye,{className:"h-8 text-xs w-[130px] bg-transparent",children:t.jsx(Ee,{placeholder:"Priority"})}),t.jsxs(ve,{children:[t.jsx(de,{value:"all",className:"text-xs",children:"All priorities"}),Object.entries(Et).map(([P,ie])=>t.jsx(de,{value:P,className:"text-xs",children:ie},P))]})]})]}),t.jsxs("div",{className:"relative",children:[t.jsx(ir,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),t.jsx(xe,{placeholder:"Search...",value:u,onChange:P=>m(P.target.value),className:"pl-8 h-8 w-[200px] text-xs bg-transparent"})]})]}),t.jsxs("div",{className:O("grid items-center px-6 py-2.5 border-b border-border",L),children:[t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"ID"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Title"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Status"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Priority"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Sprint"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Due Date"}),t.jsx("span",{className:"text-xs font-medium text-[#6b7280]",children:"Assignees"}),t.jsx("span",{})]}),E?t.jsx("div",{className:"divide-y divide-border",children:[1,2,3,4].map(P=>t.jsxs("div",{className:O("grid items-center px-6 py-3 gap-4",L),children:[t.jsx(te,{className:"h-4 w-14"}),t.jsx(te,{className:"h-4 w-56"}),t.jsx(te,{className:"h-5 w-20"}),t.jsx(te,{className:"h-4 w-16"}),t.jsx(te,{className:"h-4 w-20"}),t.jsx(te,{className:"h-4 w-24"}),t.jsx(te,{className:"h-6 w-16"}),t.jsx("span",{})]},P))}):z===0&&(j??[]).length===0?t.jsxs("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[t.jsx("p",{className:"text-sm font-medium mb-1",children:"No issues yet"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Create your first issue to start tracking work."}),t.jsxs(K,{size:"sm",onClick:()=>o({open:!0}),children:[t.jsx(ze,{className:"h-4 w-4"}),"Create issue"]})]}):W.length===0&&(j??[]).length>0?t.jsx("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:t.jsx("p",{className:"text-sm text-muted-foreground",children:"No issues match your filters."})}):t.jsx(ia,{delayDuration:200,children:t.jsxs("div",{className:"divide-y divide-border",children:[(A??[]).map(P=>t.jsx(Wo,{taskList:P,issues:ee[P.id]??[],childrenMap:V,projectId:k,statuses:$,statusLabels:F,statusColorMap:T,sprints:X,workspace:e,projectKey:s,onOpen:r,onAddIssue:ie=>o({open:!0,defaultTaskListId:ie}),onAddChild:ie=>o({open:!0,defaultParentId:ie}),onRenameList:M,onDeleteList:Y},P.id)),(((ae=ee.__none__)==null?void 0:ae.length)>0||(A??[]).length===0)&&t.jsx(Wo,{taskList:null,issues:ee.__none__??[],childrenMap:V,projectId:k,statuses:$,statusLabels:F,statusColorMap:T,sprints:X,workspace:e,projectKey:s,onOpen:r,onAddIssue:P=>o({open:!0,defaultTaskListId:P}),onAddChild:P=>o({open:!0,defaultParentId:P})})]})}),!E&&z>0&&t.jsx("div",{className:"flex items-center px-6 py-3 border-t border-border",children:t.jsxs("span",{className:"text-xs text-muted-foreground",children:[z," issue",z!==1?"s":""]})})]}),t.jsx(Pd,{issue:n,projectId:k,open:!!n,onClose:()=>r(null)}),t.jsx(gr,{open:a.open,onClose:()=>o({open:!1}),projectId:k,defaultTaskListId:a.defaultTaskListId,defaultParentId:a.defaultParentId})]})}function Kb(e,s=[]){let n=[];function r(o,i){const l=x.createContext(i),d=n.length;n=[...n,i];const c=m=>{var b;const{scope:f,children:h,...g}=m,y=((b=f==null?void 0:f[e])==null?void 0:b[d])||l,S=x.useMemo(()=>g,Object.values(g));return t.jsx(y.Provider,{value:S,children:h})};c.displayName=o+"Provider";function u(m,f){var y;const h=((y=f==null?void 0:f[e])==null?void 0:y[d])||l,g=x.useContext(h);if(g)return g;if(i!==void 0)return i;throw new Error(`\`${m}\` must be used within \`${o}\``)}return[c,u]}const a=()=>{const o=n.map(i=>x.createContext(i));return function(l){const d=(l==null?void 0:l[e])||o;return x.useMemo(()=>({[`__scope${e}`]:{...l,[e]:d}}),[l,d])}};return a.scopeName=e,[r,Vb(a,...s)]}function Vb(...e){const s=e[0];if(e.length===1)return s;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(o){const i=r.reduce((l,{useScope:d,scopeName:c})=>{const m=d(o)[`__scope${c}`];return{...l,...m}},{});return x.useMemo(()=>({[`__scope${s.scopeName}`]:i}),[i])}};return n.scopeName=s.scopeName,n}var Gb=Symbol("radix.slottable");function Qb(e){const s=({children:n})=>t.jsx(t.Fragment,{children:n});return s.displayName=`${e}.Slottable`,s.__radixId=Gb,s}var $d="AlertDialog",[Xb]=Kb($d,[yi]),Tt=yi(),Rd=e=>{const{__scopeAlertDialog:s,...n}=e,r=Tt(s);return t.jsx(vn,{...r,...n,modal:!0})};Rd.displayName=$d;var Jb="AlertDialogTrigger",Zb=x.forwardRef((e,s)=>{const{__scopeAlertDialog:n,...r}=e,a=Tt(n);return t.jsx(_c,{...a,...r,ref:s})});Zb.displayName=Jb;var e0="AlertDialogPortal",Id=e=>{const{__scopeAlertDialog:s,...n}=e,r=Tt(s);return t.jsx(yn,{...r,...n})};Id.displayName=e0;var t0="AlertDialogOverlay",Fd=x.forwardRef((e,s)=>{const{__scopeAlertDialog:n,...r}=e,a=Tt(n);return t.jsx(ps,{...a,...r,ref:s})});Fd.displayName=t0;var Fs="AlertDialogContent",[s0,n0]=Xb(Fs),r0=Qb("AlertDialogContent"),zd=x.forwardRef((e,s)=>{const{__scopeAlertDialog:n,children:r,...a}=e,o=Tt(n),i=x.useRef(null),l=bi(s,i),d=x.useRef(null);return t.jsx(Mc,{contentName:Fs,titleName:Wd,docsSlug:"alert-dialog",children:t.jsx(s0,{scope:n,cancelRef:d,children:t.jsxs(gs,{role:"alertdialog",...o,...a,ref:l,onOpenAutoFocus:Dc(a.onOpenAutoFocus,c=>{var u;c.preventDefault(),(u=d.current)==null||u.focus({preventScroll:!0})}),onPointerDownOutside:c=>c.preventDefault(),onInteractOutside:c=>c.preventDefault(),children:[t.jsx(r0,{children:r}),t.jsx(o0,{contentRef:i})]})})})});zd.displayName=Fs;var Wd="AlertDialogTitle",qd=x.forwardRef((e,s)=>{const{__scopeAlertDialog:n,...r}=e,a=Tt(n);return t.jsx(Bs,{...a,...r,ref:s})});qd.displayName=Wd;var Bd="AlertDialogDescription",Yd=x.forwardRef((e,s)=>{const{__scopeAlertDialog:n,...r}=e,a=Tt(n);return t.jsx(Ys,{...a,...r,ref:s})});Yd.displayName=Bd;var a0="AlertDialogAction",Ld=x.forwardRef((e,s)=>{const{__scopeAlertDialog:n,...r}=e,a=Tt(n);return t.jsx(Zn,{...a,...r,ref:s})});Ld.displayName=a0;var Hd="AlertDialogCancel",Ud=x.forwardRef((e,s)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:a}=n0(Hd,n),o=Tt(n),i=bi(s,a);return t.jsx(Zn,{...o,...r,ref:i})});Ud.displayName=Hd;var o0=({contentRef:e})=>{const s=`\`${Fs}\` requires a description for the component to be accessible for screen reader users.
461
+
462
+ You can add a description to the \`${Fs}\` by passing a \`${Bd}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
463
+
464
+ Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Fs}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
465
+
466
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return x.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(s)},[s,e]),null},i0=Rd,l0=Id,Kd=Fd,Vd=zd,Gd=Ld,Qd=Ud,Xd=qd,Jd=Yd;const Zd=i0,d0=l0,ec=x.forwardRef(({className:e,...s},n)=>t.jsx(Kd,{className:O("fixed inset-0 z-50 bg-black/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...s,ref:n}));ec.displayName=Kd.displayName;const Ua=x.forwardRef(({className:e,...s},n)=>t.jsxs(d0,{children:[t.jsx(ec,{}),t.jsx(Vd,{ref:n,className:O("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-background border border-border p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 rounded-lg",e),...s})]}));Ua.displayName=Vd.displayName;const Ka=({className:e,...s})=>t.jsx("div",{className:O("flex flex-col space-y-2 text-center sm:text-left",e),...s});Ka.displayName="AlertDialogHeader";const Va=({className:e,...s})=>t.jsx("div",{className:O("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...s});Va.displayName="AlertDialogFooter";const Ga=x.forwardRef(({className:e,...s},n)=>t.jsx(Xd,{ref:n,className:O("text-base font-semibold",e),...s}));Ga.displayName=Xd.displayName;const Qa=x.forwardRef(({className:e,...s},n)=>t.jsx(Jd,{ref:n,className:O("text-sm text-muted-foreground",e),...s}));Qa.displayName=Jd.displayName;const Xa=x.forwardRef(({className:e,...s},n)=>t.jsx(Gd,{ref:n,className:O($s(),e),...s}));Xa.displayName=Gd.displayName;const Ja=x.forwardRef(({className:e,...s},n)=>t.jsx(Qd,{ref:n,className:O($s({variant:"outline"}),"mt-2 sm:mt-0",e),...s}));Ja.displayName=Qd.displayName;function c0({member:e,onRequestRemove:s}){var l;const n=e.user,r=(n==null?void 0:n.first_name)??"",a=(n==null?void 0:n.last_name)??"",o=`${r} ${a}`.trim()||(n==null?void 0:n.email)||"Unknown",i=(r[0]??a[0]??((l=n==null?void 0:n.email)==null?void 0:l[0])??"U").toUpperCase();return t.jsxs("div",{className:"flex items-center gap-4 px-6 py-4 hover:bg-muted/30 transition-colors group",children:[t.jsx(rt,{className:"h-8 w-8 shrink-0",children:t.jsx(at,{className:"text-xs font-medium",children:i})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:o}),(n==null?void 0:n.email)&&t.jsx("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:n.email})]}),t.jsx(Bn,{className:O("shrink-0 text-[11px] border-0 w-20 justify-center",e.role==="manager"?"bg-indigo-100 text-indigo-700 dark:bg-indigo-900/30 dark:text-indigo-400":"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400"),children:e.role}),t.jsx(K,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>s(e.user_id,o),children:t.jsx(Re,{className:"h-3.5 w-3.5"})})]})}function u0({teamEntry:e,onRemove:s}){const n=e.team;return t.jsxs("div",{className:"flex items-center gap-4 px-6 py-4 hover:bg-muted/30 transition-colors group",children:[t.jsx("div",{className:"h-8 w-8 rounded-lg bg-muted flex items-center justify-center shrink-0",children:t.jsx(ms,{className:"h-4 w-4 text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:(n==null?void 0:n.name)??"Unknown team"}),n&&t.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[n.member_count," ",n.member_count===1?"member":"members"]})]}),t.jsx(K,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>s(e.team_id),children:t.jsx(Re,{className:"h-3.5 w-3.5"})})]})}function m0(){const{projectKey:e}=Je(),{workspace:s}=ke(),n=(s==null?void 0:s.id)??"",{data:r}=ys(e??""),a=(r==null?void 0:r.id)??"",{data:o,isLoading:i}=Wl(a),{data:l}=tr(n),{data:d}=ca(n),c=ql(a),u=Bl(a),m=Yl(a),f=Ll(a),[h,g]=x.useState(""),[y,S]=x.useState(""),[b,w]=x.useState(null),k=new Set((o==null?void 0:o.members.map(_=>_.user_id))??[]),j=new Set((o==null?void 0:o.teams.map(_=>_.team_id))??[]),E=(l??[]).filter(_=>!k.has(_.user_id)),p=(d??[]).filter(_=>!j.has(_.id)),C=(o==null?void 0:o.members.length)??0,A=(o==null?void 0:o.teams.length)??0;function D(){b&&u.mutate(b.userId,{onSuccess:()=>{R.success("Access removed"),w(null)},onError:()=>R.error("Failed to remove")})}return t.jsxs("div",{className:"p-2",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden",children:[t.jsxs("div",{className:"flex items-center justify-between px-6 py-3 border-b border-border",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-sm font-semibold",children:"Access"}),t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Manage who has access to this project."})]}),!i&&t.jsxs("p",{className:"text-xs text-muted-foreground shrink-0",children:[C," member",C!==1?"s":""," • ",A," team",A!==1?"s":""]})]}),i?t.jsxs("div",{children:[t.jsx("div",{className:"px-6 py-2 border-b border-border bg-muted/20",children:t.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"People"})}),t.jsx("div",{className:"divide-y divide-border",children:[1,2].map(_=>t.jsxs("div",{className:"flex items-center gap-4 px-6 py-4",children:[t.jsx(te,{className:"h-8 w-8 rounded-full"}),t.jsx(te,{className:"h-4 w-44"}),t.jsx("div",{className:"flex-1"}),t.jsx(te,{className:"h-5 w-20"})]},_))}),t.jsx("div",{className:"px-6 py-2 border-y border-border bg-muted/20",children:t.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Teams"})}),t.jsx("div",{className:"divide-y divide-border",children:[1].map(_=>t.jsxs("div",{className:"flex items-center gap-4 px-6 py-4",children:[t.jsx(te,{className:"h-8 w-8 rounded-lg"}),t.jsx(te,{className:"h-4 w-32"}),t.jsx("div",{className:"flex-1"}),t.jsx(te,{className:"h-4 w-20"})]},_))})]}):t.jsxs("div",{children:[t.jsxs("div",{children:[t.jsxs("div",{className:"px-6 py-2 border-b border-border bg-muted/20 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2",children:[t.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"People"}),E.length>0&&t.jsxs("div",{className:"flex items-center gap-2 w-full sm:w-auto",children:[t.jsxs(we,{value:h,onValueChange:g,children:[t.jsx(ye,{className:"h-8 text-xs w-full sm:w-56",children:t.jsx(Ee,{placeholder:"Add person…"})}),t.jsx(ve,{children:E.map(_=>{const I=_.user,$=(I==null?void 0:I.first_name)??"",F=(I==null?void 0:I.last_name)??"",T=`${$} ${F}`.trim()||(I==null?void 0:I.email)||"Unknown";return t.jsx(de,{value:_.user_id,children:T},_.user_id)})})]}),t.jsxs(K,{size:"sm",className:"h-8 px-3 text-xs shrink-0",disabled:!h||c.isPending,onClick:()=>c.mutate({userId:h},{onSuccess:()=>{R.success("Access granted"),g("")},onError:()=>R.error("Failed to grant access")}),children:[t.jsx(Mn,{className:"h-3.5 w-3.5"}),"Add"]})]})]}),C===0?t.jsx("p",{className:"text-sm text-muted-foreground px-6 py-4",children:"No individual members."}):t.jsx("div",{className:"divide-y divide-border",children:o==null?void 0:o.members.map(_=>t.jsx(c0,{member:_,onRequestRemove:(I,$)=>w({userId:I,displayName:$})},_.id))})]}),t.jsxs("div",{className:"border-t border-border",children:[t.jsxs("div",{className:"px-6 py-2 border-b border-border bg-muted/20 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2",children:[t.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Teams"}),p.length>0&&t.jsxs("div",{className:"flex items-center gap-2 w-full sm:w-auto",children:[t.jsxs(we,{value:y,onValueChange:S,children:[t.jsx(ye,{className:"h-8 text-xs w-full sm:w-56",children:t.jsx(Ee,{placeholder:"Add team…"})}),t.jsx(ve,{children:p.map(_=>t.jsx(de,{value:_.id,children:_.name},_.id))})]}),t.jsxs(K,{size:"sm",className:"h-8 px-3 text-xs shrink-0",disabled:!y||m.isPending,onClick:()=>m.mutate(y,{onSuccess:()=>{R.success("Team access granted"),S("")},onError:()=>R.error("Failed to add team")}),children:[t.jsx(ms,{className:"h-3.5 w-3.5"}),"Add"]})]})]}),A===0?t.jsx("p",{className:"text-sm text-muted-foreground px-6 py-4",children:"No teams have access."}):t.jsx("div",{className:"divide-y divide-border",children:o==null?void 0:o.teams.map(_=>t.jsx(u0,{teamEntry:_,onRemove:I=>f.mutate(I,{onSuccess:()=>R.success("Team access removed"),onError:()=>R.error("Failed to remove team")})},_.id))})]}),C===0&&A===0&&E.length===0&&p.length===0&&t.jsxs("div",{className:"flex flex-col items-center justify-center py-10 text-center border-t border-border",children:[t.jsx("div",{className:"h-10 w-10 rounded-full bg-muted flex items-center justify-center mb-3",children:t.jsx(ms,{className:"h-5 w-5 text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium mb-1",children:"No access entries yet"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Add workspace people or teams first to grant project access."})]})]})]}),t.jsx(Zd,{open:!!b,onOpenChange:_=>{_||w(null)},children:t.jsxs(Ua,{className:"sm:max-w-md",children:[t.jsxs(Ka,{children:[t.jsx(Ga,{children:"Remove member access?"}),t.jsx(Qa,{children:b?`${b.displayName} will lose access to this project.`:"This member will lose access to this project."})]}),t.jsxs(Va,{children:[t.jsx(Ja,{disabled:u.isPending,children:"Cancel"}),t.jsx(Xa,{className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",onClick:_=>{_.preventDefault(),D()},disabled:u.isPending,children:u.isPending?"Removing...":"Remove"})]})]})})]})}function qo(e){if(!e.start_date&&!e.end_date)return null;const s=e.start_date?oe(new Date(e.start_date),"MMM d"):"—",n=e.end_date?oe(new Date(e.end_date),"MMM d"):"—";return`${s} – ${n}`}function Ct({label:e,children:s}){return t.jsxs("div",{className:"flex items-center justify-between gap-3 py-2.5 border-b border-border/60 last:border-0",children:[t.jsx("span",{className:"text-xs text-muted-foreground shrink-0 w-20",children:e}),t.jsx("div",{className:"flex-1 min-w-0",children:s})]})}const f0={backlog:t.jsx(jt,{className:"h-3 w-3 text-zinc-400"}),todo:t.jsx(jt,{className:"h-3 w-3 text-zinc-500",strokeWidth:2.5}),in_progress:t.jsx(Vt,{className:"h-3 w-3 text-indigo-500"}),in_review:t.jsx(kn,{className:"h-3 w-3 text-amber-500"}),done:t.jsx(bs,{className:"h-3 w-3 text-emerald-500"}),cancelled:t.jsx(Xi,{className:"h-3 w-3 text-zinc-400"})},h0={urgent:t.jsx(Dn,{className:"h-3 w-3 text-red-500"}),high:t.jsx(nr,{className:"h-3 w-3 text-orange-500"}),medium:t.jsx(Cn,{className:"h-3 w-3 text-yellow-500"}),low:t.jsx(sr,{className:"h-3 w-3 text-blue-400"})},x0={bug:t.jsx(Vi,{className:"h-3 w-3 text-red-500"}),feature:t.jsx(ol,{className:"h-3 w-3 text-purple-500"}),task:t.jsx(il,{className:"h-3 w-3 text-blue-500"}),chore:t.jsx(ua,{className:"h-3 w-3 text-zinc-500"})};function Yr({value:e,onValueChange:s,options:n,icons:r,placeholder:a}){return t.jsxs(we,{value:e,onValueChange:s,children:[t.jsx(ye,{className:"h-7 text-xs border-0 bg-transparent px-0 gap-1.5 focus:ring-0 hover:bg-accent rounded-md pl-1",children:t.jsxs("div",{className:"flex items-center gap-1.5",children:[r[e]??t.jsx(Qi,{className:"h-3 w-3 text-muted-foreground"}),t.jsx("span",{children:n[e]??a??""})]})}),t.jsx(ve,{children:Object.entries(n).map(([o,i])=>t.jsx(de,{value:o,className:"text-xs",children:t.jsxs("div",{className:"flex items-center gap-2",children:[r[o],i]})},o))})]})}function p0(){const{workspace:e,projectKey:s,issueId:n}=Je(),r=Ve(),[a,o]=x.useState(!1),[i,l]=x.useState(""),[d,c]=x.useState(""),[u,m]=x.useState(!1),{data:f}=ys(s??""),h=(f==null?void 0:f.id)??"",{data:g,isLoading:y}=sd(n??""),S=Pa(n??"",h),{data:b}=Xs(h||void 0),{data:w}=Js(h||void 0),{data:k}=Fn(h||void 0),{data:j}=In(h||void 0),E=(w??[]).filter(T=>T.status!=="completed"),p=g!=null&&g.parent_id?j==null?void 0:j.find(T=>T.id===g.parent_id):null,C=(j==null?void 0:j.filter(T=>T.parent_id===n))??[],A=g!=null&&g.task_list_id?k==null?void 0:k.find(T=>T.id===g.task_list_id):null,D=b&&b.length>0?Object.fromEntries(b.map(T=>[T.key,T.name])):xs,_=b&&b.length>0?Object.fromEntries(b.map(T=>[T.key,T.category==="completed"?t.jsx(bs,{className:"h-3 w-3",style:{color:T.color}}):T.category==="started"?t.jsx(Vt,{className:"h-3 w-3",style:{color:T.color}}):t.jsx(jt,{className:"h-3 w-3",style:{color:T.color}})])):f0;if(x.useEffect(()=>{g&&(l(g.title),c(g.description??"")),o(!1)},[g==null?void 0:g.id]),!s||!n)return null;const I=()=>{i.trim()&&S.mutate({title:i.trim(),description:d.trim()||void 0},{onSuccess:()=>{o(!1),R.success("Issue updated")},onError:()=>R.error("Failed to update issue")})},$=()=>{g&&(l(g.title),c(g.description??"")),o(!1)},F=(T,X)=>{S.mutate(T,{onSuccess:()=>R.success(`${X} updated`),onError:()=>R.error(`Failed to update ${X.toLowerCase()}`)})};return y||!g?t.jsxs("div",{className:"min-h-full bg-[hsl(60_5%_96%)] dark:bg-background",children:[t.jsx("div",{className:"sticky top-0 z-10 h-[57px] bg-white dark:bg-card border-b border-border"}),t.jsx("div",{className:"px-2 py-2",children:t.jsxs("div",{className:"grid grid-cols-[1fr_256px] gap-5",children:[t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl p-6 space-y-4 shadow-sm",children:[t.jsx(te,{className:"h-7 w-3/4"}),t.jsx(te,{className:"h-32 w-full"})]}),t.jsx(te,{className:"h-24 w-full rounded-xl"}),t.jsx(te,{className:"h-48 w-full rounded-xl"})]}),t.jsx(te,{className:"h-[280px] w-full rounded-xl"})]})})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"min-h-full bg-[hsl(60_5%_96%)] dark:bg-background",children:[t.jsxs("div",{className:"sticky top-0 z-10 flex items-center justify-between px-6 h-[57px] bg-white dark:bg-card border-b border-border",children:[t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsxs(K,{variant:"ghost",size:"sm",className:"h-7 gap-1 text-muted-foreground hover:text-foreground px-2",onClick:()=>r(`/${e}/projects/${s}/issues`),children:[t.jsx(fa,{className:"h-3.5 w-3.5"}),(f==null?void 0:f.name)??"Issues"]}),t.jsx("span",{className:"text-border",children:"/"}),t.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:g.identifier}),t.jsx(Bn,{variant:"muted",className:"text-[10px] ml-1",children:Ht[g.type]??g.type})]}),t.jsx("div",{className:"flex items-center gap-2",children:a?t.jsxs(t.Fragment,{children:[t.jsx(K,{variant:"ghost",size:"sm",onClick:$,children:"Discard"}),t.jsx(K,{size:"sm",onClick:I,disabled:!i.trim()||S.isPending,className:"px-4",children:S.isPending?"Saving…":"Save changes"})]}):t.jsxs(K,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-muted-foreground hover:text-foreground",onClick:()=>o(!0),children:[t.jsx(ar,{className:"h-3.5 w-3.5"}),"Edit"]})})]}),t.jsx("div",{className:"px-2 py-2",children:t.jsxs("div",{className:"grid grid-cols-[1fr_256px] gap-5 items-start",children:[t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden shadow-sm",children:[t.jsx("div",{className:"px-6 pt-6 pb-3",children:a?t.jsx("input",{autoFocus:!0,value:i,onChange:T=>l(T.target.value),onKeyDown:T=>{T.key==="Enter"&&T.preventDefault()},className:O("w-full text-xl font-semibold leading-snug text-foreground","bg-transparent border-0 outline-none resize-none","placeholder:text-muted-foreground/40")}):t.jsx("h1",{className:"text-xl font-semibold text-foreground leading-snug",children:g.title})}),t.jsx("div",{className:"flex items-center gap-2 px-6 pb-2",children:t.jsx("span",{className:"text-[11px] font-medium text-muted-foreground/60 uppercase tracking-widest",children:"Description"})}),a?t.jsx(La,{content:d,onChange:c,placeholder:"Add a description…",className:"border-t border-border/50 min-h-[280px]"}):g.description?t.jsx("div",{className:"border-t border-border/50",children:t.jsx(Ha,{html:g.description,className:"px-5 py-4"})}):t.jsx("div",{className:"border-t border-border/50 px-6 py-4",children:t.jsx("p",{className:"text-sm text-muted-foreground/50 italic",children:"No description"})})]}),!g.parent_id&&t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden shadow-sm",children:[t.jsxs("div",{className:"px-5 py-3 border-b border-border/60 flex items-center justify-between",children:[t.jsx("p",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-widest",children:"Child Issues"}),t.jsxs("button",{onClick:()=>m(!0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[t.jsx(ze,{className:"h-3.5 w-3.5"}),"Add child issue"]})]}),C.length===0?t.jsx("div",{className:"px-5 py-4 text-xs text-muted-foreground/50 italic",children:"No child issues yet"}):t.jsx("div",{className:"px-5 py-2 divide-y divide-border/40",children:C.map(T=>t.jsxs("div",{className:"flex items-center gap-2 py-2 text-xs",children:[t.jsx(el,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsx("button",{onClick:()=>r(`/${e}/projects/${s}/issues/${T.id}`),className:"font-mono text-muted-foreground hover:text-foreground transition-colors shrink-0",children:T.identifier}),t.jsx("button",{onClick:()=>r(`/${e}/projects/${s}/issues/${T.id}`),className:"text-foreground hover:text-foreground/70 truncate text-left transition-colors",children:T.title})]},T.id))})]}),t.jsx("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden shadow-sm",children:t.jsx(Ed,{issueId:n})})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl shadow-sm overflow-hidden",children:[t.jsx("div",{className:"px-4 py-3 border-b border-border/60",children:t.jsx("p",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-widest",children:"Properties"})}),t.jsxs("div",{className:"px-4 py-1",children:[t.jsx(Ct,{label:"Status",children:t.jsx(Yr,{value:g.status,onValueChange:T=>F({status:T},"Status"),options:D,icons:_})}),t.jsx(Ct,{label:"Priority",children:t.jsx(Yr,{value:g.priority,onValueChange:T=>F({priority:T},"Priority"),options:Et,icons:h0})}),t.jsx(Ct,{label:"Type",children:t.jsx(Yr,{value:g.type,onValueChange:T=>F({type:T},"Type"),options:Ht,icons:x0})}),t.jsx(Ct,{label:"Assignees",children:t.jsx(zn,{value:g.assignee_ids??[],onChange:T=>F({assignee_ids:T},"Assignees"),disabled:S.isPending})}),t.jsx(Ct,{label:"Sprint",children:t.jsxs(we,{value:g.sprint_id??"none",onValueChange:T=>F({sprint_id:T==="none"?null:T},"Sprint"),children:[t.jsx(ye,{className:"h-7 text-xs border-0 bg-transparent px-0 gap-1.5 focus:ring-0 hover:bg-accent rounded-md pl-1",children:t.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[t.jsx(wt,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),g.sprint_id?(()=>{const T=E.find(q=>q.id===g.sprint_id)??(w==null?void 0:w.find(q=>q.id===g.sprint_id));if(!T)return t.jsxs("span",{className:"truncate",children:[g.sprint_id.slice(0,8),"…"]});const X=qo(T);return t.jsxs("span",{className:"truncate",children:[T.name,X&&t.jsxs("span",{className:"text-muted-foreground ml-1",children:["· ",X]})]})})():t.jsx("span",{className:"text-muted-foreground",children:"No sprint"})]})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",className:"text-xs text-muted-foreground",children:"No sprint"}),E.map(T=>{const X=qo(T);return t.jsx(de,{value:T.id,className:"text-xs",children:t.jsxs("div",{className:"flex items-baseline gap-1.5",children:[t.jsx("span",{children:T.name}),X&&t.jsx("span",{className:"text-[10px] text-muted-foreground font-normal",children:X})]})},T.id)})]})]})}),(k??[]).length>0&&t.jsx(Ct,{label:"List",children:t.jsxs(we,{value:g.task_list_id??"none",onValueChange:T=>F({task_list_id:T==="none"?null:T},"List"),children:[t.jsx(ye,{className:"h-7 text-xs border-0 bg-transparent px-0 gap-1.5 focus:ring-0 hover:bg-accent rounded-md pl-1",children:t.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[t.jsx(ga,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:A?"truncate":"text-muted-foreground",children:(A==null?void 0:A.name)??"No list"})]})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",className:"text-xs text-muted-foreground",children:"No list"}),(k??[]).map(T=>t.jsx(de,{value:T.id,className:"text-xs",children:T.name},T.id))]})]})}),t.jsx(Ct,{label:"Start Date",children:t.jsxs(Ue,{children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{className:"flex items-center gap-1.5 h-7 px-1 rounded text-xs bg-transparent hover:bg-accent transition-colors focus:outline-none w-full text-left",children:[t.jsx(ft,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:g.start_date?"text-foreground":"text-muted-foreground",children:g.start_date?oe(new Date(g.start_date),"MMM d, yyyy"):"No start date"})]})}),t.jsxs(He,{className:"w-auto p-0",align:"start",children:[t.jsx(ot,{mode:"single",selected:g.start_date?new Date(g.start_date):void 0,onSelect:T=>F({start_date:T?oe(T,"yyyy-MM-dd"):null},"Start date"),initialFocus:!0}),g.start_date&&t.jsx("div",{className:"border-t px-3 py-2",children:t.jsxs("button",{onClick:()=>F({start_date:null},"Start date"),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-destructive transition-colors",children:[t.jsx(Re,{className:"h-3 w-3"}),"Clear date"]})})]})]})}),t.jsx(Ct,{label:"Due Date",children:t.jsxs(Ue,{children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{className:"flex items-center gap-1.5 h-7 px-1 rounded text-xs bg-transparent hover:bg-accent transition-colors focus:outline-none w-full text-left",children:[t.jsx(ft,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:g.due_date?"text-foreground":"text-muted-foreground",children:g.due_date?oe(new Date(g.due_date),"MMM d, yyyy"):"No due date"})]})}),t.jsxs(He,{className:"w-auto p-0",align:"start",children:[t.jsx(ot,{mode:"single",selected:g.due_date?new Date(g.due_date):void 0,onSelect:T=>F({due_date:T?oe(T,"yyyy-MM-dd"):null},"Due date"),initialFocus:!0}),g.due_date&&t.jsx("div",{className:"border-t px-3 py-2",children:t.jsxs("button",{onClick:()=>F({due_date:null},"Due date"),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-destructive transition-colors",children:[t.jsx(Re,{className:"h-3 w-3"}),"Clear date"]})})]})]})}),p&&t.jsx(Ct,{label:"Parent",children:t.jsxs("button",{onClick:()=>r(`/${e}/projects/${s}/issues/${p.id}`),className:"flex items-center gap-1.5 text-xs hover:text-foreground transition-colors text-left w-full min-w-0",children:[t.jsx(ha,{className:"h-3 w-3 text-muted-foreground shrink-0"}),t.jsx("span",{className:"font-mono text-muted-foreground shrink-0",children:p.identifier}),t.jsx("span",{className:"text-foreground truncate",children:p.title})]})})]})]}),t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl shadow-sm overflow-hidden",children:[t.jsx("div",{className:"px-4 py-3 border-b border-border/60",children:t.jsx("p",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-widest",children:"Details"})}),t.jsxs("div",{className:"px-4 pt-3 pb-4 space-y-2.5",children:[t.jsxs("div",{className:"flex items-center justify-between text-xs",children:[t.jsx("span",{className:"text-muted-foreground",children:"Created"}),t.jsx("span",{className:"text-foreground",children:oe(new Date(g.created_at),"MMM d, yyyy")})]}),t.jsxs("div",{className:"flex items-center justify-between text-xs",children:[t.jsx("span",{className:"text-muted-foreground",children:"Updated"}),t.jsx("span",{className:"text-foreground",children:oe(new Date(g.updated_at),"MMM d, yyyy")})]})]})]})]})]})})]}),t.jsx(gr,{open:u,onClose:()=>m(!1),projectId:h,defaultParentId:n,defaultTaskListId:g.task_list_id})]})}function qt({label:e,children:s}){return t.jsxs("div",{className:"flex items-center justify-between gap-3 py-2.5 border-b border-border/60 last:border-0",children:[t.jsx("span",{className:"text-xs text-muted-foreground shrink-0 w-20",children:e}),t.jsx("div",{className:"flex-1 min-w-0",children:s})]})}const g0={backlog:t.jsx(jt,{className:"h-3 w-3 text-zinc-400"}),todo:t.jsx(jt,{className:"h-3 w-3 text-zinc-500",strokeWidth:2.5}),in_progress:t.jsx(Vt,{className:"h-3 w-3 text-indigo-500"}),in_review:t.jsx(kn,{className:"h-3 w-3 text-amber-500"}),done:t.jsx(bs,{className:"h-3 w-3 text-emerald-500"}),cancelled:t.jsx(Xi,{className:"h-3 w-3 text-zinc-400"})},b0={urgent:t.jsx(Dn,{className:"h-3 w-3 text-red-500"}),high:t.jsx(nr,{className:"h-3 w-3 text-orange-500"}),medium:t.jsx(Cn,{className:"h-3 w-3 text-yellow-500"}),low:t.jsx(sr,{className:"h-3 w-3 text-blue-400"})},y0={bug:t.jsx(Vi,{className:"h-3 w-3 text-red-500"}),feature:t.jsx(ol,{className:"h-3 w-3 text-purple-500"}),task:t.jsx(il,{className:"h-3 w-3 text-blue-500"}),chore:t.jsx(ua,{className:"h-3 w-3 text-zinc-500"})};function Lr({value:e,onValueChange:s,options:n,icons:r,placeholder:a}){return t.jsxs(we,{value:e,onValueChange:s,children:[t.jsx(ye,{className:"h-7 text-xs border-0 bg-transparent px-0 gap-1.5 focus:ring-0 hover:bg-accent rounded-md pl-1",children:t.jsxs("div",{className:"flex items-center gap-1.5",children:[r[e]??t.jsx(Qi,{className:"h-3 w-3 text-muted-foreground"}),t.jsx("span",{children:n[e]??a??""})]})}),t.jsx(ve,{children:Object.entries(n).map(([o,i])=>t.jsx(de,{value:o,className:"text-xs",children:t.jsxs("div",{className:"flex items-center gap-2",children:[r[o],i]})},o))})]})}function v0(e){if(!e.start_date&&!e.end_date)return null;const s=e.start_date?oe(new Date(e.start_date),"MMM d"):"—",n=e.end_date?oe(new Date(e.end_date),"MMM d"):"—";return`${s} – ${n}`}function j0(){const{workspace:e,projectKey:s}=Je(),n=Ve(),{workspace:r}=ke(),[a,o]=x.useState(""),[i,l]=x.useState(""),[d,c]=x.useState("backlog"),[u,m]=x.useState("medium"),[f,h]=x.useState("task"),[g,y]=x.useState([]),[S,b]=x.useState(""),[w,k]=x.useState(""),[j,E]=x.useState(void 0),[p,C]=x.useState(void 0),{data:A}=ys(s??""),D=(A==null?void 0:A.id)??"",_=nd(),{data:I}=Xs(D||void 0),{data:$}=Js(D||void 0),{data:F}=Fn(D||void 0),T=($??[]).filter(W=>W.status!=="completed"),X=I&&I.length>0?Object.fromEntries(I.map(W=>[W.key,W.name])):xs,q=I&&I.length>0?Object.fromEntries(I.map(W=>[W.key,W.category==="completed"?t.jsx(bs,{className:"h-3 w-3",style:{color:W.color}}):W.category==="started"?t.jsx(Vt,{className:"h-3 w-3",style:{color:W.color}}):t.jsx(jt,{className:"h-3 w-3",style:{color:W.color}})])):g0;if(!s||!D)return null;const V=()=>{if(!a.trim()){R.error("Title is required");return}_.mutate({title:a.trim(),description:i||void 0,status:d,priority:u,type:f,project_id:D,workspace_id:r.id,assignee_ids:g.length>0?g:void 0,sprint_id:S||null,task_list_id:w||null,start_date:j?oe(j,"yyyy-MM-dd"):null,due_date:p?oe(p,"yyyy-MM-dd"):null},{onSuccess:W=>{R.success("Issue created"),n(`/${e}/projects/${s}/issues/${W.issue.id}`,{replace:!0})},onError:W=>R.error(W.message??"Failed to create issue")})};return t.jsxs("div",{className:"min-h-full bg-[hsl(60_5%_96%)] dark:bg-background",children:[t.jsxs("div",{className:"sticky top-0 z-10 flex items-center justify-between px-6 h-[57px] bg-white dark:bg-card border-b border-border",children:[t.jsxs(K,{variant:"ghost",size:"sm",className:"h-7 gap-1 text-muted-foreground hover:text-foreground px-2",onClick:()=>n(`/${e}/projects/${s}/issues`),children:[t.jsx(fa,{className:"h-3.5 w-3.5"}),(A==null?void 0:A.name)??"Issues"]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(K,{variant:"ghost",size:"sm",onClick:()=>n(`/${e}/projects/${s}/issues`),children:"Discard"}),t.jsx(K,{size:"sm",onClick:V,disabled:!a.trim()||_.isPending,className:"px-4",children:_.isPending?"Creating…":"Create issue"})]})]}),t.jsx("div",{className:"px-2 py-2",children:t.jsxs("div",{className:"grid grid-cols-[1fr_256px] gap-5 items-start",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden shadow-sm",children:[t.jsx("div",{className:"px-6 pt-6 pb-3",children:t.jsx("input",{autoFocus:!0,value:a,onChange:W=>o(W.target.value),onKeyDown:W=>{W.key==="Enter"&&W.preventDefault()},placeholder:"Issue title…",className:O("w-full text-xl font-semibold leading-snug text-foreground","bg-transparent border-0 outline-none resize-none","placeholder:text-muted-foreground/40")})}),t.jsx("div",{className:"flex items-center gap-2 px-6 pb-2",children:t.jsx("span",{className:"text-[11px] font-medium text-muted-foreground/60 uppercase tracking-widest",children:"Description"})}),t.jsx(La,{content:"",onChange:l,placeholder:"Add steps to reproduce, acceptance criteria, or context…",className:"border-t border-border/50 min-h-[320px]"})]}),t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl shadow-sm overflow-hidden",children:[t.jsx("div",{className:"px-4 py-3 border-b border-border/60",children:t.jsx("p",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-widest",children:"Properties"})}),t.jsxs("div",{className:"px-4 py-1",children:[t.jsx(qt,{label:"Status",children:t.jsx(Lr,{value:d,onValueChange:c,options:X,icons:q})}),t.jsx(qt,{label:"Priority",children:t.jsx(Lr,{value:u,onValueChange:m,options:Et,icons:b0})}),t.jsx(qt,{label:"Type",children:t.jsx(Lr,{value:f,onValueChange:h,options:Ht,icons:y0})}),t.jsx(qt,{label:"Assignees",children:t.jsx(zn,{value:g,onChange:y})}),T.length>0&&t.jsx(qt,{label:"Sprint",children:t.jsxs(we,{value:S||"none",onValueChange:W=>b(W==="none"?"":W),children:[t.jsx(ye,{className:"h-7 text-xs border-0 bg-transparent px-0 gap-1.5 focus:ring-0 hover:bg-accent rounded-md pl-1",children:t.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[t.jsx(wt,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx(Ee,{placeholder:"No sprint"})]})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",className:"text-xs text-muted-foreground",children:"No sprint"}),T.map(W=>{const z=v0(W);return t.jsx(de,{value:W.id,className:"text-xs",children:t.jsxs("div",{className:"flex items-baseline gap-1.5",children:[t.jsx("span",{children:W.name}),z&&t.jsx("span",{className:"text-[10px] text-muted-foreground font-normal",children:z})]})},W.id)})]})]})}),(F??[]).length>0&&t.jsx(qt,{label:"List",children:t.jsxs(we,{value:w||"none",onValueChange:W=>k(W==="none"?"":W),children:[t.jsx(ye,{className:"h-7 text-xs border-0 bg-transparent px-0 gap-1.5 focus:ring-0 hover:bg-accent rounded-md pl-1",children:t.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[t.jsx(ga,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx(Ee,{placeholder:"No list"})]})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",className:"text-xs text-muted-foreground",children:"No list"}),(F??[]).map(W=>t.jsx(de,{value:W.id,className:"text-xs",children:W.name},W.id))]})]})}),t.jsx(qt,{label:"Start Date",children:t.jsxs(Ue,{children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{type:"button",className:"flex items-center gap-1.5 h-7 px-1 rounded text-xs bg-transparent hover:bg-accent transition-colors focus:outline-none w-full text-left",children:[t.jsx(ft,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:j?"text-foreground":"text-muted-foreground",children:j?oe(j,"MMM d, yyyy"):"No start date"}),j&&t.jsx("button",{type:"button",onClick:W=>{W.stopPropagation(),E(void 0)},className:"ml-auto text-muted-foreground hover:text-foreground transition-colors",children:t.jsx(Re,{className:"h-3 w-3"})})]})}),t.jsx(He,{className:"w-auto p-0",align:"start",children:t.jsx(ot,{mode:"single",selected:j,onSelect:E,initialFocus:!0})})]})}),t.jsx(qt,{label:"Due Date",children:t.jsxs(Ue,{children:[t.jsx(Ke,{asChild:!0,children:t.jsxs("button",{type:"button",className:"flex items-center gap-1.5 h-7 px-1 rounded text-xs bg-transparent hover:bg-accent transition-colors focus:outline-none w-full text-left",children:[t.jsx(ft,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:p?"text-foreground":"text-muted-foreground",children:p?oe(p,"MMM d, yyyy"):"No due date"}),p&&t.jsx("button",{type:"button",onClick:W=>{W.stopPropagation(),C(void 0)},className:"ml-auto text-muted-foreground hover:text-foreground transition-colors",children:t.jsx(Re,{className:"h-3 w-3"})})]})}),t.jsx(He,{className:"w-auto p-0",align:"start",children:t.jsx(ot,{mode:"single",selected:p,onSelect:C,initialFocus:!0})})]})})]}),t.jsx("div",{className:"px-4 pt-2 pb-3 mt-1 border-t border-border/60",children:t.jsxs("p",{className:"text-[11px] text-muted-foreground/50 leading-relaxed",children:["Press ",t.jsx("kbd",{className:"px-1 py-0.5 rounded border border-border bg-muted font-mono text-[10px]",children:"⌘ Enter"})," to submit"]})})]})]})})]})}function w0(){const{data:e,isLoading:s}=qf(),n=Yf(),r=Lf(),a=(e==null?void 0:e.filter(o=>!o.read).length)??0;return t.jsxs("div",{className:"p-6 max-w-[800px]",children:[t.jsxs("div",{className:"flex items-center justify-between mb-6",children:[t.jsx("h1",{className:"text-xl font-semibold",children:"Notifications"}),a>0&&t.jsxs(K,{variant:"outline",size:"sm",onClick:()=>r.mutate(void 0,{onSuccess:()=>R.success("All marked as read"),onError:()=>R.error("Failed")}),disabled:r.isPending,children:[t.jsx(Dm,{className:"h-4 w-4"}),"Mark all read"]})]}),t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden",children:[s?t.jsx("div",{className:"divide-y divide-border",children:[1,2,3,4].map(o=>t.jsxs("div",{className:"flex items-start gap-4 px-6 py-4",children:[t.jsx(te,{className:"h-4 w-4 rounded-full mt-0.5 shrink-0"}),t.jsxs("div",{className:"flex-1 space-y-2",children:[t.jsx(te,{className:"h-4 w-3/4"}),t.jsx(te,{className:"h-3 w-24"})]})]},o))}):e!=null&&e.length?t.jsx("div",{className:"divide-y divide-border",children:e.map(o=>t.jsxs("div",{className:O("flex items-start gap-4 px-6 py-4 transition-colors",!o.read&&"bg-[#eff6ff] dark:bg-[hsl(var(--indigo-subtle))]","hover:bg-[#f9fafb] dark:hover:bg-muted/30"),children:[t.jsx("div",{className:"mt-1.5 shrink-0 w-4 flex justify-center",children:!o.read&&t.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-indigo"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:O("text-sm",!o.read&&"font-medium"),children:o.message}),t.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[t.jsx("span",{className:"text-[11px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded",children:o.entity_type}),t.jsx("span",{className:"text-[11px] text-muted-foreground",children:oe(new Date(o.created_at),"MMM d, h:mm a")})]})]}),!o.read&&t.jsx(K,{variant:"ghost",size:"sm",className:"shrink-0 h-7 text-xs text-muted-foreground",onClick:()=>n.mutate(o.id,{onError:()=>R.error("Failed")}),children:"Mark read"})]},o.id))}):t.jsxs("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[t.jsx("div",{className:"h-10 w-10 rounded-full bg-muted flex items-center justify-center mb-3",children:t.jsx(wn,{className:"h-5 w-5 text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium mb-1",children:"No notifications"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"You're all caught up."})]}),!s&&e&&e.length>0&&t.jsx("div",{className:"px-6 py-3 border-t border-border",children:t.jsxs("span",{className:"text-xs text-muted-foreground",children:[e.length," notification",e.length!==1?"s":"",a>0?` · ${a} unread`:""]})})]})]})}function N0({open:e,onClose:s,projectId:n}){const[r,a]=x.useState(""),[o,i]=x.useState(""),[l,d]=x.useState(),[c,u]=x.useState(),[m,f]=x.useState(!1),[h,g]=x.useState(!1),y=Yp(n);function S(){a(""),i(""),d(void 0),u(void 0),s()}async function b(w){w.preventDefault(),r.trim()&&y.mutate({name:r.trim(),goal:o.trim()||void 0,start_date:l?oe(l,"yyyy-MM-dd"):null,end_date:c?oe(c,"yyyy-MM-dd"):null},{onSuccess:()=>{R.success("Sprint created"),S()},onError:()=>R.error("Failed to create sprint")})}return t.jsx(ws,{open:e,onOpenChange:w=>!w&&S(),children:t.jsxs(Ns,{className:"sm:max-w-md",children:[t.jsx(Ks,{children:t.jsx(Gs,{children:"New Sprint"})}),t.jsxs("form",{onSubmit:b,className:"flex flex-col flex-1 overflow-hidden",children:[t.jsxs(Vs,{className:"space-y-4 py-1",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{htmlFor:"sprint-name",children:["Name ",t.jsx("span",{className:"text-destructive",children:"*"})]}),t.jsx(xe,{id:"sprint-name",placeholder:"e.g. Sprint 1",value:r,onChange:w=>a(w.target.value),autoFocus:!0})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs(We,{htmlFor:"sprint-goal",children:["Goal ",t.jsx("span",{className:"text-muted-foreground text-xs",children:"(optional)"})]}),t.jsx(fr,{id:"sprint-goal",placeholder:"What do you want to achieve in this sprint?",value:o,onChange:w=>i(w.target.value),className:"resize-none text-sm",rows:2})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsx(We,{children:"Start Date"}),t.jsxs(Ue,{open:m,onOpenChange:f,children:[t.jsx(Ke,{asChild:!0,children:t.jsxs(K,{variant:"outline",className:O("w-full justify-start text-left font-normal text-sm h-9",!l&&"text-muted-foreground"),children:[t.jsx(ft,{className:"mr-2 h-3.5 w-3.5 shrink-0"}),l?oe(l,"MMM d, yyyy"):"Pick date"]})}),t.jsx(He,{className:"w-auto p-0",align:"start",children:t.jsx(ot,{mode:"single",selected:l,onSelect:w=>{d(w),f(!1)},disabled:w=>c?w>c:!1,initialFocus:!0})})]})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsx(We,{children:"End Date"}),t.jsxs(Ue,{open:h,onOpenChange:g,children:[t.jsx(Ke,{asChild:!0,children:t.jsxs(K,{variant:"outline",className:O("w-full justify-start text-left font-normal text-sm h-9",!c&&"text-muted-foreground"),children:[t.jsx(ft,{className:"mr-2 h-3.5 w-3.5 shrink-0"}),c?oe(c,"MMM d, yyyy"):"Pick date"]})}),t.jsx(He,{className:"w-auto p-0",align:"start",children:t.jsx(ot,{mode:"single",selected:c,onSelect:w=>{u(w),g(!1)},disabled:w=>l?w<l:!1,initialFocus:!0})})]})]})]})]}),t.jsxs(An,{children:[t.jsx(K,{type:"button",variant:"ghost",onClick:S,children:"Cancel"}),t.jsx(K,{type:"submit",disabled:!r.trim()||y.isPending,children:y.isPending?"Creating…":"Create Sprint"})]})]})]})})}const k0={active:{label:"Active",icon:or,badge:"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",section:"Active Sprint"},planned:{label:"Planned",icon:Vt,badge:"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400",section:"Planned"},completed:{label:"Completed",icon:bs,badge:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",section:"Completed"}};function S0({sprint:e,projectId:s,issueCount:n}){const r=Lp(e.id,s),a=Hp(s),o=k0[e.status],i=o.icon;function l(){r.mutate({status:"active"},{onSuccess:()=>R.success(`"${e.name}" started`),onError:()=>R.error("Failed to start sprint")})}function d(){r.mutate({status:"completed"},{onSuccess:()=>R.success(`"${e.name}" completed`),onError:f=>R.error((f==null?void 0:f.message)??"Failed to complete sprint")})}function c(){confirm(`Delete sprint "${e.name}"? This cannot be undone.`)&&a.mutate(e.id,{onSuccess:()=>R.success("Sprint deleted"),onError:()=>R.error("Failed to delete sprint")})}const u=!!e.start_date,m=!!e.end_date;return t.jsxs("div",{className:"flex items-center gap-4 px-6 py-4 hover:bg-muted/30 transition-colors group",children:[t.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[t.jsx("div",{className:O("flex h-7 w-7 items-center justify-center rounded-full shrink-0",e.status==="active"?"bg-emerald-100 dark:bg-emerald-900/30":e.status==="completed"?"bg-blue-100 dark:bg-blue-900/30":"bg-zinc-100 dark:bg-zinc-800"),children:t.jsx(i,{className:O("h-3.5 w-3.5",e.status==="active"?"text-emerald-600 dark:text-emerald-400":e.status==="completed"?"text-blue-600 dark:text-blue-400":"text-zinc-500")})}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:e.name}),e.goal&&t.jsxs("p",{className:"text-xs text-muted-foreground truncate mt-0.5 flex items-center gap-1",children:[t.jsx(Xm,{className:"h-3 w-3 shrink-0"}),e.goal]})]})]}),t.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground shrink-0 w-52",children:[t.jsx(ma,{className:"h-3.5 w-3.5 shrink-0"}),u||m?t.jsxs("span",{children:[u?oe(new Date(e.start_date),"MMM d"):"—"," → ",m?oe(new Date(e.end_date),"MMM d, yyyy"):"—"]}):t.jsx("span",{className:"italic",children:"No dates set"})]}),t.jsxs("div",{className:"text-xs text-muted-foreground shrink-0 w-20 text-right",children:[n," issue",n!==1?"s":""]}),t.jsx(Bn,{className:O("shrink-0 text-[11px] border-0 w-20 justify-center",o.badge),children:o.label}),t.jsxs("div",{className:"flex items-center gap-1.5 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.status==="planned"&&t.jsxs(K,{size:"sm",variant:"outline",className:"h-7 text-xs gap-1",onClick:l,disabled:r.isPending,children:[t.jsx(or,{className:"h-3 w-3"}),"Start"]}),e.status==="active"&&t.jsxs(K,{size:"sm",variant:"outline",className:"h-7 text-xs gap-1",onClick:d,disabled:r.isPending,children:[t.jsx(bs,{className:"h-3 w-3"}),"Complete"]}),t.jsx(K,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive",onClick:c,disabled:a.isPending,children:t.jsx(Gt,{className:"h-3.5 w-3.5"})})]})]})}function C0(){const{projectKey:e}=Je(),[s,n]=x.useState(!1),{data:r}=ys(e??""),a=(r==null?void 0:r.id)??"",{data:o,isLoading:i}=Js(a||void 0),{data:l}=In(a||void 0),d=(l??[]).reduce((m,f)=>(f.sprint_id&&(m[f.sprint_id]=(m[f.sprint_id]??0)+1),m),{}),c={active:(o??[]).filter(m=>m.status==="active"),planned:(o??[]).filter(m=>m.status==="planned"),completed:(o??[]).filter(m=>m.status==="completed")},u=[{key:"active",label:"Active Sprint",items:c.active},{key:"planned",label:"Planned",items:c.planned},{key:"completed",label:"Completed",items:c.completed}];return t.jsxs("div",{className:"p-2",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden",children:[t.jsx("div",{className:"flex items-center justify-end px-6 py-3 border-b border-border",children:t.jsxs(K,{size:"sm",onClick:()=>n(!0),children:[t.jsx(ze,{className:"h-4 w-4"}),"New Sprint"]})}),i?t.jsx("div",{className:"divide-y divide-border",children:[1,2,3].map(m=>t.jsxs("div",{className:"flex items-center gap-4 px-6 py-4",children:[t.jsx(te,{className:"h-7 w-7 rounded-full"}),t.jsx(te,{className:"h-4 w-40"}),t.jsx("div",{className:"flex-1"}),t.jsx(te,{className:"h-4 w-32"}),t.jsx(te,{className:"h-5 w-20"})]},m))}):(o??[]).length===0?t.jsxs("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[t.jsx("div",{className:"h-10 w-10 rounded-full bg-muted flex items-center justify-center mb-3",children:t.jsx(ma,{className:"h-5 w-5 text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium mb-1",children:"No sprints yet"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Create a sprint to start planning your work in time-boxed iterations."}),t.jsxs(K,{size:"sm",onClick:()=>n(!0),children:[t.jsx(ze,{className:"h-4 w-4"}),"New Sprint"]})]}):t.jsx("div",{children:u.map(({key:m,label:f,items:h})=>h.length===0?null:t.jsxs("div",{children:[t.jsx("div",{className:"px-6 py-2 border-b border-border bg-muted/20",children:t.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:f})}),t.jsx("div",{className:"divide-y divide-border",children:h.map(g=>t.jsx(S0,{sprint:g,projectId:a,issueCount:d[g.id]??0},g.id))})]},m))})]}),t.jsx(N0,{open:s,onClose:()=>n(!1),projectId:a})]})}const qs={all:["roles"],list:()=>[...qs.all,"list"],detail:e=>[...qs.all,e]};function Za(){return Ne({queryKey:qs.list(),queryFn:()=>J.get("/admin/roles"),select:e=>e.roles,staleTime:1e3*60*2})}function M0(){const e=me();return ce({mutationFn:s=>J.post("/admin/roles",s),onSuccess:()=>{e.invalidateQueries({queryKey:qs.list()})}})}function D0(e){const s=me();return ce({mutationFn:n=>J.put(`/admin/roles/${e}`,n),onSuccess:()=>{s.invalidateQueries({queryKey:qs.list()})}})}function _0(){const e=me();return ce({mutationFn:s=>J.delete(`/admin/roles/${s}`),onSuccess:()=>{e.invalidateQueries({queryKey:qs.list()})}})}function E0(){const e=me();return ce({mutationFn:({userId:s,appRoleId:n})=>J.patch(`/admin/users/${s}/role`,{app_role_id:n}),onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]})}})}const Xn=[{group:"Members & Invitations",permissions:[{key:"member:invite",label:"Invite members"},{key:"member:remove",label:"Remove members"},{key:"member:update_role",label:"Change member roles"}]},{group:"Workspaces",permissions:[{key:"workspace:create",label:"Create workspaces"},{key:"workspace:update",label:"Update workspace settings"},{key:"workspace:delete",label:"Delete workspaces"}]},{group:"Projects",permissions:[{key:"project:create",label:"Create projects"},{key:"project:update",label:"Update project settings"},{key:"project:delete",label:"Delete projects"},{key:"project:archive",label:"Archive projects"},{key:"project:manage_access",label:"Manage project access"}]},{group:"Issues",permissions:[{key:"issue:create",label:"Create issues"},{key:"issue:update",label:"Update issues"},{key:"issue:delete",label:"Delete issues"},{key:"issue:assign",label:"Assign issues"},{key:"issue:update_status",label:"Update issue status"}]},{group:"Sprints",permissions:[{key:"sprint:create",label:"Create sprints"},{key:"sprint:start",label:"Start sprints"},{key:"sprint:complete",label:"Complete sprints"},{key:"sprint:delete",label:"Delete sprints"}]},{group:"Teams",permissions:[{key:"team:create",label:"Create teams"},{key:"team:update",label:"Update teams"},{key:"team:delete",label:"Delete teams"},{key:"team:manage_members",label:"Manage team members"}]},{group:"Roles",permissions:[{key:"role:create",label:"Create roles"},{key:"role:update",label:"Update roles"},{key:"role:delete",label:"Delete roles"},{key:"role:assign",label:"Assign roles to users"}]}];function eo({value:e,className:s}){const[n,r]=x.useState(!1),a=()=>{navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),1500)};return t.jsx("button",{onClick:a,className:O("text-muted-foreground hover:text-foreground transition-colors",s),title:"Copy",children:n?t.jsx(ut,{className:"h-3.5 w-3.5 text-emerald-500"}):t.jsx(Em,{className:"h-3.5 w-3.5"})})}function O0({open:e,onClose:s,workspaceId:n}){var g;const[r,a]=x.useState(""),[o,i]=x.useState("__admin"),[l,d]=x.useState(null),c=dm(n),{data:u}=Za();x.useEffect(()=>{e&&(a(""),d(null),i(u&&u.length>0?u[0].id:"__admin"))},[e,u]);const m=l?`${window.location.origin}/invite/${l.token}`:null,f=o==="__admin"?"Admin":((g=u==null?void 0:u.find(y=>y.id===o))==null?void 0:g.name)??"Member",h=y=>{y.preventDefault();const S=o==="__admin";c.mutate({email:r.trim()||void 0,role:S?"admin":"member",app_role_id:S?null:o},{onSuccess:b=>{d(b.invitation),R.success("Invitation created")},onError:b=>R.error(b.message||"Failed to create invitation")})};return t.jsx(cr,{open:e,onOpenChange:y=>!y&&s(),children:t.jsxs(Tn,{className:"sm:max-w-[520px]",children:[t.jsx(ur,{children:t.jsx(mr,{children:"Invite member"})}),m?t.jsxs("div",{className:"space-y-4 pt-1",children:[t.jsxs("p",{className:"text-sm text-muted-foreground",children:["Share this link with"," ",l!=null&&l.email?t.jsx("span",{className:"font-medium text-foreground",children:l.email}):"anyone you want to invite",". They will join as"," ",t.jsx("span",{className:"font-medium text-foreground",children:f}),"."]}),t.jsxs("div",{className:"flex items-start gap-2 p-3 bg-muted/50 rounded-lg border border-border",children:[t.jsx(ba,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0 mt-0.5"}),t.jsx("span",{className:"text-xs font-mono text-foreground flex-1 min-w-0 break-all",children:m}),t.jsx(eo,{value:m,className:"shrink-0"})]}),t.jsxs("div",{className:"flex items-center justify-between pt-1",children:[t.jsx("button",{className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>d(null),children:"Create another"}),t.jsx(K,{size:"sm",onClick:s,children:"Done"})]})]}):t.jsxs("form",{onSubmit:h,className:"space-y-4 pt-1",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs("label",{className:"text-xs font-medium text-muted-foreground",children:["Email ",t.jsx("span",{className:"font-normal",children:"(optional)"})]}),t.jsx(xe,{type:"email",placeholder:"colleague@example.com",value:r,onChange:y=>a(y.target.value),className:"h-9",autoFocus:!0}),t.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Leave blank to generate a shareable link."})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:"Role"}),t.jsxs(we,{value:o,onValueChange:i,children:[t.jsx(ye,{className:"h-9",children:t.jsx(Ee,{})}),t.jsxs(ve,{children:[t.jsx(de,{value:"__admin",children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(ja,{className:"h-3.5 w-3.5 text-muted-foreground"}),t.jsx("span",{children:"Admin"}),t.jsx("span",{className:"text-xs text-muted-foreground ml-1",children:"— Full workspace access"})]})}),u&&u.length>0&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"px-2 pt-2 pb-1",children:t.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground uppercase tracking-wide",children:"Roles"})}),u.map(y=>t.jsx(de,{value:y.id,children:y.name},y.id))]})]})]})]}),t.jsxs("div",{className:"flex justify-end gap-2 pt-1",children:[t.jsx(K,{type:"button",variant:"outline",size:"sm",onClick:s,children:"Cancel"}),t.jsx(K,{type:"submit",size:"sm",disabled:c.isPending,children:c.isPending?"Creating…":"Create invitation"})]})]})]})})}function T0({invitation:e,workspaceId:s}){const n=cm(s),r=`${window.location.origin}/invite/${e.token}`;return t.jsxs("div",{className:"flex items-center gap-3 px-6 py-3.5 hover:bg-[#f9fafb] dark:hover:bg-muted/30 transition-colors group",children:[t.jsx("div",{className:"h-7 w-7 rounded-full bg-muted flex items-center justify-center shrink-0",children:t.jsx(ba,{className:"h-3.5 w-3.5 text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:e.email??"Shareable link"}),t.jsx("span",{className:O("inline-flex items-center text-[11px] px-1.5 py-0.5 rounded font-medium",e.role==="admin"?"bg-indigo/10 text-indigo":"bg-muted text-muted-foreground"),children:e.role==="admin"?"Admin":"Member"})]}),t.jsxs("div",{className:"flex items-center gap-2 mt-0.5",children:[t.jsx("span",{className:"text-xs font-mono text-muted-foreground truncate max-w-[280px]",children:r}),t.jsx(eo,{value:r})]})]}),t.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[t.jsx("span",{className:"text-xs text-muted-foreground hidden sm:block",children:oe(new Date(e.created_at),"MMM d")}),t.jsx("button",{onClick:()=>n.mutate(e.id,{onSuccess:()=>R.success("Invitation revoked"),onError:()=>R.error("Failed to revoke")}),disabled:n.isPending,className:"opacity-0 group-hover:opacity-100 transition-opacity text-muted-foreground hover:text-destructive disabled:opacity-50",title:"Revoke invitation",children:t.jsx(Re,{className:"h-3.5 w-3.5"})})]})]})}function P0({workspaceId:e}){const{workspace:s,setWorkspace:n}=ke(),{data:r,isLoading:a}=er(),o=r==null?void 0:r.find(m=>m.id===(s==null?void 0:s.id)),i=im(e),[l,d]=x.useState("");x.useEffect(()=>{o&&d(o.name)},[o==null?void 0:o.name]);const c=o?l.trim()!==o.name:!1,u=()=>{!l.trim()||!o||i.mutate({name:l.trim()},{onSuccess:m=>{n({id:m.workspace.id,name:m.workspace.name,slug:m.workspace.slug}),R.success("Workspace updated")},onError:()=>R.error("Failed to update workspace")})};return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"px-6 py-2 border-b border-border bg-muted/20",children:t.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Workspace details"})}),t.jsxs("div",{className:"grid grid-cols-[180px_1fr] items-center gap-4 px-6 py-3.5 border-b border-border",children:[t.jsx("span",{className:"text-sm text-muted-foreground",children:"Name"}),a?t.jsx(te,{className:"h-8 w-64"}):t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(xe,{value:l,onChange:m=>d(m.target.value),className:"h-8 w-64 text-sm bg-transparent",placeholder:"Workspace name"}),c&&t.jsx(K,{size:"sm",className:"h-8",onClick:u,disabled:!l.trim()||i.isPending,children:i.isPending?"Saving…":"Save"})]})]}),t.jsxs("div",{className:"grid grid-cols-[180px_1fr] items-center gap-4 px-6 py-3.5 border-b border-border",children:[t.jsx("span",{className:"text-sm text-muted-foreground",children:"URL slug"}),a?t.jsx(te,{className:"h-4 w-40"}):t.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[t.jsx("span",{className:"font-mono text-foreground",children:o==null?void 0:o.slug}),t.jsx(eo,{value:(o==null?void 0:o.slug)??""})]})]}),t.jsxs("div",{className:"grid grid-cols-[180px_1fr] items-center gap-4 px-6 py-3.5 border-b border-border",children:[t.jsx("span",{className:"text-sm text-muted-foreground",children:"Plan"}),a?t.jsx(te,{className:"h-4 w-16"}):t.jsx("span",{className:"text-sm capitalize",children:(o==null?void 0:o.plan)??"free"})]}),t.jsxs("div",{className:"grid grid-cols-[180px_1fr] items-center gap-4 px-6 py-3.5",children:[t.jsx("span",{className:"text-sm text-muted-foreground",children:"Created"}),a?t.jsx(te,{className:"h-4 w-28"}):t.jsx("span",{className:"text-sm text-muted-foreground",children:o!=null&&o.created_at?oe(new Date(o.created_at),"MMMM d, yyyy"):"—"})]})]})}function A0({workspaceId:e,onInvite:s}){const{data:n,isLoading:r}=tr(e),{data:a,isLoading:o}=lm(e),i=um(e),l=mm(e),d=E0(),{data:c}=Za(),{user:u}=ke(),m=(a==null?void 0:a.filter(f=>f.status==="pending"))??[];return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"px-6 py-2 border-b border-border bg-muted/20 flex items-center justify-between",children:t.jsxs("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Members",!r&&n&&t.jsxs("span",{className:"ml-2 font-normal normal-case tracking-normal",children:["· ",n.length]})]})}),r?t.jsx("div",{className:"divide-y divide-border",children:[1,2,3].map(f=>t.jsxs("div",{className:"flex items-center gap-3 px-6 py-3.5",children:[t.jsx(te,{className:"h-7 w-7 rounded-full shrink-0"}),t.jsxs("div",{className:"flex-1 space-y-1.5",children:[t.jsx(te,{className:"h-3.5 w-32"}),t.jsx(te,{className:"h-3 w-48"})]})]},f))}):n!=null&&n.length?t.jsx("div",{className:"divide-y divide-border",children:n.map(f=>{var k;const h=f.user,g=(h==null?void 0:h.first_name)??"",y=(h==null?void 0:h.last_name)??"",S=`${g} ${y}`.trim()||(h==null?void 0:h.email)||"Unknown",b=(g[0]??y[0]??((k=h==null?void 0:h.email)==null?void 0:k[0])??"U").toUpperCase(),w=(h==null?void 0:h.id)===(u==null?void 0:u.id);return t.jsxs("div",{className:"flex items-center gap-3 px-6 py-3.5 hover:bg-[#f9fafb] dark:hover:bg-muted/30 transition-colors group",children:[t.jsx(rt,{className:"h-7 w-7 shrink-0",children:t.jsx(at,{className:"text-[11px] font-medium",children:b})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:S}),w&&t.jsx("span",{className:"text-[11px] text-muted-foreground",children:"(you)"})]}),(h==null?void 0:h.email)&&t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:h.email})]}),t.jsx("span",{className:O("inline-flex items-center text-[11px] px-1.5 py-0.5 rounded font-medium shrink-0",f.role==="admin"?"bg-indigo/10 text-indigo":"bg-muted text-muted-foreground"),children:f.role==="admin"?"Admin":"Member"}),c&&c.length>0&&t.jsxs(we,{value:f.app_role_id??"none",onValueChange:j=>d.mutate({userId:f.user_id,appRoleId:j==="none"?null:j},{onSuccess:()=>R.success("Custom role updated"),onError:()=>R.error("Failed to update custom role")}),children:[t.jsx(ye,{className:"h-7 text-[11px] w-32 shrink-0",children:t.jsx(Ee,{placeholder:"Custom role"})}),t.jsxs(ve,{children:[t.jsx(de,{value:"none",children:t.jsx("span",{className:"text-muted-foreground",children:"No custom role"})}),c.map(j=>t.jsx(de,{value:j.id,children:j.name},j.id))]})]}),!w&&t.jsxs(vs,{children:[t.jsx(js,{asChild:!0,children:t.jsx("button",{className:"opacity-0 group-hover:opacity-100 transition-opacity text-muted-foreground hover:text-foreground",children:t.jsx(Nn,{className:"h-4 w-4"})})}),t.jsxs(Qt,{align:"end",className:"w-40",children:[t.jsx(Xe,{onClick:()=>i.mutate({userId:f.user_id,role:f.role==="admin"?"member":"admin"},{onSuccess:()=>R.success("Role updated"),onError:()=>R.error("Failed to update role")}),children:f.role==="admin"?t.jsxs(t.Fragment,{children:[t.jsx(dl,{className:"h-3.5 w-3.5 mr-2"}),"Make member"]}):t.jsxs(t.Fragment,{children:[t.jsx(ja,{className:"h-3.5 w-3.5 mr-2"}),"Make admin"]})}),t.jsx(_n,{}),t.jsxs(Xe,{className:"text-destructive focus:text-destructive",onClick:()=>l.mutate(f.user_id,{onSuccess:()=>R.success("Member removed"),onError:()=>R.error("Failed to remove member")}),children:[t.jsx(Gt,{className:"h-3.5 w-3.5 mr-2"}),"Remove"]})]})]})]},f.id)})}):t.jsxs("div",{className:"flex flex-col items-center justify-center py-10 text-center",children:[t.jsx("div",{className:"h-10 w-10 rounded-full bg-muted flex items-center justify-center mb-3",children:t.jsx(rf,{className:"h-5 w-5 text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium mb-1",children:"No members yet"}),t.jsx("button",{onClick:s,className:"text-sm text-muted-foreground hover:text-foreground underline underline-offset-2 transition-colors",children:"Invite someone"})]}),t.jsxs("div",{className:"px-6 py-2 border-t border-b border-border bg-muted/20 flex items-center justify-between",children:[t.jsxs("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Pending invitations",!o&&m.length>0&&t.jsxs("span",{className:"ml-2 font-normal normal-case tracking-normal",children:["· ",m.length]})]}),t.jsxs("button",{onClick:s,className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[t.jsx(ze,{className:"h-3 w-3"}),"Invite"]})]}),o?t.jsx("div",{className:"divide-y divide-border",children:[1,2].map(f=>t.jsxs("div",{className:"flex items-center gap-3 px-6 py-3.5",children:[t.jsx(te,{className:"h-7 w-7 rounded-full shrink-0"}),t.jsxs("div",{className:"flex-1 space-y-1.5",children:[t.jsx(te,{className:"h-3.5 w-48"}),t.jsx(te,{className:"h-3 w-64"})]})]},f))}):m.length===0?t.jsxs("div",{className:"flex flex-col items-center justify-center py-10 text-center",children:[t.jsx("p",{className:"text-sm text-muted-foreground",children:"No pending invitations."}),t.jsx("button",{onClick:s,className:"mt-2 text-sm text-muted-foreground hover:text-foreground underline underline-offset-2 transition-colors",children:"Invite someone"})]}):t.jsx("div",{className:"divide-y divide-border",children:m.map(f=>t.jsx(T0,{invitation:f,workspaceId:e},f.id))})]})}function $0({workspaceId:e,teamId:s,allMembers:n}){const{data:r,isLoading:a}=xm(e,s),o=pm(e,s),i=gm(e,s),[l,d]=x.useState(""),c=new Set((r==null?void 0:r.map(m=>m.user_id))??[]),u=n.filter(m=>!c.has(m.user_id));return t.jsxs("div",{className:"bg-muted/10 border-t border-border",children:[a?t.jsx("div",{className:"px-8 py-3",children:t.jsx(te,{className:"h-3 w-40"})}):(r==null?void 0:r.length)===0?t.jsx("p",{className:"px-8 py-3 text-xs text-muted-foreground",children:"No members in this team yet."}):t.jsx("div",{className:"divide-y divide-border/50",children:r==null?void 0:r.map(m=>{var b;const f=m.user,h=(f==null?void 0:f.first_name)??"",g=(f==null?void 0:f.last_name)??"",y=`${h} ${g}`.trim()||(f==null?void 0:f.email)||"Unknown",S=(h[0]??g[0]??((b=f==null?void 0:f.email)==null?void 0:b[0])??"U").toUpperCase();return t.jsxs("div",{className:"flex items-center gap-3 px-8 py-2.5 group hover:bg-muted/20 transition-colors",children:[t.jsx(rt,{className:"h-6 w-6 shrink-0",children:t.jsx(at,{className:"text-[10px] font-medium",children:S})}),t.jsx("span",{className:"flex-1 text-sm truncate",children:y}),t.jsx("button",{onClick:()=>i.mutate(m.user_id,{onSuccess:()=>R.success("Removed from team"),onError:()=>R.error("Failed to remove")}),className:"opacity-0 group-hover:opacity-100 transition-opacity text-muted-foreground hover:text-destructive",title:"Remove from team",children:t.jsx(Re,{className:"h-3.5 w-3.5"})})]},m.id)})}),u.length>0&&t.jsxs("div",{className:"px-8 py-2.5 flex items-center gap-2 border-t border-border/50",children:[t.jsx(Mn,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsxs(we,{value:l,onValueChange:d,children:[t.jsx(ye,{className:"h-7 text-xs flex-1 max-w-[200px]",children:t.jsx(Ee,{placeholder:"Add member…"})}),t.jsx(ve,{children:u.map(m=>{const f=m.user,h=(f==null?void 0:f.first_name)??"",g=(f==null?void 0:f.last_name)??"",y=`${h} ${g}`.trim()||(f==null?void 0:f.email)||"Unknown";return t.jsx(de,{value:m.user_id,children:y},m.user_id)})})]}),l&&t.jsx(K,{size:"sm",className:"h-7 text-xs px-2",disabled:o.isPending,onClick:()=>o.mutate(l,{onSuccess:()=>{R.success("Added to team"),d("")},onError:()=>R.error("Failed to add")}),children:"Add"})]})]})}function R0({workspaceId:e}){const{data:s,isLoading:n}=ca(e),{data:r}=tr(e),a=fm(e),o=hm(e),[i,l]=x.useState(new Set),[d,c]=x.useState(!1),[u,m]=x.useState(""),f=g=>{l(y=>{const S=new Set(y);return S.has(g)?S.delete(g):S.add(g),S})},h=g=>{g.preventDefault(),u.trim()&&a.mutate({name:u.trim()},{onSuccess:()=>{R.success("Team created"),m(""),c(!1)},onError:()=>R.error("Failed to create team")})};return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"px-6 py-2 border-b border-border bg-muted/20 flex items-center justify-between",children:[t.jsxs("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Teams",!n&&s&&t.jsxs("span",{className:"ml-2 font-normal normal-case tracking-normal",children:["· ",s.length]})]}),t.jsxs("button",{onClick:()=>c(!0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[t.jsx(ze,{className:"h-3 w-3"}),"New team"]})]}),d&&t.jsx("div",{className:"px-6 py-3 border-b border-border bg-muted/5",children:t.jsxs("form",{onSubmit:h,className:"flex items-center gap-2",children:[t.jsx(xe,{autoFocus:!0,placeholder:"Team name",value:u,onChange:g=>m(g.target.value),className:"h-8 text-sm flex-1 max-w-[240px]"}),t.jsx(K,{type:"submit",size:"sm",className:"h-8",disabled:!u.trim()||a.isPending,children:a.isPending?"Creating…":"Create"}),t.jsx(K,{type:"button",variant:"ghost",size:"sm",className:"h-8",onClick:()=>{c(!1),m("")},children:"Cancel"})]})}),n?t.jsx("div",{className:"divide-y divide-border",children:[1,2].map(g=>t.jsxs("div",{className:"flex items-center gap-3 px-6 py-3.5",children:[t.jsx(te,{className:"h-7 w-7 rounded-lg shrink-0"}),t.jsx(te,{className:"h-3.5 w-32"})]},g))}):s!=null&&s.length?t.jsx("div",{className:"divide-y divide-border",children:s.map(g=>{const y=i.has(g.id);return t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center gap-3 px-6 py-3.5 hover:bg-[#f9fafb] dark:hover:bg-muted/30 transition-colors group",children:[t.jsx("button",{onClick:()=>f(g.id),className:"text-muted-foreground hover:text-foreground shrink-0 transition-colors",children:y?t.jsx(Hs,{className:"h-4 w-4"}):t.jsx(Us,{className:"h-4 w-4"})}),t.jsx("div",{className:"h-7 w-7 rounded-lg bg-muted flex items-center justify-center shrink-0",children:t.jsx(ms,{className:"h-3.5 w-3.5 text-muted-foreground"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:g.name}),g.description&&t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:g.description})]}),t.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[g.member_count," ",g.member_count===1?"member":"members"]}),t.jsxs(vs,{children:[t.jsx(js,{asChild:!0,children:t.jsx("button",{className:"opacity-0 group-hover:opacity-100 transition-opacity text-muted-foreground hover:text-foreground",children:t.jsx(Nn,{className:"h-4 w-4"})})}),t.jsx(Qt,{align:"end",className:"w-36",children:t.jsxs(Xe,{className:"text-destructive focus:text-destructive",onClick:()=>o.mutate(g.id,{onSuccess:()=>R.success("Team deleted"),onError:()=>R.error("Failed to delete team")}),children:[t.jsx(Gt,{className:"h-3.5 w-3.5 mr-2"}),"Delete team"]})})]})]}),y&&t.jsx($0,{workspaceId:e,teamId:g.id,allMembers:r??[]})]},g.id)})}):t.jsxs("div",{className:"flex flex-col items-center justify-center py-10 text-center",children:[t.jsx("div",{className:"h-10 w-10 rounded-full bg-muted flex items-center justify-center mb-3",children:t.jsx(ms,{className:"h-5 w-5 text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium mb-1",children:"No teams yet"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:"Teams make it easy to grant project access to groups of people."}),t.jsx(K,{variant:"outline",size:"sm",onClick:()=>c(!0),children:"Create a team"})]})]})}const I0=["general","members","teams"];function F0(){const{workspace:e}=ke(),s=(e==null?void 0:e.id)??"",[n,r]=Uo(),a=n.get("tab"),[o,i]=x.useState(I0.includes(a)?a:"general"),l=u=>{i(u),r({tab:u},{replace:!0})},[d,c]=x.useState(!1);return t.jsxs("div",{className:"p-2",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden",children:[t.jsxs("div",{className:"flex items-center justify-between border-b border-border px-2",children:[t.jsx("div",{className:"flex",children:["general","members","teams"].map(u=>t.jsx("button",{onClick:()=>l(u),className:O("h-12 px-4 text-sm font-medium border-b-2 transition-colors capitalize",o===u?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:u},u))}),o==="members"&&t.jsxs(K,{size:"sm",onClick:()=>c(!0),children:[t.jsx(ze,{className:"h-4 w-4"}),"Invite member"]})]}),o==="general"&&t.jsx(P0,{workspaceId:s}),o==="members"&&t.jsx(A0,{workspaceId:s,onInvite:()=>c(!0)}),o==="teams"&&t.jsx(R0,{workspaceId:s})]}),t.jsx(O0,{open:d,onClose:()=>c(!1),workspaceId:s})]})}function z0({open:e,onClose:s}){const[n,r]=x.useState(""),[a,o]=x.useState(""),[i,l]=x.useState(new Set),d=M0();x.useEffect(()=>{e&&(r(""),o(""),l(new Set))},[e]);const c=Xn.flatMap(y=>y.permissions.map(S=>S.key)),u=c.every(y=>i.has(y)),m=!u&&c.some(y=>i.has(y)),f=()=>{l(u?new Set:new Set(c))},h=y=>{l(S=>{const b=new Set(S);return b.has(y)?b.delete(y):b.add(y),b})},g=y=>{y.preventDefault(),n.trim()&&d.mutate({name:n.trim(),description:a.trim()||void 0,permissions:Array.from(i)},{onSuccess:()=>{R.success("Role created"),s()},onError:S=>R.error(S.message||"Failed to create role")})};return t.jsx(cr,{open:e,onOpenChange:y=>!y&&s(),children:t.jsxs(Tn,{className:"sm:max-w-[580px] max-h-[85vh] overflow-y-auto",children:[t.jsxs(ur,{children:[t.jsx(mr,{children:"Create role"}),t.jsx(kl,{children:"Define a new custom role with a specific permission set."})]}),t.jsxs("form",{onSubmit:g,className:"space-y-5 pt-2",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:"Name"}),t.jsx(xe,{value:n,onChange:y=>r(y.target.value),placeholder:"e.g. Developer, PM, Viewer",className:"h-9",autoFocus:!0,required:!0})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs("label",{className:"text-xs font-medium text-muted-foreground",children:["Description ",t.jsx("span",{className:"font-normal",children:"(optional)"})]}),t.jsx(xe,{value:a,onChange:y=>o(y.target.value),placeholder:"What is this role for?",className:"h-9"})]}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:"Permissions"}),t.jsx("button",{type:"button",onClick:f,className:"text-xs text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2",children:u?"Deselect all":"Select all"})]}),Xn.map(y=>t.jsxs("div",{children:[t.jsx("p",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wide mb-1.5",children:y.group}),t.jsx("div",{className:"space-y-1.5",children:y.permissions.map(S=>t.jsxs("label",{className:"flex items-center gap-2.5 cursor-pointer group",children:[t.jsx("input",{type:"checkbox",checked:i.has(S.key),onChange:()=>h(S.key),className:"h-3.5 w-3.5 rounded border-border accent-foreground cursor-pointer"}),t.jsx("span",{className:"text-sm group-hover:text-foreground text-muted-foreground transition-colors",children:S.label})]},S.key))})]},y.group))]}),t.jsxs("div",{className:"flex justify-end gap-2 pt-1",children:[t.jsx(K,{type:"button",variant:"outline",size:"sm",onClick:s,children:"Cancel"}),t.jsx(K,{type:"submit",size:"sm",disabled:!n.trim()||d.isPending,children:d.isPending?"Creating…":"Create role"})]})]})]})})}function W0({role:e,onDeleted:s}){const[n,r]=x.useState(e.name),[a,o]=x.useState(e.description??""),[i,l]=x.useState(new Set(e.permissions)),[d,c]=x.useState(!1),u=D0(e.id),m=_0();x.useEffect(()=>{r(e.name),o(e.description??""),l(new Set(e.permissions))},[e.id,e.name,e.description,e.permissions]);const f=n!==e.name||a!==(e.description??"")||i.size!==e.permissions.length||Array.from(i).some(j=>!e.permissions.includes(j)),h=Xn.flatMap(j=>j.permissions.map(E=>E.key)),g=h.every(j=>i.has(j)),y=!g&&h.some(j=>i.has(j)),S=()=>{l(g?new Set:new Set(h))},b=j=>{l(E=>{const p=new Set(E);return p.has(j)?p.delete(j):p.add(j),p})},w=()=>{u.mutate({name:n.trim(),description:a.trim()||void 0,permissions:Array.from(i)},{onSuccess:()=>R.success("Role saved"),onError:j=>R.error(j.message||"Failed to save role")})},k=()=>{m.mutate(e.id,{onSuccess:()=>{R.success("Role deleted"),s(),c(!1)},onError:j=>R.error(j.message||"Failed to delete role")})};return t.jsxs("div",{className:"flex flex-col h-full",children:[t.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border shrink-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("h2",{className:"text-sm font-semibold",children:e.name}),e.is_system&&t.jsxs("span",{className:"flex items-center gap-1 text-[11px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded",children:[t.jsx(rr,{className:"h-3 w-3"}),"System"]})]}),!e.is_system&&t.jsx("button",{onClick:()=>c(!0),className:"text-muted-foreground hover:text-destructive transition-colors",title:"Delete role",children:t.jsx(Gt,{className:"h-4 w-4"})})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto px-6 py-4 space-y-5",children:[t.jsxs("div",{className:"space-y-1.5",children:[t.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:"Name"}),t.jsx(xe,{value:n,onChange:j=>r(j.target.value),className:"h-8 text-sm"})]}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:"Description"}),t.jsx(xe,{value:a,onChange:j=>o(j.target.value),placeholder:"What is this role for?",className:"h-8 text-sm"})]}),t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Permissions"}),t.jsx("button",{type:"button",onClick:S,className:"text-xs text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2",children:g?"Deselect all":"Select all"})]}),Xn.map(j=>t.jsxs("div",{children:[t.jsx("p",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:j.group}),t.jsx("div",{className:"space-y-2",children:j.permissions.map(E=>t.jsxs("label",{className:"flex items-center gap-2.5 cursor-pointer group",children:[t.jsx("input",{type:"checkbox",checked:i.has(E.key),onChange:()=>b(E.key),className:"h-3.5 w-3.5 rounded border-border accent-foreground cursor-pointer"}),t.jsx("span",{className:"text-sm text-muted-foreground group-hover:text-foreground transition-colors",children:E.label})]},E.key))})]},j.group))]}),t.jsx("div",{className:"shrink-0 px-6 py-4 border-t border-border flex justify-end",children:t.jsx(K,{size:"sm",onClick:w,disabled:!f||!n.trim()||u.isPending,children:u.isPending?"Saving…":"Save changes"})}),t.jsx(Zd,{open:d,onOpenChange:c,children:t.jsxs(Ua,{children:[t.jsxs(Ka,{children:[t.jsxs(Ga,{children:['Delete "',e.name,'"?']}),t.jsx(Qa,{children:"This role will be removed from all users assigned to it. This action cannot be undone."})]}),t.jsxs(Va,{children:[t.jsx(Ja,{children:"Cancel"}),t.jsx(Xa,{onClick:k,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})})]})}function q0(){const{data:e,isLoading:s}=Za(),[n,r]=x.useState(null),[a,o]=x.useState(!1),i=(e==null?void 0:e.filter(c=>c.is_system))??[],l=(e==null?void 0:e.filter(c=>!c.is_system))??[];x.useEffect(()=>{e&&e.length>0&&!n&&r(e[0].id)},[e]);const d=(e==null?void 0:e.find(c=>c.id===n))??null;return t.jsx("div",{className:"p-2 h-full",children:t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden flex flex-col h-full",children:[t.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border shrink-0",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(Vr,{className:"h-5 w-5 text-muted-foreground"}),t.jsxs("div",{children:[t.jsx("h1",{className:"text-base font-semibold",children:"Roles & Permissions"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Define what users with each custom role can do across the application."})]})]}),t.jsxs(K,{size:"sm",onClick:()=>o(!0),children:[t.jsx(ze,{className:"h-4 w-4 mr-1.5"}),"Create role"]})]}),t.jsxs("div",{className:"flex flex-1 min-h-0",children:[t.jsx("div",{className:"w-56 shrink-0 border-r border-border flex flex-col overflow-y-auto",children:s?t.jsx("div",{className:"p-4 space-y-2",children:[1,2,3].map(c=>t.jsx(te,{className:"h-8 w-full"},c))}):t.jsxs(t.Fragment,{children:[i.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"px-3 pt-3 pb-1",children:t.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground uppercase tracking-wide",children:"System Roles"})}),i.map(c=>t.jsxs("button",{onClick:()=>r(c.id),className:O("w-full flex items-center gap-2 px-3 py-2 text-left text-sm transition-colors",n===c.id?"bg-accent text-accent-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:[t.jsx(rr,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),t.jsx("span",{className:"truncate",children:c.name})]},c.id))]}),l.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"px-3 pt-3 pb-1",children:t.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground uppercase tracking-wide",children:"Custom Roles"})}),l.map(c=>t.jsxs("button",{onClick:()=>r(c.id),className:O("w-full flex items-center gap-2 px-3 py-2 text-left text-sm transition-colors",n===c.id?"bg-accent text-accent-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:[t.jsx("div",{className:"h-3 w-3 shrink-0"}),t.jsx("span",{className:"truncate",children:c.name})]},c.id))]}),!s&&(!e||e.length===0)&&t.jsx("div",{className:"flex flex-col items-center justify-center py-10 px-3 text-center",children:t.jsx("p",{className:"text-xs text-muted-foreground",children:"No roles yet."})})]})}),t.jsx("div",{className:"flex-1 min-w-0",children:d?t.jsx(W0,{role:d,onDeleted:()=>{var u;const c=(e==null?void 0:e.filter(m=>m.id!==d.id))??[];r(((u=c[0])==null?void 0:u.id)??null)}},d.id):t.jsx("div",{className:"flex items-center justify-center h-full text-center p-8",children:t.jsxs("div",{children:[t.jsx(Vr,{className:"h-10 w-10 text-muted-foreground mx-auto mb-3"}),t.jsx("p",{className:"text-sm font-medium mb-1",children:"Select a role to edit"}),t.jsxs("p",{className:"text-xs text-muted-foreground",children:["Or"," ",t.jsx("button",{onClick:()=>o(!0),className:"underline underline-offset-2 hover:text-foreground transition-colors",children:"create a new role"})]})]})})})]}),t.jsx(z0,{open:a,onClose:()=>o(!1)})]})})}function B0(e){return Ne({queryKey:["invite",e],queryFn:()=>J.get(`/auth/invite/${e}`),retry:!1,enabled:!!e})}function Y0(){const{token:e}=Je(),{isAuthenticated:s}=ke(),n=Ve(),{data:r,isLoading:a,error:o}=B0(e??""),i=vm(e??""),[l,d]=x.useState(""),[c,u]=x.useState(""),[m,f]=x.useState(""),[h,g]=x.useState(""),[y,S]=x.useState(!1);if(s&&r)return n(`/${r.workspace.slug}/projects`,{replace:!0}),null;const b=(r==null?void 0:r.invitation.email)??null,w=k=>{k.preventDefault();const j=b??m.trim();if(!j){R.error("Email is required");return}i.mutate({email:j,password:h,first_name:l,last_name:c},{onSuccess:()=>{n(`/${r.workspace.slug}/projects`,{replace:!0})},onError:E=>R.error(E.message??"Registration failed")})};return t.jsx("div",{className:"min-h-screen bg-[hsl(60_5%_96%)] dark:bg-background flex items-center justify-center p-4",children:t.jsxs("div",{className:"w-full max-w-[380px]",children:[t.jsx("div",{className:"flex justify-center mb-8",children:t.jsx("div",{className:"relative h-16 w-16 rounded-2xl bg-white dark:bg-card border border-border shadow-sm flex items-center justify-center",children:t.jsx("div",{className:"h-10 w-10 rounded-full bg-foreground flex items-center justify-center",children:t.jsx("div",{className:"h-5 w-5 rounded-full bg-background/20 flex items-center justify-center",children:t.jsx("div",{className:"h-2 w-2 rounded-full bg-background/60"})})})})}),a?t.jsxs("div",{className:"space-y-3",children:[t.jsx("div",{className:"h-2 bg-muted rounded animate-pulse w-48 mx-auto"}),t.jsx("div",{className:"h-2 bg-muted rounded animate-pulse w-32 mx-auto"})]}):o?t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl p-6 text-center space-y-3",children:[t.jsx("p",{className:"text-sm font-medium",children:"Invalid or expired invitation"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"This invite link is no longer valid. Ask for a new one."}),t.jsx(hn,{to:"/login",children:t.jsx(K,{variant:"outline",size:"sm",className:"mt-2",children:"Go to login"})})]}):r?t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl overflow-hidden",children:[t.jsxs("div",{className:"px-5 py-4 border-b border-border",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx(Mm,{className:"h-3.5 w-3.5 text-muted-foreground"}),t.jsx("span",{className:"text-xs text-muted-foreground",children:"You've been invited to"})]}),t.jsx("p",{className:"text-base font-semibold",children:r.workspace.name})]}),t.jsxs("div",{className:"px-5 py-3 flex items-center gap-2.5",children:[r.invitation.role==="admin"?t.jsx(ja,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}):t.jsx(dl,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),t.jsxs("span",{className:"text-xs text-muted-foreground",children:["Joining as"," ",t.jsx("span",{className:"font-medium text-foreground capitalize",children:r.invitation.role}),r.invitation.role==="admin"?" — full access":" — can view and edit"]})]})]}),t.jsxs("div",{className:"bg-white dark:bg-card border border-border rounded-xl px-5 py-5",children:[t.jsx("p",{className:"text-sm font-medium mb-4",children:"Create your account"}),t.jsxs("form",{onSubmit:w,className:"space-y-2",children:[t.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[t.jsx(xe,{placeholder:"First name",value:l,onChange:k=>d(k.target.value),required:!0,className:"h-9 bg-transparent",autoFocus:!0}),t.jsx(xe,{placeholder:"Last name",value:c,onChange:k=>u(k.target.value),required:!0,className:"h-9 bg-transparent"})]}),b?t.jsxs("div",{className:"relative",children:[t.jsx(xe,{type:"email",value:b,readOnly:!0,className:"h-9 bg-muted/50 text-muted-foreground cursor-not-allowed"}),t.jsx("span",{className:"absolute right-3 top-1/2 -translate-y-1/2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded",children:"locked"})]}):t.jsx(xe,{type:"email",placeholder:"Email",value:m,onChange:k=>f(k.target.value),required:!0,className:"h-9 bg-transparent",autoComplete:"email"}),t.jsxs("div",{className:"relative",children:[t.jsx(xe,{type:y?"text":"password",placeholder:"Password (min. 8 characters)",value:h,onChange:k=>g(k.target.value),required:!0,minLength:8,className:"h-9 bg-transparent pr-10",autoComplete:"new-password"}),t.jsx("button",{type:"button",onClick:()=>S(!y),className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",tabIndex:-1,children:y?t.jsx(pa,{className:"h-4 w-4"}):t.jsx(kn,{className:"h-4 w-4"})})]}),t.jsx("div",{className:"pt-1",children:t.jsx(K,{type:"submit",className:"w-full h-9 font-medium",disabled:i.isPending,children:i.isPending?"Creating account…":"Accept invitation"})})]})]}),t.jsxs("p",{className:"text-sm text-center text-muted-foreground",children:["Already have an account?"," ",t.jsx(hn,{to:"/login",className:"text-indigo hover:opacity-80 transition-opacity",children:"Sign in"})]})]}):null]})})}const L0=x.lazy(()=>Wc(()=>import("./ProjectTimelinePage-BtEP9_Du.js"),__vite__mapDeps([0,1,2,3,4,5])).then(e=>({default:e.ProjectTimelinePage})));function Hr({children:e}){const{isAuthenticated:s}=ke();return s?t.jsx(t.Fragment,{children:e}):t.jsx(Ts,{to:"/login",replace:!0})}function Bo({children:e}){const{isAuthenticated:s}=ke(),{data:n}=Hi(),r=Jn();return s?t.jsx(Ts,{to:"/",replace:!0}):n!=null&&n.needsSetup&&r.pathname==="/login"?t.jsx(Ts,{to:"/register",replace:!0}):n&&!n.needsSetup&&r.pathname==="/register"?t.jsx(Ts,{to:"/login",replace:!0}):t.jsx(t.Fragment,{children:e})}function H0(){const{workspace:e,setWorkspace:s}=ke(),n=Ve(),{data:r,isLoading:a}=er(!e);return x.useEffect(()=>{if(e){n(`/${e.slug}/projects`,{replace:!0});return}if(!a&&r!==void 0)if(r.length>0){const o=r[0];s({id:o.id,name:o.name,slug:o.slug}),n(`/${o.slug}/projects`,{replace:!0})}else n("/setup",{replace:!0})},[e,r,a,n,s]),t.jsx("div",{className:"min-h-screen flex items-center justify-center",children:t.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})})}function U0(){const{workspace:e}=Je(),{workspace:s,setWorkspace:n}=ke();Nm();const r=Ve(),{data:a,isLoading:o,isFetching:i}=er();return x.useEffect(()=>{if(o||!a)return;const l=a.find(d=>d.slug===e);l?l.id!==(s==null?void 0:s.id)&&n({id:l.id,name:l.name,slug:l.slug}):a.length>0?r(`/${a[0].slug}/projects`,{replace:!0}):!s&&!i&&r("/setup",{replace:!0})},[a,e,o,i,s==null?void 0:s.id,r,n]),o||!s||s.slug!==e?t.jsx("div",{className:"min-h-screen flex items-center justify-center",children:t.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})}):t.jsxs(t.Fragment,{children:[t.jsx(Kf,{}),t.jsx(jh,{})]})}function K0(){return t.jsxs(ac,{children:[t.jsx(Ae,{path:"/login",element:t.jsx(Bo,{children:t.jsx(wh,{})})}),t.jsx(Ae,{path:"/register",element:t.jsx(Bo,{children:t.jsx(Nh,{})})}),t.jsx(Ae,{path:"/invite/:token",element:t.jsx(Y0,{})}),t.jsx(Ae,{path:"/setup",element:t.jsx(Hr,{children:t.jsx(kh,{})})}),t.jsx(Ae,{index:!0,element:t.jsx(Hr,{children:t.jsx(H0,{})})}),t.jsxs(Ae,{path:"/:workspace",element:t.jsx(Hr,{children:t.jsx(U0,{})}),children:[t.jsx(Ae,{index:!0,element:t.jsx(Ts,{to:"projects",replace:!0})}),t.jsx(Ae,{path:"projects",element:t.jsx(Dp,{})}),t.jsxs(Ae,{path:"projects/:projectKey",element:t.jsx(Vf,{}),children:[t.jsx(Ae,{path:"board",element:t.jsx(Hb,{})}),t.jsx(Ae,{path:"issues",element:t.jsx(Ub,{})}),t.jsx(Ae,{path:"issues/new",element:t.jsx(j0,{})}),t.jsx(Ae,{path:"issues/:issueId",element:t.jsx(p0,{})}),t.jsx(Ae,{path:"sprints",element:t.jsx(C0,{})}),t.jsx(Ae,{path:"timeline",element:t.jsx(x.Suspense,{fallback:t.jsx("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground",children:"Loading…"}),children:t.jsx(L0,{})})}),t.jsx(Ae,{path:"access",element:t.jsx(m0,{})})]}),t.jsx(Ae,{path:"notifications",element:t.jsx(w0,{})}),t.jsx(Ae,{path:"settings",element:t.jsx(F0,{})}),t.jsx(Ae,{path:"roles",element:t.jsx(q0,{})})]}),t.jsx(Ae,{path:"*",element:t.jsx(Ts,{to:"/",replace:!0})})]})}const V0=new tc({defaultOptions:{queries:{staleTime:1e3*30,retry:1}}});Ei(document.getElementById("root")).render(t.jsx(x.StrictMode,{children:t.jsx(Su,{children:t.jsxs(sc,{client:V0,children:[t.jsx(Cu,{children:t.jsx(Mu,{children:t.jsx(oc,{children:t.jsxs(ia,{delayDuration:300,children:[t.jsx(K0,{}),t.jsx(hu,{position:"bottom-right",toastOptions:{classNames:{toast:"bg-white dark:bg-card border border-border text-foreground text-sm rounded-lg shadow-sm",description:"text-muted-foreground"}}})]})})})}),t.jsx(qc,{initialIsOpen:!1})]})})}));export{gr as A,K as B,Us as C,R as D,Te as E,J as F,Pd as I,ze as P,Ql as a,Os as b,H as c,Ea as d,bx as e,sy as f,wo as g,ty as h,Rn as i,O as j,ut as k,jt as l,ey as m,Qs as n,yp as o,px as p,Ul as q,oe as r,gn as s,je as t,vx as u,Kl as v,ys as w,In as x,Xs as y,Js as z};